@grnsft/if 0.0.6 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/.examples/ompls/azure.yml +205 -0
  2. package/.github/workflows/nodejs-ci.yml +0 -8
  3. package/README.md +48 -9
  4. package/build/index.js +1 -2
  5. package/examples/impls/test/azure.yml +8 -8
  6. package/examples/impls/test/ccf.yml +5 -3
  7. package/examples/impls/test/if-demo.yml +19 -9
  8. package/examples/impls/test/metadata.yml +3 -2
  9. package/examples/impls/test/nesting.yml +10 -13
  10. package/examples/impls/test/sci-e.yml +1 -1
  11. package/examples/impls/test/sci-m.yml +2 -2
  12. package/examples/impls/test/sci-o.yml +2 -4
  13. package/examples/impls/test/sci.yml +1 -2
  14. package/examples/impls/test/shell.yml +2 -1
  15. package/examples/impls/{tdp-finder-test.yml → test/tdp-finder.yml} +8 -8
  16. package/examples/ompls/ccf.yml +3 -1
  17. package/examples/ompls/if-demo.yml +46 -22
  18. package/package.json +12 -5
  19. package/tsconfig.build.json +7 -0
  20. package/tsconfig.build.tsbuildinfo +1 -0
  21. package/build/__mocks__/azure/index.d.ts +0 -11
  22. package/build/__mocks__/azure/index.js +0 -132
  23. package/build/__mocks__/boavizta/countries.json +0 -138
  24. package/build/__mocks__/boavizta/instance_types.json +0 -625
  25. package/build/__mocks__/boavizta/providers.json +0 -1
  26. package/build/__mocks__/fs/index.d.ts +0 -3
  27. package/build/__mocks__/fs/index.js +0 -56
  28. package/build/__mocks__/model-universe/index.d.ts +0 -31
  29. package/build/__mocks__/model-universe/index.js +0 -64
  30. package/build/__mocks__/watt-time/data.json +0 -119
  31. package/build/__tests__/integration/ompl/index.test.d.ts +0 -1
  32. package/build/__tests__/integration/ompl/index.test.js +0 -61
  33. package/build/__tests__/unit/lib/azure-importer/index.test.d.ts +0 -1
  34. package/build/__tests__/unit/lib/azure-importer/index.test.js +0 -152
  35. package/build/__tests__/unit/lib/boavizta/index.test.d.ts +0 -1
  36. package/build/__tests__/unit/lib/boavizta/index.test.js +0 -579
  37. package/build/__tests__/unit/lib/case-studies/aveva.test.d.ts +0 -1
  38. package/build/__tests__/unit/lib/case-studies/aveva.test.js +0 -36
  39. package/build/__tests__/unit/lib/case-studies/emem.test.d.ts +0 -1
  40. package/build/__tests__/unit/lib/case-studies/emem.test.js +0 -108
  41. package/build/__tests__/unit/lib/case-studies/eshoppen.test.d.ts +0 -1
  42. package/build/__tests__/unit/lib/case-studies/eshoppen.test.js +0 -53
  43. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.d.ts +0 -1
  44. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.js +0 -23
  45. package/build/__tests__/unit/lib/ccf/index.test.d.ts +0 -1
  46. package/build/__tests__/unit/lib/ccf/index.test.js +0 -223
  47. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.d.ts +0 -1
  48. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.js +0 -73
  49. package/build/__tests__/unit/lib/models-universe.test.d.ts +0 -1
  50. package/build/__tests__/unit/lib/models-universe.test.js +0 -193
  51. package/build/__tests__/unit/lib/observatory.test.d.ts +0 -1
  52. package/build/__tests__/unit/lib/observatory.test.js +0 -99
  53. package/build/__tests__/unit/lib/sci/index.test.d.ts +0 -1
  54. package/build/__tests__/unit/lib/sci/index.test.js +0 -106
  55. package/build/__tests__/unit/lib/sci-e/index.test.d.ts +0 -1
  56. package/build/__tests__/unit/lib/sci-e/index.test.js +0 -30
  57. package/build/__tests__/unit/lib/sci-m/index.test.d.ts +0 -1
  58. package/build/__tests__/unit/lib/sci-m/index.test.js +0 -58
  59. package/build/__tests__/unit/lib/sci-o/index.test.d.ts +0 -1
  60. package/build/__tests__/unit/lib/sci-o/index.test.js +0 -42
  61. package/build/__tests__/unit/lib/shell-imp/index.test.d.ts +0 -1
  62. package/build/__tests__/unit/lib/shell-imp/index.test.js +0 -21
  63. package/build/__tests__/unit/lib/supercomputer.test.d.ts +0 -1
  64. package/build/__tests__/unit/lib/supercomputer.test.js +0 -231
  65. package/build/__tests__/unit/lib/tdp-finder/index.test.d.ts +0 -1
  66. package/build/__tests__/unit/lib/tdp-finder/index.test.js +0 -62
  67. package/build/__tests__/unit/lib/teads-aws/index.test.d.ts +0 -1
  68. package/build/__tests__/unit/lib/teads-aws/index.test.js +0 -170
  69. package/build/__tests__/unit/lib/teads-curve/index.test.d.ts +0 -1
  70. package/build/__tests__/unit/lib/teads-curve/index.test.js +0 -146
  71. package/build/__tests__/unit/lib/watt-time/index.test.d.ts +0 -1
  72. package/build/__tests__/unit/lib/watt-time/index.test.js +0 -106
  73. package/build/__tests__/unit/util/args.test.d.ts +0 -1
  74. package/build/__tests__/unit/util/args.test.js +0 -92
  75. package/build/__tests__/unit/util/models-universe.test.d.ts +0 -1
  76. package/build/__tests__/unit/util/models-universe.test.js +0 -193
  77. package/build/__tests__/unit/util/observatory.test.d.ts +0 -1
  78. package/build/__tests__/unit/util/observatory.test.js +0 -99
  79. package/build/__tests__/unit/util/supercomputer.test.d.ts +0 -1
  80. package/build/__tests__/unit/util/supercomputer.test.js +0 -231
  81. package/build/__tests__/unit/util/yaml.test.d.ts +0 -1
  82. package/build/__tests__/unit/util/yaml.test.js +0 -59
  83. package/build/lib/azure-importer/index.d.ts +0 -55
  84. package/build/lib/azure-importer/index.js +0 -314
  85. package/build/lib/boavizta/index.d.ts +0 -53
  86. package/build/lib/boavizta/index.js +0 -254
  87. package/build/lib/case-studies/aveva-model.d.ts +0 -29
  88. package/build/lib/case-studies/aveva-model.js +0 -53
  89. package/build/lib/case-studies/emem-model.d.ts +0 -42
  90. package/build/lib/case-studies/emem-model.js +0 -93
  91. package/build/lib/case-studies/eshoppen-model.d.ts +0 -24
  92. package/build/lib/case-studies/eshoppen-model.js +0 -123
  93. package/build/lib/case-studies/index.d.ts +0 -4
  94. package/build/lib/case-studies/index.js +0 -21
  95. package/build/lib/case-studies/sci-accenture-model.d.ts +0 -10
  96. package/build/lib/case-studies/sci-accenture-model.js +0 -37
  97. package/build/lib/ccf/aws-embodied.json +0 -5591
  98. package/build/lib/ccf/aws-instances.json +0 -21116
  99. package/build/lib/ccf/aws-use.json +0 -79
  100. package/build/lib/ccf/azure-embodied.json +0 -6547
  101. package/build/lib/ccf/azure-instances.json +0 -8332
  102. package/build/lib/ccf/azure-use.json +0 -58
  103. package/build/lib/ccf/gcp-embodied.json +0 -3049
  104. package/build/lib/ccf/gcp-instances.json +0 -3880
  105. package/build/lib/ccf/gcp-use.json +0 -58
  106. package/build/lib/ccf/index.d.ts +0 -63
  107. package/build/lib/ccf/index.js +0 -338
  108. package/build/lib/cloud-instance-metadata/aws-instances.json +0 -1
  109. package/build/lib/cloud-instance-metadata/azure-instances.json +0 -1
  110. package/build/lib/cloud-instance-metadata/index.d.ts +0 -15
  111. package/build/lib/cloud-instance-metadata/index.js +0 -104
  112. package/build/lib/index.d.ts +0 -14
  113. package/build/lib/index.js +0 -32
  114. package/build/lib/interfaces/ccf.d.ts +0 -19
  115. package/build/lib/interfaces/ccf.js +0 -3
  116. package/build/lib/interfaces/index.d.ts +0 -7
  117. package/build/lib/interfaces/index.js +0 -18
  118. package/build/lib/sci/index.d.ts +0 -13
  119. package/build/lib/sci/index.js +0 -131
  120. package/build/lib/sci-e/index.d.ts +0 -38
  121. package/build/lib/sci-e/index.js +0 -85
  122. package/build/lib/sci-m/index.d.ts +0 -10
  123. package/build/lib/sci-m/index.js +0 -124
  124. package/build/lib/sci-o/index.d.ts +0 -17
  125. package/build/lib/sci-o/index.js +0 -52
  126. package/build/lib/shell-imp/index.d.ts +0 -32
  127. package/build/lib/shell-imp/index.js +0 -82
  128. package/build/lib/tdp-finder/index.d.ts +0 -19
  129. package/build/lib/tdp-finder/index.js +0 -98
  130. package/build/lib/teads-aws/aws-embodied.json +0 -1
  131. package/build/lib/teads-aws/aws-instances.json +0 -1
  132. package/build/lib/teads-aws/index.d.ts +0 -58
  133. package/build/lib/teads-aws/index.js +0 -208
  134. package/build/lib/teads-curve/index.d.ts +0 -52
  135. package/build/lib/teads-curve/index.js +0 -158
  136. package/build/lib/watt-time/index.d.ts +0 -18
  137. package/build/lib/watt-time/index.js +0 -204
  138. package/build/util/models-universe.d.ts +0 -28
  139. package/build/util/models-universe.js +0 -95
  140. package/build/util/observatory.d.ts +0 -20
  141. package/build/util/observatory.js +0 -31
  142. package/build/util/supercomputer.d.ts +0 -30
  143. package/build/util/supercomputer.js +0 -109
  144. package/docs/implementations/tdp-finder.md +0 -36
  145. package/examples/impls/test/complex-pipeline.yml +0 -67
  146. package/examples/impls/test/toto.yaml +0 -22
  147. package/tsconfig.tsbuildinfo +0 -1
