@grnsft/if 0.4.0 → 0.5.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 (278) hide show
  1. package/CONTRIBUTING.md +4 -5
  2. package/README.md +14 -33
  3. package/Refactor-migration-guide.md +5 -6
  4. package/build/builtins/coefficient/index.d.ts +1 -2
  5. package/build/builtins/coefficient/index.js +18 -4
  6. package/build/builtins/copy-param/index.d.ts +2 -0
  7. package/build/builtins/copy-param/index.js +68 -0
  8. package/build/builtins/csv-lookup/index.d.ts +1 -1
  9. package/build/builtins/csv-lookup/index.js +44 -37
  10. package/build/builtins/divide/index.d.ts +1 -1
  11. package/build/builtins/divide/index.js +22 -11
  12. package/build/builtins/exponent/index.d.ts +1 -2
  13. package/build/builtins/exponent/index.js +9 -23
  14. package/build/builtins/export-csv-raw.d.ts +4 -2
  15. package/build/builtins/export-csv-raw.js +7 -7
  16. package/build/builtins/export-csv.js +8 -11
  17. package/build/builtins/export-log.js +1 -1
  18. package/build/builtins/export-yaml.js +6 -6
  19. package/build/builtins/group-by.d.ts +1 -1
  20. package/build/builtins/group-by.js +5 -5
  21. package/build/builtins/index.d.ts +1 -0
  22. package/build/builtins/index.js +4 -2
  23. package/build/builtins/interpolation/index.d.ts +1 -1
  24. package/build/builtins/interpolation/index.js +10 -8
  25. package/build/builtins/mock-observations/helpers/common-generator.d.ts +2 -2
  26. package/build/builtins/mock-observations/helpers/common-generator.js +10 -13
  27. package/build/builtins/mock-observations/helpers/rand-int-generator.d.ts +2 -2
  28. package/build/builtins/mock-observations/helpers/rand-int-generator.js +14 -24
  29. package/build/builtins/mock-observations/index.d.ts +1 -2
  30. package/build/builtins/mock-observations/index.js +2 -4
  31. package/build/builtins/multiply/index.d.ts +1 -2
  32. package/build/builtins/multiply/index.js +10 -16
  33. package/build/builtins/regex/index.d.ts +1 -2
  34. package/build/builtins/regex/index.js +8 -12
  35. package/build/builtins/sci/index.d.ts +1 -2
  36. package/build/builtins/sci/index.js +23 -22
  37. package/build/builtins/sci-embodied/index.d.ts +1 -1
  38. package/build/builtins/sci-embodied/index.js +16 -17
  39. package/build/builtins/shell/index.d.ts +1 -2
  40. package/build/builtins/shell/index.js +4 -4
  41. package/build/builtins/subtract/index.d.ts +1 -2
  42. package/build/builtins/subtract/index.js +7 -23
  43. package/build/builtins/sum/index.d.ts +1 -2
  44. package/build/builtins/sum/index.js +14 -11
  45. package/build/builtins/time-sync.d.ts +1 -2
  46. package/build/builtins/time-sync.js +62 -67
  47. package/build/check.d.ts +2 -0
  48. package/build/check.js +95 -0
  49. package/build/config/config.d.ts +13 -1
  50. package/build/config/config.js +61 -1
  51. package/build/config/params.js +1 -6
  52. package/build/config/strings.d.ts +45 -5
  53. package/build/config/strings.js +50 -9
  54. package/build/diff.js +2 -2
  55. package/build/env.d.ts +2 -0
  56. package/build/env.js +38 -0
  57. package/build/lib/aggregate.js +1 -1
  58. package/build/lib/compute.js +1 -1
  59. package/build/lib/exhaust.js +4 -4
  60. package/build/lib/initialize.js +20 -24
  61. package/build/lib/load.js +4 -4
  62. package/build/types/compute.d.ts +1 -1
  63. package/build/types/compute.js +1 -1
  64. package/build/types/if-env.d.ts +8 -0
  65. package/build/types/if-env.js +3 -0
  66. package/build/types/interface.d.ts +1 -19
  67. package/build/types/interface.js +1 -1
  68. package/build/types/npm.d.ts +9 -0
  69. package/build/types/npm.js +3 -0
  70. package/build/types/process-args.d.ts +9 -0
  71. package/build/types/process-args.js +1 -1
  72. package/build/util/aggregation-helper.d.ts +1 -1
  73. package/build/util/aggregation-helper.js +5 -5
  74. package/build/util/args.d.ts +23 -1
  75. package/build/util/args.js +91 -14
  76. package/build/util/debug-logger.js +8 -7
  77. package/build/util/fs.d.ts +20 -0
  78. package/build/util/fs.js +94 -0
  79. package/build/util/helpers.d.ts +25 -5
  80. package/build/util/helpers.js +111 -15
  81. package/build/util/npm.d.ts +28 -0
  82. package/build/util/npm.js +152 -0
  83. package/build/util/plugin-storage.js +4 -4
  84. package/build/util/validations.js +4 -4
  85. package/jest.config.js +1 -1
  86. package/manifests/{plugins → examples/builtins/csv-lookup}/cloud-metadata/failure-invalid-instance-type.yaml +9 -3
  87. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +27 -0
  88. package/manifests/{plugins → examples/builtins/csv-lookup}/cloud-metadata/failure-missing-cloud-vendor.yml +9 -3
  89. package/manifests/{plugins → examples/builtins/csv-lookup}/cloud-metadata/success.yml +8 -2
  90. package/manifests/{plugins/csv-lookup → examples/builtins/csv-lookup/region-metadata}/failure-missing-column.yml +1 -2
  91. package/manifests/{plugins/csv-lookup → examples/builtins/csv-lookup/region-metadata}/failure-missing-output.yml +1 -2
  92. package/manifests/{plugins/csv-lookup → examples/builtins/csv-lookup/region-metadata}/success-renaming.yml +1 -2
  93. package/manifests/{plugins/csv-lookup → examples/builtins/csv-lookup/region-metadata}/success.yml +2 -3
  94. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +23 -0
  95. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +24 -0
  96. package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +24 -0
  97. package/manifests/{plugins → examples/builtins}/divide/failure-denominator-equal-zero.yml +8 -9
  98. package/manifests/{plugins → examples/builtins}/divide/failure-invalid-config-denominator.yml +8 -9
  99. package/manifests/{plugins → examples/builtins}/divide/failure-missing-numerator.yml +8 -9
  100. package/manifests/{plugins → examples/builtins}/divide/success.yml +9 -10
  101. package/manifests/examples/builtins/exponent/success.yml +25 -0
  102. package/manifests/{plugins → examples/builtins}/groupby/success.yml +1 -1
  103. package/manifests/examples/builtins/interpolation/success.yml +23 -0
  104. package/manifests/{plugins → examples/builtins}/sci/failure-missing-input-param.yml +2 -6
  105. package/manifests/{plugins → examples/builtins}/sci/success.yml +0 -3
  106. package/manifests/examples/builtins/subtract/success.yml +24 -0
  107. package/manifests/{plugins → examples/builtins}/sum/success.yml +1 -1
  108. package/manifests/examples/{generics.yml → pipelines/generics.yml} +49 -13
  109. package/manifests/examples/{nesting.yml → pipelines/nesting.yml} +82 -35
  110. package/manifests/examples/{pipeline-teads-sci.yml → pipelines/pipeline-teads-sci.yml} +54 -18
  111. package/manifests/examples/{pipeline-with-aggregate.yml → pipelines/pipeline-with-aggregate.yml} +67 -25
  112. package/manifests/examples/{pipeline-with-mocks.yml → pipelines/pipeline-with-mocks.yml} +65 -22
  113. package/manifests/examples/pipelines/zeros.yml +130 -0
  114. package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +243 -0
  115. package/manifests/outputs/bugs/initialize-error-no-config.yaml +78 -0
  116. package/manifests/outputs/bugs/initialize-error-no-path.yaml +91 -0
  117. package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +74 -0
  118. package/manifests/outputs/bugs/input-error-missing-duration.yaml +84 -0
  119. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +81 -0
  120. package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +91 -0
  121. package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +92 -0
  122. package/manifests/outputs/bugs/pipeline-ordering-error.yaml +155 -0
  123. package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +73 -0
  124. package/manifests/outputs/divide.yaml +93 -0
  125. package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +101 -0
  126. package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +100 -0
  127. package/manifests/outputs/features/aggregate-horizontal.yaml +128 -0
  128. package/manifests/outputs/features/aggregate-vertical.yaml +151 -0
  129. package/manifests/outputs/features/aggregate.yaml +155 -0
  130. package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +95 -0
  131. package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +645 -0
  132. package/manifests/outputs/pipelines/mock-obs-groupby.yaml +178 -0
  133. package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +350 -0
  134. package/manifests/outputs/plugins/coefficient/failure-invalid-config-input-param.yaml +73 -0
  135. package/manifests/outputs/plugins/coefficient/failure-output-param-is-null.yaml +73 -0
  136. package/manifests/outputs/plugins/coefficient/success.yaml +75 -0
  137. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +27 -0
  138. package/manifests/{plugins → outputs/plugins/csv-lookup}/cloud-metadata/failure-invalid-vendor.yaml +8 -2
  139. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +77 -0
  140. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/success.yaml +82 -0
  141. package/manifests/outputs/plugins/csv-lookup/region-metadata/failure-missing-column.yaml +76 -0
  142. package/manifests/outputs/plugins/csv-lookup/region-metadata/failure-missing-output.yaml +75 -0
  143. package/manifests/outputs/plugins/csv-lookup/region-metadata/success-renaming.yaml +80 -0
  144. package/manifests/outputs/plugins/csv-lookup/region-metadata/success.yaml +92 -0
  145. package/manifests/outputs/plugins/csv-lookup/tdp-finder/failure-missing-input-param.yaml +74 -0
  146. package/manifests/outputs/plugins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +75 -0
  147. package/manifests/outputs/plugins/csv-lookup/tdp-finder/success.yaml +76 -0
  148. package/manifests/outputs/plugins/divide/failure-invalid-config-denominator.yaml +73 -0
  149. package/manifests/outputs/plugins/divide/failure-missing-numerator.yaml +77 -0
  150. package/manifests/outputs/plugins/divide/success-denominator-equal-zero.yaml +95 -0
  151. package/manifests/outputs/plugins/divide/success.yaml +95 -0
  152. package/manifests/outputs/plugins/exponent/success.yaml +77 -0
  153. package/manifests/outputs/plugins/groupby/failure-invalid-config-group.yaml +96 -0
  154. package/manifests/outputs/plugins/groupby/failure-missing-cloud-instance-type.yaml +95 -0
  155. package/manifests/outputs/plugins/groupby/success.yaml +101 -0
  156. package/manifests/outputs/plugins/interpolation/interpolation.yaml +83 -0
  157. package/manifests/outputs/plugins/interpolation/success.yaml +83 -0
  158. package/manifests/outputs/plugins/mock-observations/failure-invalid-config-cpu-range.yaml +86 -0
  159. package/manifests/outputs/plugins/mock-observations/failure-invalid-memory-utilization-range.yaml +84 -0
  160. package/manifests/outputs/plugins/mock-observations/failure-missing-timestamp-from-param.yaml +83 -0
  161. package/manifests/outputs/plugins/mock-observations/success.yaml +220 -0
  162. package/manifests/outputs/plugins/multiply/failure-input-parameter-is-missing.yaml +75 -0
  163. package/manifests/outputs/plugins/multiply/success-with-multiple-inputs.yaml +96 -0
  164. package/manifests/outputs/plugins/multiply/success.yaml +78 -0
  165. package/manifests/outputs/plugins/regex/failure-missing-input-param.yaml +75 -0
  166. package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +76 -0
  167. package/manifests/outputs/plugins/regex/success.yaml +81 -0
  168. package/manifests/outputs/plugins/sci/failure-invalid-config-value.yaml +72 -0
  169. package/manifests/outputs/plugins/sci/failure-missing-input-param.yaml +72 -0
  170. package/manifests/outputs/plugins/sci/success.yml.yaml +80 -0
  171. package/manifests/outputs/plugins/sci-embodied/failure-invalid-default-emission-value.yaml +75 -0
  172. package/manifests/outputs/plugins/sci-embodied/failure-missing-expected-lifespan.yaml +71 -0
  173. package/manifests/outputs/plugins/sci-embodied/success.yaml +78 -0
  174. package/manifests/outputs/plugins/shell/failure-invalid-command.yaml +70 -0
  175. package/manifests/outputs/plugins/shell/success.yaml +68 -0
  176. package/manifests/outputs/plugins/subtract/success.yaml +78 -0
  177. package/manifests/outputs/plugins/sum/failure-missing-input-param.yaml +75 -0
  178. package/manifests/outputs/plugins/sum/failure-missing-output-param.yaml +78 -0
  179. package/manifests/outputs/plugins/sum/success.yaml +78 -0
  180. package/manifests/outputs/plugins/time-sync/failure-config-start-later-end.yaml +82 -0
  181. package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +78 -0
  182. package/manifests/outputs/plugins/time-sync/success.yaml +119 -0
  183. package/package.json +10 -4
  184. package/src/__mocks__/mock-manifest.yaml +72 -0
  185. package/src/builtins/README.md +1 -1
  186. package/src/builtins/coefficient/README.md +19 -1
  187. package/src/builtins/copy-param/README.md +104 -0
  188. package/src/builtins/csv-lookup/README.md +39 -1
  189. package/src/builtins/divide/README.md +29 -3
  190. package/src/builtins/exponent/README.md +21 -1
  191. package/src/builtins/interpolation/README.md +29 -1
  192. package/src/builtins/mock-observations/README.md +1 -1
  193. package/src/builtins/multiply/README.md +16 -1
  194. package/src/builtins/regex/README.md +32 -2
  195. package/src/builtins/sci/README.md +24 -1
  196. package/src/builtins/sci-embodied/README.md +15 -1
  197. package/src/builtins/shell/README.md +12 -1
  198. package/src/builtins/subtract/README.md +12 -1
  199. package/src/builtins/sum/README.md +28 -1
  200. package/src/config/env-template.yml +24 -0
  201. package/build/builtins/coefficient/types.d.ts +0 -5
  202. package/build/builtins/coefficient/types.js +0 -3
  203. package/build/builtins/exponent/types.d.ts +0 -5
  204. package/build/builtins/exponent/types.js +0 -3
  205. package/build/builtins/interpolation/types.d.ts +0 -5
  206. package/build/builtins/interpolation/types.js +0 -10
  207. package/build/builtins/mock-observations/types.d.ts +0 -13
  208. package/build/builtins/mock-observations/types.js +0 -3
  209. package/build/builtins/multiply/types.d.ts +0 -4
  210. package/build/builtins/multiply/types.js +0 -3
  211. package/build/builtins/subtract/types.d.ts +0 -4
  212. package/build/builtins/subtract/types.js +0 -3
  213. package/build/builtins/sum/types.d.ts +0 -4
  214. package/build/builtins/sum/types.js +0 -3
  215. package/build/types/common.d.ts +0 -4
  216. package/build/types/common.js +0 -3
  217. package/build/types/group-by.d.ts +0 -3
  218. package/build/types/group-by.js +0 -3
  219. package/build/types/helpers.d.ts +0 -4
  220. package/build/types/helpers.js +0 -3
  221. package/build/util/errors.d.ts +0 -6
  222. package/build/util/errors.js +0 -33
  223. package/manifests/bugs/aggregation-error-wrong-metric.yml +0 -128
  224. package/manifests/bugs/azure-importer-ignoring-defaults.yml +0 -61
  225. package/manifests/bugs/azure-importer-incorrect-calculation.yml +0 -56
  226. package/manifests/bugs/initialize-error-no-config.yml +0 -27
  227. package/manifests/bugs/initialize-error-no-path.yml +0 -28
  228. package/manifests/bugs/initialize-error-no-plugins.yml +0 -23
  229. package/manifests/bugs/input-error-missing-duration.yml +0 -21
  230. package/manifests/bugs/mock-observations-failure-duration-is-zero.yml +0 -34
  231. package/manifests/bugs/pipeline-error-naming-mismatch.yml +0 -28
  232. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +0 -29
  233. package/manifests/bugs/pipeline-ordering-error.yml +0 -82
  234. package/manifests/bugs/sci-embodied-missing-resources-total.yml +0 -23
  235. package/manifests/examples/basic.yml +0 -28
  236. package/manifests/examples/mock-cpu-util-to-carbon.yml +0 -70
  237. package/manifests/features/aggregate-failure-inalid-metrics.yml +0 -43
  238. package/manifests/features/aggregate-failure-missing-metric-in-inputs.yml +0 -43
  239. package/manifests/features/aggregate-horizontal.yml +0 -44
  240. package/manifests/features/aggregate-vertical.yml +0 -44
  241. package/manifests/features/aggregate.yml +0 -44
  242. package/manifests/integrations/cloud-metadata-divide-boavizta.yml +0 -38
  243. package/manifests/integrations/mock-obs-group-by-cloud-meta.yml +0 -51
  244. package/manifests/integrations/mock-obs-groupby.yml +0 -39
  245. package/manifests/integrations/mock-obs-time-sync.yml +0 -65
  246. package/manifests/plugins/tdp-finder/failure-missing-input-param.yml +0 -18
  247. package/manifests/plugins/tdp-finder/failure-unsupported-physical-processor.yml +0 -19
  248. package/manifests/plugins/tdp-finder/success.yml +0 -19
  249. /package/manifests/{plugins → examples/builtins}/coefficient/failure-invalid-config-input-param.yml +0 -0
  250. /package/manifests/{plugins → examples/builtins}/coefficient/failure-output-param-is-null.yaml +0 -0
  251. /package/manifests/{plugins → examples/builtins}/coefficient/success.yml +0 -0
  252. /package/manifests/{plugins → examples/builtins}/groupby/failure-invalid-config-group.yml +0 -0
  253. /package/manifests/{plugins → examples/builtins}/groupby/failure-missing-cloud-instance-type.yml +0 -0
  254. /package/manifests/{plugins → examples/builtins}/interpolation/interpolation.yml +0 -0
  255. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-invalid-config-cpu-range.yml +0 -0
  256. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-invalid-memory-utilization-range.yml +0 -0
  257. /package/manifests/{plugins → examples/builtins}/mock-observations/failure-missing-timestamp-from-param.yml +0 -0
  258. /package/manifests/{plugins → examples/builtins}/mock-observations/success.yml +0 -0
  259. /package/manifests/{plugins → examples/builtins}/multiply/failure-input-parameter-is-missing.yml +0 -0
  260. /package/manifests/{plugins → examples/builtins}/multiply/success-with-multiple-inputs.yml +0 -0
  261. /package/manifests/{plugins → examples/builtins}/multiply/success.yml +0 -0
  262. /package/manifests/{plugins → examples/builtins}/regex/failure-missing-input-param.yml +0 -0
  263. /package/manifests/{plugins → examples/builtins}/regex/failure-not-matching-with-regex.yml +0 -0
  264. /package/manifests/{plugins → examples/builtins}/regex/success.yml +0 -0
  265. /package/manifests/{plugins → examples/builtins}/sci/failure-invalid-config-value.yml +0 -0
  266. /package/manifests/{plugins → examples/builtins}/sci-embodied/failure-invalid-default-emission-value.yml +0 -0
  267. /package/manifests/{plugins → examples/builtins}/sci-embodied/failure-missing-expected-lifespan.yml +0 -0
  268. /package/manifests/{plugins → examples/builtins}/sci-embodied/success.yml +0 -0
  269. /package/manifests/{plugins → examples/builtins}/shell/failure-invalid-command.yml +0 -0
  270. /package/manifests/{plugins → examples/builtins}/shell/success.yml +0 -0
  271. /package/manifests/{plugins → examples/builtins}/sum/failure-missing-input-param.yml +0 -0
  272. /package/manifests/{plugins → examples/builtins}/sum/failure-missing-output-param.yml +0 -0
  273. /package/manifests/{plugins → examples/builtins}/time-sync/failure-config-start-later-end.yml +0 -0
  274. /package/manifests/{plugins → examples/builtins}/time-sync/failure-missing-global-config.yml +0 -0
  275. /package/manifests/{plugins → examples/builtins}/time-sync/success.yml +0 -0
  276. /package/manifests/examples/{instance-metadata.yml → pipelines/instance-metadata.yml} +0 -0
  277. /package/manifests/examples/{sci.yml → pipelines/sci.yml} +0 -0
  278. /package/manifests/examples/{teads-curve.yml → pipelines/teads-curve.yml} +0 -0
