@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.
Files changed (176) hide show
  1. package/.commitlintrc.js +45 -0
  2. package/.husky/commit-msg +4 -0
  3. package/.husky/pre-commit +6 -0
  4. package/CONTRIBUTING.md +82 -109
  5. package/README.md +16 -12
  6. package/build/config/config.d.ts +4 -3
  7. package/build/config/config.js +11 -10
  8. package/build/config/params.js +17 -17
  9. package/build/config/strings.d.ts +9 -8
  10. package/build/config/strings.js +13 -12
  11. package/build/index.js +19 -69
  12. package/build/lib/aggregate.d.ts +6 -0
  13. package/build/lib/aggregate.js +72 -0
  14. package/build/lib/compute.d.ts +5 -0
  15. package/build/lib/compute.js +84 -0
  16. package/build/lib/exhaust.d.ts +6 -0
  17. package/build/lib/exhaust.js +47 -0
  18. package/build/lib/initialize.d.ts +6 -0
  19. package/build/lib/initialize.js +98 -0
  20. package/build/lib/load.d.ts +6 -0
  21. package/build/lib/load.js +24 -0
  22. package/build/lib/parameterize.d.ts +5 -0
  23. package/build/lib/parameterize.js +49 -0
  24. package/build/models/export-csv.d.ts +2 -0
  25. package/build/models/export-csv.js +129 -0
  26. package/build/models/export-log.d.ts +4 -0
  27. package/build/models/export-log.js +18 -0
  28. package/build/models/export-yaml.d.ts +4 -0
  29. package/build/models/export-yaml.js +24 -0
  30. package/build/models/group-by.d.ts +11 -0
  31. package/build/models/group-by.js +56 -0
  32. package/build/models/index.d.ts +2 -1
  33. package/build/models/index.js +5 -3
  34. package/build/models/time-sync.d.ts +2 -57
  35. package/build/models/time-sync.js +204 -158
  36. package/build/types/aggregation.js +5 -0
  37. package/build/types/compute.d.ts +25 -0
  38. package/build/types/compute.js +3 -0
  39. package/build/types/exhaust-plugin-interface.d.ts +7 -0
  40. package/build/types/exhaust-plugin-interface.js +3 -0
  41. package/build/types/group-by.d.ts +3 -0
  42. package/build/types/group-by.js +3 -0
  43. package/build/types/initialize.d.ts +4 -0
  44. package/build/types/initialize.js +3 -0
  45. package/build/types/interface.d.ts +8 -0
  46. package/build/types/interface.js +3 -0
  47. package/build/types/load.d.ts +7 -0
  48. package/build/types/load.js +3 -0
  49. package/build/types/manifest.d.ts +40 -0
  50. package/build/types/manifest.js +3 -0
  51. package/build/types/parameters.d.ts +4 -5
  52. package/build/types/parameters.js +1 -1
  53. package/build/types/process-args.d.ts +3 -5
  54. package/build/types/process-args.js +1 -1
  55. package/build/types/time-sync.d.ts +9 -2
  56. package/build/types/time-sync.js +1 -1
  57. package/build/util/aggregation-helper.d.ts +6 -0
  58. package/build/util/aggregation-helper.js +56 -0
  59. package/build/util/args.d.ts +6 -3
  60. package/build/util/args.js +21 -17
  61. package/build/util/errors.d.ts +1 -1
  62. package/build/util/errors.js +8 -4
  63. package/build/util/helpers.d.ts +4 -0
  64. package/build/util/helpers.js +23 -4
  65. package/build/util/json.d.ts +4 -0
  66. package/build/util/json.js +16 -0
  67. package/build/util/logger.d.ts +5 -0
  68. package/build/util/logger.js +40 -0
  69. package/build/util/validations.d.ts +22 -19
  70. package/build/util/validations.js +41 -34
  71. package/examples/{impls/test → manifests}/azure-importer.yml +8 -8
  72. package/examples/manifests/basic-demo.yml +75 -0
  73. package/examples/manifests/basic.yml +27 -0
  74. package/examples/manifests/boavizta-pipeline.yml +85 -0
  75. package/examples/{impls/test → manifests}/boavizta.yml +11 -12
  76. package/examples/{impls/test → manifests}/ccf.yml +9 -10
  77. package/examples/manifests/cim.yml +20 -0
  78. package/examples/manifests/cloud-metadata.yml +41 -0
  79. package/examples/manifests/co2js.yml +30 -0
  80. package/examples/manifests/coefficient.yml +23 -0
  81. package/examples/manifests/csv-export.yml +34 -0
  82. package/examples/manifests/e-mem.yml +21 -0
  83. package/examples/{impls/test → manifests}/e-net.yml +9 -8
  84. package/examples/manifests/generics.yml +71 -0
  85. package/examples/manifests/group-by.yml +48 -0
  86. package/examples/manifests/mock-observation.yml +33 -0
  87. package/examples/manifests/multiply.yml +23 -0
  88. package/examples/manifests/nesting-demo.yml +89 -0
  89. package/examples/manifests/nesting.yml +215 -0
  90. package/examples/manifests/pipeline-demo-1.yml +85 -0
  91. package/examples/manifests/pipeline-demo-2.yml +149 -0
  92. package/examples/manifests/pipeline-demo.yml +128 -0
  93. package/examples/manifests/pipeline-teads-sci.yml +82 -0
  94. package/examples/manifests/pipeline-with-generics.yml +147 -0
  95. package/examples/manifests/pipeline-with-mocks.yml +146 -0
  96. package/examples/{impls/test → manifests}/sci-e.yml +6 -8
  97. package/examples/manifests/sci-m.yml +23 -0
  98. package/examples/{impls/test → manifests}/sci-o.yml +10 -10
  99. package/examples/{impls/test → manifests}/sci.yml +10 -9
  100. package/examples/manifests/shell.yml +20 -0
  101. package/examples/manifests/sum.yml +23 -0
  102. package/examples/{impls/test → manifests}/tdp-finder.yml +6 -7
  103. package/examples/manifests/teads-aws.yml +22 -0
  104. package/examples/manifests/teads-curve.yml +20 -0
  105. package/examples/manifests/time-sync.yml +32 -0
  106. package/examples/manifests/watt-time.yml +42 -0
  107. package/jest.config.js +6 -1
  108. package/package.json +13 -8
  109. package/src/__tests__/integration/templates/integration.yaml +16 -0
  110. package/src/models/README.md +6 -6
  111. package/tsconfig.test.json +1 -1
  112. package/Makefile +0 -16
  113. package/build/lib/aggregator.d.ts +0 -7
  114. package/build/lib/aggregator.js +0 -46
  115. package/build/lib/models-universe.d.ts +0 -40
  116. package/build/lib/models-universe.js +0 -145
  117. package/build/lib/observatory.d.ts +0 -20
  118. package/build/lib/observatory.js +0 -31
  119. package/build/lib/supercomputer.d.ts +0 -39
  120. package/build/lib/supercomputer.js +0 -116
  121. package/build/types/aggregator.js +0 -5
  122. package/build/types/impl.d.ts +0 -92
  123. package/build/types/impl.js +0 -19
  124. package/build/types/model-interface.d.ts +0 -13
  125. package/build/types/model-interface.js +0 -3
  126. package/build/types/models-universe.d.ts +0 -20
  127. package/build/types/models-universe.js +0 -3
  128. package/build/types/supercomputer.d.ts +0 -4
  129. package/build/types/supercomputer.js +0 -3
  130. package/build/util/param-selectors.d.ts +0 -5
  131. package/build/util/param-selectors.js +0 -14
  132. package/examples/impls/case-studies/accenture.yml +0 -155
  133. package/examples/impls/case-studies/aggregation.yml +0 -97
  134. package/examples/impls/case-studies/aveva.yaml +0 -48
  135. package/examples/impls/case-studies/azure-yassine.yaml +0 -67
  136. package/examples/impls/case-studies/boavizta.yml +0 -26
  137. package/examples/impls/case-studies/dow_msft.yml +0 -173
  138. package/examples/impls/case-studies/farm-insights.yaml +0 -35
  139. package/examples/impls/case-studies/gsf-website.yaml +0 -93
  140. package/examples/impls/case-studies/msft-eshoppen.yaml +0 -162
  141. package/examples/impls/case-studies/msft-green-ai.yaml +0 -58
  142. package/examples/impls/case-studies/ntt-data-on-premise.yaml +0 -201
  143. package/examples/impls/test/aggregation-test.yml +0 -109
  144. package/examples/impls/test/aggregation-test2.yml +0 -52
  145. package/examples/impls/test/cim.yml +0 -19
  146. package/examples/impls/test/e-mem.yml +0 -19
  147. package/examples/impls/test/if-demo.yml +0 -59
  148. package/examples/impls/test/large-impl.yml +0 -257303
  149. package/examples/impls/test/metadata.yml +0 -21
  150. package/examples/impls/test/nesting.yml +0 -113
  151. package/examples/impls/test/new-params-test.yml +0 -35
  152. package/examples/impls/test/sci-m.yml +0 -24
  153. package/examples/impls/test/shell.yml +0 -19
  154. package/examples/impls/test/teads-cpu.yml +0 -18
  155. package/examples/impls/test/time-sync-avoid-padding.yml +0 -50
  156. package/examples/impls/test/time-sync.yml +0 -76
  157. package/examples/ompls/aggregation-test.yml +0 -340
  158. package/examples/ompls/aggregation-test2.yml +0 -83
  159. package/examples/ompls/azure-importer.yml +0 -145
  160. package/examples/ompls/boavizta.yml +0 -32
  161. package/examples/ompls/ccf.yml +0 -29
  162. package/examples/ompls/cim.yml +0 -29
  163. package/examples/ompls/complex-pipeline.yml +0 -105
  164. package/examples/ompls/e-mem.yml +0 -26
  165. package/examples/ompls/full-sci.yml +0 -64
  166. package/examples/ompls/if-demo.yml +0 -517
  167. package/examples/ompls/metadata.yml +0 -29
  168. package/examples/ompls/nesting.yml +0 -113
  169. package/examples/ompls/sci-e.yml +0 -23
  170. package/examples/ompls/sci-m.yml +0 -33
  171. package/examples/ompls/sci-o.yml +0 -29
  172. package/examples/ompls/sci.yml +0 -37
  173. package/examples/ompls/shell.yml +0 -23
  174. package/examples/ompls/teads-cpu.yml +0 -24
  175. package/examples/ompls/time-sync.yml +0 -212
  176. /package/build/types/{aggregator.d.ts → aggregation.d.ts} +0 -0