@@ -1,123 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EshoppenNetModel = exports.EshoppenMemModel = exports.EshoppenCpuModel = exports.EshoppenModel = void 0;
4
- const config_1 = require("../../config");
5
- const { MODEL_IDS } = config_1.CONFIG;
6
- const { ESHOPPEN, ESHOPPEN_CPU, ESHOPPEN_MEM, ESHOPPEN_NET } = MODEL_IDS;
7
- class EshoppenModel {
8
- constructor() {
9
- this.authParams = undefined;
10
- this.modelType = 'energy-cpu';
11
- }
12
- authenticate(authParams) {
13
- this.authParams = authParams;
14
- }
15
- async execute(inputs) {
16
- if (!Array.isArray(inputs)) {
17
- throw new Error('inputs should be an array');
18
- }
19
- const tunedinputs = inputs.map((input) => {
20
- switch (this.modelType) {
21
- case 'energy-cpu': {
22
- // energy-cpu = n-hours * n-chips * thermal-design-power * thermal-design-power-coeff
23
- input['energy-cpu'] =
24
- (input['n-hours'] *
25
- input['n-chips'] *
26
- input['thermal-design-power'] *
27
- input['tdp-coeff']) /
28
- 1000;
29
- if (isNaN(input['energy-cpu'])) {
30
- throw new Error('energy-cpu not computable');
31
- }
32
- break;
33
- }
34
- case 'energy-memory': {
35
- // energy-memory-tdp = n-hours * n-chip * tdp-mem * tdp-coeff
36
- input['energy-memory'] =
37
- (input['n-hours'] *
38
- input['n-chips'] *
39
- input['tdp-mem'] *
40
- input['tdp-coeff']) /
41
- 1000;
42
- if (isNaN(input['energy-memory'])) {
43
- throw new Error('energy-memory not computable');
44
- }
45
- break;
46
- }
47
- case 'energy-network': {
48
- // energy-network = data-in + data-out * net-energy
49
- input['energy-network'] =
50
- ((input['data-in'] + input['data-out']) * input['net-energy']) /
51
- 1000;
52
- if (isNaN(input['energy-network'])) {
53
- throw new Error('energy-network not computable');
54
- }
55
- break;
56
- }
57
- case 'e-sum': {
58
- // e-sum = energy-cpu + energy-memory + energy-network
59
- input['energy'] =
60
- input['energy-cpu'] +
61
- input['energy-memory'] +
62
- input['energy-network'];
63
- if (isNaN(input['energy'])) {
64
- throw new Error('energy not computable');
65
- }
66
- break;
67
- }
68
- default: {
69
- throw new Error('Unknown msft-eshoppen model type');
70
- }
71
- }
72
- return input;
73
- });
74
- return tunedinputs;
75
- }
76
- async configure(name, staticParams) {
77
- this.staticParams = staticParams;
78
- this.name = name;
79
- if (staticParams !== undefined &&
80
- 'type' in staticParams &&
81
- // check that the type is one of the allowed values
82
- ['energy-memory', 'energy-cpu', 'energy-network', 'e-sum'].includes(staticParams['type'])) {
83
- this.modelType = staticParams['type'];
84
- delete staticParams['type'];
85
- }
86
- return this;
87
- }
88
- modelIdentifier() {
89
- return ESHOPPEN;
90
- }
91
- }
92
- exports.EshoppenModel = EshoppenModel;
93
- class EshoppenCpuModel extends EshoppenModel {
94
- constructor() {
95
- super();
96
- this.modelType = 'energy-cpu';
97
- }
98
- modelIdentifier() {
99
- return ESHOPPEN_CPU;
100
- }
101
- }
102
- exports.EshoppenCpuModel = EshoppenCpuModel;
103
- class EshoppenMemModel extends EshoppenModel {
104
- constructor() {
105
- super();
106
- this.modelType = 'energy-memory';
107
- }
108
- modelIdentifier() {
109
- return ESHOPPEN_MEM;
110
- }
111
- }
112
- exports.EshoppenMemModel = EshoppenMemModel;
113
- class EshoppenNetModel extends EshoppenModel {
114
- constructor() {
115
- super();
116
- this.modelType = 'energy-network';
117
- }
118
- modelIdentifier() {
119
- return ESHOPPEN_NET;
120
- }
121
- }
122
- exports.EshoppenNetModel = EshoppenNetModel;
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNob3BwZW4tbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2Nhc2Utc3R1ZGllcy9lc2hvcHBlbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx5Q0FBb0M7QUFNcEMsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUMzQixNQUFNLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFDLEdBQUcsU0FBUyxDQUFDO0FBRXZFLE1BQWEsYUFBYTtJQUExQjtRQUNFLGVBQVUsR0FBdUIsU0FBUyxDQUFDO1FBQzNDLGNBQVMsR0FDUCxZQUFZLENBQUM7SUEyR2pCLENBQUM7SUF2R0MsWUFBWSxDQUFDLFVBQWtCO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQXFDO1FBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFtQixFQUFFLEVBQUU7WUFDckQsUUFBUSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUN0QixLQUFLLFlBQVksQ0FBQyxDQUFDO29CQUNqQix5RkFBeUY7b0JBQ3pGLEtBQUssQ0FBQyxZQUFZLENBQUM7d0JBQ2pCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQzs0QkFDZixLQUFLLENBQUMsU0FBUyxDQUFDOzRCQUNoQixLQUFLLENBQUMsc0JBQXNCLENBQUM7NEJBQzdCLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzs0QkFDckIsSUFBSSxDQUFDO29CQUNQLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFF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QUcsZUFBZSxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBVEQsNENBU0M7QUFFRCxNQUFhLGdCQUFpQixTQUFRLGFBQWE7SUFDakQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFDcEMsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFURCw0Q0FTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SU91dHB1dE1vZGVsSW50ZXJmYWNlfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHtDT05GSUd9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7S2V5VmFsdWVQYWlyfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24nO1xuXG5leHBvcnQge0tleVZhbHVlUGFpcn0gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uJztcblxuY29uc3Qge01PREVMX0lEU30gPSBDT05GSUc7XG5jb25zdCB7RVNIT1BQRU4sIEVTSE9QUEVOX0NQVSwgRVNIT1BQRU5fTUVNLCBFU0hPUFBFTl9ORVR9ID0gTU9ERUxfSURTO1xuXG5leHBvcnQgY2xhc3MgRXNob3BwZW5Nb2RlbCBpbXBsZW1lbnRzIElPdXRwdXRNb2RlbEludGVyZmFjZSB7XG4gIGF1dGhQYXJhbXM6IG9iamVjdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgbW9kZWxUeXBlOiAnZW5lcmd5LWNwdScgfCAnZW5lcmd5LW1lbW9yeScgfCAnZW5lcmd5LW5ldHdvcmsnIHwgJ2Utc3VtJyA9XG4gICAgJ2VuZXJneS1jcHUnO1xuICBzdGF0aWNQYXJhbXM6IG9iamVjdCB8IHVuZGVmaW5lZDtcbiAgbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGF1dGhlbnRpY2F0ZShhdXRoUGFyYW1zOiBvYmplY3QpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhQYXJhbXMgPSBhdXRoUGFyYW1zO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dHM6IG9iamVjdCB8IG9iamVjdFtdIHwgdW5kZWZpbmVkKTogUHJvbWlzZTxhbnlbXT4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShpbnB1dHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2lucHV0cyBzaG91bGQgYmUgYW4gYXJyYXknKTtcbiAgICB9XG5cbiAgICBjb25zdCB0dW5lZGlucHV0cyA9IGlucHV0cy5tYXAoKGlucHV0OiBLZXlWYWx1ZVBhaXIpID0+IHtcbiAgICAgIHN3aXRjaCAodGhpcy5tb2RlbFR5cGUpIHtcbiAgICAgICAgY2FzZSAnZW5lcmd5LWNwdSc6IHtcbiAgICAgICAgICAvLyAgICAgZW5lcmd5LWNwdSA9IG4taG91cnMgKiBuLWNoaXBzICogdGhlcm1hbC1kZXNpZ24tcG93ZXIgKiB0aGVybWFsLWRlc2lnbi1wb3dlci1jb2VmZlxuICAgICAgICAgIGlucHV0WydlbmVyZ3ktY3B1J10gPVxuICAgICAgICAgICAgKGlucHV0WyduLWhvdXJzJ10gKlxuICAgICAgICAgICAgICBpbnB1dFsnbi1jaGlwcyddICpcbiAgICAgICAgICAgICAgaW5wdXRbJ3RoZXJtYWwtZGVzaWduLXBvd2VyJ10gKlxuICAgICAgICAgICAgICBpbnB1dFsndGRwLWNvZWZmJ10pIC9cbiAgICAgICAgICAgIDEwMDA7XG4gICAgICAgICAgaWYgKGlzTmFOKGlucHV0WydlbmVyZ3ktY3B1J10pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2VuZXJneS1jcHUgbm90IGNvbXB1dGFibGUnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdlbmVyZ3ktbWVtb3J5Jzoge1xuICAgICAgICAgIC8vIGVuZXJneS1tZW1vcnktdGRwICA9ICBuLWhvdXJzICogbi1jaGlwICogdGRwLW1lbSAqIHRkcC1jb2VmZlxuICAgICAgICAgIGlucHV0WydlbmVyZ3ktbWVtb3J5J10gPVxuICAgICAgICAgICAgKGlucHV0WyduLWhvdXJzJ10gKlxuICAgICAgICAgICAgICBpbnB1dFsnbi1jaGlwcyddICpcbiAgICAgICAgICAgICAgaW5wdXRbJ3RkcC1tZW0nXSAqXG4gICAgICAgICAgICAgIGlucHV0Wyd0ZHAtY29lZmYnXSkgL1xuICAgICAgICAgICAgMTAwMDtcblxuICAgICAgICAgIGlmIChpc05hTihpbnB1dFsnZW5lcmd5LW1lbW9yeSddKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdlbmVyZ3ktbWVtb3J5IG5vdCBjb21wdXRhYmxlJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnZW5lcmd5LW5ldHdvcmsnOiB7XG4gICAgICAgICAgLy8gZW5lcmd5LW5ldHdvcmsgPSBkYXRhLWluICsgZGF0YS1vdXQgKiBuZXQtZW5lcmd5XG4gICAgICAgICAgaW5wdXRbJ2VuZXJneS1uZXR3b3JrJ10gPVxuICAgICAgICAgICAgKChpbnB1dFsnZGF0YS1pbiddICsgaW5wdXRbJ2RhdGEtb3V0J10pICogaW5wdXRbJ25ldC1lbmVyZ3knXSkgL1xuICAgICAgICAgICAgMTAwMDtcblxuICAgICAgICAgIGlmIChpc05hTihpbnB1dFsnZW5lcmd5LW5ldHdvcmsnXSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZW5lcmd5LW5ldHdvcmsgbm90IGNvbXB1dGFibGUnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdlLXN1bSc6IHtcbiAgICAgICAgICAvLyBlLXN1bSA9IGVuZXJneS1jcHUgKyBlbmVyZ3ktbWVtb3J5ICsgZW5lcmd5LW5ldHdvcmtcbiAgICAgICAgICBpbnB1dFsnZW5lcmd5J10gPVxuICAgICAgICAgICAgaW5wdXRbJ2VuZXJneS1jcHUnXSArXG4gICAgICAgICAgICBpbnB1dFsnZW5lcmd5LW1lbW9yeSddICtcbiAgICAgICAgICAgIGlucHV0WydlbmVyZ3ktbmV0d29yayddO1xuXG4gICAgICAgICAgaWYgKGlzTmFOKGlucHV0WydlbmVyZ3knXSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZW5lcmd5IG5vdCBjb21wdXRhYmxlJyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBtc2Z0LWVzaG9wcGVuIG1vZGVsIHR5cGUnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5wdXQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHVuZWRpbnB1dHM7XG4gIH1cblxuICBhc3luYyBjb25maWd1cmUoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHN0YXRpY1BhcmFtczogb2JqZWN0IHwgdW5kZWZpbmVkXG4gICk6IFByb21pc2U8SU91dHB1dE1vZGVsSW50ZXJmYWNlPiB7XG4gICAgdGhpcy5zdGF0aWNQYXJhbXMgPSBzdGF0aWNQYXJhbXM7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICBpZiAoXG4gICAgICBzdGF0aWNQYXJhbXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgJ3R5cGUnIGluIHN0YXRpY1BhcmFtcyAmJlxuICAgICAgLy8gY2hlY2sgdGhhdCB0aGUgdHlwZSBpcyBvbmUgb2YgdGhlIGFsbG93ZWQgdmFsdWVzXG4gICAgICBbJ2VuZXJneS1tZW1vcnknLCAnZW5lcmd5LWNwdScsICdlbmVyZ3ktbmV0d29yaycsICdlLXN1bSddLmluY2x1ZGVzKFxuICAgICAgICBzdGF0aWNQYXJhbXNbJ3R5cGUnXSBhcyBzdHJpbmdcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMubW9kZWxUeXBlID0gc3RhdGljUGFyYW1zWyd0eXBlJ10gYXNcbiAgICAgICAgfCAnZW5lcmd5LWNwdSdcbiAgICAgICAgfCAnZW5lcmd5LW1lbW9yeSdcbiAgICAgICAgfCAnZW5lcmd5LW5ldHdvcmsnXG4gICAgICAgIHwgJ2Utc3VtJztcbiAgICAgIGRlbGV0ZSBzdGF0aWNQYXJhbXNbJ3R5cGUnXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBtb2RlbElkZW50aWZpZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRVNIT1BQRU47XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVzaG9wcGVuQ3B1TW9kZWwgZXh0ZW5kcyBFc2hvcHBlbk1vZGVsIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1vZGVsVHlwZSA9ICdlbmVyZ3ktY3B1JztcbiAgfVxuXG4gIG1vZGVsSWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBFU0hPUFBFTl9DUFU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVzaG9wcGVuTWVtTW9kZWwgZXh0ZW5kcyBFc2hvcHBlbk1vZGVsIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1vZGVsVHlwZSA9ICdlbmVyZ3ktbWVtb3J5JztcbiAgfVxuXG4gIG1vZGVsSWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBFU0hPUFBFTl9NRU07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVzaG9wcGVuTmV0TW9kZWwgZXh0ZW5kcyBFc2hvcHBlbk1vZGVsIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1vZGVsVHlwZSA9ICdlbmVyZ3ktbmV0d29yayc7XG4gIH1cblxuICBtb2RlbElkZW50aWZpZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRVNIT1BQRU5fTkVUO1xuICB9XG59XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './eshoppen-model';
2
- export * from './sci-accenture-model';
3
- export * from './aveva-model';
4
- export * from './emem-model';
@@ -1,21 +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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./eshoppen-model"), exports);
18
- __exportStar(require("./sci-accenture-model"), exports);
19
- __exportStar(require("./aveva-model"), exports);
20
- __exportStar(require("./emem-model"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2Nhc2Utc3R1ZGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWlDO0FBQ2pDLHdEQUFzQztBQUN0QyxnREFBOEI7QUFDOUIsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lc2hvcHBlbi1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NjaS1hY2NlbnR1cmUtbW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9hdmV2YS1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2VtZW0tbW9kZWwnO1xuIl19
@@ -1,10 +0,0 @@
1
- import { IOutputModelInterface } from '../interfaces';
2
- export declare class SciAccentureModel implements IOutputModelInterface {
3
- authParams: object | undefined;
4
- staticParams: object | undefined;
5
- name: string | undefined;
6
- authenticate(authParams: object): void;
7
- execute(inputs: object | object[] | undefined): Promise<any[]>;
8
- configure(name: string, staticParams: object | undefined): Promise<IOutputModelInterface>;
9
- modelIdentifier(): string;
10
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SciAccentureModel = void 0;
4
- const config_1 = require("../../config");
5
- const { MODEL_IDS } = config_1.CONFIG;
6
- const { SCI_ACCENTURE } = MODEL_IDS;
7
- class SciAccentureModel {
8
- constructor() {
9
- this.authParams = undefined;
10
- }
11
- authenticate(authParams) {
12
- this.authParams = authParams;
13
- }
14
- async execute(inputs) {
15
- if (!Array.isArray(inputs)) {
16
- throw new Error('inputs should be an array');
17
- }
18
- const tunedinputs = inputs.map((input) => {
19
- input['sci_total'] = input['sci'] * 1.05;
20
- if (isNaN(input['sci'])) {
21
- throw new Error('sci not computable');
22
- }
23
- return input;
24
- });
25
- return tunedinputs;
26
- }
27
- async configure(name, staticParams) {
28
- this.staticParams = staticParams;
29
- this.name = name;
30
- return this;
31
- }
32
- modelIdentifier() {
33
- return SCI_ACCENTURE;
34
- }
35
- }
36
- exports.SciAccentureModel = SciAccentureModel;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NpLWFjY2VudHVyZS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY2FzZS1zdHVkaWVzL3NjaS1hY2NlbnR1cmUtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEseUNBQW9DO0FBSXBDLE1BQU0sRUFBQyxTQUFTLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDM0IsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLFNBQVMsQ0FBQztBQUVsQyxNQUFhLGlCQUFpQjtJQUE5QjtRQUNFLGVBQVUsR0FBdUIsU0FBUyxDQUFDO0lBc0M3QyxDQUFDO0lBbENDLFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFxQztRQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7U0FDOUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBbUIsRUFBRSxFQUFFO1lBQ3JELEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBRXpDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDdkM7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQ2IsSUFBWSxFQUNaLFlBQWdDO1FBRWhDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUF2Q0QsOENBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJT3V0cHV0TW9kZWxJbnRlcmZhY2V9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQge0NPTkZJR30gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuaW1wb3J0IHtLZXlWYWx1ZVBhaXJ9IGZyb20gJy4uLy4uL3R5cGVzL2NvbW1vbic7XG5cbmNvbnN0IHtNT0RFTF9JRFN9ID0gQ09ORklHO1xuY29uc3Qge1NDSV9BQ0NFTlRVUkV9ID0gTU9ERUxfSURTO1xuXG5leHBvcnQgY2xhc3MgU2NpQWNjZW50dXJlTW9kZWwgaW1wbGVtZW50cyBJT3V0cHV0TW9kZWxJbnRlcmZhY2Uge1xuICBhdXRoUGFyYW1zOiBvYmplY3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIHN0YXRpY1BhcmFtczogb2JqZWN0IHwgdW5kZWZpbmVkO1xuICBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgYXV0aGVudGljYXRlKGF1dGhQYXJhbXM6IG9iamVjdCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aFBhcmFtcyA9IGF1dGhQYXJhbXM7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0czogb2JqZWN0IHwgb2JqZWN0W10gfCB1bmRlZmluZWQpOiBQcm9taXNlPGFueVtdPiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGlucHV0cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW5wdXRzIHNob3VsZCBiZSBhbiBhcnJheScpO1xuICAgIH1cblxuICAgIGNvbnN0IHR1bmVkaW5wdXRzID0gaW5wdXRzLm1hcCgoaW5wdXQ6IEtleVZhbHVlUGFpcikgPT4ge1xuICAgICAgaW5wdXRbJ3NjaV90b3RhbCddID0gaW5wdXRbJ3NjaSddICogMS4wNTtcblxuICAgICAgaWYgKGlzTmFOKGlucHV0WydzY2knXSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzY2kgbm90IGNvbXB1dGFibGUnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlucHV0O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHR1bmVkaW5wdXRzO1xuICB9XG5cbiAgYXN5bmMgY29uZmlndXJlKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBzdGF0aWNQYXJhbXM6IG9iamVjdCB8IHVuZGVmaW5lZFxuICApOiBQcm9taXNlPElPdXRwdXRNb2RlbEludGVyZmFjZT4ge1xuICAgIHRoaXMuc3RhdGljUGFyYW1zID0gc3RhdGljUGFyYW1zO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBtb2RlbElkZW50aWZpZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU0NJX0FDQ0VOVFVSRTtcbiAgfVxufVxuIl19