@@ -0,0 +1,104 @@
1
+ # Copy-param
2
+
3
+ `copy-param` is a generic plugin that duplicates an existing parameter in the `input` data and assigns it to a new key. You can either keep or delete the original copied parameter. A common use case for this is to rename parameters in the `inputs` array.
4
+
5
+ You provide the name of the value you want to copy, and a name to assign the copy to. You also toggle a `keep-existing` parameter to either persist or delete the original copied value.
6
+
7
+ For example, you could copy `energy` into `energy-copy`, with `keep-existing=true`. In this case your inputs:
8
+
9
+ ```yaml
10
+ - timestamp: "2023-12-12T00:00:13.000Z",
11
+ duration: 30,
12
+ energy: 30
13
+ ```
14
+
15
+ would become
16
+
17
+ ```yaml
18
+ - timestamp: "2023-12-12T00:00:13.000Z",
19
+ duration: 30,
20
+ energy: 30
21
+ energy-copy: 30
22
+ ```
23
+
24
+ but with `keep-existing=false`, the same inputs would yield:
25
+
26
+ ```yaml
27
+ - timestamp: "2023-12-12T00:00:13.000Z",
28
+ duration: 30,
29
+ energy-copy: 30
30
+ ```
31
+
32
+ ## Parameters
33
+
34
+ ### Config
35
+
36
+ Three parameters are required in config: `from` and `to` and `keep-existing`.
37
+
38
+ `from`: an array of strings. Each string should match an existing key in the `inputs` array
39
+ `to`: a string defining the name to use to add the result of summing the input parameters to the output array.
40
+ `keep-existing`: toggles whether to keep or delete the copied parameter (defined in `to`)
41
+
42
+ ### Inputs
43
+
44
+ As with all plugins, `timestamp` and `duration` are required. The key passed to `from` must exist in the `input` data.
45
+
46
+ ## Returns
47
+
48
+ The plugin adds a new parameter with the name defined in `to` to the `input` data.
49
+
50
+
51
+ ## Implementation
52
+
53
+ To run the plugin, you must first create an instance of `Copy`. Then, you can call `execute()`.
54
+
55
+ ```typescript
56
+ import { Copy } from ".";
57
+
58
+ const plugin = Copy({ 'keep-existing': true, from: 'from-param', to: 'to-param' });
59
+
60
+ const result = plugin.execute([{
61
+ timestamp: "2023-12-12T00:00:13.000Z",
62
+ duration: 30,
63
+ 'from-param': 'hello',
64
+ }])
65
+
66
+ console.log(result)
67
+
68
+ ```
69
+
70
+ ## Example manifest
71
+
72
+ IF users will typically call the plugin as part of a pipeline defined in a manifest file. In this case, instantiating the plugin is handled by and does not have to be done explicitly by the user. The following is an example manifest that calls `copy-param`:
73
+
74
+ ```yaml
75
+ name: copy-param
76
+ description:
77
+ tags:
78
+ initialize:
79
+ plugins:
80
+ copy-param:
81
+ path: builtin
82
+ method: Copy
83
+ global-config:
84
+ keep-existing: true
85
+ from: original
86
+ to: copy
87
+ tree:
88
+ children:
89
+ child-1:
90
+ pipeline:
91
+ - copy-param
92
+ inputs:
93
+ - timestamp: "2023-12-12T00:00:00.000Z"
94
+ original: 'hello'
95
+
96
+ ```
97
+
98
+ You can run this example by saving it as `./manifests/examples/copy.yml` and executing the following command from the project root:
99
+
100
+ ```sh
101
+ if-run --manifest ./manifests/examples/copy.yml -s
102
+ ```
103
+
104
+ The results will be displayed in the console.
@@ -136,7 +136,45 @@ You can run this example by saving it as `./examples/manifests/csv-lookup.yml` a
136
136
 