@@ -1,33 +0,0 @@
1
- name: sci-m
2
- description: simple demo invoking sci-m
3
- tags: null
4
- initialize:
5
- models:
6
- - name: sci-m
7
- kind: builtin
8
- verbose: false
9
- path: ''
10
- graph:
11
- children:
12
- child:
13
- pipeline:
14
- - sci-m
15
- config:
16
- sci-m:
17
- total-embodied-emissions: 1533.12
18
- time-reserved: 3600
19
- expected-lifespan: 94608000
20
- resources-reserved: 1
21
- total-resources: 8
22
- inputs:
23
- - timestamp: 2023-07-06T00:00
24
- duration: 3600
25
- outputs:
26
- - timestamp: 2023-07-06T00:00
27
- duration: 3600
28
- total-embodied-emissions: 1533.12
29
- time-reserved: 3600
30
- expected-lifespan: 94608000
31
- resources-reserved: 1
32
- total-resources: 8
33
- embodied-carbon: 0.007292237442922374
@@ -1,29 +0,0 @@
1
- name: sci-o-demo
2
- description: null
3
- tags: null
4
- initialize:
5
- models:
6
- - name: sci-e
7
- kind: builtin
8
- - name: sci-o
9
- kind: builtin
10
- graph:
11
- children:
12
- child:
13
- pipeline:
14
- - sci-e
15
- - sci-o
16
- config:
17
- sci-e: null
18
- inputs:
19
- - timestamp: 2023-08-06T00:00
20
- duration: 3600
21
- energy-cpu: 0.001
22
- grid-carbon-intensity: 800
23
- outputs:
24
- - timestamp: 2023-08-06T00:00
25
- duration: 3600
26
- energy-cpu: 0.001
27
- grid-carbon-intensity: 800
28
- energy: 0.001
29
- operational-carbon: 0.8
@@ -1,37 +0,0 @@
1
- name: sci-demo
2
- description: example invoking sci model
3
- tags: null
4
- initialize:
5
- models:
6
- - name: sci
7
- kind: plugin
8
- path: "@grnsft/if-models"
9
- model: SciModel
10
- graph:
11
- children:
12
- child:
13
- pipeline:
14
- - sci
15
- config:
16
- sci:
17
- functional-unit-time: 1 minute
18
- functional-unit: requests
19
- inputs:
20
- - timestamp: 2023-07-06T00:00
21
- duration: 3600
22
- energy: 5
23
- operational-carbon: 5
24
- embodied-carbon: 0.02
25
- requests: 100
26
- outputs:
27
- - timestamp: 2023-07-06T00:00
28
- duration: 3600
29
- energy: 5
30
- operational-carbon: 5
31
- embodied-carbon: 0.02
32
- requests: 100
33
- functional-unit-duration: 1
34
- functional-unit-time: 1 minute
35
- functional-unit: requests
36
- carbon: 0.0013944444444444442
37
- sci: 0.0008366666666666665
@@ -1,23 +0,0 @@
1
- name: shell-demo
2
- description: example impl invoking shell model
3
- tags: null
4
- initialize:
5
- models:
6
- - name: sampler
7
- kind: shell
8
- graph:
9
- children:
10
- child:
11
- pipeline:
12
- - sampler
13
- config:
14
- sampler:
15
- command: python3 /usr/local/bin/sampler
16
- inputs:
17
- - timestamp: "2023-11-02T10:35:31.820Z"
18
- duration: 3600
19
- outputs:
20
- - timestamp: "2023-11-02T10:35:31.820Z"
21
- duration: 3600
22
- energy: 1
23
-
@@ -1,24 +0,0 @@
1
- name: teads-cpu
2
- description: simple demo invoking teads-cpu
3
- tags: null
4
- initialize:
5
- models:
6
- - name: teads-cpu
7
- path: '@grnsft/if-unofficial-models'
8
- model: TeadsCurveModel
9
- graph:
10
- children:
11
- child:
12
- pipeline:
13
- - teads-cpu
14
- inputs:
15
- - timestamp: 2023-07-06T00:00
16
- duration: 3600
17
- cpu-util: 50
18
- thermal-design-power: 300
19
- outputs:
20
- - timestamp: 2023-07-06T00:00
21
- duration: 3600
22
- cpu-util: 50
23
- thermal-design-power: 300
24
- energy-cpu: 0.225
@@ -1,212 +0,0 @@
1
- name: nesting-demo
2
- description: impl with 2 levels of nesting with non-uniform timing of observations
3
- tags: null
4
- initialize:
5
- models:
6
- - name: teads-curve
7
- path: '@grnsft/if-unofficial-models'
8
- model: TeadsCurveModel
9
- - name: sci-e
10
- path: '@grnsft/if-models'
11
- model: SciEModel
12
- - name: sci-m
13
- path: '@grnsft/if-models'
14
- model: SciMModel
15
- - name: sci-o
16
- path: '@grnsft/if-models'
17
- model: SciOModel
18
- - name: time-synchronization
19
- path: builtin
20
- model: TimeSyncModel
21
- config:
22
- start-time: 2023-12-12T00:00:00.000Z
23
- end-time: 2023-12-12T00:01:00.000Z
24
- interval: 5
25
- graph:
26
- children:
27
- child:
28
- pipeline:
29
- - teads-curve
30
- - sci-e
31
- - sci-m
32
- - sci-o
33
- - time-synchronization
34
- config:
35
- teads-curve:
36
- thermal-design-power: 65
37
- sci-m:
38
- total-embodied-emissions: 251000
39
- time-reserved: 3600
40
- expected-lifespan: 126144000
41
- resources-reserved: 1
42
- total-resources: 1
43
- sci-o:
44
- grid-carbon-intensity: 457
45
- children:
46
- child-1:
47
- inputs:
48
- - timestamp: 2023-12-12T00:00:00.000Z
49
- duration: 10
50
- cpu-util: 10
51
- requests: 300
52
- outputs:
53
- - timestamp: '2023-12-12T00:00:00.000Z'
54
- duration: 10
55
- cpu-util: 10
56
- requests: 30
57
- thermal-design-power: 65
58
- total-embodied-emissions: 251000
59
- time-reserved: 3600
60
- expected-lifespan: 126144000
61
- resources-reserved: 1
62
- total-resources: 1
63
- grid-carbon-intensity: 457
64
- energy-cpu: 0.000057777777777777776
65
- energy: 0.000057777777777777776
66
- embodied-carbon: 7.16324200913242
67
- operational-carbon: 0.026404444444444442
68
- carbon: 7.189646453576864
69
- - timestamp: '2023-12-12T00:00:01.000Z'
70
- duration: 10
71
- cpu-util: 10
72
- requests: 30
73
- thermal-design-power: 65
74
- total-embodied-emissions: 251000
75
- time-reserved: 3600
76
- expected-lifespan: 126144000
77
- resources-reserved: 1
78
- total-resources: 1
79
- grid-carbon-intensity: 457
80
- energy-cpu: 0.000057777777777777776
81
- energy: 0.000057777777777777776
82
- embodied-carbon: 7.16324200913242
83
- operational-carbon: 0.026404444444444442
84
- carbon: 7.189646453576864
85
- - timestamp: '2023-12-12T00:00:02.000Z'
86
- duration: 10
87
- cpu-util: 10
88
- requests: 30
89
- thermal-design-power: 65
90
- total-embodied-emissions: 251000
91
- time-reserved: 3600
92
- expected-lifespan: 126144000
93
- resources-reserved: 1
94
- total-resources: 1
95
- grid-carbon-intensity: 457
96
- energy-cpu: 0.000057777777777777776
97
- energy: 0.000057777777777777776
98
- embodied-carbon: 7.16324200913242
99
- operational-carbon: 0.026404444444444442
100
- carbon: 7.189646453576864
101
- - timestamp: '2023-12-12T00:00:03.000Z'
102
- duration: 10
103
- cpu-util: 10
104
- requests: 30
105
- thermal-design-power: 65
106
- total-embodied-emissions: 251000
107
- time-reserved: 3600
108
- expected-lifespan: 126144000
109
- resources-reserved: 1
110
- total-resources: 1
111
- grid-carbon-intensity: 457
112
- energy-cpu: 0.000057777777777777776
113
- energy: 0.000057777777777777776
114
- embodied-carbon: 7.16324200913242
115
- operational-carbon: 0.026404444444444442
116
- carbon: 7.189646453576864
117
- - timestamp: '2023-12-12T00:00:04.000Z'
118
- duration: 10
119
- cpu-util: 10
120
- requests: 30
121
- thermal-design-power: 65
122
- total-embodied-emissions: 251000
123
- time-reserved: 3600
124
- expected-lifespan: 126144000
125
- resources-reserved: 1
126
- total-resources: 1
127
- grid-carbon-intensity: 457
128
- energy-cpu: 0.000057777777777777776
129
- energy: 0.000057777777777777776
130
- embodied-carbon: 7.16324200913242
131
- operational-carbon: 0.026404444444444442
132
- carbon: 7.189646453576864
133
- - timestamp: '2023-12-12T00:00:05.000Z'
134
- duration: 10
135
- cpu-util: 10
136
- requests: 30
137
- thermal-design-power: 65
138
- total-embodied-emissions: 251000
139
- time-reserved: 3600
140
- expected-lifespan: 126144000
141
- resources-reserved: 1
142
- total-resources: 1
143
- grid-carbon-intensity: 457
144
- energy-cpu: 0.000057777777777777776
145
- energy: 0.000057777777777777776
146
- embodied-carbon: 7.16324200913242
147
- operational-carbon: 0.026404444444444442
148
- carbon: 7.189646453576864
149
- - timestamp: '2023-12-12T00:00:06.000Z'
150
- duration: 10
151
- cpu-util: 10
152
- requests: 30
153
- thermal-design-power: 65
154
- total-embodied-emissions: 251000
155
- time-reserved: 3600
156
- expected-lifespan: 126144000
157
- resources-reserved: 1
158
- total-resources: 1
159
- grid-carbon-intensity: 457
160
- energy-cpu: 0.000057777777777777776
161
- energy: 0.000057777777777777776
162
- embodied-carbon: 7.16324200913242
163
- operational-carbon: 0.026404444444444442
164
- carbon: 7.189646453576864
165
- - timestamp: '2023-12-12T00:00:07.000Z'
166
- duration: 10
167
- cpu-util: 10
168
- requests: 30
169
- thermal-design-power: 65
170
- total-embodied-emissions: 251000
171
- time-reserved: 3600
172
- expected-lifespan: 126144000
173
- resources-reserved: 1
174
- total-resources: 1
175
- grid-carbon-intensity: 457
176
- energy-cpu: 0.000057777777777777776
177
- energy: 0.000057777777777777776
178
- embodied-carbon: 7.16324200913242
179
- operational-carbon: 0.026404444444444442
180
- carbon: 7.189646453576864
181
- - timestamp: '2023-12-12T00:00:08.000Z'
182
- duration: 10
183
- cpu-util: 10
184
- requests: 30
185
- thermal-design-power: 65
186
- total-embodied-emissions: 251000
187
- time-reserved: 3600
188
- expected-lifespan: 126144000
189
- resources-reserved: 1
190
- total-resources: 1
191
- grid-carbon-intensity: 457
192
- energy-cpu: 0.000057777777777777776
193
- energy: 0.000057777777777777776
194
- embodied-carbon: 7.16324200913242
195
- operational-carbon: 0.026404444444444442
196
- carbon: 7.189646453576864
197
- - timestamp: '2023-12-12T00:00:09.000Z'
198
- duration: 10
199
- cpu-util: 10
200
- requests: 30
201
- thermal-design-power: 65
202
- total-embodied-emissions: 251000
203
- time-reserved: 3600
204
- expected-lifespan: 126144000
205
- resources-reserved: 1
206
- total-resources: 1
207
- grid-carbon-intensity: 457
208
- energy-cpu: 0.000057777777777777776
209
- energy: 0.000057777777777777776
210
- embodied-carbon: 7.16324200913242
211
- operational-carbon: 0.026404444444444442
212
- carbon: 7.189646453576864