@grnsft/if 0.6.0 → 0.7.0-beta.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 (370) hide show
  1. package/Refactor-migration-guide.md +68 -82
  2. package/github-processes.md +3 -9
  3. package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -4
  4. package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +1 -3
  5. package/manifests/examples/builtins/coefficient/success.yml +1 -3
  6. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +1 -2
  7. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -4
  8. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +2 -3
  9. package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +1 -2
  10. package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +1 -1
  11. package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +2 -2
  12. package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +1 -1
  13. package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +1 -1
  14. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +1 -2
  15. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +1 -2
  16. package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +1 -2
  17. package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +3 -5
  18. package/manifests/examples/builtins/divide/failure-missing-numerator.yml +2 -4
  19. package/manifests/examples/builtins/divide/success.yml +2 -2
  20. package/manifests/examples/builtins/exponent/success.yml +1 -1
  21. package/manifests/examples/builtins/interpolation/success.yml +1 -1
  22. package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
  23. package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +1 -1
  24. package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +1 -1
  25. package/manifests/examples/builtins/mock-observations/success.yml +1 -1
  26. package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +1 -1
  27. package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +1 -1
  28. package/manifests/examples/builtins/multiply/success.yml +1 -1
  29. package/manifests/examples/builtins/regex/failure-missing-input-param.yml +1 -1
  30. package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -2
  31. package/manifests/examples/builtins/regex/success.yml +1 -1
  32. package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +3 -4
  33. package/manifests/examples/builtins/sci/failure-missing-input-param.yml +1 -1
  34. package/manifests/examples/builtins/sci/success.yml +1 -1
  35. package/manifests/examples/builtins/sci-embodied/scenario-1.yml +27 -0
  36. package/manifests/examples/builtins/sci-embodied/scenario-2.yml +37 -0
  37. package/manifests/examples/builtins/sci-embodied/success.yml +13 -0
  38. package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
  39. package/manifests/examples/builtins/shell/success.yml +2 -2
  40. package/manifests/examples/builtins/subtract/success.yml +1 -1
  41. package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -2
  42. package/manifests/examples/builtins/sum/failure-missing-output-param.yml +2 -2
  43. package/manifests/examples/builtins/sum/success.yml +1 -1
  44. package/manifests/examples/builtins/time-converter/success.yaml +3 -3
  45. package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +10 -12
  46. package/manifests/examples/builtins/time-sync/{failure-missing-global-config.yml → failure-missing-config.yml} +3 -8
  47. package/manifests/examples/builtins/time-sync/success.yml +2 -2
  48. package/manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml +1 -1
  49. package/manifests/examples/features/regroup/success.yml +1 -1
  50. package/manifests/examples/pipelines/generics.yml +8 -8
  51. package/manifests/examples/pipelines/instance-metadata.yml +2 -2
  52. package/manifests/examples/pipelines/nesting.yml +75 -33
  53. package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +166 -122
  54. package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +130 -70
  55. package/manifests/examples/pipelines/pipeline-teads-sci.yml +15 -15
  56. package/manifests/examples/pipelines/pipeline-with-aggregate.yml +57 -27
  57. package/manifests/examples/pipelines/pipeline-with-mocks.yml +99 -41
  58. package/manifests/examples/pipelines/scenario-3.yml +1 -1
  59. package/manifests/examples/pipelines/scenario-4.yml +5 -5
  60. package/manifests/examples/pipelines/scenario-5.yml +3 -3
  61. package/manifests/examples/pipelines/sci.yml +12 -12
  62. package/manifests/examples/pipelines/teads-curve.yml +10 -10
  63. package/manifests/examples/pipelines/zeros.yml +23 -23
  64. package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +40 -40
  65. package/manifests/outputs/bugs/input-error-missing-duration.yaml +1 -1
  66. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +2 -2
  67. package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +1 -1
  68. package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +1 -1
  69. package/manifests/outputs/bugs/pipeline-ordering-error.yaml +6 -6
  70. package/manifests/outputs/builtins/coefficient/failure-invalid-config-input-param.yaml +2 -2
  71. package/manifests/outputs/builtins/coefficient/failure-output-param-is-null.yaml +1 -1
  72. package/manifests/outputs/builtins/coefficient/success.yaml +23 -22
  73. package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +1 -1
  74. package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +76 -0
  75. package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +22 -21
  76. package/manifests/outputs/builtins/csv-lookup/cloud-metadata/success.yaml +1 -1
  77. package/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-column.yaml +1 -1
  78. package/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml +21 -20
  79. package/manifests/outputs/builtins/csv-lookup/region-metadata/success-renaming.yaml +1 -1
  80. package/manifests/outputs/builtins/csv-lookup/region-metadata/success.yaml +1 -1
  81. package/manifests/outputs/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yaml +1 -1
  82. package/manifests/outputs/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +1 -1
  83. package/manifests/outputs/builtins/csv-lookup/tdp-finder/success.yaml +1 -1
  84. package/manifests/outputs/builtins/divide/failure-invalid-config-denominator.yaml +41 -25
  85. package/manifests/outputs/builtins/divide/failure-missing-numerator.yaml +32 -23
  86. package/manifests/outputs/builtins/divide/success-denominator-equal-zero.yaml +2 -2
  87. package/manifests/outputs/builtins/divide/success.yaml +2 -2
  88. package/manifests/outputs/builtins/exponent/success.yaml +1 -1
  89. package/manifests/outputs/builtins/interpolation/interpolation.yaml +1 -1
  90. package/manifests/outputs/builtins/interpolation/success.yaml +1 -1
  91. package/manifests/outputs/builtins/mock-observations/failure-invalid-config-cpu-range.yaml +3 -3
  92. package/manifests/outputs/builtins/mock-observations/failure-invalid-memory-utilization-range.yaml +2 -2
  93. package/manifests/outputs/builtins/mock-observations/failure-missing-timestamp-from-param.yaml +1 -1
  94. package/manifests/outputs/builtins/mock-observations/success.yaml +49 -190
  95. package/manifests/outputs/builtins/multiply/failure-input-parameter-is-missing.yaml +1 -1
  96. package/manifests/outputs/builtins/multiply/success-with-multiple-inputs.yaml +1 -1
  97. package/manifests/outputs/builtins/multiply/success.yaml +1 -1
  98. package/manifests/outputs/builtins/regex/failure-missing-input-param.yaml +1 -1
  99. package/manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml +72 -0
  100. package/manifests/outputs/builtins/regex/success.yaml +1 -1
  101. package/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml +22 -23
  102. package/manifests/outputs/builtins/sci/failure-missing-input-param.yaml +1 -1
  103. package/manifests/outputs/builtins/sci/success.yaml +1 -1
  104. package/manifests/outputs/builtins/sci-embodied/failure-invalid-default-emission-value.yaml +22 -26
  105. package/manifests/outputs/builtins/sci-embodied/scenario-1.yaml +100 -0
  106. package/manifests/outputs/builtins/sci-embodied/scenario-2.yaml +101 -0
  107. package/manifests/outputs/builtins/sci-embodied/success.yaml +44 -20
  108. package/manifests/outputs/builtins/shell/failure-invalid-command.yaml +2 -2
  109. package/manifests/outputs/builtins/shell/success.yaml +1 -1
  110. package/manifests/outputs/builtins/subtract/success.yaml +1 -1
  111. package/manifests/outputs/builtins/sum/failure-missing-input-param.yaml +2 -2
  112. package/manifests/outputs/builtins/sum/failure-missing-output-param.yaml +2 -2
  113. package/manifests/outputs/builtins/sum/success.yaml +1 -1
  114. package/manifests/outputs/builtins/time-converter/success.yaml +73 -0
  115. package/manifests/outputs/builtins/time-sync/failure-config-start-later-end.yaml +3 -3
  116. package/manifests/outputs/builtins/time-sync/failure-missing-config.yaml +74 -0
  117. package/manifests/outputs/builtins/time-sync/success.yaml +50 -59
  118. package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +1 -1
  119. package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +1 -1
  120. package/manifests/outputs/features/aggregate-horizontal.yaml +4 -2
  121. package/manifests/outputs/features/aggregate-vertical.yaml +4 -2
  122. package/manifests/outputs/features/aggregate.yaml +4 -2
  123. package/manifests/outputs/features/regroup/failure-invalid-regroup.yaml +87 -0
  124. package/manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yaml +87 -0
  125. package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +2 -2
  126. package/manifests/outputs/pipelines/generics.yaml +28 -28
  127. package/manifests/outputs/pipelines/instance-metadata.yaml +14 -14
  128. package/manifests/outputs/pipelines/nesting.yaml +713 -486
  129. package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +63 -32
  130. package/manifests/outputs/pipelines/scenario-4.yaml +105 -0
  131. package/manifests/outputs/pipelines/sci.yaml +56 -32
  132. package/manifests/outputs/pipelines/teads-curve.yaml +18 -18
  133. package/manifests/outputs/pipelines/zeros.yaml +27 -27
  134. package/package.json +4 -4
  135. package/src/__mocks__/mock-manifest.yaml +1 -2
  136. package/src/if-env/config/env-template.yml +1 -2
  137. package/src/if-run/builtins/coefficient/README.md +41 -17
  138. package/src/if-run/builtins/copy-param/README.md +28 -8
  139. package/src/if-run/builtins/csv-lookup/README.md +31 -11
  140. package/src/if-run/builtins/divide/README.md +34 -12
  141. package/src/if-run/builtins/exponent/README.md +29 -11
  142. package/src/if-run/builtins/interpolation/README.md +37 -22
  143. package/src/if-run/builtins/mock-observations/README.md +27 -7
  144. package/src/if-run/builtins/multiply/README.md +27 -9
  145. package/src/if-run/builtins/regex/README.md +31 -11
  146. package/src/if-run/builtins/sci/README.md +29 -8
  147. package/src/if-run/builtins/sci-embodied/README.md +76 -75
  148. package/src/if-run/builtins/shell/README.md +15 -7
  149. package/src/if-run/builtins/subtract/README.md +28 -11
  150. package/src/if-run/builtins/sum/README.md +47 -14
  151. package/src/if-run/builtins/time-converter/README.md +8 -8
  152. package/src/if-run/builtins/time-sync/README.md +44 -22
  153. package/.gitmodules +0 -3
  154. package/build/common/config/index.d.ts +0 -1
  155. package/build/common/config/index.js +0 -6
  156. package/build/common/config/strings.d.ts +0 -9
  157. package/build/common/config/strings.js +0 -17
  158. package/build/common/lib/load.d.ts +0 -6
  159. package/build/common/lib/load.js +0 -18
  160. package/build/common/types/manifest.d.ts +0 -13
  161. package/build/common/types/manifest.js +0 -3
  162. package/build/common/util/debug-logger.d.ts +0 -4
  163. package/build/common/util/debug-logger.js +0 -115
  164. package/build/common/util/fs.d.ts +0 -20
  165. package/build/common/util/fs.js +0 -94
  166. package/build/common/util/helpers.d.ts +0 -15
  167. package/build/common/util/helpers.js +0 -80
  168. package/build/common/util/logger.d.ts +0 -5
  169. package/build/common/util/logger.js +0 -39
  170. package/build/common/util/validations.d.ts +0 -367
  171. package/build/common/util/validations.js +0 -141
  172. package/build/common/util/yaml.d.ts +0 -12
  173. package/build/common/util/yaml.js +0 -59
  174. package/build/if-check/config/config.d.ts +0 -6
  175. package/build/if-check/config/config.js +0 -31
  176. package/build/if-check/config/index.d.ts +0 -2
  177. package/build/if-check/config/index.js +0 -8
  178. package/build/if-check/config/strings.d.ts +0 -11
  179. package/build/if-check/config/strings.js +0 -15
  180. package/build/if-check/index.d.ts +0 -2
  181. package/build/if-check/index.js +0 -98
  182. package/build/if-check/types/process-args.d.ts +0 -4
  183. package/build/if-check/types/process-args.js +0 -3
  184. package/build/if-check/util/args.d.ts +0 -10
  185. package/build/if-check/util/args.js +0 -56
  186. package/build/if-check/util/helpers.d.ts +0 -4
  187. package/build/if-check/util/helpers.js +0 -18
  188. package/build/if-check/util/npm.d.ts +0 -4
  189. package/build/if-check/util/npm.js +0 -59
  190. package/build/if-csv/config/config.d.ts +0 -6
  191. package/build/if-csv/config/config.js +0 -36
  192. package/build/if-csv/config/index.d.ts +0 -2
  193. package/build/if-csv/config/index.js +0 -8
  194. package/build/if-csv/config/strings.d.ts +0 -3
  195. package/build/if-csv/config/strings.js +0 -7
  196. package/build/if-csv/index.d.ts +0 -2
  197. package/build/if-csv/index.js +0 -63
  198. package/build/if-csv/types/csv.d.ts +0 -7
  199. package/build/if-csv/types/csv.js +0 -3
  200. package/build/if-csv/types/process-args.d.ts +0 -5
  201. package/build/if-csv/types/process-args.js +0 -3
  202. package/build/if-csv/util/args.d.ts +0 -12
  203. package/build/if-csv/util/args.js +0 -47
  204. package/build/if-csv/util/helpers.d.ts +0 -9
  205. package/build/if-csv/util/helpers.js +0 -95
  206. package/build/if-diff/config/config.d.ts +0 -6
  207. package/build/if-diff/config/config.js +0 -31
  208. package/build/if-diff/config/index.d.ts +0 -2
  209. package/build/if-diff/config/index.js +0 -8
  210. package/build/if-diff/config/strings.d.ts +0 -6
  211. package/build/if-diff/config/strings.js +0 -10
  212. package/build/if-diff/index.d.ts +0 -2
  213. package/build/if-diff/index.js +0 -46
  214. package/build/if-diff/lib/compare.d.ts +0 -10
  215. package/build/if-diff/lib/compare.js +0 -56
  216. package/build/if-diff/lib/load.d.ts +0 -55
  217. package/build/if-diff/lib/load.js +0 -51
  218. package/build/if-diff/types/args.d.ts +0 -5
  219. package/build/if-diff/types/args.js +0 -3
  220. package/build/if-diff/types/compare.d.ts +0 -7
  221. package/build/if-diff/types/compare.js +0 -3
  222. package/build/if-diff/types/process-args.d.ts +0 -4
  223. package/build/if-diff/types/process-args.js +0 -3
  224. package/build/if-diff/util/args.d.ts +0 -5
  225. package/build/if-diff/util/args.js +0 -51
  226. package/build/if-diff/util/helpers.d.ts +0 -13
  227. package/build/if-diff/util/helpers.js +0 -75
  228. package/build/if-env/config/config.d.ts +0 -6
  229. package/build/if-env/config/config.js +0 -37
  230. package/build/if-env/config/index.d.ts +0 -2
  231. package/build/if-env/config/index.js +0 -8
  232. package/build/if-env/config/strings.d.ts +0 -7
  233. package/build/if-env/config/strings.js +0 -11
  234. package/build/if-env/index.d.ts +0 -2
  235. package/build/if-env/index.js +0 -40
  236. package/build/if-env/types/if-env.d.ts +0 -8
  237. package/build/if-env/types/if-env.js +0 -3
  238. package/build/if-env/types/npm.d.ts +0 -9
  239. package/build/if-env/types/npm.js +0 -3
  240. package/build/if-env/types/process-args.d.ts +0 -5
  241. package/build/if-env/types/process-args.js +0 -3
  242. package/build/if-env/util/args.d.ts +0 -12
  243. package/build/if-env/util/args.js +0 -47
  244. package/build/if-env/util/helpers.d.ts +0 -20
  245. package/build/if-env/util/helpers.js +0 -94
  246. package/build/if-env/util/npm.d.ts +0 -24
  247. package/build/if-env/util/npm.js +0 -126
  248. package/build/if-merge/config/config.d.ts +0 -6
  249. package/build/if-merge/config/config.js +0 -43
  250. package/build/if-merge/config/index.d.ts +0 -2
  251. package/build/if-merge/config/index.js +0 -8
  252. package/build/if-merge/config/strings.d.ts +0 -5
  253. package/build/if-merge/config/strings.js +0 -9
  254. package/build/if-merge/index.d.ts +0 -2
  255. package/build/if-merge/index.js +0 -26
  256. package/build/if-merge/types/process-args.d.ts +0 -6
  257. package/build/if-merge/types/process-args.js +0 -3
  258. package/build/if-merge/util/args.d.ts +0 -9
  259. package/build/if-merge/util/args.js +0 -59
  260. package/build/if-merge/util/helpers.d.ts +0 -5
  261. package/build/if-merge/util/helpers.js +0 -83
  262. package/build/if-run/builtins/coefficient/index.d.ts +0 -2
  263. package/build/if-run/builtins/coefficient/index.js +0 -67
  264. package/build/if-run/builtins/copy-param/index.d.ts +0 -2
  265. package/build/if-run/builtins/copy-param/index.js +0 -70
  266. package/build/if-run/builtins/csv-lookup/index.d.ts +0 -2
  267. package/build/if-run/builtins/csv-lookup/index.js +0 -190
  268. package/build/if-run/builtins/divide/index.d.ts +0 -2
  269. package/build/if-run/builtins/divide/index.js +0 -80
  270. package/build/if-run/builtins/exponent/index.d.ts +0 -2
  271. package/build/if-run/builtins/exponent/index.js +0 -60
  272. package/build/if-run/builtins/export-log.d.ts +0 -4
  273. package/build/if-run/builtins/export-log.js +0 -44
  274. package/build/if-run/builtins/export-yaml.d.ts +0 -4
  275. package/build/if-run/builtins/export-yaml.js +0 -30
  276. package/build/if-run/builtins/index.d.ts +0 -16
  277. package/build/if-run/builtins/index.js +0 -36
  278. package/build/if-run/builtins/interpolation/index.d.ts +0 -2
  279. package/build/if-run/builtins/interpolation/index.js +0 -151
  280. package/build/if-run/builtins/mock-observations/helpers/common-generator.d.ts +0 -3
  281. package/build/if-run/builtins/mock-observations/helpers/common-generator.js +0 -29
  282. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.d.ts +0 -3
  283. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
  284. package/build/if-run/builtins/mock-observations/index.d.ts +0 -2
  285. package/build/if-run/builtins/mock-observations/index.js +0 -116
  286. package/build/if-run/builtins/mock-observations/interfaces/index.d.ts +0 -6
  287. package/build/if-run/builtins/mock-observations/interfaces/index.js +0 -3
  288. package/build/if-run/builtins/multiply/index.d.ts +0 -2
  289. package/build/if-run/builtins/multiply/index.js +0 -59
  290. package/build/if-run/builtins/regex/index.d.ts +0 -2
  291. package/build/if-run/builtins/regex/index.js +0 -76
  292. package/build/if-run/builtins/sci/index.d.ts +0 -2
  293. package/build/if-run/builtins/sci/index.js +0 -92
  294. package/build/if-run/builtins/sci-embodied/index.d.ts +0 -2
  295. package/build/if-run/builtins/sci-embodied/index.js +0 -156
  296. package/build/if-run/builtins/shell/index.d.ts +0 -2
  297. package/build/if-run/builtins/shell/index.js +0 -60
  298. package/build/if-run/builtins/subtract/index.d.ts +0 -2
  299. package/build/if-run/builtins/subtract/index.js +0 -61
  300. package/build/if-run/builtins/sum/index.d.ts +0 -2
  301. package/build/if-run/builtins/sum/index.js +0 -66
  302. package/build/if-run/builtins/time-converter/config.d.ts +0 -1
  303. package/build/if-run/builtins/time-converter/config.js +0 -44
  304. package/build/if-run/builtins/time-converter/index.d.ts +0 -2
  305. package/build/if-run/builtins/time-converter/index.js +0 -79
  306. package/build/if-run/builtins/time-sync/index.d.ts +0 -17
  307. package/build/if-run/builtins/time-sync/index.js +0 -339
  308. package/build/if-run/config/config.d.ts +0 -9
  309. package/build/if-run/config/config.js +0 -73
  310. package/build/if-run/config/index.d.ts +0 -2
  311. package/build/if-run/config/index.js +0 -8
  312. package/build/if-run/config/strings.d.ts +0 -64
  313. package/build/if-run/config/strings.js +0 -76
  314. package/build/if-run/index.d.ts +0 -2
  315. package/build/if-run/index.js +0 -63
  316. package/build/if-run/lib/aggregate.d.ts +0 -15
  317. package/build/if-run/lib/aggregate.js +0 -123
  318. package/build/if-run/lib/compute.d.ts +0 -5
  319. package/build/if-run/lib/compute.js +0 -142
  320. package/build/if-run/lib/environment.d.ts +0 -5
  321. package/build/if-run/lib/environment.js +0 -75
  322. package/build/if-run/lib/exhaust.d.ts +0 -7
  323. package/build/if-run/lib/exhaust.js +0 -27
  324. package/build/if-run/lib/explain.d.ts +0 -9
  325. package/build/if-run/lib/explain.js +0 -43
  326. package/build/if-run/lib/initialize.d.ts +0 -6
  327. package/build/if-run/lib/initialize.js +0 -109
  328. package/build/if-run/lib/regroup.d.ts +0 -5
  329. package/build/if-run/lib/regroup.js +0 -64
  330. package/build/if-run/types/aggregation.d.ts +0 -5
  331. package/build/if-run/types/aggregation.js +0 -6
  332. package/build/if-run/types/compute.d.ts +0 -29
  333. package/build/if-run/types/compute.js +0 -3
  334. package/build/if-run/types/environment.d.ts +0 -18
  335. package/build/if-run/types/environment.js +0 -3
  336. package/build/if-run/types/exhaust-plugin-interface.d.ts +0 -7
  337. package/build/if-run/types/exhaust-plugin-interface.js +0 -3
  338. package/build/if-run/types/explain.d.ts +0 -10
  339. package/build/if-run/types/explain.js +0 -3
  340. package/build/if-run/types/interface.d.ts +0 -3
  341. package/build/if-run/types/interface.js +0 -6
  342. package/build/if-run/types/plugin-storage.d.ts +0 -6
  343. package/build/if-run/types/plugin-storage.js +0 -3
  344. package/build/if-run/types/process-args.d.ts +0 -25
  345. package/build/if-run/types/process-args.js +0 -3
  346. package/build/if-run/types/time-sync.d.ts +0 -17
  347. package/build/if-run/types/time-sync.js +0 -3
  348. package/build/if-run/util/aggregation-helper.d.ts +0 -7
  349. package/build/if-run/util/aggregation-helper.js +0 -47
  350. package/build/if-run/util/args.d.ts +0 -9
  351. package/build/if-run/util/args.js +0 -60
  352. package/build/if-run/util/helpers.d.ts +0 -14
  353. package/build/if-run/util/helpers.js +0 -57
  354. package/build/if-run/util/log-memoize.d.ts +0 -3
  355. package/build/if-run/util/log-memoize.js +0 -19
  356. package/build/if-run/util/os-checker.d.ts +0 -7
  357. package/build/if-run/util/os-checker.js +0 -97
  358. package/build/if-run/util/plugin-storage.d.ts +0 -14
  359. package/build/if-run/util/plugin-storage.js +0 -34
  360. package/grafana/IF_GRAFANA_SETUP.md +0 -71
  361. package/grafana/if_grafana_config.json +0 -370
  362. package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +0 -38
  363. package/manifests/examples/builtins/interpolation/interpolation.yml +0 -24
  364. package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +0 -23
  365. package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +0 -23
  366. package/manifests/examples/pipelines/scenario-1.yml +0 -34
  367. package/manifests/examples/pipelines/scenario-2.yml +0 -52
  368. package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +0 -72
  369. package/manifests/outputs/builtins/sci-embodied/failure-missing-expected-lifespan.yaml +0 -69
  370. package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +0 -449
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aggregateInputsIntoOne = void 0;
4
- const utils_1 = require("@grnsft/if-core/utils");
5
- const config_1 = require("../config");
6
- const aggregate_1 = require("../lib/aggregate");
7
- const { MissingAggregationParamError } = utils_1.ERRORS;
8
- const { METRIC_MISSING } = config_1.STRINGS;
9
- const { AGGREGATION_ADDITIONAL_PARAMS } = config_1.CONFIG;
10
- /**
11
- * Aggregates child node level metrics. Validates if metric aggregation type is `none`, then rejects with error.
12
- * Appends aggregation additional params to metrics. Otherwise iterates over inputs by aggregating per given `metrics`.
13
- */
14
- const aggregateInputsIntoOne = (inputs, metrics, isTemporal) => {
15
- const metricsKeys = metrics.map(metric => Object.keys(metric)[0]);
16
- const extendedMetrics = [...metricsKeys, ...AGGREGATION_ADDITIONAL_PARAMS];
17
- return inputs.reduce((acc, input, index) => {
18
- for (const metric of extendedMetrics) {
19
- if (!(metric in input)) {
20
- throw new MissingAggregationParamError(METRIC_MISSING(metric, index));
21
- }
22
- /** Checks if metric is timestamp or duration, then adds to aggregated value. */
23
- if (AGGREGATION_ADDITIONAL_PARAMS.includes(metric)) {
24
- if (isTemporal) {
25
- acc[metric] = input[metric];
26
- }
27
- }
28
- else {
29
- const method = (0, aggregate_1.getAggregationMethod)(metric);
30
- if (!method) {
31
- return acc;
32
- }
33
- acc[metric] = acc[metric] ?? 0;
34
- acc[metric] += parseFloat(input[metric]);
35
- /** Checks for the last iteration. */
36
- if (index === inputs.length - 1) {
37
- if (method === 'avg') {
38
- acc[metric] /= inputs.length;
39
- }
40
- }
41
- }
42
- }
43
- return acc;
44
- }, {});
45
- };
46
- exports.aggregateInputsIntoOne = aggregateInputsIntoOne;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi91dGlsL2FnZ3JlZ2F0aW9uLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBNkM7QUFHN0Msc0NBQTBDO0FBSTFDLGdEQUFzRDtBQUV0RCxNQUFNLEVBQUMsNEJBQTRCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDOUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDakMsTUFBTSxFQUFDLDZCQUE2QixFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9DOzs7R0FHRztBQUNJLE1BQU0sc0JBQXNCLEdBQUcsQ0FDcEMsTUFBc0IsRUFDdEIsT0FBNEIsRUFDNUIsVUFBb0IsRUFDcEIsRUFBRTtJQUNGLE1BQU0sV0FBVyxHQUFhLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLFdBQVcsRUFBRSxHQUFHLDZCQUE2QixDQUFDLENBQUM7SUFFM0UsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN6QyxLQUFLLE1BQU0sTUFBTSxJQUFJLGVBQWUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDdkU7WUFFRCxnRkFBZ0Y7WUFDaEYsSUFBSSw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksVUFBVSxFQUFFO29CQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxNQUFNLEdBQUcsSUFBQSxnQ0FBb0IsRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFFNUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDWCxPQUFPLEdBQUcsQ0FBQztpQkFDWjtnQkFFRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFFekMscUNBQXFDO2dCQUNyQyxJQUFJLEtBQUssS0FBSyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDL0IsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO3dCQUNwQixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQztxQkFDOUI7aUJBQ0Y7YUFDRjtTQUNGO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBdUIsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQXhDVyxRQUFBLHNCQUFzQiwwQkF3Q2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5pbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtDT05GSUcsIFNUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7QWdncmVnYXRpb25NZXRyaWMsIEFnZ3JlZ2F0aW9uUmVzdWx0fSBmcm9tICcuLi90eXBlcy9hZ2dyZWdhdGlvbic7XG5cbmltcG9ydCB7Z2V0QWdncmVnYXRpb25NZXRob2R9IGZyb20gJy4uL2xpYi9hZ2dyZWdhdGUnO1xuXG5jb25zdCB7TWlzc2luZ0FnZ3JlZ2F0aW9uUGFyYW1FcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7TUVUUklDX01JU1NJTkd9ID0gU1RSSU5HUztcbmNvbnN0IHtBR0dSRUdBVElPTl9BRERJVElPTkFMX1BBUkFNU30gPSBDT05GSUc7XG5cbi8qKlxuICogQWdncmVnYXRlcyBjaGlsZCBub2RlIGxldmVsIG1ldHJpY3MuIFZhbGlkYXRlcyBpZiBtZXRyaWMgYWdncmVnYXRpb24gdHlwZSBpcyBgbm9uZWAsIHRoZW4gcmVqZWN0cyB3aXRoIGVycm9yLlxuICogQXBwZW5kcyBhZ2dyZWdhdGlvbiBhZGRpdGlvbmFsIHBhcmFtcyB0byBtZXRyaWNzLiBPdGhlcndpc2UgaXRlcmF0ZXMgb3ZlciBpbnB1dHMgYnkgYWdncmVnYXRpbmcgcGVyIGdpdmVuIGBtZXRyaWNzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGFnZ3JlZ2F0ZUlucHV0c0ludG9PbmUgPSAoXG4gIGlucHV0czogUGx1Z2luUGFyYW1zW10sXG4gIG1ldHJpY3M6IEFnZ3JlZ2F0aW9uTWV0cmljW10sXG4gIGlzVGVtcG9yYWw/OiBib29sZWFuXG4pID0+IHtcbiAgY29uc3QgbWV0cmljc0tleXM6IHN0cmluZ1tdID0gbWV0cmljcy5tYXAobWV0cmljID0+IE9iamVjdC5rZXlzKG1ldHJpYylbMF0pO1xuICBjb25zdCBleHRlbmRlZE1ldHJpY3MgPSBbLi4ubWV0cmljc0tleXMsIC4uLkFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TXTtcblxuICByZXR1cm4gaW5wdXRzLnJlZHVjZSgoYWNjLCBpbnB1dCwgaW5kZXgpID0+IHtcbiAgICBmb3IgKGNvbnN0IG1ldHJpYyBvZiBleHRlbmRlZE1ldHJpY3MpIHtcbiAgICAgIGlmICghKG1ldHJpYyBpbiBpbnB1dCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IE1pc3NpbmdBZ2dyZWdhdGlvblBhcmFtRXJyb3IoTUVUUklDX01JU1NJTkcobWV0cmljLCBpbmRleCkpO1xuICAgICAgfVxuXG4gICAgICAvKiogQ2hlY2tzIGlmIG1ldHJpYyBpcyB0aW1lc3RhbXAgb3IgZHVyYXRpb24sIHRoZW4gYWRkcyB0byBhZ2dyZWdhdGVkIHZhbHVlLiAqL1xuICAgICAgaWYgKEFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TLmluY2x1ZGVzKG1ldHJpYykpIHtcbiAgICAgICAgaWYgKGlzVGVtcG9yYWwpIHtcbiAgICAgICAgICBhY2NbbWV0cmljXSA9IGlucHV0W21ldHJpY107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IGdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYyk7XG5cbiAgICAgICAgaWYgKCFtZXRob2QpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgYWNjW21ldHJpY10gPSBhY2NbbWV0cmljXSA/PyAwO1xuICAgICAgICBhY2NbbWV0cmljXSArPSBwYXJzZUZsb2F0KGlucHV0W21ldHJpY10pO1xuXG4gICAgICAgIC8qKiBDaGVja3MgZm9yIHRoZSBsYXN0IGl0ZXJhdGlvbi4gKi9cbiAgICAgICAgaWYgKGluZGV4ID09PSBpbnB1dHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIGlmIChtZXRob2QgPT09ICdhdmcnKSB7XG4gICAgICAgICAgICBhY2NbbWV0cmljXSAvPSBpbnB1dHMubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0KTtcbn07XG4iXX0=
@@ -1,9 +0,0 @@
1
- import { ProcessArgsOutputs } from '../types/process-args';
2
- /**
3
- * 1. Parses process arguments for `if-run`.
4
- * 2. If output params are missing, warns user about it.
5
- * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
6
- * If it is, then returns object containing full path.
7
- * 4. If params are missing or invalid, then rejects with `ParseCliParamsError`.
8
- */
9
- export declare const parseIfRunProcessArgs: () => ProcessArgsOutputs;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseIfRunProcessArgs = void 0;
4
- const ts_command_line_args_1 = require("ts-command-line-args");
5
- const utils_1 = require("@grnsft/if-core/utils");
6
- const yaml_1 = require("../../common/util/yaml");
7
- const helpers_1 = require("../../common/util/helpers");
8
- const logger_1 = require("../../common/util/logger");
9
- const config_1 = require("../config");
10
- const config_2 = require("../../common/config");
11
- const { ParseCliParamsError, CliSourceFileError } = utils_1.ERRORS;
12
- const { ARGS, HELP } = config_1.CONFIG;
13
- const { NO_OUTPUT } = config_1.STRINGS;
14
- const { SOURCE_IS_NOT_YAML, MANIFEST_IS_MISSING } = config_2.STRINGS;
15
- /**
16
- * Validates `if-run` process arguments.
17
- */
18
- const validateAndParseProcessArgs = () => {
19
- try {
20
- return (0, ts_command_line_args_1.parse)(ARGS, HELP);
21
- }
22
- catch (error) {
23
- if (error instanceof Error) {
24
- throw new ParseCliParamsError(error.message);
25
- }
26
- throw error;
27
- }
28
- };
29
- /**
30
- * 1. Parses process arguments for `if-run`.
31
- * 2. If output params are missing, warns user about it.
32
- * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
33
- * If it is, then returns object containing full path.
34
- * 4. If params are missing or invalid, then rejects with `ParseCliParamsError`.
35
- */
36
- const parseIfRunProcessArgs = () => {
37
- const { manifest, output, 'no-output': noOutput, debug, observe, regroup, compute, } = validateAndParseProcessArgs();
38
- if (!output && noOutput) {
39
- logger_1.logger.warn(NO_OUTPUT);
40
- }
41
- if (manifest) {
42
- if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
43
- return {
44
- inputPath: (0, helpers_1.prependFullFilePath)(manifest),
45
- outputOptions: {
46
- ...(output && { outputPath: (0, helpers_1.prependFullFilePath)(output) }),
47
- ...(noOutput && { noOutput }),
48
- },
49
- debug,
50
- observe,
51
- regroup,
52
- compute,
53
- };
54
- }
55
- throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
56
- }
57
- throw new CliSourceFileError(MANIFEST_IS_MISSING);
58
- };
59
- exports.parseIfRunProcessArgs = parseIfRunProcessArgs;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEyQztBQUMzQyxpREFBNkM7QUFFN0MsaURBQXlEO0FBQ3pELHVEQUE4RDtBQUU5RCxxREFBZ0Q7QUFFaEQsc0NBQTBDO0FBQzFDLGdEQUE4RDtBQUk5RCxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFekQsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDNUIsTUFBTSxFQUFDLGtCQUFrQixFQUFFLG1CQUFtQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBWSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNJLE1BQU0scUJBQXFCLEdBQUcsR0FBdUIsRUFBRTtJQUM1RCxNQUFNLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQUUsUUFBUSxFQUNyQixLQUFLLEVBQ0wsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEdBQ1IsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBRWxDLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1FBQ3ZCLGVBQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDeEI7SUFFRCxJQUFJLFFBQVEsRUFBRTtRQUNaLElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPO2dCQUNMLFNBQVMsRUFBRSxJQUFBLDZCQUFtQixFQUFDLFFBQVEsQ0FBQztnQkFDeEMsYUFBYSxFQUFFO29CQUNiLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBQyxVQUFVLEVBQUUsSUFBQSw2QkFBbUIsRUFBQyxNQUFNLENBQUMsRUFBQyxDQUFDO29CQUN4RCxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUMsUUFBUSxFQUFDLENBQUM7aUJBQzVCO2dCQUNELEtBQUs7Z0JBQ0wsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87YUFDUixDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtJQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQWxDVyxRQUFBLHFCQUFxQix5QkFrQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3lhbWwnO1xuaW1wb3J0IHtwcmVwZW5kRnVsbEZpbGVQYXRofSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtTVFJJTkdTIGFzIENPTU1PTl9TVFJJTkdTfSBmcm9tICcuLi8uLi9jb21tb24vY29uZmlnJztcblxuaW1wb3J0IHtJZlJ1bkFyZ3MsIFByb2Nlc3NBcmdzT3V0cHV0c30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge1BhcnNlQ2xpUGFyYW1zRXJyb3IsIENsaVNvdXJjZUZpbGVFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtBUkdTLCBIRUxQfSA9IENPTkZJRztcbmNvbnN0IHtOT19PVVRQVVR9ID0gU1RSSU5HUztcbmNvbnN0IHtTT1VSQ0VfSVNfTk9UX1lBTUwsIE1BTklGRVNUX0lTX01JU1NJTkd9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogVmFsaWRhdGVzIGBpZi1ydW5gIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MgPSAoKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlPElmUnVuQXJncz4oQVJHUywgSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIDEuIFBhcnNlcyBwcm9jZXNzIGFyZ3VtZW50cyBmb3IgYGlmLXJ1bmAuXG4gKiAyLiBJZiBvdXRwdXQgcGFyYW1zIGFyZSBtaXNzaW5nLCB3YXJucyB1c2VyIGFib3V0IGl0LlxuICogMy4gT3RoZXJ3aXNlIGNoZWNrcyBpZiBgbWFuaWZlc3RgIHBhcmFtIGlzIHRoZXJlLCB0aGVuIHByb2Nlc3NlcyB3aXRoIGNoZWNraW5nIGlmIGl0J3MgYSB5YW1sIGZpbGUuXG4gKiAgICBJZiBpdCBpcywgdGhlbiByZXR1cm5zIG9iamVjdCBjb250YWluaW5nIGZ1bGwgcGF0aC5cbiAqIDQuIElmIHBhcmFtcyBhcmUgbWlzc2luZyBvciBpbnZhbGlkLCB0aGVuIHJlamVjdHMgd2l0aCBgUGFyc2VDbGlQYXJhbXNFcnJvcmAuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmUnVuUHJvY2Vzc0FyZ3MgPSAoKTogUHJvY2Vzc0FyZ3NPdXRwdXRzID0+IHtcbiAgY29uc3Qge1xuICAgIG1hbmlmZXN0LFxuICAgIG91dHB1dCxcbiAgICAnbm8tb3V0cHV0Jzogbm9PdXRwdXQsXG4gICAgZGVidWcsXG4gICAgb2JzZXJ2ZSxcbiAgICByZWdyb3VwLFxuICAgIGNvbXB1dGUsXG4gIH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoIW91dHB1dCAmJiBub091dHB1dCkge1xuICAgIGxvZ2dlci53YXJuKE5PX09VVFBVVCk7XG4gIH1cblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwobWFuaWZlc3QpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpLFxuICAgICAgICBvdXRwdXRPcHRpb25zOiB7XG4gICAgICAgICAgLi4uKG91dHB1dCAmJiB7b3V0cHV0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aChvdXRwdXQpfSksXG4gICAgICAgICAgLi4uKG5vT3V0cHV0ICYmIHtub091dHB1dH0pLFxuICAgICAgICB9LFxuICAgICAgICBkZWJ1ZyxcbiAgICAgICAgb2JzZXJ2ZSxcbiAgICAgICAgcmVncm91cCxcbiAgICAgICAgY29tcHV0ZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IENsaVNvdXJjZUZpbGVFcnJvcihTT1VSQ0VfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaVNvdXJjZUZpbGVFcnJvcihNQU5JRkVTVF9JU19NSVNTSU5HKTtcbn07XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { GlobalPlugins } from '../../common/types/manifest';
2
- import { PluginStorageInterface } from '../types/plugin-storage';
3
- /**
4
- * Impact engine error handler. Logs errors and appends issue template if error is unknown.
5
- */
6
- export declare const andHandle: (error: Error) => void;
7
- /**
8
- * Append entries from defaults which are missing from inputs.
9
- */
10
- export declare const mergeObjects: (defaults: any, input: any) => Record<string, any>;
11
- /**
12
- * Stores `'aggregation-method'` of the plugins in the pipeline.
13
- */
14
- export declare const storeAggregationMethods: (plugins: GlobalPlugins, pluginStorage: PluginStorageInterface) => void;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.storeAggregationMethods = exports.mergeObjects = exports.andHandle = void 0;
4
- const utils_1 = require("@grnsft/if-core/utils");
5
- const logger_1 = require("../../common/util/logger");
6
- const aggregate_1 = require("../lib/aggregate");
7
- const config_1 = require("../config");
8
- const { UNSUPPORTED_ERROR } = config_1.STRINGS;
9
- /**
10
- * Impact engine error handler. Logs errors and appends issue template if error is unknown.
11
- */
12
- const andHandle = (error) => {
13
- const knownErrors = Object.keys(utils_1.ERRORS);
14
- logger_1.logger.error(error);
15
- if (!knownErrors.includes(error.name)) {
16
- logger_1.logger.error(UNSUPPORTED_ERROR(error.name));
17
- // eslint-disable-next-line no-process-exit
18
- process.exit(2);
19
- }
20
- };
21
- exports.andHandle = andHandle;
22
- /**
23
- * Append entries from defaults which are missing from inputs.
24
- */
25
- const mergeObjects = (defaults, input) => {
26
- const merged = structuredClone(input);
27
- for (const key in defaults) {
28
- if (!(key in input)) {
29
- merged[key] = defaults[key];
30
- }
31
- if (merged[key] === undefined || merged[key] === null) {
32
- merged[key] = defaults[key];
33
- }
34
- }
35
- return merged;
36
- };
37
- exports.mergeObjects = mergeObjects;
38
- /**
39
- * Stores `'aggregation-method'` of the plugins in the pipeline.
40
- */
41
- const storeAggregationMethods = (plugins, pluginStorage) => {
42
- Object.keys(plugins).forEach(pluginName => {
43
- const plugin = pluginStorage.get(pluginName);
44
- if ('inputs' in plugin.metadata || 'outputs' in plugin.metadata) {
45
- const pluginParameters = { ...plugin.metadata.inputs, ...plugin.metadata.outputs } || {};
46
- Object.entries(pluginParameters).forEach(([parameterName, parameterMetadata]) => {
47
- const { 'aggregation-method': aggregationMethod } = parameterMetadata;
48
- if (aggregationMethod) {
49
- const metrics = { [parameterName]: aggregationMethod };
50
- (0, aggregate_1.storeAggregationMetrics)(metrics);
51
- }
52
- });
53
- }
54
- });
55
- };
56
- exports.storeAggregationMethods = storeAggregationMethods;
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE2QztBQUU3QyxxREFBZ0Q7QUFHaEQsZ0RBQXlEO0FBRXpELHNDQUFrQztBQUVsQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXBDOztHQUVHO0FBQ0ksTUFBTSxTQUFTLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtJQUN4QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQU0sQ0FBQyxDQUFDO0lBRXhDLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3JDLGVBQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUMsMkNBQTJDO1FBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakI7QUFDSCxDQUFDLENBQUM7QUFWVyxRQUFBLFNBQVMsYUFVcEI7QUFFRjs7R0FFRztBQUNJLE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBYSxFQUFFLEtBQVUsRUFBRSxFQUFFO0lBQ3hELE1BQU0sTUFBTSxHQUF3QixlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFM0QsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUU7UUFDMUIsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7UUFFRCxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNyRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdCO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFkVyxRQUFBLFlBQVksZ0JBY3ZCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLHVCQUF1QixHQUFHLENBQ3JDLE9BQXNCLEVBQ3RCLGFBQXFDLEVBQ3JDLEVBQUU7SUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUN4QyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdDLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksU0FBUyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDL0QsTUFBTSxnQkFBZ0IsR0FDcEIsRUFBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUMsSUFBSSxFQUFFLENBQUM7WUFFaEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FDdEMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sRUFBQyxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBQyxHQUFHLGlCQUFpQixDQUFDO2dCQUVwRSxJQUFJLGlCQUFpQixFQUFFO29CQUNyQixNQUFNLE9BQU8sR0FBRyxFQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQztvQkFFckQsSUFBQSxtQ0FBdUIsRUFBQyxPQUFPLENBQUMsQ0FBQztpQkFDbEM7WUFDSCxDQUFDLENBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUF4QlcsUUFBQSx1QkFBdUIsMkJBd0JsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvbG9nZ2VyJztcbmltcG9ydCB7R2xvYmFsUGx1Z2luc30gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuaW1wb3J0IHtzdG9yZUFnZ3JlZ2F0aW9uTWV0cmljc30gZnJvbSAnLi4vbGliL2FnZ3JlZ2F0ZSc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuY29uc3Qge1VOU1VQUE9SVEVEX0VSUk9SfSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wYWN0IGVuZ2luZSBlcnJvciBoYW5kbGVyLiBMb2dzIGVycm9ycyBhbmQgYXBwZW5kcyBpc3N1ZSB0ZW1wbGF0ZSBpZiBlcnJvciBpcyB1bmtub3duLlxuICovXG5leHBvcnQgY29uc3QgYW5kSGFuZGxlID0gKGVycm9yOiBFcnJvcikgPT4ge1xuICBjb25zdCBrbm93bkVycm9ycyA9IE9iamVjdC5rZXlzKEVSUk9SUyk7XG5cbiAgbG9nZ2VyLmVycm9yKGVycm9yKTtcblxuICBpZiAoIWtub3duRXJyb3JzLmluY2x1ZGVzKGVycm9yLm5hbWUpKSB7XG4gICAgbG9nZ2VyLmVycm9yKFVOU1VQUE9SVEVEX0VSUk9SKGVycm9yLm5hbWUpKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvY2Vzcy1leGl0XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59O1xuXG4vKipcbiAqIEFwcGVuZCBlbnRyaWVzIGZyb20gZGVmYXVsdHMgd2hpY2ggYXJlIG1pc3NpbmcgZnJvbSBpbnB1dHMuXG4gKi9cbmV4cG9ydCBjb25zdCBtZXJnZU9iamVjdHMgPSAoZGVmYXVsdHM6IGFueSwgaW5wdXQ6IGFueSkgPT4ge1xuICBjb25zdCBtZXJnZWQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBzdHJ1Y3R1cmVkQ2xvbmUoaW5wdXQpO1xuXG4gIGZvciAoY29uc3Qga2V5IGluIGRlZmF1bHRzKSB7XG4gICAgaWYgKCEoa2V5IGluIGlucHV0KSkge1xuICAgICAgbWVyZ2VkW2tleV0gPSBkZWZhdWx0c1trZXldO1xuICAgIH1cblxuICAgIGlmIChtZXJnZWRba2V5XSA9PT0gdW5kZWZpbmVkIHx8IG1lcmdlZFtrZXldID09PSBudWxsKSB7XG4gICAgICBtZXJnZWRba2V5XSA9IGRlZmF1bHRzW2tleV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlZDtcbn07XG5cbi8qKlxuICogU3RvcmVzIGAnYWdncmVnYXRpb24tbWV0aG9kJ2Agb2YgdGhlIHBsdWdpbnMgaW4gdGhlIHBpcGVsaW5lLlxuICovXG5leHBvcnQgY29uc3Qgc3RvcmVBZ2dyZWdhdGlvbk1ldGhvZHMgPSAoXG4gIHBsdWdpbnM6IEdsb2JhbFBsdWdpbnMsXG4gIHBsdWdpblN0b3JhZ2U6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2VcbikgPT4ge1xuICBPYmplY3Qua2V5cyhwbHVnaW5zKS5mb3JFYWNoKHBsdWdpbk5hbWUgPT4ge1xuICAgIGNvbnN0IHBsdWdpbiA9IHBsdWdpblN0b3JhZ2UuZ2V0KHBsdWdpbk5hbWUpO1xuXG4gICAgaWYgKCdpbnB1dHMnIGluIHBsdWdpbi5tZXRhZGF0YSB8fCAnb3V0cHV0cycgaW4gcGx1Z2luLm1ldGFkYXRhKSB7XG4gICAgICBjb25zdCBwbHVnaW5QYXJhbWV0ZXJzID1cbiAgICAgICAgey4uLnBsdWdpbi5tZXRhZGF0YS5pbnB1dHMsIC4uLnBsdWdpbi5tZXRhZGF0YS5vdXRwdXRzfSB8fCB7fTtcblxuICAgICAgT2JqZWN0LmVudHJpZXMocGx1Z2luUGFyYW1ldGVycykuZm9yRWFjaChcbiAgICAgICAgKFtwYXJhbWV0ZXJOYW1lLCBwYXJhbWV0ZXJNZXRhZGF0YV0pID0+IHtcbiAgICAgICAgICBjb25zdCB7J2FnZ3JlZ2F0aW9uLW1ldGhvZCc6IGFnZ3JlZ2F0aW9uTWV0aG9kfSA9IHBhcmFtZXRlck1ldGFkYXRhO1xuXG4gICAgICAgICAgaWYgKGFnZ3JlZ2F0aW9uTWV0aG9kKSB7XG4gICAgICAgICAgICBjb25zdCBtZXRyaWNzID0ge1twYXJhbWV0ZXJOYW1lXTogYWdncmVnYXRpb25NZXRob2R9O1xuXG4gICAgICAgICAgICBzdG9yZUFnZ3JlZ2F0aW9uTWV0cmljcyhtZXRyaWNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9KTtcbn07XG4iXX0=
@@ -1,3 +0,0 @@
1
- import { LeveledLogMethod } from 'winston';
2
- /** Singleton pattern. */
3
- export declare const memoizedLog: (logger: LeveledLogMethod | typeof console.debug, message: string) => void;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.memoizedLog = void 0;
4
- /**
5
- * Keeps in memory logged messages. If called with redundant message, skips logging.
6
- */
7
- const memoizedLogger = () => {
8
- const memory = [];
9
- return (logger, message) => {
10
- if (memory.includes(message)) {
11
- return;
12
- }
13
- memory.push(message);
14
- logger(message);
15
- };
16
- };
17
- /** Singleton pattern. */
18
- exports.memoizedLog = memoizedLogger();
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3V0aWwvbG9nLW1lbW9pemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7O0dBRUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7SUFDMUIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLE9BQU8sQ0FBQyxNQUErQyxFQUFFLE9BQWUsRUFBRSxFQUFFO1FBQzFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRix5QkFBeUI7QUFDWixRQUFBLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TGV2ZWxlZExvZ01ldGhvZH0gZnJvbSAnd2luc3Rvbic7XG5cbi8qKlxuICogS2VlcHMgaW4gbWVtb3J5IGxvZ2dlZCBtZXNzYWdlcy4gSWYgY2FsbGVkIHdpdGggcmVkdW5kYW50IG1lc3NhZ2UsIHNraXBzIGxvZ2dpbmcuXG4gKi9cbmNvbnN0IG1lbW9pemVkTG9nZ2VyID0gKCkgPT4ge1xuICBjb25zdCBtZW1vcnk6IHN0cmluZ1tdID0gW107XG5cbiAgcmV0dXJuIChsb2dnZXI6IExldmVsZWRMb2dNZXRob2QgfCB0eXBlb2YgY29uc29sZS5kZWJ1ZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKG1lbW9yeS5pbmNsdWRlcyhtZXNzYWdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1lbW9yeS5wdXNoKG1lc3NhZ2UpO1xuICAgIGxvZ2dlcihtZXNzYWdlKTtcbiAgfTtcbn07XG5cbi8qKiBTaW5nbGV0b24gcGF0dGVybi4gKi9cbmV4cG9ydCBjb25zdCBtZW1vaXplZExvZyA9IG1lbW9pemVkTG9nZ2VyKCk7XG4iXX0=
@@ -1,7 +0,0 @@
1
- /**
2
- * Finds operating system information like name and version.
3
- */
4
- export declare const osInfo: () => Promise<{
5
- os: string;
6
- 'os-version': string;
7
- }>;
@@ -1,97 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.osInfo = void 0;
4
- const os_1 = require("os");
5
- const helpers_1 = require("../../common/util/helpers");
6
- /**
7
- * Executes `lsb_release -a` command in terminal.
8
- *
9
- * ```
10
- * Distributor ID: Ubuntu
11
- * Description: Ubuntu 22.04.4 LTS
12
- * Release: 22.04
13
- * Codename: jammy
14
- * ```
15
- *
16
- * Parses os and os-version from the response.
17
- */
18
- const getLinuxInfo = async () => {
19
- const { stdout } = await (0, helpers_1.execPromise)('lsb_release -a');
20
- const parseLinuxVersion = (lsbReleaseResponse) => {
21
- const regex = /Distributor ID: ([^\n]+)\nDescription: +([^ ]+) +([^ ]+) +(.+)\n/;
22
- const match = lsbReleaseResponse.match(regex);
23
- return {
24
- os: match ? match[1] : (0, os_1.platform)(),
25
- 'os-version': match ? `${match[3]} ${match[4]}` : (0, os_1.release)(),
26
- };
27
- };
28
- return parseLinuxVersion(stdout);
29
- };
30
- /**
31
- * Executes in CMD `systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version"` command.
32
- *
33
- * ```
34
- * OS Name: Microsoft Windows 11 Enterprise
35
- * OS Version: 10.0.22631 N/A Build 22631
36
- * ```
37
- *
38
- * Parses os and os-version from the response.
39
- */
40
- const getWindowsInfo = async () => {
41
- const { stdout } = await (0, helpers_1.execPromise)('systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version"');
42
- const parseWindowsInfo = (systemInfoResponse) => {
43
- const regex = /OS Name:\s+([^\n]+)\nOS Version:\s+([\d.]+)\s+(N\/A\s+Build\s+(\d+))/;
44
- const match = systemInfoResponse.match(regex);
45
- return {
46
- os: match ? match[1] : (0, os_1.platform)(),
47
- 'os-version': match ? `${match[2]} ${match[3]}` : (0, os_1.release)(),
48
- };
49
- };
50
- return parseWindowsInfo(stdout);
51
- };
52
- /**
53
- * Executes `sw_vers` command in terminal.
54
- *
55
- * ```
56
- * ProductName: macOS
57
- * ProductVersion: 14.3.1
58
- * BuildVersion: 23D60
59
- * ```
60
- *
61
- * Parses os and os version from the response.
62
- */
63
- const getMacVersion = async () => {
64
- const { stdout } = await (0, helpers_1.execPromise)('sw_vers');
65
- const parseMacInfo = (swVersResponse) => {
66
- const productNameRegex = /ProductName:\s*(.+)/;
67
- const productVersionRegex = /ProductVersion:\s*(.+)/;
68
- const nameMatch = swVersResponse.match(productNameRegex);
69
- const versionMatch = swVersResponse.match(productVersionRegex);
70
- return {
71
- os: nameMatch ? nameMatch[1].trim() : (0, os_1.platform)(),
72
- 'os-version': versionMatch ? versionMatch[1].trim() : (0, os_1.release)(),
73
- };
74
- };
75
- return parseMacInfo(stdout);
76
- };
77
- /**
78
- * Finds operating system information like name and version.
79
- */
80
- const osInfo = async () => {
81
- const osKind = (0, os_1.platform)();
82
- switch (osKind) {
83
- case 'darwin':
84
- return getMacVersion();
85
- case 'linux':
86
- return getLinuxInfo();
87
- case 'win32':
88
- return getWindowsInfo();
89
- default:
90
- return {
91
- os: osKind,
92
- 'os-version': (0, os_1.release)(),
93
- };
94
- }
95
- };
96
- exports.osInfo = osInfo;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY2hlY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9vcy1jaGVja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFxQztBQUVyQyx1REFBc0Q7QUFFdEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLHFCQUFXLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVyRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsa0JBQTBCLEVBQUUsRUFBRTtRQUN2RCxNQUFNLEtBQUssR0FDVCxrRUFBa0UsQ0FBQztRQUNyRSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTztZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsWUFBTyxHQUFFO1NBQzVELENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sY0FBYyxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2hDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFDaEMseURBQXlELENBQzFELENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsa0JBQTBCLEVBQUUsRUFBRTtRQUN0RCxNQUFNLEtBQUssR0FDVCxzRUFBc0UsQ0FBQztRQUN6RSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTztZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsWUFBTyxHQUFFO1NBQzVELENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLHFCQUFXLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxjQUFzQixFQUFFLEVBQUU7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztRQUMvQyxNQUFNLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDO1FBRXJELE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFL0QsT0FBTztZQUNMLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDaEQsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFBLFlBQU8sR0FBRTtTQUNoRSxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFBLGFBQVEsR0FBRSxDQUFDO0lBRTFCLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxRQUFRO1lBQ1gsT0FBTyxhQUFhLEVBQUUsQ0FBQztRQUN6QixLQUFLLE9BQU87WUFDVixPQUFPLFlBQVksRUFBRSxDQUFDO1FBQ3hCLEtBQUssT0FBTztZQUNWLE9BQU8sY0FBYyxFQUFFLENBQUM7UUFDMUI7WUFDRSxPQUFPO2dCQUNMLEVBQUUsRUFBRSxNQUFNO2dCQUNWLFlBQVksRUFBRSxJQUFBLFlBQU8sR0FBRTthQUN4QixDQUFDO0tBQ0w7QUFDSCxDQUFDLENBQUM7QUFoQlcsUUFBQSxNQUFNLFVBZ0JqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cmVsZWFzZSwgcGxhdGZvcm19IGZyb20gJ29zJztcblxuaW1wb3J0IHtleGVjUHJvbWlzZX0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvaGVscGVycyc7XG5cbi8qKlxuICogRXhlY3V0ZXMgYGxzYl9yZWxlYXNlIC1hYCBjb21tYW5kIGluIHRlcm1pbmFsLlxuICpcbiAqIGBgYFxuICogRGlzdHJpYnV0b3IgSUQ6IFVidW50dVxuICogRGVzY3JpcHRpb246ICAgIFVidW50dSAyMi4wNC40IExUU1xuICogUmVsZWFzZTogICAgICAgIDIyLjA0XG4gKiBDb2RlbmFtZTogICAgICAgamFtbXlcbiAqIGBgYFxuICpcbiAqIFBhcnNlcyBvcyBhbmQgb3MtdmVyc2lvbiBmcm9tIHRoZSByZXNwb25zZS5cbiAqL1xuY29uc3QgZ2V0TGludXhJbmZvID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNQcm9taXNlKCdsc2JfcmVsZWFzZSAtYScpO1xuXG4gIGNvbnN0IHBhcnNlTGludXhWZXJzaW9uID0gKGxzYlJlbGVhc2VSZXNwb25zZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVnZXggPVxuICAgICAgL0Rpc3RyaWJ1dG9yIElEOiAoW15cXG5dKylcXG5EZXNjcmlwdGlvbjogKyhbXiBdKykgKyhbXiBdKykgKyguKylcXG4vO1xuICAgIGNvbnN0IG1hdGNoID0gbHNiUmVsZWFzZVJlc3BvbnNlLm1hdGNoKHJlZ2V4KTtcblxuICAgIHJldHVybiB7XG4gICAgICBvczogbWF0Y2ggPyBtYXRjaFsxXSA6IHBsYXRmb3JtKCksXG4gICAgICAnb3MtdmVyc2lvbic6IG1hdGNoID8gYCR7bWF0Y2hbM119ICR7bWF0Y2hbNF19YCA6IHJlbGVhc2UoKSxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiBwYXJzZUxpbnV4VmVyc2lvbihzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBFeGVjdXRlcyBpbiBDTUQgYHN5c3RlbWluZm8gfCBmaW5kc3RyIC9CIC9DOlwiT1MgTmFtZVwiIC9CIC9DOlwiT1MgVmVyc2lvblwiYCBjb21tYW5kLlxuICpcbiAqIGBgYFxuICogT1MgTmFtZTogICAgICAgICAgICAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3MgMTEgRW50ZXJwcmlzZVxuICogT1MgVmVyc2lvbjogICAgICAgICAgICAgICAgMTAuMC4yMjYzMSBOL0EgQnVpbGQgMjI2MzFcbiAqIGBgYFxuICpcbiAqIFBhcnNlcyBvcyBhbmQgb3MtdmVyc2lvbiBmcm9tIHRoZSByZXNwb25zZS5cbiAqL1xuY29uc3QgZ2V0V2luZG93c0luZm8gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgZXhlY1Byb21pc2UoXG4gICAgJ3N5c3RlbWluZm8gfCBmaW5kc3RyIC9CIC9DOlwiT1MgTmFtZVwiIC9CIC9DOlwiT1MgVmVyc2lvblwiJ1xuICApO1xuXG4gIGNvbnN0IHBhcnNlV2luZG93c0luZm8gPSAoc3lzdGVtSW5mb1Jlc3BvbnNlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCByZWdleCA9XG4gICAgICAvT1MgTmFtZTpcXHMrKFteXFxuXSspXFxuT1MgVmVyc2lvbjpcXHMrKFtcXGQuXSspXFxzKyhOXFwvQVxccytCdWlsZFxccysoXFxkKykpLztcbiAgICBjb25zdCBtYXRjaCA9IHN5c3RlbUluZm9SZXNwb25zZS5tYXRjaChyZWdleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3M6IG1hdGNoID8gbWF0Y2hbMV0gOiBwbGF0Zm9ybSgpLFxuICAgICAgJ29zLXZlcnNpb24nOiBtYXRjaCA/IGAke21hdGNoWzJdfSAke21hdGNoWzNdfWAgOiByZWxlYXNlKCksXG4gICAgfTtcbiAgfTtcblxuICByZXR1cm4gcGFyc2VXaW5kb3dzSW5mbyhzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBFeGVjdXRlcyBgc3dfdmVyc2AgY29tbWFuZCBpbiB0ZXJtaW5hbC5cbiAqXG4gKiBgYGBcbiAqIFByb2R1Y3ROYW1lOiAgICAgIG1hY09TXG4gKiBQcm9kdWN0VmVyc2lvbjogICAxNC4zLjFcbiAqIEJ1aWxkVmVyc2lvbjogICAgIDIzRDYwXG4gKiBgYGBcbiAqXG4gKiBQYXJzZXMgb3MgYW5kIG9zIHZlcnNpb24gZnJvbSB0aGUgcmVzcG9uc2UuXG4gKi9cbmNvbnN0IGdldE1hY1ZlcnNpb24gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgZXhlY1Byb21pc2UoJ3N3X3ZlcnMnKTtcblxuICBjb25zdCBwYXJzZU1hY0luZm8gPSAoc3dWZXJzUmVzcG9uc2U6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHByb2R1Y3ROYW1lUmVnZXggPSAvUHJvZHVjdE5hbWU6XFxzKiguKykvO1xuICAgIGNvbnN0IHByb2R1Y3RWZXJzaW9uUmVnZXggPSAvUHJvZHVjdFZlcnNpb246XFxzKiguKykvO1xuXG4gICAgY29uc3QgbmFtZU1hdGNoID0gc3dWZXJzUmVzcG9uc2UubWF0Y2gocHJvZHVjdE5hbWVSZWdleCk7XG4gICAgY29uc3QgdmVyc2lvbk1hdGNoID0gc3dWZXJzUmVzcG9uc2UubWF0Y2gocHJvZHVjdFZlcnNpb25SZWdleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3M6IG5hbWVNYXRjaCA/IG5hbWVNYXRjaFsxXS50cmltKCkgOiBwbGF0Zm9ybSgpLFxuICAgICAgJ29zLXZlcnNpb24nOiB2ZXJzaW9uTWF0Y2ggPyB2ZXJzaW9uTWF0Y2hbMV0udHJpbSgpIDogcmVsZWFzZSgpLFxuICAgIH07XG4gIH07XG5cbiAgcmV0dXJuIHBhcnNlTWFjSW5mbyhzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBGaW5kcyBvcGVyYXRpbmcgc3lzdGVtIGluZm9ybWF0aW9uIGxpa2UgbmFtZSBhbmQgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IG9zSW5mbyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qgb3NLaW5kID0gcGxhdGZvcm0oKTtcblxuICBzd2l0Y2ggKG9zS2luZCkge1xuICAgIGNhc2UgJ2Rhcndpbic6XG4gICAgICByZXR1cm4gZ2V0TWFjVmVyc2lvbigpO1xuICAgIGNhc2UgJ2xpbnV4JzpcbiAgICAgIHJldHVybiBnZXRMaW51eEluZm8oKTtcbiAgICBjYXNlICd3aW4zMic6XG4gICAgICByZXR1cm4gZ2V0V2luZG93c0luZm8oKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3M6IG9zS2luZCxcbiAgICAgICAgJ29zLXZlcnNpb24nOiByZWxlYXNlKCksXG4gICAgICB9O1xuICB9XG59O1xuIl19
@@ -1,14 +0,0 @@
1
- import { PluginInterface } from '../types/interface';
2
- /**
3
- * Storage for maintaining plugins.
4
- */
5
- export declare const pluginStorage: () => {
6
- /**
7
- * Gets plugin by given `name`. If it's missing then throws error.
8
- */
9
- get: (name: string) => import("@grnsft/if-core/types").ExecutePlugin;
10
- /**
11
- * Saves given `plugin` with given `name`.
12
- */
13
- set: (name: string, plugin: PluginInterface) => any;
14
- };
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pluginStorage = void 0;
4
- const utils_1 = require("@grnsft/if-core/utils");
5
- const config_1 = require("../config");
6
- const { PluginInitializationError } = utils_1.ERRORS;
7
- const { NOT_INITALIZED_PLUGIN } = config_1.STRINGS;
8
- /**
9
- * Storage for maintaining plugins.
10
- */
11
- const pluginStorage = () => {
12
- const storage = {};
13
- return {
14
- /**
15
- * Gets plugin by given `name`. If it's missing then throws error.
16
- */
17
- get: (name) => {
18
- const plugin = storage[name];
19
- if (!plugin) {
20
- throw new PluginInitializationError(NOT_INITALIZED_PLUGIN(name));
21
- }
22
- return plugin;
23
- },
24
- /**
25
- * Saves given `plugin` with given `name`.
26
- */
27
- set: function (name, plugin) {
28
- storage[name] = plugin;
29
- return this;
30
- },
31
- };
32
- };
33
- exports.pluginStorage = pluginStorage;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3V0aWwvcGx1Z2luLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTZDO0FBRTdDLHNDQUFrQztBQUtsQyxNQUFNLEVBQUMseUJBQXlCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDM0MsTUFBTSxFQUFDLHFCQUFxQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUV4Qzs7R0FFRztBQUNJLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUNoQyxNQUFNLE9BQU8sR0FBa0IsRUFBRSxDQUFDO0lBRWxDLE9BQU87UUFDTDs7V0FFRztRQUNILEdBQUcsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNEOztXQUVHO1FBQ0gsR0FBRyxFQUFFLFVBQVUsSUFBWSxFQUFFLE1BQXVCO1lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFFdkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXpCVyxRQUFBLGFBQWEsaUJBeUJ4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7UGx1Z2luU3RvcmFnZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuaW1wb3J0IHtQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5cbmNvbnN0IHtQbHVnaW5Jbml0aWFsaXphdGlvbkVycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtOT1RfSU5JVEFMSVpFRF9QTFVHSU59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBTdG9yYWdlIGZvciBtYWludGFpbmluZyBwbHVnaW5zLlxuICovXG5leHBvcnQgY29uc3QgcGx1Z2luU3RvcmFnZSA9ICgpID0+IHtcbiAgY29uc3Qgc3RvcmFnZTogUGx1Z2luU3RvcmFnZSA9IHt9O1xuXG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogR2V0cyBwbHVnaW4gYnkgZ2l2ZW4gYG5hbWVgLiBJZiBpdCdzIG1pc3NpbmcgdGhlbiB0aHJvd3MgZXJyb3IuXG4gICAgICovXG4gICAgZ2V0OiAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwbHVnaW4gPSBzdG9yYWdlW25hbWVdO1xuXG4gICAgICBpZiAoIXBsdWdpbikge1xuICAgICAgICB0aHJvdyBuZXcgUGx1Z2luSW5pdGlhbGl6YXRpb25FcnJvcihOT1RfSU5JVEFMSVpFRF9QTFVHSU4obmFtZSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGx1Z2luO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogU2F2ZXMgZ2l2ZW4gYHBsdWdpbmAgd2l0aCBnaXZlbiBgbmFtZWAuXG4gICAgICovXG4gICAgc2V0OiBmdW5jdGlvbiAobmFtZTogc3RyaW5nLCBwbHVnaW46IFBsdWdpbkludGVyZmFjZSkge1xuICAgICAgc3RvcmFnZVtuYW1lXSA9IHBsdWdpbjtcblxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
@@ -1,71 +0,0 @@
1
- # Setting up the Impact Framework Grafana dashboard
2
- (for any questions please contact paz.barda@intel.com / pazbarda@gmail.com)
3
-
4
- ## Download and Install Grafana
5
- https://grafana.com/get/?plcmt=top-nav&cta=downloads&tab=self-managed
6
-
7
- This is the self managed version: you install it and can run it on your local machine.
8
-
9
- ## Open Grafana on your local machine
10
- Web browser: localhost:3000
11
-
12
- You should see the Grafana welcome page.
13
-
14
- ## Download and Install Grafana CSV plugin
15
- https://grafana.com/grafana/plugins/marcusolsson-csv-datasource/?tab=installation
16
-
17
- After installation, go to Menu -> Plugins, search for "CSV" and make sure CSV plugin is there
18
-
19
- ## Import the dashboard json config
20
-
21
- Menu -> Dashboards -> New -> Import
22
-
23
- 1. Drag and drop "grafana_config.json" from this folder to Grafana webpage
24
- 2. Optional - change the name of the dashboard and the details text on the right
25
- 3. Click import.
26
-
27
- Dashboard should now appear, but with no data fed into the charts (yet).
28
-
29
- ## Create a data source for your OMPL CSV file
30
- Menu -> Connections -> Data Sources -> Add data source
31
-
32
- 1. Search for "CSV", you should see the CSV plugin. Click it.
33
- 2. Name you new data source.
34
- 3. Switch from "HTTP" to "Local".
35
- 4. Type/paste in the path to your ompl csv ("your/path/to/csvs/if-iee-demo.csv" in our example)
36
-
37
- Click Save & Test
38
-
39
-
40
-
41
- ## Connect your OMPL CSV data source to your dashboard
42
-
43
- Menu -> Dashboards -> Select your new dashboard
44
-
45
- For each blank chart:
46
-
47
- 1. Click the chart menu -> edit
48
- 2. Below the chart go to Quary tab
49
- 3. At the top of the tab select the ompl CSV datasource you created
50
- 4. Go to Transform tab, and select the fields you'd like to show on the chart.
51
- 5. Start with "timestamp" and convert it to "Time".
52
- 6. Any other numeric value you'd like to show should be converted to "Number"
53
-
54
- Click Apply
55
-
56
- Click Save
57
-
58
- NOTE: when you select a CSV file (step 3) it might initially not show the columns in the transformation dropdown. if that happens - save the dashboard, exit it refresh the Grafana webpage (localhost:3000). Once you go into the dashboard again it should show the columns for transformation.
59
-
60
-
61
- ## Enable auto-refresh of the dashboard
62
-
63
- On the top right of the dashboard, look for the "refresh dashboard" button
64
-
65
- Click the dropdown next to it, and choose the auto-refresh interval
66
-
67
- Click Save
68
-
69
- ## Your dashboard is now ready to go!
70
- With every change to you CSV file you should see it reflect on the dashboard momentarily.
71
-