137
137
  ```sh
138
138
  npm i -g @grnsft/if
139
- ie --manifest manifests/plugins/csv-lookup.yml --output manifests/outputs/csv-lookup
139
+ if-run --manifest manifests/plugins/csv-lookup.yml --output manifests/outputs/csv-lookup
140
140
  ```
141
141
 
142
142
  The results will be saved to a new `yaml` file in `manifests/outputs`.
143
+
144
+
145
+ ## Errors
146
+
147
+ Coefficient exposes six of the IF error classes.
148
+
149
+ ### FetchingFileError
150
+
151
+ This error is caused by problems finding the file at the path provided in the `filepath`. If the file is on your local filesystem, you can check that the file is definitely there. For a remote file, check your internet connection. You can check your connection to the server using a tool such as `ping` or `curl`. if you still experience problems, you could retrieve the remote file onto your local filesystem using a tool such as `wget`.
152
+
153
+ ### ReadFileError,
154
+
155
+ This error is caused by problems reading the CSV file provided in the `filepath`. To fix it, check that the file contains valid CSV data. The file should have a `.csv` file extension and the data inside should be formatted correctly.
156
+
157
+ ### MissingCSVColumnError,
158
+
159
+ This error is caused by `CsvLookup` failing to find a column in the CSV file whose name matches what was provided in `query`. To debug, check that you do not have any typos in your `query` and confirm that the requested column name definitely exists in the target file.
160
+
161
+ ### QueryDataNotFoundError,
162
+
163
+ This error is caused by the `CsvLookup` plugin failing to find data that matches your query. Try revising your query parameters.
164
+
165
+ ### CSVParseError,
166
+
167
+ This error arises due to problems parsing CSV data into IF. This can occur when the CSV data is incorrectly formatted or contains unexpected characters that IF does not recognize. These errors are expected to be unusual edge cases as incorrectly formatted data will usually be identified during file loading and cause a `ReadFileError`. To debug, check your CSV file for any unexpected formatting or unusual characters.
168
+
169
+ ### GlobalConfigError
170
+
171
+ You will receive an error starting `GlobalConfigError: ` if you have not provided the expected configuration data in the plugin's `initialize` block.
172
+
173
+ The required parameters are:
174
+ - `filepath`: This must be a path to a csv file
175
+ - `query`: this must be an array of key-value pairs where the key is a string containing a column name an the value is a string containing the name of a value in `inputs`
176
+ - `output`: this must be a string containing a name or a wildcard character (`"*"`)
177
+
178
+ You can fix this error by checking you are providing valid values for each parameter in the config.
179
+
180
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -4,8 +4,6 @@
4
4
 
