@grnsft/if 0.1.9 → 0.2.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 (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 +81 -98
  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
@@ -0,0 +1,45 @@
1
+ module.exports = {
2
+ extends: ['@commitlint/config-conventional'],
3
+ rules: {
4
+ 'type-enum': [
5
+ 2,
6
+ 'always',
7
+ [
8
+ 'feat',
9
+ 'fix',
10
+ 'docs',
11
+ 'chore',
12
+ 'style',
13
+ 'refactor',
14
+ 'ci',
15
+ 'test',
16
+ 'revert',
17
+ ],
18
+ ],
19
+ 'scope-enum': [
20
+ 2,
21
+ 'always',
22
+ [
23
+ 'util',
24
+ 'lib',
25
+ 'types',
26
+ 'src',
27
+ 'package',
28
+ 'config',
29
+ 'mocks',
30
+ 'examples',
31
+ '.github',
32
+ '.husky',
33
+ 'scripts',
34
+ 'models',
35
+ 'plugins',
36
+ 'integration',
37
+ 'doc'
38
+ ]
39
+ ],
40
+ 'scope-empty': [
41
+ 2,
42
+ 'never'
43
+ ]
44
+ },
45
+ };
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npx --no-install commitlint --edit "$1"
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npm run lint
5
+ npm test
6
+ npm run fix:package
package/CONTRIBUTING.md CHANGED
@@ -8,145 +8,128 @@ The following document is a rule set of guidelines for contributing.
8
8
  ## Table of Contents <!-- omit from toc -->
9
9
 
10
10
  - [Code Contributions](#code-contributions)
11
- - [Step 1: Fork](#step-1-fork)
12
- - [Step 2: Branch](#step-2-branch)
13
- - [Step 3: Commit](#step-3-commit)
14
- - [Step 4: Sync](#step-4-sync)
15
- - [Step 5: Push](#step-5-push)
16
- - [Step 6: Pull Request](#step-6-pull-request)
17
- - [Commit message guidelines](#commit-message-guidelines)
11
+ - [Step 1: Fork](#step-1-fork)
12
+ - [Step 2: Branch](#step-2-branch)
13
+ - [Step 3: Commit](#step-3-commit)
14
+ - [Step 5: Push](#step-5-push)
15
+ - [Step 6: Pull Request](#step-6-pull-request)
18
16
  - [Coding guidelines](#coding-guidelines)
19
- - [Code structuring patterns](#code-structuring-patterns)
20
- - [Object Oriented Programming](#object-oriented-programming)
21
- - [Functional Programming](#functional-programming)
22
- - [Naming patterns](#naming-patterns)
17
+ - [Code structuring patterns](#code-structuring-patterns)
18
+ - [Functional Programming](#functional-programming)
19
+ - [Naming conventions](#naming-conventions)
23
20
  - [Documentation](#documentation)
24
- - [Writing tests](#writing-tests)
21
+ - [Writing tests](#writing-tests)
25
22
 
26
23
  ## Code Contributions
27
24
 
28
- #### Step 1: Fork
25
+ ### Step 1: Fork
29
26
 
30
- Fork the project on [GitHub](git@github.com:Green-Software-Foundation/if.git)
27
+ Fork the project on [GitHub](https://github.com/Green-Software-Foundation/if)
31
28
 
32
29
  You then have your own copy of the repository that you can change.
33
30
 
34
- #### Step 2: Branch
31
+ ### Step 2: Branch
35
32
 
36
33
  Create new branch in your forked copy of the `if` repository, which will contain your new feature, fix or change.
37
34
 
38
- ```bash
39
- $ git checkout -b <topic-branch-name>
40
- ```
35
+ ```bash
36
+ $ git checkout -b <topic-branch-name>
37
+ ```
41
38
 
42
- #### Step 3: Commit
39
+ ### Step 3: Commit
43
40
 
44
41
  Make sure git knows your name and email address:
45
42
 
46
- ```bash
47
- $ git config --global user.name "Example User"
48
- $ git config --global user.email "user@example.com"
49
- ```
43
+ ```bash
44
+ $ git config --global user.name "Example User"
45
+ $ git config --global user.email "user@example.com"
46
+ ```
50
47
 
51
- Commiting multiple files with changes on multiple resources is not allowed.
48
+ Each commit should cover one change to one resource. You should not add multiple changes to a single commit.
52
49
  Commit message should clearly describe on which resource changes are made.
50
+ For the commit message, we adhere to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
51
+ Conventional commits are organized with a type, a scope and a description. The type can be one of:
52
+
53
+ - 'feat',
54
+ - 'fix',
55
+ - 'docs',
56
+ - 'chore',
57
+ - 'style',
58
+ - 'refactor',
59
+ - 'ci',
60
+ - 'test',
61
+ - 'revert',
62
+ - 'package',
63
+
64
+ The scope is optional but should refer to the part of the codebase you are amending in the commit, e.g. `lib`, `types` etc.
65
+
66
+ Here's an example of a valid commit message:
53
67
 
54
- Add and commit:
68
+ ```
69
+ feat(lib): initial commit for time-sync logic
70
+ ```
55
71
 
56
- ```bash
57
- $ git add my/changed/files
58
- $ git commit
59
- ```
60
-
61
- Commit your changes in logical chunks. Please do not push all changes in one commit.
72
+ or
62
73
 
63
- > Run `npm run fix` before commiting for not having conflict with CI linter.
74
+ ```
75
+ test(teads-curve): add unit test to check that error is raised on missing tdp param
76
+ ```
64
77
 
65
- Please adhere to these [Commit message guidelines](#commit-message-guidelines)
66
- or your code is unlikely be merged into the main project.
78
+ Run `npm run fix` before commiting. If your commit message does not conform to the conventional commit specification or if you have not run `npm run fix` your commit will not satisfy the commitlint check.
67
79
 
68
- #### Step 4: Sync
80
+ Add and commit with your commit message:
69
81
 
70
- Use git pull/merge to synchronize your work with the IF repository.
82
+ ```bash
83
+ $ git add my/changed/files
84
+ $ git commit -m "<type-of-commit>(<my-optional-scope>): <my-commit-message>"
85
+ ```
71
86
 
72
- ```bash
73
- $ git pull upstream dev
74
- ```
75
-
76
- #### Step 5: Push
87
+ ### Step 5: Push
77
88
 
78
89
  Push your topic branch to your fork:
79
90
 
80
- ```bash
81
- $ git push origin <topic-branch-name>
82
- ```
91
+ ```bash
92
+ $ git push origin <topic-branch-name>
93
+ ```
83
94
 
84
- #### Step 6: Pull Request
95
+ ### Step 6: Pull Request
85
96
 
86
97
  Open a Pull Request from your fork of the repository to the `dev` branch of the IF repository with a clear title and description according to [template](.github/PULL_REQUEST_TEMPLATE.md).
87
98
 
88
- Pull request should pass all CI which are defined, should have at least one approve. It should adher to the specification for getting approved.
89
-
90
- CI included lint checks, running tests, and etc.
91
-
92
- ## Commit message guidelines
93
-
94
- The commit message should describe what changed and why.
95
-
96
- 1. The first line should:
97
- * contain a short description of the change
98
- * be 60 characters or less
99
- * be prefixed with the name of the changed subsystem
100
- * be entirely in lowercase with the exception of proper nouns, acronyms, and the words that refer to code,
101
- like function/variable names
102
-
103
- Examples:
104
-
105
- ```
106
- util: add getInitializedModel method to models.
107
- deps: add express package to dependencies.
108
- service: refactor get user.
109
- ```
110
- 2. Keep the second line blank.
111
-
112
- 3. Wrap all other lines at 72 columns:
113
- * describe each line in logical chunks
114
- * start each line with: space hyphen space ( - ...)
115
- * be entirely in lowercase with the exception of proper nouns, acronyms, and the words that refer to code,
116
- like function/variable names
117
-
118
- Examples:
119
-
120
- ```
121
- - remove deprecated logger
122
- - refactor some method
123
- - add JSDoc on existing function
124
- ```
99
+ Pull requests will not be reviewed unless they pass all CI. This includes a lint check and running our unit tests.
100
+
125
101
  ## Coding guidelines
126
102
 
127
- #### Code structuring patterns
103
+ ### Code structuring patterns
128
104
 
129
105
  Avoid having functions which are responsible to do multiple things at the same time. Make sure one function/method does one thing, and does it well.
130
106
 
131
- ###### Object Oriented Programming
107
+ ### Functional Programming
132
108
 
133
- While following `Object Oriented Programming` paradigm, it's important to follow [SOLID](https://en.wikipedia.org/wiki/SOLID) principles.
109
+ We have a preference towards functional programming styles in the IF. This is because it makes it easier for different functions to be developed in isolation, composed in complex ways and executed in parallel.
134
110
 
135
- ###### Functional Programming
111
+ We recommend starting with these [basic principles and guidelines](https://dev.to/jamesrweb/principles-of-functional-programming-4b7c) for functional programming.
136
112
 
137
- When designing module of the application in `Functional Programming` paradigm, the key to follow [basic](https://dev.to/jamesrweb/principles-of-functional-programming-4b7c) principles.
138
113
 
139
- #### Naming patterns
114
+ ### Naming conventions
140
115
 
141
- Make sure your `class/function/variable` describes exactly what it does. Avoid using shortened words like txt, arr while doing naming decision. As a naming pattern `camel case` should be used.
116
+ We prefer not to use abbreviations of contractions in parameter names.
142
117
 
143
- ```ts
144
- ❌ const a = "<MOCK_VALUE_HERE>"
145
- const mockValue = "<MOCK_VALUE_HERE>"
118
+ Using fully descriptive names makes the code more readable, which in turn helps reviewers and anyone else aiming to understand how the plugin works.
119
+
120
+ It also helps to avoid ambiguity and naming collisions within and across plugins. Your name should describe what an element does as precisely as practically possible.
121
+
122
+ For example, we prefer `functionalUnit` to `funcUnit`, `fUnit`, or any other abbreviation.
123
+
124
+ In Typescript code we use lower Camel case (`likeThis`) for variable and function names and Pascal/Upper Camel case for class, type, enum, and interface names (`LikeThis`).
125
+
126
+ In yaml files, we prefer to use kebab-case (`like-this`) for field names. For example:
127
+
128
+ `energy-network` is the field name for the energy consumed by networking for an application
129
+ `functional-unit` is the unit in which to express an SCI value.
130
+
131
+ Global constants can be given capitalized names, such as `TIME_UNITS_IN_SECONDS`.
146
132
 
147
- ❌ const a = (txt: string) => console.log(txt)
148
- ✅ const logMessage = (message: string) => console.log(message)
149
- ```
150
133
 
151
134
  #### Documentation
152
135
 
@@ -172,9 +155,9 @@ class MockClass {
172
155
  }
173
156
  ```
174
157
 
175
- #### Writing tests
158
+ ### Writing tests
176
159
 
177
- One test file should be responsible for one module. `describe` blocks should be used for module and function/method description. First `describe` should follow `resource/module: ` pattern. Second describe title should follow `method(): ` pattern. Test units can use either `test` or `it`, title should exactly describe behaviour and input argument. Make sure each test case covers one branch.
160
+ One test file should be responsible for one module. `describe` blocks should be used for module and function/method description. First `describe` should follow `resource/module: ` pattern. Second describe title should follow `method(): ` pattern. Test units can use `it` blocks whose title should exactly describe behaviour and input argument.
178
161
 
179
162
  See example:
180
163
  ```ts
@@ -187,4 +170,4 @@ describe('util/args: ', () => {
187
170
  })
188
171
  ```
189
172
 
190
- *[⬅️ back to the root](/README.md#ief)*
173
+ *[⬅️ back to the root](/README.md#ief)*
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  >
13
13
  > CarbonHack is open to all, including software practitioners and those with a passion for Green Software.
14
14
  >
15
- > Find out more about CarbonHack 2024 on the [CarbonHack website](https://grnsft.org/hack/github). Check out the [FAQ on GitHub](https://github.com/Green-Software-Foundation/hack/blob/main/FAQ.md).
15
+ > Find out more about CarbonHack 2024 on the [CarbonHack website](https://grnsft.org/hack/github). Check out the [FAQ on GitHub](https://grnsft.org/hack/faq).
16
16
  >
17
17
  > Registration opens 15th January!
18
18
  ----------------------------
@@ -34,7 +34,7 @@
34
34
 
35
35
  Modern applications are composed of many smaller pieces of software (components) running on many different environments, for example, private cloud, public cloud, bare-metal, virtualized, containerized, mobile, laptops, and desktops.
36
36
 
37
- Every environment requires a different model of measurement, and there is no single solution you can use to calculate the environmental impacts for all components across all environments.
37
+ Every environment requires a different plugin of measurement, and there is no single solution you can use to calculate the environmental impacts for all components across all environments.
38
38
 
39
39
  The friction to measuring software emissions isn't that we need to know how, it's that we run software on many things and each thing has several different ways to measure.
40
40
 
@@ -43,34 +43,34 @@ Read the [specification and design docs](https://if.greensoftware.foundation) to
43
43
 
44
44
  ## Get started
45
45
 
46
- The first thing to understand is that IF is a framework for running model plugins. This means that in order to do some calculations, you need to load some models from some external resource. We provide a [standard library of models](https://github.com/Green-Software-Foundation/if-models) and a repository of [community models](https://github.com/Green-Software-Foundation/if-unofficial-models) to get you started.
46
+ The first thing to understand is that IF is a framework for running plugins. This means that in order to do some calculations, you need to load some plugins from some external resource. We provide a [standard library of plugins](https://github.com/Green-Software-Foundation/if-plugins) and a repository of [community plugins](https://github.com/Green-Software-Foundation/if-unofficial-plugins) to get you started.
47
47
 
48
48
  Start by installing framework itself:
49
49
 
50
50
  ```sh
51
51
  npm install -g "@grnsft/if"
52
52
  ```
53
- Then installing some models:
53
+ Then installing some plugins:
54
54
 
55
55
  ```sh
56
- npm install -g "@grnsft/if-models"
56
+ npm install -g "@grnsft/if-plugins"
57
57
  ```
58
58
 
59
- Then create an `impl` file that describes your application (see our docs for a detailed explanation).
59
+ Then create a `manifest` file that describes your application (see our docs for a detailed explanation).
60
60
 
61
- Then, run `impact-engine` using the following command:
61
+ Then, run `if` using the following command:
62
62
 
63
63
  ```sh
64
- impact-engine --impl <path-to-your-impl-file>
64
+ if --manifest <path-to-your-manifest-file>
65
65
  ```
66
66
 
67
67
  You can also add an optional savepath for your output yaml (if you do not provide one, the output will be printed to the console):
68
68
 
69
69
  ```sh
70
- impact-engine --impl <path-to-your-impl-file> --ompl <your-savepath>
70
+ if --manifest <path-to-your-manifest-file> --output <your-savepath>
71
71
  ```
72
72
 
73
- The `impact-engine` CLI tool will configure and run the models defined in your input `yaml` (`impl`) and return the results as an output `yaml` (`ompl`).
73
+ The `if` CLI tool will configure and run the plugins defined in your input `yaml` (`manifest`) and return the results as an output `yaml` (`output`).
74
74
 
75
75
 
76
76
  ## Documentation
@@ -79,13 +79,17 @@ Please read our documentation at [if.greensoftware.foundation](https://if.greens
79
79
 
80
80
  ## Video walk-through
81
81
 
82
- Watch this video to learn how to create and run an `impl`.
82
+ Watch this video to learn how to create and run a `manifest`.
83
83
 
84
84
  [![Watch the walk-through video](https://i3.ytimg.com/vi/R-6eDM8AsvY/maxresdefault.jpg)](https://youtu.be/GW37Qd4AQbU)
85
85
 
86
86
 
87
87
  ## Contributing
88
88
 
89
- To contribute to IF, please fork this repository and raise a pull request from your fork. The same process is also appropriate for updates to `if-docs`, `if-models` and `if-unofficial-models`.
89
+ To contribute to IF, please fork this repository and raise a pull request from your fork.
90
+
91
+ You can check our issue board for issues tagged `help-wanted`. These are issues that are not currently, actively being worked on by the core team but are well-scoped enough for someone to pick up. We recommend commenting on the issue to start a chat with the core team, then start working on the issue when you have been assigned to it. This process helps to ensure your work is aligned with our roadmap and makes it much more likely that your changes will get merged compared to unsolicited PRs.
90
92
 
91
93
  Please read the full contribution guidelines at [if.greensoftware.foundation](https://if.greensoftware.foundation/Contributing)
94
+
95
+ The same guidelines also apply to `if-docs`, `if-plugins` and `if-unofficial-plugins`.
@@ -1,10 +1,11 @@
1
1
  import { ArgumentConfig } from 'ts-command-line-args';
2
- import { impactProcessArgs } from '../types/process-args';
2
+ import { ManifestProcessArgs } from '../types/process-args';
3
3
  export declare const CONFIG: {
4
4
  impact: {
5
- ARGS: ArgumentConfig<impactProcessArgs>;
5
+ ARGS: ArgumentConfig<ManifestProcessArgs>;
6
6
  HELP: string;
7
7
  };
8
8
  GITHUB_PATH: string;
9
- NATIVE_MODEL: string;
9
+ NATIVE_PLUGIN: string;
10
+ AGGREGATION_ADDITIONAL_PARAMS: string[];
10
11
  };
@@ -4,16 +4,16 @@ exports.CONFIG = void 0;
4
4
  exports.CONFIG = {
5
5
  impact: {
6
6
  ARGS: {
7
- impl: {
7
+ manifest: {
8
8
  type: String,
9
9
  optional: true,
10
10
  alias: 'i',
11
- description: 'Path to an input IMPL file.',
11
+ description: 'Path to an input manifest file.',
12
12
  },
13
- ompl: {
13
+ output: {
14
14
  type: String,
15
15
  optional: true,
16
- description: 'Path to the output IMPL file where the results as saved, if none is provided it prints to stdout.',
16
+ description: 'Path to the output file where the results as saved, if none is provided it prints to stdout.',
17
17
  },
18
18
  'override-params': {
19
19
  type: String,
@@ -39,19 +39,20 @@ exports.CONFIG = {
39
39
  },
40
40
  },
41
41
  HELP: `impact
42
- -impl [path to the input impl file]
43
- -ompl [path to the output impl file]
42
+ -manifest [path to the input file]
43
+ -output [path to the output file]
44
44
  -format [yaml|csv]
45
45
  -verbose
46
46
  -help
47
- impl: path to an input IMPL file
48
- ompl: path to the output IMPL file where the results as saved, if none is provided it prints to stdout.
47
+ manifest: path to an input manifest
48
+ output: path to the output file where the results as saved, if none is provided it prints to stdout.
49
49
  format: the output file format. default to yaml but if csv is specified then it formats the outputs as a csv file for loading into another program.
50
50
  verbose: how much information to output about the calculation to aid investigation and debugging.
51
51
  help: prints out the above help instruction.
52
52
  `,
53
53
  },
54
54
  GITHUB_PATH: 'https://github.com',
55
- NATIVE_MODEL: 'if-models',
55
+ NATIVE_PLUGIN: 'if-models',
56
+ AGGREGATION_ADDITIONAL_PARAMS: ['timestamp', 'duration'],
56
57
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSWEsUUFBQSxNQUFNLEdBQUc7SUFDcEIsTUFBTSxFQUFFO1FBQ04sSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxHQUFHO2dCQUNWLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLElBQUk7Z0JBQ2QsV0FBVyxFQUNULG1HQUFtRzthQUN0RztZQUNELGlCQUFpQixFQUFFO2dCQUNqQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsSUFBSTtnQkFDZCxXQUFXLEVBQUUsdURBQXVEO2FBQ3JFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFDVCw2SUFBNkk7Z0JBQy9JLFlBQVksRUFBRSxNQUFNO2FBQ3JCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxPQUFPO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFDVCwwRkFBMEY7YUFDN0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU87Z0JBQ2IsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLDBCQUEwQjthQUN4QztTQUNtQztRQUN0QyxJQUFJLEVBQUU7Ozs7Ozs7Ozs7O0dBV1A7S0FDQTtJQUNELFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsWUFBWSxFQUFFLFdBQVc7Q0FDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJndW1lbnRDb25maWd9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcblxuaW1wb3J0IHtpbXBhY3RQcm9jZXNzQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuZXhwb3J0IGNvbnN0IENPTkZJRyA9IHtcbiAgaW1wYWN0OiB7XG4gICAgQVJHUzoge1xuICAgICAgaW1wbDoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ2knLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1BhdGggdG8gYW4gaW5wdXQgSU1QTCBmaWxlLicsXG4gICAgICB9LFxuICAgICAgb21wbDoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAnUGF0aCB0byB0aGUgb3V0cHV0IElNUEwgZmlsZSB3aGVyZSB0aGUgcmVzdWx0cyBhcyBzYXZlZCwgaWYgbm9uZSBpcyBwcm92aWRlZCBpdCBwcmludHMgdG8gc3Rkb3V0LicsXG4gICAgICB9LFxuICAgICAgJ292ZXJyaWRlLXBhcmFtcyc6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQYXRoIHRvIGEgcGFyYW1ldGVyIGZpbGUgdGhhdCBvdmVycmlkZXMgb3VyIGRlZmF1bHRzLicsXG4gICAgICB9LFxuICAgICAgZm9ybWF0OiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICdUaGUgb3V0cHV0IGZpbGUgZm9ybWF0LiBkZWZhdWx0IHRvIHlhbWwgYnV0IGlmIGNzdiBpcyBzcGVjaWZpZWQgdGhlbiBpdCBmb3JtYXRzIHRoZSBvdXRwdXRzIGFzIGEgY3N2IGZpbGUgZm9yIGxvYWRpbmcgaW50byBhbm90aGVyIHByb2dyYW0uJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAneWFtbCcsXG4gICAgICB9LFxuICAgICAgdmVyYm9zZToge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgJ0hvdyBtdWNoIGluZm9ybWF0aW9uIHRvIG91dHB1dCBhYm91dCB0aGUgY2FsY3VsYXRpb24gdG8gYWlkIGludmVzdGlnYXRpb24gYW5kIGRlYnVnZ2luZy4nLFxuICAgICAgfSxcbiAgICAgIGhlbHA6IHtcbiAgICAgICAgdHlwZTogQm9vbGVhbixcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGFsaWFzOiAnaCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUHJpbnRzIHRoaXMgdXNhZ2UgZ3VpZGUuJyxcbiAgICAgIH0sXG4gICAgfSBhcyBBcmd1bWVudENvbmZpZzxpbXBhY3RQcm9jZXNzQXJncz4sXG4gICAgSEVMUDogYGltcGFjdCBcbiAgLWltcGwgW3BhdGggdG8gdGhlIGlucHV0IGltcGwgZmlsZV1cbiAgLW9tcGwgW3BhdGggdG8gdGhlIG91dHB1dCBpbXBsIGZpbGVdXG4gIC1mb3JtYXQgW3lhbWx8Y3N2XSBcbiAgLXZlcmJvc2VcbiAgLWhlbHAgXG4gIGltcGw6IHBhdGggdG8gYW4gaW5wdXQgSU1QTCBmaWxlXG4gIG9tcGw6IHBhdGggdG8gdGhlIG91dHB1dCBJTVBMIGZpbGUgd2hlcmUgdGhlIHJlc3VsdHMgYXMgc2F2ZWQsIGlmIG5vbmUgaXMgcHJvdmlkZWQgaXQgcHJpbnRzIHRvIHN0ZG91dC5cbiAgZm9ybWF0OiB0aGUgb3V0cHV0IGZpbGUgZm9ybWF0LiBkZWZhdWx0IHRvIHlhbWwgYnV0IGlmIGNzdiBpcyBzcGVjaWZpZWQgdGhlbiBpdCBmb3JtYXRzIHRoZSBvdXRwdXRzIGFzIGEgY3N2IGZpbGUgZm9yIGxvYWRpbmcgaW50byBhbm90aGVyIHByb2dyYW0uXG4gIHZlcmJvc2U6IGhvdyBtdWNoIGluZm9ybWF0aW9uIHRvIG91dHB1dCBhYm91dCB0aGUgY2FsY3VsYXRpb24gdG8gYWlkIGludmVzdGlnYXRpb24gYW5kIGRlYnVnZ2luZy5cbiAgaGVscDogcHJpbnRzIG91dCB0aGUgYWJvdmUgaGVscCBpbnN0cnVjdGlvbi5cbiAgYCxcbiAgfSxcbiAgR0lUSFVCX1BBVEg6ICdodHRwczovL2dpdGh1Yi5jb20nLFxuICBOQVRJVkVfTU9ERUw6ICdpZi1tb2RlbHMnLFxufTtcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSWEsUUFBQSxNQUFNLEdBQUc7SUFDcEIsTUFBTSxFQUFFO1FBQ04sSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxHQUFHO2dCQUNWLFdBQVcsRUFBRSxpQ0FBaUM7YUFDL0M7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLElBQUk7Z0JBQ2QsV0FBVyxFQUNULDhGQUE4RjthQUNqRztZQUNELGlCQUFpQixFQUFFO2dCQUNqQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsSUFBSTtnQkFDZCxXQUFXLEVBQUUsdURBQXVEO2FBQ3JFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFDVCw2SUFBNkk7Z0JBQy9JLFlBQVksRUFBRSxNQUFNO2FBQ3JCO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxPQUFPO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFdBQVcsRUFDVCwwRkFBMEY7YUFDN0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU87Z0JBQ2IsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLDBCQUEwQjthQUN4QztTQUNxQztRQUN4QyxJQUFJLEVBQUU7Ozs7Ozs7Ozs7O0dBV1A7S0FDQTtJQUNELFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsYUFBYSxFQUFFLFdBQVc7SUFDMUIsNkJBQTZCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0NBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FyZ3VtZW50Q29uZmlnfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7TWFuaWZlc3RQcm9jZXNzQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuZXhwb3J0IGNvbnN0IENPTkZJRyA9IHtcbiAgaW1wYWN0OiB7XG4gICAgQVJHUzoge1xuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdpJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQYXRoIHRvIGFuIGlucHV0IG1hbmlmZXN0IGZpbGUuJyxcbiAgICAgIH0sXG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgJ1BhdGggdG8gdGhlIG91dHB1dCBmaWxlIHdoZXJlIHRoZSByZXN1bHRzIGFzIHNhdmVkLCBpZiBub25lIGlzIHByb3ZpZGVkIGl0IHByaW50cyB0byBzdGRvdXQuJyxcbiAgICAgIH0sXG4gICAgICAnb3ZlcnJpZGUtcGFyYW1zJzoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1BhdGggdG8gYSBwYXJhbWV0ZXIgZmlsZSB0aGF0IG92ZXJyaWRlcyBvdXIgZGVmYXVsdHMuJyxcbiAgICAgIH0sXG4gICAgICBmb3JtYXQ6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgJ1RoZSBvdXRwdXQgZmlsZSBmb3JtYXQuIGRlZmF1bHQgdG8geWFtbCBidXQgaWYgY3N2IGlzIHNwZWNpZmllZCB0aGVuIGl0IGZvcm1hdHMgdGhlIG91dHB1dHMgYXMgYSBjc3YgZmlsZSBmb3IgbG9hZGluZyBpbnRvIGFub3RoZXIgcHJvZ3JhbS4nLFxuICAgICAgICBkZWZhdWx0VmFsdWU6ICd5YW1sJyxcbiAgICAgIH0sXG4gICAgICB2ZXJib3NlOiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAnSG93IG11Y2ggaW5mb3JtYXRpb24gdG8gb3V0cHV0IGFib3V0IHRoZSBjYWxjdWxhdGlvbiB0byBhaWQgaW52ZXN0aWdhdGlvbiBhbmQgZGVidWdnaW5nLicsXG4gICAgICB9LFxuICAgICAgaGVscDoge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdoJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdQcmludHMgdGhpcyB1c2FnZSBndWlkZS4nLFxuICAgICAgfSxcbiAgICB9IGFzIEFyZ3VtZW50Q29uZmlnPE1hbmlmZXN0UHJvY2Vzc0FyZ3M+LFxuICAgIEhFTFA6IGBpbXBhY3QgXG4gIC1tYW5pZmVzdCBbcGF0aCB0byB0aGUgaW5wdXQgZmlsZV1cbiAgLW91dHB1dCBbcGF0aCB0byB0aGUgb3V0cHV0IGZpbGVdXG4gIC1mb3JtYXQgW3lhbWx8Y3N2XSBcbiAgLXZlcmJvc2VcbiAgLWhlbHAgXG4gIG1hbmlmZXN0OiBwYXRoIHRvIGFuIGlucHV0IG1hbmlmZXN0XG4gIG91dHB1dDogcGF0aCB0byB0aGUgb3V0cHV0IGZpbGUgd2hlcmUgdGhlIHJlc3VsdHMgYXMgc2F2ZWQsIGlmIG5vbmUgaXMgcHJvdmlkZWQgaXQgcHJpbnRzIHRvIHN0ZG91dC5cbiAgZm9ybWF0OiB0aGUgb3V0cHV0IGZpbGUgZm9ybWF0LiBkZWZhdWx0IHRvIHlhbWwgYnV0IGlmIGNzdiBpcyBzcGVjaWZpZWQgdGhlbiBpdCBmb3JtYXRzIHRoZSBvdXRwdXRzIGFzIGEgY3N2IGZpbGUgZm9yIGxvYWRpbmcgaW50byBhbm90aGVyIHByb2dyYW0uXG4gIHZlcmJvc2U6IGhvdyBtdWNoIGluZm9ybWF0aW9uIHRvIG91dHB1dCBhYm91dCB0aGUgY2FsY3VsYXRpb24gdG8gYWlkIGludmVzdGlnYXRpb24gYW5kIGRlYnVnZ2luZy5cbiAgaGVscDogcHJpbnRzIG91dCB0aGUgYWJvdmUgaGVscCBpbnN0cnVjdGlvbi5cbiAgYCxcbiAgfSxcbiAgR0lUSFVCX1BBVEg6ICdodHRwczovL2dpdGh1Yi5jb20nLFxuICBOQVRJVkVfUExVR0lOOiAnaWYtbW9kZWxzJyxcbiAgQUdHUkVHQVRJT05fQURESVRJT05BTF9QQVJBTVM6IFsndGltZXN0YW1wJywgJ2R1cmF0aW9uJ10sXG59O1xuIl19
@@ -7,12 +7,12 @@ exports.PARAMETERS = {
7
7
  unit: 'gCO2e',
8
8
  aggregation: 'sum',
9
9
  },
10
- 'core-units': {
10
+ 'cpu/number-cores': {
11
11
  description: 'number of cores available',
12
12
  unit: 'cores',
13
13
  aggregation: 'none',
14
14
  },
15
- 'cpu-util': {
15
+ 'cpu/utilization': {
16
16
  description: 'refers to CPU utilization.',
17
17
  unit: 'percentage',
18
18
  aggregation: 'avg',
@@ -32,27 +32,27 @@ exports.PARAMETERS = {
32
32
  unit: 'kWh',
33
33
  aggregation: 'sum',
34
34
  },
35
- 'energy-cpu': {
35
+ 'cpu/energy': {
36
36
  description: 'Energy consumed by the CPU of the component',
37
37
  unit: 'kWh',
38
38
  aggregation: 'sum',
39
39
  },
40
- 'expected-lifespan': {
40
+ 'device/expected-lifespan': {
41
41
  description: 'Total Expected Lifespan of the Component in Seconds',
42
42
  unit: 'seconds',
43
43
  aggregation: 'sum',
44
44
  },
45
- 'energy-memory': {
45
+ 'memory/energy': {
46
46
  description: 'Energy consumed by the Memory of the component',
47
47
  unit: 'kWh',
48
48
  aggregation: 'sum',
49
49
  },
50
- 'embodied-carbon': {
50
+ 'carbon-embodied': {
51
51
  description: 'Embodied Emissions of the component',
52
52
  unit: 'gCO2e',
53
53
  aggregation: 'sum',
54
54
  },
55
- 'energy-network': {
55
+ 'network/energy': {
56
56
  description: 'Energy consumed by the Network of the component',
57
57
  unit: 'kWh',
58
58
  aggregation: 'sum',
@@ -72,32 +72,32 @@ exports.PARAMETERS = {
72
72
  unit: 'percentage',
73
73
  aggregation: 'avg',
74
74
  },
75
- 'grid-carbon-intensity': {
75
+ 'grid/carbon-intensity': {
76
76
  description: 'Carbon intensity for the grid',
77
77
  unit: 'gCO2eq/kWh',
78
78
  aggregation: 'avg',
79
79
  },
80
- 'instance-type': {
80
+ 'cloud/instance-type': {
81
81
  description: 'Type of Cloud Instance name used in the cloud provider APIs',
82
82
  unit: 'None',
83
83
  aggregation: 'none',
84
84
  },
85
- location: {
85
+ geolocation: {
86
86
  description: 'Geographic location of provider as string (for watt-time model it is provided as latitude and longitude, comma separated, in decimal degrees)',
87
87
  unit: 'None (decimal degrees for watt-time model)',
88
88
  aggregation: 'none',
89
89
  },
90
- 'operational-carbon': {
90
+ 'carbon-operational': {
91
91
  description: 'Operational Emissions of the component',
92
92
  unit: 'gCO2e',
93
93
  aggregation: 'sum',
94
94
  },
95
- 'physical-processor': {
95
+ 'cpu/name': {
96
96
  description: 'Name of the physical processor',
97
97
  unit: 'None',
98
98
  aggregation: 'none',
99
99
  },
100
- vendor: {
100
+ 'cloud/vendor': {
101
101
  description: 'Name of the cloud service provider in the ccf model. Can be aws, gcp or azure',
102
102
  unit: 'None',
103
103
  aggregation: 'none',
@@ -117,12 +117,12 @@ exports.PARAMETERS = {
117
117
  unit: 'count',
118
118
  aggregation: 'none',
119
119
  },
120
- 'thermal-design-power': {
120
+ 'cpu/thermal-design-power': {
121
121
  description: 'thermal design power for a processor',
122
122
  unit: 'kwh',
123
123
  aggregation: 'avg',
124
124
  },
125
- 'total-embodied-emissions': {
125
+ 'device/emissions-embodied': {
126
126
  description: 'total embodied emissions of some component',
127
127
  unit: 'gCO2e',
128
128
  aggregation: 'sum',
@@ -137,10 +137,10 @@ exports.PARAMETERS = {
137
137
  unit: 'seconds',
138
138
  aggregation: 'avg',
139
139
  },
140
- 'total-resources': {
140
+ 'resources-total': {
141
141
  description: 'total resources available',
142
142
  unit: 'count',
143
143
  aggregation: 'none',
144
144
  },
145
145
  };
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxVQUFVLEdBQWU7SUFDcEMsTUFBTSxFQUFFO1FBQ04sV0FBVyxFQUFFLGlEQUFpRDtRQUM5RCxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0QsWUFBWSxFQUFFO1FBQ1osV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxJQUFJLEVBQUUsWUFBWTtRQUNsQixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFNBQVMsRUFBRTtRQUNULFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFlBQVksRUFBRTtRQUNaLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELG1CQUFtQixFQUFFO1FBQ25CLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGVBQWUsRUFBRTtRQUNmLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLFdBQVcsRUFBRSxpREFBaUQ7UUFDOUQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFdBQVcsRUFDVCx3R0FBd0c7UUFDMUcsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELHNCQUFzQixFQUFFO1FBQ3RCLFdBQVcsRUFDVCx5R0FBeUc7UUFDM0csSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNWLFdBQVcsRUFBRSw0QkFBNEI7UUFDekMsSUFBSSxFQUFFLFlBQVk7UUFDbEIsV0FBVyxFQUFFLEtBQUs7S0FDbkI7SUFDRCx1QkFBdUIsRUFBRTtRQUN2QixXQUFXLEVBQUUsK0JBQStCO1FBQzVDLElBQUksRUFBRSxZQUFZO1FBQ2xCLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsV0FBVyxFQUFFLDZEQUE2RDtRQUMxRSxJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsV0FBVyxFQUNULCtJQUErSTtRQUNqSixJQUFJLEVBQUUsNENBQTRDO1FBQ2xELFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0Qsb0JBQW9CLEVBQUU7UUFDcEIsV0FBVyxFQUFFLHdDQUF3QztRQUNyRCxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0Qsb0JBQW9CLEVBQUU7UUFDcEIsV0FBVyxFQUFFLGdDQUFnQztRQUM3QyxJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsTUFBTSxFQUFFO1FBQ04sV0FBVyxFQUNULCtFQUErRTtRQUNqRixJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsV0FBVyxFQUFFLG1DQUFtQztRQUNoRCxJQUFJLEVBQUUsSUFBSTtRQUNWLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsV0FBVyxFQUFFLDBDQUEwQztRQUN2RCxJQUFJLEVBQUUsWUFBWTtRQUNsQixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLFdBQVcsRUFBRSx1Q0FBdUM7UUFDcEQsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELHNCQUFzQixFQUFFO1FBQ3RCLFdBQVcsRUFBRSxzQ0FBc0M7UUFDbkQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFNBQVMsRUFBRTtRQUNULFdBQVcsRUFBRSwrQ0FBK0M7UUFDNUQsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGVBQWUsRUFBRTtRQUNmLFdBQVcsRUFBRSwrQkFBK0I7UUFDNUMsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsTUFBTTtLQUNwQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhcmFtZXRlcnN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuXG5leHBvcnQgY29uc3QgUEFSQU1FVEVSUzogUGFyYW1ldGVycyA9IHtcbiAgY2FyYm9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdhbiBhbW91bnQgb2YgY2FyYm9uIGVtaXR0ZWQgaW50byB0aGUgYXRtb3NwaGVyZScsXG4gICAgdW5pdDogJ2dDTzJlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdjb3JlLXVuaXRzJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnbnVtYmVyIG9mIGNvcmVzIGF2YWlsYWJsZScsXG4gICAgdW5pdDogJ2NvcmVzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY3B1LXV0aWwnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gQ1BVIHV0aWxpemF0aW9uLicsXG4gICAgdW5pdDogJ3BlcmNlbnRhZ2UnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ2Rpc2staW8nOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gR0Igb2YgZGF0YSB3cml0dGVuL3JlYWQgZnJvbSBkaXNrJyxcbiAgICB1bml0OiAnR0InLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgZHVyYXRpb246IHtcbiAgICBkZXNjcmlwdGlvbjogJ3JlZmVycyB0byB0aGUgZHVyYXRpb24gb2YgdGhlIGlucHV0JyxcbiAgICB1bml0OiAnc2Vjb25kcycsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICBlbmVyZ3k6IHtcbiAgICBkZXNjcmlwdGlvbjogJ2Ftb3VudCBvZiBlbmVyZ3kgdXRpbGlzZWQgYnkgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnZW5lcmd5LWNwdSc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ0VuZXJneSBjb25zdW1lZCBieSB0aGUgQ1BVIG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdrV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2V4cGVjdGVkLWxpZmVzcGFuJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgRXhwZWN0ZWQgTGlmZXNwYW4gb2YgdGhlIENvbXBvbmVudCBpbiBTZWNvbmRzJyxcbiAgICB1bml0OiAnc2Vjb25kcycsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnZW5lcmd5LW1lbW9yeSc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ0VuZXJneSBjb25zdW1lZCBieSB0aGUgTWVtb3J5IG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdrV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2VtYm9kaWVkLWNhcmJvbic6IHtcbiAgICBkZXNjcmlwdGlvbjogJ0VtYm9kaWVkIEVtaXNzaW9ucyBvZiB0aGUgY29tcG9uZW50JyxcbiAgICB1bml0OiAnZ0NPMmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2VuZXJneS1uZXR3b3JrJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW5lcmd5IGNvbnN1bWVkIGJ5IHRoZSBOZXR3b3JrIG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdrV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2Z1bmN0aW9uYWwtdW5pdCc6IHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICd0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb25hbCB1bml0IGluIHdoaWNoIHRoZSBmaW5hbCBTQ0kgdmFsdWUgc2hvdWxkIGJlIGV4cHJlc3NlZCwgZS5nLiByZXF1ZXN0cywgdXNlcnMnLFxuICAgIHVuaXQ6ICdub25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdmdW5jdGlvbmFsLXVuaXQtdGltZSc6IHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdzdHJpbmcgZGVzY3JpYmluZyB0aGUgdW5pdCBvZiB0aW1lIGluIHdoaWNoIHRoZSBmaW5hbCBTQ0kgY2FsY3VsYXRpb24gc2hvdWxkIGJlIGV4cHJlc3NlZCwgZS5nLiBcIjEtbWluXCInLFxuICAgIHVuaXQ6ICdub25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnZ3B1LXV0aWwnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gQ1BVIHV0aWxpemF0aW9uLicsXG4gICAgdW5pdDogJ3BlcmNlbnRhZ2UnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ2dyaWQtY2FyYm9uLWludGVuc2l0eSc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ0NhcmJvbiBpbnRlbnNpdHkgZm9yIHRoZSBncmlkJyxcbiAgICB1bml0OiAnZ0NPMmVxL2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAnaW5zdGFuY2UtdHlwZSc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ1R5cGUgb2YgQ2xvdWQgSW5zdGFuY2UgbmFtZSB1c2VkIGluIHRoZSBjbG91ZCBwcm92aWRlciBBUElzJyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgbG9jYXRpb246IHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdHZW9ncmFwaGljIGxvY2F0aW9uIG9mIHByb3ZpZGVyIGFzIHN0cmluZyAoZm9yIHdhdHQtdGltZSBtb2RlbCBpdCBpcyBwcm92aWRlZCBhcyBsYXRpdHVkZSBhbmQgbG9uZ2l0dWRlLCBjb21tYSBzZXBhcmF0ZWQsIGluIGRlY2ltYWwgZGVncmVlcyknLFxuICAgIHVuaXQ6ICdOb25lIChkZWNpbWFsIGRlZ3JlZXMgZm9yIHdhdHQtdGltZSBtb2RlbCknLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdvcGVyYXRpb25hbC1jYXJib24nOiB7XG4gICAgZGVzY3JpcHRpb246ICdPcGVyYXRpb25hbCBFbWlzc2lvbnMgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2dDTzJlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdwaHlzaWNhbC1wcm9jZXNzb3InOiB7XG4gICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSBwaHlzaWNhbCBwcm9jZXNzb3InLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICB2ZW5kb3I6IHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdOYW1lIG9mIHRoZSBjbG91ZCBzZXJ2aWNlIHByb3ZpZGVyIGluIHRoZSBjY2YgbW9kZWwuIENhbiBiZSBhd3MsIGdjcCBvciBhenVyZScsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdyYW0tYWxsb2MnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gR0Igb2YgbWVtb3J5IGFsbG9jYXRlZC4nLFxuICAgIHVuaXQ6ICdHQicsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmFtLXV0aWwnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gcGVyY2VudGFnZSBvZiBtZW1vcnkgdXRpbGl6ZWQuJyxcbiAgICB1bml0OiAncGVyY2VudGFnZScsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmVzb3VyY2VzLXJlc2VydmVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVzb3VyY2VzIHJlc2VydmVkIGZvciBhbiBhcHBsaWNhdGlvbicsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAndGhlcm1hbC1kZXNpZ24tcG93ZXInOiB7XG4gICAgZGVzY3JpcHRpb246ICd0aGVybWFsIGRlc2lnbiBwb3dlciBmb3IgYSBwcm9jZXNzb3InLFxuICAgIHVuaXQ6ICdrd2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ3RvdGFsLWVtYm9kaWVkLWVtaXNzaW9ucyc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RvdGFsIGVtYm9kaWVkIGVtaXNzaW9ucyBvZiBzb21lIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2dDTzJlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gIHRpbWVzdGFtcDoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIHRoZSB0aW1lIG9mIG9jY3VycmVuY2Ugb2YgdGhlIGlucHV0JyxcbiAgICB1bml0OiAnUkZDMzMzOScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ3RpbWUtcmVzZXJ2ZWQnOiB7XG4gICAgZGVzY3JpcHRpb246ICd0aW1lIHJlc2VydmVkIGZvciBhIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ3NlY29uZHMnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnYXZnJyxcbiAgfSxcbiAgJ3RvdGFsLXJlc291cmNlcyc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RvdGFsIHJlc291cmNlcyBhdmFpbGFibGUnLFxuICAgIHVuaXQ6ICdjb3VudCcsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbn07XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxVQUFVLEdBQWU7SUFDcEMsTUFBTSxFQUFFO1FBQ04sV0FBVyxFQUFFLGlEQUFpRDtRQUM5RCxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsV0FBVyxFQUFFLDRCQUE0QjtRQUN6QyxJQUFJLEVBQUUsWUFBWTtRQUNsQixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFNBQVMsRUFBRTtRQUNULFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLElBQUk7UUFDVixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFFBQVEsRUFBRTtRQUNSLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFlBQVksRUFBRTtRQUNaLFdBQVcsRUFBRSw2Q0FBNkM7UUFDMUQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSxxREFBcUQ7UUFDbEUsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGVBQWUsRUFBRTtRQUNmLFdBQVcsRUFBRSxnREFBZ0Q7UUFDN0QsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLFdBQVcsRUFBRSxpREFBaUQ7UUFDOUQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFdBQVcsRUFDVCx3R0FBd0c7UUFDMUcsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELHNCQUFzQixFQUFFO1FBQ3RCLFdBQVcsRUFDVCx5R0FBeUc7UUFDM0csSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNWLFdBQVcsRUFBRSw0QkFBNEI7UUFDekMsSUFBSSxFQUFFLFlBQVk7UUFDbEIsV0FBVyxFQUFFLEtBQUs7S0FDbkI7SUFDRCx1QkFBdUIsRUFBRTtRQUN2QixXQUFXLEVBQUUsK0JBQStCO1FBQzVDLElBQUksRUFBRSxZQUFZO1FBQ2xCLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0QscUJBQXFCLEVBQUU7UUFDckIsV0FBVyxFQUFFLDZEQUE2RDtRQUMxRSxJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsV0FBVyxFQUNULCtJQUErSTtRQUNqSixJQUFJLEVBQUUsNENBQTRDO1FBQ2xELFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0Qsb0JBQW9CLEVBQUU7UUFDcEIsV0FBVyxFQUFFLHdDQUF3QztRQUNyRCxJQUFJLEVBQUUsT0FBTztRQUNiLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsV0FBVyxFQUFFLGdDQUFnQztRQUM3QyxJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsV0FBVyxFQUNULCtFQUErRTtRQUNqRixJQUFJLEVBQUUsTUFBTTtRQUNaLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsV0FBVyxFQUFFLG1DQUFtQztRQUNoRCxJQUFJLEVBQUUsSUFBSTtRQUNWLFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsV0FBVyxFQUFFLDBDQUEwQztRQUN2RCxJQUFJLEVBQUUsWUFBWTtRQUNsQixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLFdBQVcsRUFBRSx1Q0FBdUM7UUFDcEQsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELDBCQUEwQixFQUFFO1FBQzFCLFdBQVcsRUFBRSxzQ0FBc0M7UUFDbkQsSUFBSSxFQUFFLEtBQUs7UUFDWCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELDJCQUEyQixFQUFFO1FBQzNCLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFNBQVMsRUFBRTtRQUNULFdBQVcsRUFBRSwrQ0FBK0M7UUFDNUQsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELGVBQWUsRUFBRTtRQUNmLFdBQVcsRUFBRSwrQkFBK0I7UUFDNUMsSUFBSSxFQUFFLFNBQVM7UUFDZixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsSUFBSSxFQUFFLE9BQU87UUFDYixXQUFXLEVBQUUsTUFBTTtLQUNwQjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhcmFtZXRlcnN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuXG5leHBvcnQgY29uc3QgUEFSQU1FVEVSUzogUGFyYW1ldGVycyA9IHtcbiAgY2FyYm9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdhbiBhbW91bnQgb2YgY2FyYm9uIGVtaXR0ZWQgaW50byB0aGUgYXRtb3NwaGVyZScsXG4gICAgdW5pdDogJ2dDTzJlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdjcHUvbnVtYmVyLWNvcmVzJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnbnVtYmVyIG9mIGNvcmVzIGF2YWlsYWJsZScsXG4gICAgdW5pdDogJ2NvcmVzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY3B1L3V0aWxpemF0aW9uJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIENQVSB1dGlsaXphdGlvbi4nLFxuICAgIHVuaXQ6ICdwZXJjZW50YWdlJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdkaXNrLWlvJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVmZXJzIHRvIEdCIG9mIGRhdGEgd3JpdHRlbi9yZWFkIGZyb20gZGlzaycsXG4gICAgdW5pdDogJ0dCJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gIGR1cmF0aW9uOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gdGhlIGR1cmF0aW9uIG9mIHRoZSBpbnB1dCcsXG4gICAgdW5pdDogJ3NlY29uZHMnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgZW5lcmd5OiB7XG4gICAgZGVzY3JpcHRpb246ICdhbW91bnQgb2YgZW5lcmd5IHV0aWxpc2VkIGJ5IHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdrV2gnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2NwdS9lbmVyZ3knOiB7XG4gICAgZGVzY3JpcHRpb246ICdFbmVyZ3kgY29uc3VtZWQgYnkgdGhlIENQVSBvZiB0aGUgY29tcG9uZW50JyxcbiAgICB1bml0OiAna1doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdkZXZpY2UvZXhwZWN0ZWQtbGlmZXNwYW4nOiB7XG4gICAgZGVzY3JpcHRpb246ICdUb3RhbCBFeHBlY3RlZCBMaWZlc3BhbiBvZiB0aGUgQ29tcG9uZW50IGluIFNlY29uZHMnLFxuICAgIHVuaXQ6ICdzZWNvbmRzJyxcbiAgICBhZ2dyZWdhdGlvbjogJ3N1bScsXG4gIH0sXG4gICdtZW1vcnkvZW5lcmd5Jzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW5lcmd5IGNvbnN1bWVkIGJ5IHRoZSBNZW1vcnkgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnY2FyYm9uLWVtYm9kaWVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnRW1ib2RpZWQgRW1pc3Npb25zIG9mIHRoZSBjb21wb25lbnQnLFxuICAgIHVuaXQ6ICdnQ08yZScsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnbmV0d29yay9lbmVyZ3knOiB7XG4gICAgZGVzY3JpcHRpb246ICdFbmVyZ3kgY29uc3VtZWQgYnkgdGhlIE5ldHdvcmsgb2YgdGhlIGNvbXBvbmVudCcsXG4gICAgdW5pdDogJ2tXaCcsXG4gICAgYWdncmVnYXRpb246ICdzdW0nLFxuICB9LFxuICAnZnVuY3Rpb25hbC11bml0Jzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ3RoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbmFsIHVuaXQgaW4gd2hpY2ggdGhlIGZpbmFsIFNDSSB2YWx1ZSBzaG91bGQgYmUgZXhwcmVzc2VkLCBlLmcuIHJlcXVlc3RzLCB1c2VycycsXG4gICAgdW5pdDogJ25vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2Z1bmN0aW9uYWwtdW5pdC10aW1lJzoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ3N0cmluZyBkZXNjcmliaW5nIHRoZSB1bml0IG9mIHRpbWUgaW4gd2hpY2ggdGhlIGZpbmFsIFNDSSBjYWxjdWxhdGlvbiBzaG91bGQgYmUgZXhwcmVzc2VkLCBlLmcuIFwiMS1taW5cIicsXG4gICAgdW5pdDogJ25vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdncHUtdXRpbCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3JlZmVycyB0byBDUFUgdXRpbGl6YXRpb24uJyxcbiAgICB1bml0OiAncGVyY2VudGFnZScsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAnZ3JpZC9jYXJib24taW50ZW5zaXR5Jzoge1xuICAgIGRlc2NyaXB0aW9uOiAnQ2FyYm9uIGludGVuc2l0eSBmb3IgdGhlIGdyaWQnLFxuICAgIHVuaXQ6ICdnQ08yZXEva1doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdjbG91ZC9pbnN0YW5jZS10eXBlJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnVHlwZSBvZiBDbG91ZCBJbnN0YW5jZSBuYW1lIHVzZWQgaW4gdGhlIGNsb3VkIHByb3ZpZGVyIEFQSXMnLFxuICAgIHVuaXQ6ICdOb25lJyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICBnZW9sb2NhdGlvbjoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgJ0dlb2dyYXBoaWMgbG9jYXRpb24gb2YgcHJvdmlkZXIgYXMgc3RyaW5nIChmb3Igd2F0dC10aW1lIG1vZGVsIGl0IGlzIHByb3ZpZGVkIGFzIGxhdGl0dWRlIGFuZCBsb25naXR1ZGUsIGNvbW1hIHNlcGFyYXRlZCwgaW4gZGVjaW1hbCBkZWdyZWVzKScsXG4gICAgdW5pdDogJ05vbmUgKGRlY2ltYWwgZGVncmVlcyBmb3Igd2F0dC10aW1lIG1vZGVsKScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2NhcmJvbi1vcGVyYXRpb25hbCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ09wZXJhdGlvbmFsIEVtaXNzaW9ucyBvZiB0aGUgY29tcG9uZW50JyxcbiAgICB1bml0OiAnZ0NPMmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgJ2NwdS9uYW1lJzoge1xuICAgIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgcGh5c2ljYWwgcHJvY2Vzc29yJyxcbiAgICB1bml0OiAnTm9uZScsXG4gICAgYWdncmVnYXRpb246ICdub25lJyxcbiAgfSxcbiAgJ2Nsb3VkL3ZlbmRvcic6IHtcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgICdOYW1lIG9mIHRoZSBjbG91ZCBzZXJ2aWNlIHByb3ZpZGVyIGluIHRoZSBjY2YgbW9kZWwuIENhbiBiZSBhd3MsIGdjcCBvciBhenVyZScsXG4gICAgdW5pdDogJ05vbmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnbm9uZScsXG4gIH0sXG4gICdyYW0tYWxsb2MnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gR0Igb2YgbWVtb3J5IGFsbG9jYXRlZC4nLFxuICAgIHVuaXQ6ICdHQicsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmFtLXV0aWwnOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gcGVyY2VudGFnZSBvZiBtZW1vcnkgdXRpbGl6ZWQuJyxcbiAgICB1bml0OiAncGVyY2VudGFnZScsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmVzb3VyY2VzLXJlc2VydmVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAncmVzb3VyY2VzIHJlc2VydmVkIGZvciBhbiBhcHBsaWNhdGlvbicsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAnY3B1L3RoZXJtYWwtZGVzaWduLXBvd2VyJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndGhlcm1hbCBkZXNpZ24gcG93ZXIgZm9yIGEgcHJvY2Vzc29yJyxcbiAgICB1bml0OiAna3doJyxcbiAgICBhZ2dyZWdhdGlvbjogJ2F2ZycsXG4gIH0sXG4gICdkZXZpY2UvZW1pc3Npb25zLWVtYm9kaWVkJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndG90YWwgZW1ib2RpZWQgZW1pc3Npb25zIG9mIHNvbWUgY29tcG9uZW50JyxcbiAgICB1bml0OiAnZ0NPMmUnLFxuICAgIGFnZ3JlZ2F0aW9uOiAnc3VtJyxcbiAgfSxcbiAgdGltZXN0YW1wOiB7XG4gICAgZGVzY3JpcHRpb246ICdyZWZlcnMgdG8gdGhlIHRpbWUgb2Ygb2NjdXJyZW5jZSBvZiB0aGUgaW5wdXQnLFxuICAgIHVuaXQ6ICdSRkMzMzM5JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxuICAndGltZS1yZXNlcnZlZCc6IHtcbiAgICBkZXNjcmlwdGlvbjogJ3RpbWUgcmVzZXJ2ZWQgZm9yIGEgY29tcG9uZW50JyxcbiAgICB1bml0OiAnc2Vjb25kcycsXG4gICAgYWdncmVnYXRpb246ICdhdmcnLFxuICB9LFxuICAncmVzb3VyY2VzLXRvdGFsJzoge1xuICAgIGRlc2NyaXB0aW9uOiAndG90YWwgcmVzb3VyY2VzIGF2YWlsYWJsZScsXG4gICAgdW5pdDogJ2NvdW50JyxcbiAgICBhZ2dyZWdhdGlvbjogJ25vbmUnLFxuICB9LFxufTtcbiJdfQ==
@@ -1,24 +1,25 @@
1
- import { ClassContainerParams } from '../types/models-universe';
1
+ import { ManifestParameter } from '../types/parameters';
2
2
  export declare const STRINGS: {
3
3
  FILE_IS_NOT_YAML: string;
4
- IMPL_IS_MISSING: string;
5
- MISSING_CLASSNAME: string;
4
+ MANIFEST_IS_MISSING: string;
5
+ MISSING_METHOD: string;
6
6
  MISSING_PATH: string;
7
+ UNSUPPORTED_PLUGIN: string;
7
8
  OVERRIDE_WARNING: string;
8
- NOT_MODEL_PLUGIN_EXTENSION: string;
9
- STRUCTURE_MALFORMED: (childName: string) => string;
10
- NOT_INITIALIZED_MODEL: (className: string) => string;
11
9
  DISCLAIMER_MESSAGE: string;
12
- NOT_NATIVE_MODEL: string;
10
+ NOT_NATIVE_PLUGIN: string;
13
11
  SOMETHING_WRONG: string;
14
12
  ISSUE_TEMPLATE: string;
15
- NOT_CONSTRUCTABLE_MODEL: (params: ClassContainerParams) => string;
16
13
  INVALID_MODULE_PATH: (path: string) => string;
17
14
  INVALID_TIME_NORMALIZATION: string;
15
+ UNEXPECTED_TIME_CONFIG: string;
18
16
  INVALID_TIME_INTERVAL: string;
19
17
  AVOIDING_PADDING: (description: string) => string;
20
18
  AVOIDING_PADDING_BY_EDGES: (start: boolean, end: boolean) => string;
21
19
  INVALID_OBSERVATION_OVERLAP: string;
22
20
  INVALID_AGGREGATION_METHOD: (metric: string) => string;
23
21
  METRIC_MISSING: (metric: string, index: number) => string;
22
+ INVALID_GROUP_BY: (type: string) => string;
23
+ REJECTING_OVERRIDE: (param: ManifestParameter) => string;
24
+ INVALID_EXHAUST_PLUGIN: (pluginName: string) => string;
24
25
  };