5
5
  You provide the names of the values you want to divide, and a name to use to add the divide to the output array.
6
6
 
7
- For example, `boavizta-cpu` need `cpu/number-cores` to work, however `cloud-metadata` returns `vcpus-allocated`, to get number of cores you divide `vcpus-allocated` by 2.
8
-
9
7
  ## Parameters
10
8
 
11
9
  ### Plugin config
@@ -26,6 +24,8 @@ For example, `boavizta-cpu` need `cpu/number-cores` to work, however `cloud-meta
26
24
 
27
25
  The plugin throws an exception if the division result is not a number.
28
26
 
27
+ >Note: Plugin will warn and return `numerator` value in case if `denominator` is zero.
28
+
29
29
  ## Calculation
30
30
 
31
31
  ```pseudocode
@@ -89,7 +89,33 @@ You can run this example by saving it as `./examples/manifests/divide.yml` and e
89
89
 
90
90
  ```sh
91
91
  npm i -g @grnsft/if
92
- ie --manifest ./examples/manifests/divide.yml --output ./examples/outputs/divide.yml
92
+ if-run --manifest ./examples/manifests/divide.yml --output ./examples/outputs/divide.yml
93
93
  ```
94
94
 
95
95
  The results will be saved to a new `yaml` file in `./examples/outputs`.
96
+
97
+ ## Errors
98
+
99
+ `Divide` exposes two of IF's error classes.
100
+
101
+ ### GlobalConfigError
102
+
103
+ You will receive an error starting `GlobalConfigError: ` if you have not provided the expected configuration data in the plugin's `initialize` block.
104
+
105
+ The required parameters are:
106
+ - `numerator`: a string containing the name of the input parameter whose value should be divided by `denominator`
107
+ - `denominator`: a number to use as the denominator
108
+ - ``output`: a string containing the name to assign the result of the division
109
+
110
+ You can fix this error by checking you are providing valid values for each parameter in the config.
111
+
112
+ ### `MissingInputDataError`
113
+
114
+ This error arises when a necessary piece of input data is missing from the `inputs` array.
115
+ Every element in the ``inputs` array must contain:
116
+ - `timestamp`
117
+ - `duration`
118
+ - whatever value you passed to `numerator`
119
+
120
+
121
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -91,7 +91,27 @@ You can run this example by saving it as `manifests/examples/test/exponent.yml`
91
91
 
92
92
  ```sh
93
93
  npm i -g @grnsft/if
94
- ie --manifest manifests/examples/test/exponent.yml --output manifests/outputs/exponent.yml
94
+ if-run --manifest manifests/examples/test/exponent.yml --output manifests/outputs/exponent.yml
95
95
  ```
96
96
 
97
97
  The results will be saved to a new `yaml` file in `manifests/outputs`.
98
+
99
+ ## Errors
100
+
101
+ `Exponent` exposes two of IF's error classes.
102
+
103
+ ### `MissingInputDataError`
104
+
105
+ This error arises when a necessary piece of input data is missing from the `inputs` array.
106
+ Every element in the `inputs` array must contain:
107
+
108
+ - `timestamp`
109
+ - `duration`
110
+ - whatever value you passed to `input-parameter`
111
+
112
+
113
+ ### `InputValidationError`
114
+
115
+ This error arises when an invalid value is passed to `Exponent`. Typically, this can occur when a non-numeric value (such as a string made of alphabetic characters) is passed where a number or numeric string is expected. Please check that the types are correct for all the relevant fields in your `inputs` array.
116
+
117
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -164,5 +164,33 @@ You can execute this by passing it to `ie`. Run the impact using the following c
164
164
 
165
165
  ```sh
166
166
  npm i -g @grnsft/if
167
- ie --manifest ./manifests/examples/interpolation.yml --output ./manifests/outputs/interpolation.yml
167
+ if-run --manifest ./manifests/examples/interpolation.yml --output ./manifests/outputs/interpolation.yml
168
168
  ```
169
+
170
+ ## Errors
171
+
172
+ `Interpolation` exposes one of IF's error classes.
173
+
174
+ ## `GlobalConfigError`
175
+
176
+ ### GlobalConfigError
177
+
178
+ You will receive an error starting `GlobalConfigError: ` if you have not provided the expected configuration data in the plugin's `initialize` block.
179
+
180
+ The required parameters are:
181
+ - `method`: a string containing either `linear`, `spline` or `polynomial`
182
+ - `x`: an array of numbers
183
+ - `y`: an array of numbers
184
+ - `input-parameter`: a string containing the name of a value present in the `inputs` array'
185
+ - `output-parameter`: a string
186
+
187
+ You can fix this error by checking you are providing valid values for each parameter in the config.
188
+
189
+ ### Validation errors
190
+
191
+ There are also several validation errors that can arise, including:
192
+ - if the lengths of `x` and `y` are not equal
193
+ - if `x` or `y` are empty
194
+ - if the requested point to interpolate at is outside the range of `x`
195
+
196
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -91,7 +91,7 @@ You can run this example `manifest` by saving it as `manifests/plugins/mock-obse
91
91
 
92
92
  ```sh
93
93
  npm i -g @grnsft/if
94
- ie --manifest ./examples/manifests/test/mock-observation.yml --output ./examples/outputs/mock-observation
94
+ if-run --manifest ./examples/manifests/test/mock-observation.yml --output ./examples/outputs/mock-observation
95
95
  ```
96
96
 
97
97
  The results will be saved to a new `yaml` file in `./examples/outputs`.
@@ -88,7 +88,22 @@ You can run this example by saving it as `./examples/manifests/test/multiply.yml
88
88
 
89
89
  ```sh
90
90
  npm i -g @grnsft/if
91
- ie --manifest ./examples/manifests/test/multiply.yml --output ./examples/outputs/multiply.yml
91
+ if-run --manifest ./examples/manifests/test/multiply.yml --output ./examples/outputs/multiply.yml
92
92
  ```
93
93
 
94
94
  The results will be saved to a new `yaml` file in `./examples/outputs`
95
+
96
+
97
+ ## Errors
98
+
99
+ `Multiply` uses one of the IF error classes.
100
+
101
+ ### `MissingInputDataError`
102
+
103
+ This error arises when a necessary piece of input data is missing from the `inputs` array.
104
+ Every element in the `inputs` array must contain:
105
+ - `timestamp`
106
+ - `duration`
107
+ - whatever values you passed to `input-parameters`
108
+
109
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -4,8 +4,6 @@
4
4
 
5
5
  You provide the name of the value you want to match, and a name to use to add the regex to the output array.
6
6
 
7
- For example, `boavizta-cpu` need `cpu/name` to work, however `cloud-metadata` returns `physical-processor` which usually contains a long string of processors that the instance could be separated by `,`, like so:
8
-
9
7
  ```
10
8
  Intel® Xeon® Platinum 8272CL,Intel® Xeon® 8171M 2.1 GHz,Intel® Xeon® E5-2673 v4 2.3 GHz,Intel® Xeon® E5-2673 v3 2.4 GHz
11
9
  ```
@@ -89,3 +87,35 @@ if --manifest manifests/examples/regex.yml --output manifests/outputs/regex.yml
89
87
  ```
90
88
 
91
89
  The results will be saved to a new `yaml` file in `manifests/outputs`.
90
+
91
+ ## Errors
92
+
93
+ `Regex` uses three of IF's error classes:
94
+
95
+ ### `MissingInputDataError`
96
+
97
+ This error arises when a necessary piece of input data is missing from the `inputs` array.
98
+ Every element in the `inputs` array must contain:
99
+ - `timestamp`
100
+ - `duration`
101
+ - whatever value you passed to `parameter`
102
+
103
+
104
+ ### `GlobalConfigError`
105
+
106
+ You will receive an error starting `GlobalConfigError: ` if you have not provided the expected configuration data in the plugin's `initialize` block.
107
+
108
+ The required parameters are:
109
+
110
+ - `parameter`: a string containing the name of a value in the inputs array
111
+ - `match`: a valid regex pattern
112
+ - `output`: a string
113
+
114
+ You can fix this error by checking you are providing valid values for each parameter in the config.
115
+
116
+
117
+ ### `RegexMismatchError`
118
+
119
+ This error arises when the requested regex cannot find any matches in the given data. If there are multiple matches, the plugin returns the first, but if there are none, it throws this error.
120
+
121
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -19,6 +19,8 @@
19
19
 
20
20
  - `sci`: carbon expressed in terms of the given functional unit
21
21
 
22
+ >Note: Plugin will warn and return `carbon` value in case if `functional-unit`'s value is zero.
23
+
22
24
  ## Calculation
23
25
 
24
26
  SCI is calculated as:
@@ -83,7 +85,28 @@ You can run this example `manifest` by saving it as `./manifests/plugins/sci.yml
83
85
 
84
86
  ```sh
85
87
  npm i -g @grnsft/if
86
- ie --manifest manifests/plugins/sci.yml --output manifests/outputs/sci.yml
88
+ if-run --manifest manifests/plugins/sci.yml --output manifests/outputs/sci.yml
87
89
  ```
88
90
 
89
91
  The results will be saved to a new `yaml` file.
92
+
93
+ ## Errors
94
+
95
+ `SCI` uses one of the IF error classes.
96
+
97
+ ### `MissingInputDataError`
98
+
99
+ This error arises when a necessary piece of input data is missing from the `inputs` array.
100
+
101
+ Every element in the `inputs` array must contain:
102
+ - `timestamp`
103
+ - `duration`
104
+ - `carbon`: a numeric value named `carbon` must exist in the inputs array
105
+ - whatever value you passed to `functional-unit`
106
+
107
+
108
+ ### Validation errors
109
+
110
+ There is also a validation step that checks that the `functional-unit` was provided in the plugin config. If you see an error reporting this value as missing, please check you have provided it.
111
+
112
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -104,7 +104,21 @@ You can run this example `manifest` by executing the following command from the
104
104
 
105
105
  ```sh
106
106
  npm i -g @grnsft/if
107
- ie --manifest manifests/plugins/sci-embodied.yml --output manifests/outputs/sci-embodied.yml
107
+ if-run --manifest manifests/plugins/sci-embodied.yml --output manifests/outputs/sci-embodied.yml
108
108
  ```
109
109
 
110
110
  The results will be saved to a new `yaml` file in `./examples/outputs`.
111
+
112
+
113
+ ## Errors
114
+
115
+ `SciEmbodied` uses one of IF's error classes
116
+
117
+ ### `SciEmbodiedError`
118
+
119
+ This error class is used to describe a problem with one of the input values to `sci-embodied`. This is typically due to an incorrect type or a reference to a value that is not available.
120
+
121
+ You will receive a specific error message explaining which parameter is problematic, and you can check and replace where appropriate.
122
+
123
+
124
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -124,7 +124,18 @@ You can run this example `manifest` by saving it as `manifests/plugins/shell.yml
124
124
 
125
125
  ```sh
126
126
  npm i -g @grnsft/if
127
- ie --manifest manifests/plugins/shell.yml --output manifests/outputs/shell.yml
127
+ if-run --manifest manifests/plugins/shell.yml --output manifests/outputs/shell.yml
128
128
  ```
129
129
 
130
130
  The results will be saved to a new `yaml` file.
131
+
132
+
133
+ ## Errors
134
+
135
+ `Shell` uses one of the error classes provided by IF
136
+
137
+ ### `ProcessExecutionError`
138
+
139
+ This error is thrown when the program invoked in the spawned shell fails for some reason that is not known to IF. Since the shell executes arbitrary code, it is difficult for IF to provide specific errors - this is delegated to the developers of the executed program.
140
+
141
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -88,7 +88,18 @@ You can run this example by saving it as `./examples/manifests/test/subrtact.yml
88
88
 
89
89
  ```sh
90
90
  npm i -g @grnsft/if
91
- ie --manifest /manifests/plugins/subtract.yml --output manifests/outputs/subtract.yml
91
+ if-run --manifest /manifests/plugins/subtract.yml --output manifests/outputs/subtract.yml
92
92
  ```
93
93
 
94
94
  The results will be saved to a new `yaml` file in `manifests/outputs`.
95
+
96
+
97
+ ## Errors
98
+
99
+ `Subtract` uses one of IF's error classes:
100
+
101
+ ### `InputValidationError`
102
+
103
+ This error arises when an invalid value is passed to `Subtract`. Typically, this can occur when a non-numeric value (such as a string made of alphabetic characters) is passed where a number or numeric string is expected. Please check that the types are correct for all the relevant fields in your `inputs` array.
104
+
105
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors
@@ -85,7 +85,34 @@ tree:
85
85
  You can run this example by saving it as `./examples/manifests/sum.yml` and executing the following command from the project root:
86
86
 
87
87
  ```sh
88
- ie --manifest ./examples/manifests/sum.yml --output ./examples/outputs/sum.yml
88
+ if-run --manifest ./examples/manifests/sum.yml --output ./examples/outputs/sum.yml
89
89
  ```
90
90
 
91
91
  The results will be saved to a new `yaml` file in `./examples/outputs`.
92
+
93
+
94
+ ## Errors
95
+
96
+ `Sum` exposes two of the IF error classes.
97
+
98
+ ### GlobalConfigError
99
+
100
+ You will receive an error starting `GlobalConfigError: ` if you have not provided the expected configuration data in the plugin's `initialize` block.
101
+
102
+ The required parameters are:
103
+ - `input-parameters`: this must be an array of strings, each being the name of a value in the `inputs` array
104
+ - `output-parameter`: this must be a string
105
+
106
+ You can fix this error by checking you are providing valid values for each parameter in the config.
107
+
108
+ ### `MissingInputDataError`
109
+
110
+ This error arises when a necessary piece of input data is missing from the `inputs` array.
111
+ Every element in the ``inputs` array must contain:
112
+
113
+ - `timestamp`
114
+ - `duration`
115
+ - whatever values you passed to `input-parameters`
116
+
117
+
118
+ For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors).
@@ -0,0 +1,24 @@
1
+ name: template manifest # rename me!
2
+ description: auto-generated template # update description!
3
+ tags: # add any tags that will help you to track your manifests
4
+ initialize:
5
+ outputs:
6
+ - yaml # you can add - csv to export to csv
7
+ plugins: # add more plugins for your use-case
8
+ memory-energy-from-memory-util: # you can name this any way you like!
9
+ method: Coefficient # the name of the function exported from the plugin
10
+ path: "builtin" # the import path
11
+ global-config: # anmy config required by the plugin
12
+ input-parameter: "memory/utilization"
13
+ coefficient: 0.0001 #kwH/GB
14
+ output-parameter: "memory/energy"
15
+ tree:
16
+ children: # add a chile for each distinct component you want to measure
17
+ child:
18
+ pipeline: # the pipeline is an ordered list of plugins you want to execute
19
+ - memory-energy-from-memory-util # must match the name in initialize!
20
+ config: # any plugin specific, node-level config
21
+ inputs:
22
+ - timestamp: 2023-12-12T00:00:00.000Z # ISO 8061 string
23
+ duration: 3600 # units of seconds
24
+ memory/utilization: 10
@@ -1,5 +0,0 @@
1
- export type CoefficientConfig = {
2
- 'input-parameter': string;
3
- coefficient: number;
4
- 'output-parameter': string;
5
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvY29lZmZpY2llbnQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvZWZmaWNpZW50Q29uZmlnID0ge1xuICAnaW5wdXQtcGFyYW1ldGVyJzogc3RyaW5nO1xuICBjb2VmZmljaWVudDogbnVtYmVyO1xuICAnb3V0cHV0LXBhcmFtZXRlcic6IHN0cmluZztcbn07XG4iXX0=
@@ -1,5 +0,0 @@
1
- export type ExponentConfig = {
2
- 'input-parameter': string;
3
- exponent: number;
4
- 'output-parameter': string;
5
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvZXhwb25lbnQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEV4cG9uZW50Q29uZmlnID0ge1xuICAnaW5wdXQtcGFyYW1ldGVyJzogc3RyaW5nO1xuICBleHBvbmVudDogbnVtYmVyO1xuICAnb3V0cHV0LXBhcmFtZXRlcic6IHN0cmluZztcbn07XG4iXX0=
@@ -1,5 +0,0 @@
1
- export declare enum Method {
2
- LINEAR = "linear",
3
- SPLINE = "spline",
4
- POLYNOMIAL = "polynomial"
5
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Method = void 0;
4
- var Method;
5
- (function (Method) {
6
- Method["LINEAR"] = "linear";
7
- Method["SPLINE"] = "spline";
8
- Method["POLYNOMIAL"] = "polynomial";
9
- })(Method || (exports.Method = Method = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvaW50ZXJwb2xhdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLE1BSVg7QUFKRCxXQUFZLE1BQU07SUFDaEIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7SUFDakIsbUNBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLE1BQU0sc0JBQU4sTUFBTSxRQUlqQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1ldGhvZCB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBTUExJTkUgPSAnc3BsaW5lJyxcbiAgUE9MWU5PTUlBTCA9ICdwb2x5bm9taWFsJyxcbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- import { DateTime } from 'luxon';
2
- import { Generator } from './interfaces/index';
3
- export type ObservationParams = {
4
- duration: number;
5
- timeBucket: DateTime;
6
- component: Record<string, string>;
7
- generators: Generator[];
8
- };
9
- export type RandIntGeneratorParams = {
10
- name: string;
11
- min: number;
12
- max: number;
13
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvbW9jay1vYnNlcnZhdGlvbnMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVRpbWV9IGZyb20gJ2x1eG9uJztcblxuaW1wb3J0IHtHZW5lcmF0b3J9IGZyb20gJy4vaW50ZXJmYWNlcy9pbmRleCc7XG5cbmV4cG9ydCB0eXBlIE9ic2VydmF0aW9uUGFyYW1zID0ge1xuICBkdXJhdGlvbjogbnVtYmVyO1xuICB0aW1lQnVja2V0OiBEYXRlVGltZTtcbiAgY29tcG9uZW50OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBnZW5lcmF0b3JzOiBHZW5lcmF0b3JbXTtcbn07XG5cbmV4cG9ydCB0eXBlIFJhbmRJbnRHZW5lcmF0b3JQYXJhbXMgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbWluOiBudW1iZXI7XG4gIG1heDogbnVtYmVyO1xufTtcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export type MultiplyConfig = {
2
- 'input-parameters': string[];
3
- 'output-parameter': string;
4
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvbXVsdGlwbHkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE11bHRpcGx5Q29uZmlnID0ge1xuICAnaW5wdXQtcGFyYW1ldGVycyc6IHN0cmluZ1tdO1xuICAnb3V0cHV0LXBhcmFtZXRlcic6IHN0cmluZztcbn07XG4iXX0=
@@ -1,4 +0,0 @@
1
- export type SubtractConfig = {
2
- 'input-parameters': string[];
3
- 'output-parameter': string;
4
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvc3VidHJhY3QvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN1YnRyYWN0Q29uZmlnID0ge1xuICAnaW5wdXQtcGFyYW1ldGVycyc6IHN0cmluZ1tdO1xuICAnb3V0cHV0LXBhcmFtZXRlcic6IHN0cmluZztcbn07XG4iXX0=
@@ -1,4 +0,0 @@
1
- export type SumConfig = {
2
- 'input-parameters': string[];
3
- 'output-parameter': string;
4
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvc3VtL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTdW1Db25maWcgPSB7XG4gICdpbnB1dC1wYXJhbWV0ZXJzJzogc3RyaW5nW107XG4gICdvdXRwdXQtcGFyYW1ldGVyJzogc3RyaW5nO1xufTtcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export type KeyValuePair = {
2
- [key: string]: any;
3
- };
4
- export type ConfigParams = Record<string, any>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgS2V5VmFsdWVQYWlyID0ge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59O1xuXG5leHBvcnQgdHlwZSBDb25maWdQYXJhbXMgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuIl19
@@ -1,3 +0,0 @@
1
- export type GroupByConfig = {
2
- group: string[];
3
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZ3JvdXAtYnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEdyb3VwQnlDb25maWcgPSB7XG4gIGdyb3VwOiBzdHJpbmdbXTtcbn07XG4iXX0=
@@ -1,4 +0,0 @@
1
- export type ErrorFormatParams = {
2
- scope?: string;
3
- message: string;
4
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBFcnJvckZvcm1hdFBhcmFtcyA9IHtcbiAgc2NvcGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn07XG4iXX0=