@grnsft/if 0.6.0-beta.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 (354) 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 +24 -0
  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 +7 -5
  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 +136 -0
  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 -8
  157. package/build/common/config/strings.js +0 -16
  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 -12
  179. package/build/if-check/config/strings.js +0 -16
  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 -37
  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 -4
  195. package/build/if-csv/config/strings.js +0 -8
  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 -51
  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-run/builtins/coefficient/index.d.ts +0 -2
  249. package/build/if-run/builtins/coefficient/index.js +0 -67
  250. package/build/if-run/builtins/copy-param/index.d.ts +0 -2
  251. package/build/if-run/builtins/copy-param/index.js +0 -70
  252. package/build/if-run/builtins/csv-lookup/index.d.ts +0 -2
  253. package/build/if-run/builtins/csv-lookup/index.js +0 -190
  254. package/build/if-run/builtins/divide/index.d.ts +0 -2
  255. package/build/if-run/builtins/divide/index.js +0 -80
  256. package/build/if-run/builtins/exponent/index.d.ts +0 -2
  257. package/build/if-run/builtins/exponent/index.js +0 -60
  258. package/build/if-run/builtins/export-log.d.ts +0 -4
  259. package/build/if-run/builtins/export-log.js +0 -44
  260. package/build/if-run/builtins/export-yaml.d.ts +0 -4
  261. package/build/if-run/builtins/export-yaml.js +0 -30
  262. package/build/if-run/builtins/index.d.ts +0 -15
  263. package/build/if-run/builtins/index.js +0 -34
  264. package/build/if-run/builtins/interpolation/index.d.ts +0 -2
  265. package/build/if-run/builtins/interpolation/index.js +0 -151
  266. package/build/if-run/builtins/mock-observations/helpers/common-generator.d.ts +0 -3
  267. package/build/if-run/builtins/mock-observations/helpers/common-generator.js +0 -29
  268. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.d.ts +0 -3
  269. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
  270. package/build/if-run/builtins/mock-observations/index.d.ts +0 -2
  271. package/build/if-run/builtins/mock-observations/index.js +0 -116
  272. package/build/if-run/builtins/mock-observations/interfaces/index.d.ts +0 -6
  273. package/build/if-run/builtins/mock-observations/interfaces/index.js +0 -3
  274. package/build/if-run/builtins/multiply/index.d.ts +0 -2
  275. package/build/if-run/builtins/multiply/index.js +0 -59
  276. package/build/if-run/builtins/regex/index.d.ts +0 -2
  277. package/build/if-run/builtins/regex/index.js +0 -76
  278. package/build/if-run/builtins/sci/config.d.ts +0 -1
  279. package/build/if-run/builtins/sci/config.js +0 -44
  280. package/build/if-run/builtins/sci/index.d.ts +0 -2
  281. package/build/if-run/builtins/sci/index.js +0 -92
  282. package/build/if-run/builtins/sci-embodied/index.d.ts +0 -2
  283. package/build/if-run/builtins/sci-embodied/index.js +0 -156
  284. package/build/if-run/builtins/shell/index.d.ts +0 -2
  285. package/build/if-run/builtins/shell/index.js +0 -60
  286. package/build/if-run/builtins/subtract/index.d.ts +0 -2
  287. package/build/if-run/builtins/subtract/index.js +0 -61
  288. package/build/if-run/builtins/sum/index.d.ts +0 -2
  289. package/build/if-run/builtins/sum/index.js +0 -66
  290. package/build/if-run/builtins/time-sync/index.d.ts +0 -17
  291. package/build/if-run/builtins/time-sync/index.js +0 -339
  292. package/build/if-run/config/config.d.ts +0 -9
  293. package/build/if-run/config/config.js +0 -73
  294. package/build/if-run/config/index.d.ts +0 -2
  295. package/build/if-run/config/index.js +0 -8
  296. package/build/if-run/config/strings.d.ts +0 -64
  297. package/build/if-run/config/strings.js +0 -76
  298. package/build/if-run/index.d.ts +0 -2
  299. package/build/if-run/index.js +0 -63
  300. package/build/if-run/lib/aggregate.d.ts +0 -15
  301. package/build/if-run/lib/aggregate.js +0 -123
  302. package/build/if-run/lib/compute.d.ts +0 -5
  303. package/build/if-run/lib/compute.js +0 -136
  304. package/build/if-run/lib/environment.d.ts +0 -5
  305. package/build/if-run/lib/environment.js +0 -75
  306. package/build/if-run/lib/exhaust.d.ts +0 -7
  307. package/build/if-run/lib/exhaust.js +0 -27
  308. package/build/if-run/lib/explain.d.ts +0 -9
  309. package/build/if-run/lib/explain.js +0 -43
  310. package/build/if-run/lib/initialize.d.ts +0 -6
  311. package/build/if-run/lib/initialize.js +0 -109
  312. package/build/if-run/lib/regroup.d.ts +0 -5
  313. package/build/if-run/lib/regroup.js +0 -64
  314. package/build/if-run/types/aggregation.d.ts +0 -5
  315. package/build/if-run/types/aggregation.js +0 -6
  316. package/build/if-run/types/compute.d.ts +0 -29
  317. package/build/if-run/types/compute.js +0 -3
  318. package/build/if-run/types/environment.d.ts +0 -18
  319. package/build/if-run/types/environment.js +0 -3
  320. package/build/if-run/types/exhaust-plugin-interface.d.ts +0 -7
  321. package/build/if-run/types/exhaust-plugin-interface.js +0 -3
  322. package/build/if-run/types/explain.d.ts +0 -10
  323. package/build/if-run/types/explain.js +0 -3
  324. package/build/if-run/types/interface.d.ts +0 -3
  325. package/build/if-run/types/interface.js +0 -6
  326. package/build/if-run/types/plugin-storage.d.ts +0 -6
  327. package/build/if-run/types/plugin-storage.js +0 -3
  328. package/build/if-run/types/process-args.d.ts +0 -25
  329. package/build/if-run/types/process-args.js +0 -3
  330. package/build/if-run/types/time-sync.d.ts +0 -17
  331. package/build/if-run/types/time-sync.js +0 -3
  332. package/build/if-run/util/aggregation-helper.d.ts +0 -7
  333. package/build/if-run/util/aggregation-helper.js +0 -47
  334. package/build/if-run/util/args.d.ts +0 -9
  335. package/build/if-run/util/args.js +0 -60
  336. package/build/if-run/util/helpers.d.ts +0 -14
  337. package/build/if-run/util/helpers.js +0 -57
  338. package/build/if-run/util/log-memoize.d.ts +0 -3
  339. package/build/if-run/util/log-memoize.js +0 -19
  340. package/build/if-run/util/os-checker.d.ts +0 -7
  341. package/build/if-run/util/os-checker.js +0 -97
  342. package/build/if-run/util/plugin-storage.d.ts +0 -14
  343. package/build/if-run/util/plugin-storage.js +0 -34
  344. package/grafana/IF_GRAFANA_SETUP.md +0 -71
  345. package/grafana/if_grafana_config.json +0 -370
  346. package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +0 -38
  347. package/manifests/examples/builtins/interpolation/interpolation.yml +0 -24
  348. package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +0 -23
  349. package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +0 -23
  350. package/manifests/examples/pipelines/scenario-1.yml +0 -34
  351. package/manifests/examples/pipelines/scenario-2.yml +0 -52
  352. package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +0 -72
  353. package/manifests/outputs/builtins/sci-embodied/failure-missing-expected-lifespan.yaml +0 -69
  354. package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +0 -449
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.injectEnvironment = void 0;
4
- const luxon_1 = require("luxon");
5
- const os_checker_1 = require("../util/os-checker");
6
- const helpers_1 = require("../../common/util/helpers");
7
- const strings_1 = require("../config/strings");
8
- const packageJson = require('../../../package.json');
9
- const { CAPTURING_RUNTIME_ENVIRONMENT_DATA } = strings_1.STRINGS;
10
- /**
11
- * 1. Gets the high-resolution real time when the application starts.
12
- * 2. Converts the high-resolution time to milliseconds.
13
- * 3. Gets the current DateTime.
14
- * 4. Subtracts the milliseconds from the current DateTime.
15
- */
16
- const getProcessStartingTimestamp = () => {
17
- const startTime = process.hrtime();
18
- const [seconds, nanoseconds] = process.hrtime(startTime);
19
- const milliseconds = seconds * 1000 + nanoseconds / 1e6;
20
- const currentDateTime = luxon_1.DateTime.local();
21
- const applicationStartDateTime = currentDateTime.minus({
22
- milliseconds: milliseconds,
23
- });
24
- return applicationStartDateTime.toUTC().toString();
25
- };
26
- /**
27
- * Goes through the dependencies, converts them into oneliner.
28
- */
29
- const flattenDependencies = (dependencies) => dependencies.map(dependency => {
30
- const [packageName, versionInfo] = dependency;
31
- const { version, extraneous, resolved } = versionInfo;
32
- const ifExtraneous = extraneous ? ` extraneous -> ${resolved}` : '';
33
- const ifFromGithub = resolved && resolved.startsWith('git') ? ` (${resolved})` : '';
34
- const formattedString = `${packageName}@${version}${ifExtraneous || ifFromGithub}`;
35
- return formattedString;
36
- });
37
- /**
38
- * 1. Runs `npm list --json`.
39
- * 2. Parses json data and converts to list.
40
- */
41
- const listDependencies = async () => {
42
- const { stdout } = await (0, helpers_1.execPromise)('npm list --json');
43
- const npmListResponse = JSON.parse(stdout);
44
- if (npmListResponse.dependencies) {
45
- const dependencies = Object.entries(npmListResponse.dependencies);
46
- return flattenDependencies(dependencies);
47
- }
48
- return [];
49
- };
50
- /**
51
- * Injects execution information (command, environment) to existing manifest.
52
- */
53
- const injectEnvironment = async (manifest) => {
54
- console.debug(CAPTURING_RUNTIME_ENVIRONMENT_DATA);
55
- const dependencies = await listDependencies();
56
- const info = await (0, os_checker_1.osInfo)();
57
- const dateTime = `${getProcessStartingTimestamp()} (UTC)`;
58
- return {
59
- ...manifest,
60
- execution: {
61
- status: 'success',
62
- command: process.argv.join(' '),
63
- environment: {
64
- 'if-version': packageJson.version,
65
- os: info.os,
66
- 'os-version': info['os-version'],
67
- 'node-version': process.versions.node,
68
- 'date-time': dateTime,
69
- dependencies,
70
- },
71
- },
72
- };
73
- };
74
- exports.injectEnvironment = injectEnvironment;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL2xpYi9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBK0I7QUFFL0IsbURBQTBDO0FBQzFDLHVEQUFzRDtBQUd0RCwrQ0FBMEM7QUFHMUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFckQsTUFBTSxFQUFDLGtDQUFrQyxFQUFDLEdBQUcsaUJBQU8sQ0FBQztBQUVyRDs7Ozs7R0FLRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVuQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekQsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBRXhELE1BQU0sZUFBZSxHQUFHLGdCQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFekMsTUFBTSx3QkFBd0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1FBQ3JELFlBQVksRUFBRSxZQUFZO0tBQzNCLENBQUMsQ0FBQztJQUVILE9BQU8sd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsWUFBMkMsRUFBRSxFQUFFLENBQzFFLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDNUIsTUFBTSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDOUMsTUFBTSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLEdBQUcsV0FBVyxDQUFDO0lBQ3BELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEUsTUFBTSxZQUFZLEdBQ2hCLFFBQVEsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakUsTUFBTSxlQUFlLEdBQUcsR0FBRyxXQUFXLElBQUksT0FBTyxHQUMvQyxZQUFZLElBQUksWUFDbEIsRUFBRSxDQUFDO0lBRUgsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUM7QUFFTDs7O0dBR0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2xDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sZUFBZSxHQUFvQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVELElBQUksZUFBZSxDQUFDLFlBQVksRUFBRTtRQUNoQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRSxPQUFPLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzFDO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUNwQyxRQUFrQixFQUNDLEVBQUU7SUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBRWxELE1BQU0sWUFBWSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsbUJBQU0sR0FBRSxDQUFDO0lBQzVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsMkJBQTJCLEVBQUUsUUFBUSxDQUFDO0lBRTFELE9BQU87UUFDTCxHQUFHLFFBQVE7UUFDWCxTQUFTLEVBQUU7WUFDVCxNQUFNLEVBQUUsU0FBUztZQUNqQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQy9CLFdBQVcsRUFBRTtnQkFDWCxZQUFZLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQ2pDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDaEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDckMsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLFlBQVk7YUFDYjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXhCVyxRQUFBLGlCQUFpQixxQkF3QjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuXG5pbXBvcnQge29zSW5mb30gZnJvbSAnLi4vdXRpbC9vcy1jaGVja2VyJztcbmltcG9ydCB7ZXhlY1Byb21pc2V9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtNYW5pZmVzdH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5pbXBvcnQge05wbUxpc3RSZXNwb25zZSwgUGFja2FnZURlcGVuZGVuY3l9IGZyb20gJy4uL3R5cGVzL2Vudmlyb25tZW50JztcblxuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi8uLi8uLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge0NBUFRVUklOR19SVU5USU1FX0VOVklST05NRU5UX0RBVEF9ID0gU1RSSU5HUztcblxuLyoqXG4gKiAxLiBHZXRzIHRoZSBoaWdoLXJlc29sdXRpb24gcmVhbCB0aW1lIHdoZW4gdGhlIGFwcGxpY2F0aW9uIHN0YXJ0cy5cbiAqIDIuIENvbnZlcnRzIHRoZSBoaWdoLXJlc29sdXRpb24gdGltZSB0byBtaWxsaXNlY29uZHMuXG4gKiAzLiBHZXRzIHRoZSBjdXJyZW50IERhdGVUaW1lLlxuICogNC4gU3VidHJhY3RzIHRoZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgY3VycmVudCBEYXRlVGltZS5cbiAqL1xuY29uc3QgZ2V0UHJvY2Vzc1N0YXJ0aW5nVGltZXN0YW1wID0gKCkgPT4ge1xuICBjb25zdCBzdGFydFRpbWUgPSBwcm9jZXNzLmhydGltZSgpO1xuXG4gIGNvbnN0IFtzZWNvbmRzLCBuYW5vc2Vjb25kc10gPSBwcm9jZXNzLmhydGltZShzdGFydFRpbWUpO1xuICBjb25zdCBtaWxsaXNlY29uZHMgPSBzZWNvbmRzICogMTAwMCArIG5hbm9zZWNvbmRzIC8gMWU2O1xuXG4gIGNvbnN0IGN1cnJlbnREYXRlVGltZSA9IERhdGVUaW1lLmxvY2FsKCk7XG5cbiAgY29uc3QgYXBwbGljYXRpb25TdGFydERhdGVUaW1lID0gY3VycmVudERhdGVUaW1lLm1pbnVzKHtcbiAgICBtaWxsaXNlY29uZHM6IG1pbGxpc2Vjb25kcyxcbiAgfSk7XG5cbiAgcmV0dXJuIGFwcGxpY2F0aW9uU3RhcnREYXRlVGltZS50b1VUQygpLnRvU3RyaW5nKCk7XG59O1xuXG4vKipcbiAqIEdvZXMgdGhyb3VnaCB0aGUgZGVwZW5kZW5jaWVzLCBjb252ZXJ0cyB0aGVtIGludG8gb25lbGluZXIuXG4gKi9cbmNvbnN0IGZsYXR0ZW5EZXBlbmRlbmNpZXMgPSAoZGVwZW5kZW5jaWVzOiBbc3RyaW5nLCBQYWNrYWdlRGVwZW5kZW5jeV1bXSkgPT5cbiAgZGVwZW5kZW5jaWVzLm1hcChkZXBlbmRlbmN5ID0+IHtcbiAgICBjb25zdCBbcGFja2FnZU5hbWUsIHZlcnNpb25JbmZvXSA9IGRlcGVuZGVuY3k7XG4gICAgY29uc3Qge3ZlcnNpb24sIGV4dHJhbmVvdXMsIHJlc29sdmVkfSA9IHZlcnNpb25JbmZvO1xuICAgIGNvbnN0IGlmRXh0cmFuZW91cyA9IGV4dHJhbmVvdXMgPyBgIGV4dHJhbmVvdXMgLT4gJHtyZXNvbHZlZH1gIDogJyc7XG4gICAgY29uc3QgaWZGcm9tR2l0aHViID1cbiAgICAgIHJlc29sdmVkICYmIHJlc29sdmVkLnN0YXJ0c1dpdGgoJ2dpdCcpID8gYCAoJHtyZXNvbHZlZH0pYCA6ICcnO1xuICAgIGNvbnN0IGZvcm1hdHRlZFN0cmluZyA9IGAke3BhY2thZ2VOYW1lfUAke3ZlcnNpb259JHtcbiAgICAgIGlmRXh0cmFuZW91cyB8fCBpZkZyb21HaXRodWJcbiAgICB9YDtcblxuICAgIHJldHVybiBmb3JtYXR0ZWRTdHJpbmc7XG4gIH0pO1xuXG4vKipcbiAqIDEuIFJ1bnMgYG5wbSBsaXN0IC0tanNvbmAuXG4gKiAyLiBQYXJzZXMganNvbiBkYXRhIGFuZCBjb252ZXJ0cyB0byBsaXN0LlxuICovXG5jb25zdCBsaXN0RGVwZW5kZW5jaWVzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNQcm9taXNlKCducG0gbGlzdCAtLWpzb24nKTtcbiAgY29uc3QgbnBtTGlzdFJlc3BvbnNlOiBOcG1MaXN0UmVzcG9uc2UgPSBKU09OLnBhcnNlKHN0ZG91dCk7XG5cbiAgaWYgKG5wbUxpc3RSZXNwb25zZS5kZXBlbmRlbmNpZXMpIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSBPYmplY3QuZW50cmllcyhucG1MaXN0UmVzcG9uc2UuZGVwZW5kZW5jaWVzKTtcblxuICAgIHJldHVybiBmbGF0dGVuRGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcyk7XG4gIH1cblxuICByZXR1cm4gW107XG59O1xuXG4vKipcbiAqIEluamVjdHMgZXhlY3V0aW9uIGluZm9ybWF0aW9uIChjb21tYW5kLCBlbnZpcm9ubWVudCkgdG8gZXhpc3RpbmcgbWFuaWZlc3QuXG4gKi9cbmV4cG9ydCBjb25zdCBpbmplY3RFbnZpcm9ubWVudCA9IGFzeW5jIChcbiAgbWFuaWZlc3Q6IE1hbmlmZXN0XG4pOiBQcm9taXNlPE1hbmlmZXN0PiA9PiB7XG4gIGNvbnNvbGUuZGVidWcoQ0FQVFVSSU5HX1JVTlRJTUVfRU5WSVJPTk1FTlRfREFUQSk7XG5cbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gYXdhaXQgbGlzdERlcGVuZGVuY2llcygpO1xuICBjb25zdCBpbmZvID0gYXdhaXQgb3NJbmZvKCk7XG4gIGNvbnN0IGRhdGVUaW1lID0gYCR7Z2V0UHJvY2Vzc1N0YXJ0aW5nVGltZXN0YW1wKCl9IChVVEMpYDtcblxuICByZXR1cm4ge1xuICAgIC4uLm1hbmlmZXN0LFxuICAgIGV4ZWN1dGlvbjoge1xuICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICBjb21tYW5kOiBwcm9jZXNzLmFyZ3Yuam9pbignICcpLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgJ2lmLXZlcnNpb24nOiBwYWNrYWdlSnNvbi52ZXJzaW9uLFxuICAgICAgICBvczogaW5mby5vcyxcbiAgICAgICAgJ29zLXZlcnNpb24nOiBpbmZvWydvcy12ZXJzaW9uJ10sXG4gICAgICAgICdub2RlLXZlcnNpb24nOiBwcm9jZXNzLnZlcnNpb25zLm5vZGUsXG4gICAgICAgICdkYXRlLXRpbWUnOiBkYXRlVGltZSxcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- import { Options } from '../types/process-args';
2
- import { Context } from '../../common/types/manifest';
3
- /**
4
- * Output manager - Exhaust.
5
- * Grabs output plugins from context, executes every.
6
- */
7
- export declare const exhaust: (tree: any, context: Context, outputOptions: Options) => Promise<void>;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exhaust = void 0;
4
- /**
5
- * @todo This is temporary solution, will be refactored to support dynamic plugins.
6
- */
7
- const export_log_1 = require("../builtins/export-log");
8
- const export_yaml_1 = require("../builtins/export-yaml");
9
- const config_1 = require("../config");
10
- const { PREPARING_OUTPUT_DATA } = config_1.STRINGS;
11
- /**
12
- * Output manager - Exhaust.
13
- * Grabs output plugins from context, executes every.
14
- */
15
- const exhaust = async (tree, context, outputOptions) => {
16
- console.debug(PREPARING_OUTPUT_DATA);
17
- if (!outputOptions.noOutput && !outputOptions.outputPath) {
18
- (0, export_log_1.ExportLog)().execute(tree, context);
19
- }
20
- if (!outputOptions.outputPath) {
21
- return;
22
- }
23
- const exportYaml = (0, export_yaml_1.ExportYaml)();
24
- await exportYaml.execute(tree, context, outputOptions.outputPath);
25
- };
26
- exports.exhaust = exhaust;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2V4aGF1c3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCx1REFBaUQ7QUFDakQseURBQW1EO0FBRW5ELHNDQUFrQztBQUtsQyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhDOzs7R0FHRztBQUNJLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFDMUIsSUFBUyxFQUNULE9BQWdCLEVBQ2hCLGFBQXNCLEVBQ3RCLEVBQUU7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFckMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO1FBQ3hELElBQUEsc0JBQVMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDcEM7SUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtRQUM3QixPQUFPO0tBQ1I7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHdCQUFVLEdBQUUsQ0FBQztJQUVoQyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDO0FBbEJXLFFBQUEsT0FBTyxXQWtCbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEB0b2RvIFRoaXMgaXMgdGVtcG9yYXJ5IHNvbHV0aW9uLCB3aWxsIGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBkeW5hbWljIHBsdWdpbnMuXG4gKi9cbmltcG9ydCB7RXhwb3J0TG9nfSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtbG9nJztcbmltcG9ydCB7RXhwb3J0WWFtbH0gZnJvbSAnLi4vYnVpbHRpbnMvZXhwb3J0LXlhbWwnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7T3B0aW9uc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcblxuY29uc3Qge1BSRVBBUklOR19PVVRQVVRfREFUQX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIE91dHB1dCBtYW5hZ2VyIC0gRXhoYXVzdC5cbiAqIEdyYWJzIG91dHB1dCBwbHVnaW5zIGZyb20gY29udGV4dCwgZXhlY3V0ZXMgZXZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBleGhhdXN0ID0gYXN5bmMgKFxuICB0cmVlOiBhbnksXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIG91dHB1dE9wdGlvbnM6IE9wdGlvbnNcbikgPT4ge1xuICBjb25zb2xlLmRlYnVnKFBSRVBBUklOR19PVVRQVVRfREFUQSk7XG5cbiAgaWYgKCFvdXRwdXRPcHRpb25zLm5vT3V0cHV0ICYmICFvdXRwdXRPcHRpb25zLm91dHB1dFBhdGgpIHtcbiAgICBFeHBvcnRMb2coKS5leGVjdXRlKHRyZWUsIGNvbnRleHQpO1xuICB9XG5cbiAgaWYgKCFvdXRwdXRPcHRpb25zLm91dHB1dFBhdGgpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBleHBvcnRZYW1sID0gRXhwb3J0WWFtbCgpO1xuXG4gIGF3YWl0IGV4cG9ydFlhbWwuZXhlY3V0ZSh0cmVlLCBjb250ZXh0LCBvdXRwdXRPcHRpb25zLm91dHB1dFBhdGgpO1xufTtcbiJdfQ==
@@ -1,9 +0,0 @@
1
- import { ExplainParams } from '../types/explain';
2
- /**
3
- * Retrieves stored explain data.
4
- */
5
- export declare const explain: () => object;
6
- /**
7
- * Adds new explain data to the stored explain data.
8
- */
9
- export declare const addExplainData: (params: ExplainParams) => void;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addExplainData = exports.explain = void 0;
4
- /**
5
- * Retrieves stored explain data.
6
- */
7
- const explain = () => storeExplainData.plugins;
8
- exports.explain = explain;
9
- /**
10
- * Manages the storage of explain data.
11
- */
12
- const storeExplainData = (() => {
13
- let plugin = {};
14
- const pluginManager = {
15
- get plugins() {
16
- return plugin;
17
- },
18
- set plugins(value) {
19
- plugin = value;
20
- },
21
- };
22
- return pluginManager;
23
- })();
24
- /**
25
- * Adds new explain data to the stored explain data.
26
- */
27
- const addExplainData = (params) => {
28
- const { pluginName, pluginData, metadata } = params;
29
- const plugin = {
30
- [pluginName]: {
31
- method: pluginData.method,
32
- path: pluginData.path,
33
- inputs: metadata?.inputs || 'undefined',
34
- outputs: metadata?.outputs || 'undefined',
35
- },
36
- };
37
- storeExplainData.plugins = {
38
- ...storeExplainData.plugins,
39
- ...plugin,
40
- };
41
- };
42
- exports.addExplainData = addExplainData;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2V4cGxhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7O0dBRUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7QUFBekMsUUFBQSxPQUFPLFdBQWtDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRTtJQUM3QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFFaEIsTUFBTSxhQUFhLEdBQUc7UUFDcEIsSUFBSSxPQUFPO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLEtBQWE7WUFDdkIsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNqQixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFTDs7R0FFRztBQUNJLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBcUIsRUFBRSxFQUFFO0lBQ3RELE1BQU0sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBQyxHQUFHLE1BQU0sQ0FBQztJQUNsRCxNQUFNLE1BQU0sR0FBRztRQUNiLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDWixNQUFNLEVBQUUsVUFBVyxDQUFDLE1BQU07WUFDMUIsSUFBSSxFQUFFLFVBQVcsQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxJQUFJLFdBQVc7WUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLElBQUksV0FBVztTQUMxQztLQUNGLENBQUM7SUFFRixnQkFBZ0IsQ0FBQyxPQUFPLEdBQUc7UUFDekIsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPO1FBQzNCLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDLENBQUM7QUFmVyxRQUFBLGNBQWMsa0JBZXpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFeHBsYWluUGFyYW1zfSBmcm9tICcuLi90eXBlcy9leHBsYWluJztcblxuLyoqXG4gKiBSZXRyaWV2ZXMgc3RvcmVkIGV4cGxhaW4gZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4cGxhaW4gPSAoKSA9PiBzdG9yZUV4cGxhaW5EYXRhLnBsdWdpbnM7XG5cbi8qKlxuICogTWFuYWdlcyB0aGUgc3RvcmFnZSBvZiBleHBsYWluIGRhdGEuXG4gKi9cbmNvbnN0IHN0b3JlRXhwbGFpbkRhdGEgPSAoKCkgPT4ge1xuICBsZXQgcGx1Z2luID0ge307XG5cbiAgY29uc3QgcGx1Z2luTWFuYWdlciA9IHtcbiAgICBnZXQgcGx1Z2lucygpIHtcbiAgICAgIHJldHVybiBwbHVnaW47XG4gICAgfSxcbiAgICBzZXQgcGx1Z2lucyh2YWx1ZTogb2JqZWN0KSB7XG4gICAgICBwbHVnaW4gPSB2YWx1ZTtcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBwbHVnaW5NYW5hZ2VyO1xufSkoKTtcblxuLyoqXG4gKiBBZGRzIG5ldyBleHBsYWluIGRhdGEgdG8gdGhlIHN0b3JlZCBleHBsYWluIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBhZGRFeHBsYWluRGF0YSA9IChwYXJhbXM6IEV4cGxhaW5QYXJhbXMpID0+IHtcbiAgY29uc3Qge3BsdWdpbk5hbWUsIHBsdWdpbkRhdGEsIG1ldGFkYXRhfSA9IHBhcmFtcztcbiAgY29uc3QgcGx1Z2luID0ge1xuICAgIFtwbHVnaW5OYW1lXToge1xuICAgICAgbWV0aG9kOiBwbHVnaW5EYXRhIS5tZXRob2QsXG4gICAgICBwYXRoOiBwbHVnaW5EYXRhIS5wYXRoLFxuICAgICAgaW5wdXRzOiBtZXRhZGF0YT8uaW5wdXRzIHx8ICd1bmRlZmluZWQnLFxuICAgICAgb3V0cHV0czogbWV0YWRhdGE/Lm91dHB1dHMgfHwgJ3VuZGVmaW5lZCcsXG4gICAgfSxcbiAgfTtcblxuICBzdG9yZUV4cGxhaW5EYXRhLnBsdWdpbnMgPSB7XG4gICAgLi4uc3RvcmVFeHBsYWluRGF0YS5wbHVnaW5zLFxuICAgIC4uLnBsdWdpbixcbiAgfTtcbn07XG4iXX0=
@@ -1,6 +0,0 @@
1
- import { Context } from '../../common/types/manifest';
2
- import { PluginStorageInterface } from '../types/plugin-storage';
3
- /**
4
- * Registers all plugins from `manifest`.`initialize` property.
5
- */
6
- export declare const initialize: (context: Context) => Promise<PluginStorageInterface>;
@@ -1,109 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.initialize = void 0;
27
- const path = __importStar(require("node:path"));
28
- const utils_1 = require("@grnsft/if-core/utils");
29
- const logger_1 = require("../../common/util/logger");
30
- const log_memoize_1 = require("../util/log-memoize");
31
- const plugin_storage_1 = require("../util/plugin-storage");
32
- const config_1 = require("../config");
33
- const aggregate_1 = require("./aggregate");
34
- const { PluginInitializationError, MissingPluginMethodError, MissingPluginPathError, } = utils_1.ERRORS;
35
- const { GITHUB_PATH, NATIVE_PLUGIN } = config_1.CONFIG;
36
- const { MISSING_METHOD, MISSING_PATH, NOT_NATIVE_PLUGIN, INVALID_MODULE_PATH, LOADING_PLUGIN_FROM_PATH, INITIALIZING_PLUGIN, INITIALIZING_PLUGINS, } = config_1.STRINGS;
37
- /**
38
- * Imports module by given `path`.
39
- */
40
- const importModuleFrom = async (path) => {
41
- const module = await Promise.resolve(`${path}`).then(s => __importStar(require(s))).catch(error => {
42
- throw new PluginInitializationError(INVALID_MODULE_PATH(path, error));
43
- });
44
- return module;
45
- };
46
- /**
47
- * Imports `module` from given `path`, then checks if it's `ModelPluginInterface` extension.
48
- */
49
- const importAndVerifyModule = async (method, path) => {
50
- const pluginModule = await importModuleFrom(path);
51
- return pluginModule[method];
52
- };
53
- /**
54
- * Checks if plugin is missing then rejects with error.
55
- * Then checks if `path` is starting with github, then grabs the repository name.
56
- * Imports module, then checks if it's a valid plugin.
57
- */
58
- const handModule = (method, pluginPath) => {
59
- console.debug(LOADING_PLUGIN_FROM_PATH(method, pluginPath));
60
- if (pluginPath === 'builtin') {
61
- pluginPath = path.normalize(`${__dirname}/../builtins`);
62
- }
63
- else {
64
- if (pluginPath?.startsWith(GITHUB_PATH)) {
65
- const parts = pluginPath.split('/');
66
- pluginPath = parts[parts.length - 1];
67
- }
68
- if (!pluginPath.includes(NATIVE_PLUGIN)) {
69
- (0, log_memoize_1.memoizedLog)(logger_1.logger.warn, NOT_NATIVE_PLUGIN(pluginPath));
70
- }
71
- }
72
- return importAndVerifyModule(method, pluginPath);
73
- };
74
- /**
75
- * Initializes plugin with global config.
76
- */
77
- const initPlugin = async (initPluginParams) => {
78
- const { method, path, 'global-config': globalConfig, 'parameter-metadata': parameterMetadata, } = initPluginParams;
79
- console.debug(INITIALIZING_PLUGIN(method));
80
- if (!method) {
81
- throw new MissingPluginMethodError(MISSING_METHOD);
82
- }
83
- if (!path) {
84
- throw new MissingPluginPathError(MISSING_PATH);
85
- }
86
- const plugin = await handModule(method, path);
87
- return plugin(globalConfig, parameterMetadata);
88
- };
89
- /**
90
- * Registers all plugins from `manifest`.`initialize` property.
91
- */
92
- const initialize = async (context) => {
93
- console.debug(INITIALIZING_PLUGINS);
94
- const { plugins } = context.initialize;
95
- const storage = (0, plugin_storage_1.pluginStorage)();
96
- for await (const pluginName of Object.keys(plugins)) {
97
- const plugin = await initPlugin(plugins[pluginName]);
98
- const parameters = { ...plugin.metadata.inputs, ...plugin.metadata.outputs };
99
- Object.keys(parameters).forEach(key => {
100
- (0, aggregate_1.storeAggregationMetrics)({
101
- [key]: parameters[key]['aggregation-method'],
102
- });
103
- });
104
- storage.set(pluginName, plugin);
105
- }
106
- return storage;
107
- };
108
- exports.initialize = initialize;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2luaXRpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEMsaURBQTZDO0FBRTdDLHFEQUFnRDtBQUNoRCxxREFBZ0Q7QUFDaEQsMkRBQXFEO0FBRXJELHNDQUEwQztBQUsxQywyQ0FBb0Q7QUFFcEQsTUFBTSxFQUNKLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLEdBQUcsY0FBTSxDQUFDO0FBRVgsTUFBTSxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUMsTUFBTSxFQUNKLGNBQWMsRUFDZCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLG9CQUFvQixHQUNyQixHQUFHLGdCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO0lBQzlDLE1BQU0sTUFBTSxHQUFHLE1BQU0sbUJBQU8sSUFBSSx3Q0FBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUMsTUFBTSxJQUFJLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxFQUFFO0lBQ3hELE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFNUQsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO1FBQzVCLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxjQUFjLENBQUMsQ0FBQztLQUN6RDtTQUFNO1FBQ0wsSUFBSSxVQUFVLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDdkMsSUFBQSx5QkFBVyxFQUFDLGVBQU0sQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUN6RDtLQUNGO0lBRUQsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDbkQsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQ3RCLGdCQUErQixFQUNMLEVBQUU7SUFDNUIsTUFBTSxFQUNKLE1BQU0sRUFDTixJQUFJLEVBQ0osZUFBZSxFQUFFLFlBQVksRUFDN0Isb0JBQW9CLEVBQUUsaUJBQWlCLEdBQ3hDLEdBQUcsZ0JBQWlCLENBQUM7SUFFdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTNDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLElBQUksd0JBQXdCLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDcEQ7SUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsTUFBTSxJQUFJLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQ2hEO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTlDLE9BQU8sTUFBTSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUM3QixPQUFnQixFQUNpQixFQUFFO0lBQ25DLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFBLDhCQUFhLEdBQUUsQ0FBQztJQUVoQyxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ25ELE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sVUFBVSxHQUFHLEVBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLENBQUM7UUFFM0UsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEMsSUFBQSxtQ0FBdUIsRUFBQztnQkFDdEIsQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsb0JBQW9CLENBQUM7YUFDN0MsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNqQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQXJCVyxRQUFBLFVBQVUsY0FxQnJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5pbXBvcnQge21lbW9pemVkTG9nfSBmcm9tICcuLi91dGlsL2xvZy1tZW1vaXplJztcbmltcG9ydCB7cGx1Z2luU3RvcmFnZX0gZnJvbSAnLi4vdXRpbC9wbHVnaW4tc3RvcmFnZSc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1BsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7Q29udGV4dCwgUGx1Z2luT3B0aW9uc30gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuaW1wb3J0IHtzdG9yZUFnZ3JlZ2F0aW9uTWV0cmljc30gZnJvbSAnLi9hZ2dyZWdhdGUnO1xuXG5jb25zdCB7XG4gIFBsdWdpbkluaXRpYWxpemF0aW9uRXJyb3IsXG4gIE1pc3NpbmdQbHVnaW5NZXRob2RFcnJvcixcbiAgTWlzc2luZ1BsdWdpblBhdGhFcnJvcixcbn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtHSVRIVUJfUEFUSCwgTkFUSVZFX1BMVUdJTn0gPSBDT05GSUc7XG5jb25zdCB7XG4gIE1JU1NJTkdfTUVUSE9ELFxuICBNSVNTSU5HX1BBVEgsXG4gIE5PVF9OQVRJVkVfUExVR0lOLFxuICBJTlZBTElEX01PRFVMRV9QQVRILFxuICBMT0FESU5HX1BMVUdJTl9GUk9NX1BBVEgsXG4gIElOSVRJQUxJWklOR19QTFVHSU4sXG4gIElOSVRJQUxJWklOR19QTFVHSU5TLFxufSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wb3J0cyBtb2R1bGUgYnkgZ2l2ZW4gYHBhdGhgLlxuICovXG5jb25zdCBpbXBvcnRNb2R1bGVGcm9tID0gYXN5bmMgKHBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgIHRocm93IG5ldyBQbHVnaW5Jbml0aWFsaXphdGlvbkVycm9yKElOVkFMSURfTU9EVUxFX1BBVEgocGF0aCwgZXJyb3IpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1vZHVsZTtcbn07XG5cbi8qKlxuICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCwgdGhlbiBjaGVja3MgaWYgaXQncyBgTW9kZWxQbHVnaW5JbnRlcmZhY2VgIGV4dGVuc2lvbi5cbiAqL1xuY29uc3QgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlID0gYXN5bmMgKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGx1Z2luTW9kdWxlID0gYXdhaXQgaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luTW9kdWxlW21ldGhvZF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBwbHVnaW4gaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAqIFRoZW4gY2hlY2tzIGlmIGBwYXRoYCBpcyBzdGFydGluZyB3aXRoIGdpdGh1YiwgdGhlbiBncmFicyB0aGUgcmVwb3NpdG9yeSBuYW1lLlxuICogSW1wb3J0cyBtb2R1bGUsIHRoZW4gY2hlY2tzIGlmIGl0J3MgYSB2YWxpZCBwbHVnaW4uXG4gKi9cbmNvbnN0IGhhbmRNb2R1bGUgPSAobWV0aG9kOiBzdHJpbmcsIHBsdWdpblBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zb2xlLmRlYnVnKExPQURJTkdfUExVR0lOX0ZST01fUEFUSChtZXRob2QsIHBsdWdpblBhdGgpKTtcblxuICBpZiAocGx1Z2luUGF0aCA9PT0gJ2J1aWx0aW4nKSB7XG4gICAgcGx1Z2luUGF0aCA9IHBhdGgubm9ybWFsaXplKGAke19fZGlybmFtZX0vLi4vYnVpbHRpbnNgKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocGx1Z2luUGF0aD8uc3RhcnRzV2l0aChHSVRIVUJfUEFUSCkpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gcGx1Z2luUGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGx1Z2luUGF0aCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIGlmICghcGx1Z2luUGF0aC5pbmNsdWRlcyhOQVRJVkVfUExVR0lOKSkge1xuICAgICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIE5PVF9OQVRJVkVfUExVR0lOKHBsdWdpblBhdGgpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW1wb3J0QW5kVmVyaWZ5TW9kdWxlKG1ldGhvZCwgcGx1Z2luUGF0aCk7XG59O1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHBsdWdpbiB3aXRoIGdsb2JhbCBjb25maWcuXG4gKi9cbmNvbnN0IGluaXRQbHVnaW4gPSBhc3luYyAoXG4gIGluaXRQbHVnaW5QYXJhbXM6IFBsdWdpbk9wdGlvbnNcbik6IFByb21pc2U8UGx1Z2luSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBtZXRob2QsXG4gICAgcGF0aCxcbiAgICAnZ2xvYmFsLWNvbmZpZyc6IGdsb2JhbENvbmZpZyxcbiAgICAncGFyYW1ldGVyLW1ldGFkYXRhJzogcGFyYW1ldGVyTWV0YWRhdGEsXG4gIH0gPSBpbml0UGx1Z2luUGFyYW1zITtcblxuICBjb25zb2xlLmRlYnVnKElOSVRJQUxJWklOR19QTFVHSU4obWV0aG9kKSk7XG5cbiAgaWYgKCFtZXRob2QpIHtcbiAgICB0aHJvdyBuZXcgTWlzc2luZ1BsdWdpbk1ldGhvZEVycm9yKE1JU1NJTkdfTUVUSE9EKTtcbiAgfVxuXG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBNaXNzaW5nUGx1Z2luUGF0aEVycm9yKE1JU1NJTkdfUEFUSCk7XG4gIH1cblxuICBjb25zdCBwbHVnaW4gPSBhd2FpdCBoYW5kTW9kdWxlKG1ldGhvZCwgcGF0aCk7XG5cbiAgcmV0dXJuIHBsdWdpbihnbG9iYWxDb25maWcsIHBhcmFtZXRlck1ldGFkYXRhKTtcbn07XG5cbi8qKlxuICogUmVnaXN0ZXJzIGFsbCBwbHVnaW5zIGZyb20gYG1hbmlmZXN0YC5gaW5pdGlhbGl6ZWAgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplID0gYXN5bmMgKFxuICBjb250ZXh0OiBDb250ZXh0XG4pOiBQcm9taXNlPFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U+ID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhJTklUSUFMSVpJTkdfUExVR0lOUyk7XG4gIGNvbnN0IHtwbHVnaW5zfSA9IGNvbnRleHQuaW5pdGlhbGl6ZTtcbiAgY29uc3Qgc3RvcmFnZSA9IHBsdWdpblN0b3JhZ2UoKTtcblxuICBmb3IgYXdhaXQgKGNvbnN0IHBsdWdpbk5hbWUgb2YgT2JqZWN0LmtleXMocGx1Z2lucykpIHtcbiAgICBjb25zdCBwbHVnaW4gPSBhd2FpdCBpbml0UGx1Z2luKHBsdWdpbnNbcGx1Z2luTmFtZV0pO1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7Li4ucGx1Z2luLm1ldGFkYXRhLmlucHV0cywgLi4ucGx1Z2luLm1ldGFkYXRhLm91dHB1dHN9O1xuXG4gICAgT2JqZWN0LmtleXMocGFyYW1ldGVycykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgc3RvcmVBZ2dyZWdhdGlvbk1ldHJpY3Moe1xuICAgICAgICBba2V5XTogcGFyYW1ldGVyc1trZXldWydhZ2dyZWdhdGlvbi1tZXRob2QnXSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgc3RvcmFnZS5zZXQocGx1Z2luTmFtZSwgcGx1Z2luKTtcbiAgfVxuXG4gIHJldHVybiBzdG9yYWdlO1xufTtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- import { PluginParams } from '@grnsft/if-core/types';
2
- /**
3
- * Grouping strategy.
4
- */
5
- export declare const Regroup: (inputs: PluginParams[], groups: string[]) => any;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Regroup = void 0;
4
- const zod_1 = require("zod");
5
- const utils_1 = require("@grnsft/if-core/utils");
6
- const validations_1 = require("../../common/util/validations");
7
- const config_1 = require("../config");
8
- const { InvalidGroupingError } = utils_1.ERRORS;
9
- const { INVALID_GROUP_KEY, REGROUP_ERROR } = config_1.STRINGS;
10
- /**
11
- * Grouping strategy.
12
- */
13
- const Regroup = (inputs, groups) => {
14
- /**
15
- * Creates structure to insert inputs by groups.
16
- */
17
- const appendGroup = (value, object, groups) => {
18
- if (groups.length > 0) {
19
- const group = groups.shift();
20
- object.children = object.children ?? {};
21
- object.children[group] = object.children[group] ?? {};
22
- if (groups.length === 0) {
23
- if (object.children[group].inputs &&
24
- object.children[group].inputs.length > 0) {
25
- object.children[group].inputs.push(value);
26
- }
27
- else {
28
- object.children[group].inputs = [value];
29
- }
30
- }
31
- appendGroup(value, object.children[group], groups);
32
- }
33
- return object;
34
- };
35
- /**
36
- * Validates groups array.
37
- */
38
- const validateGroups = (regroup) => {
39
- const inputData = { regroup };
40
- const validationSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.string(), { message: REGROUP_ERROR }).min(1));
41
- (0, validations_1.validate)(validationSchema, inputData);
42
- return groups;
43
- };
44
- /**
45
- * Interates over inputs, grabs group values for each one.
46
- * Based on grouping, initializes the structure.
47
- */
48
- return inputs.reduce((acc, input) => {
49
- const validtedGroups = validateGroups(groups);
50
- const groupsWithData = validtedGroups.map(groupType => {
51
- if (!input[groupType]) {
52
- throw new InvalidGroupingError(INVALID_GROUP_KEY(groupType));
53
- }
54
- return input[groupType];
55
- });
56
- acc = {
57
- ...acc,
58
- ...appendGroup(input, acc, groupsWithData),
59
- };
60
- return acc;
61
- }, {}).children;
62
- };
63
- exports.Regroup = Regroup;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL3JlZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXNCO0FBQ3RCLGlEQUE2QztBQUc3QywrREFBdUQ7QUFFdkQsc0NBQWtDO0FBRWxDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUV0QyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsYUFBYSxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVuRDs7R0FFRztBQUNJLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBc0IsRUFBRSxNQUFnQixFQUFFLEVBQUU7SUFDbEU7O09BRUc7SUFDSCxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsTUFBVyxFQUFFLE1BQWdCLEVBQUUsRUFBRTtRQUN6RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQVksQ0FBQztZQUV2QyxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFdEQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDdkIsSUFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU07b0JBQzdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ3hDO29CQUNBLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDM0M7cUJBQU07b0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDekM7YUFDRjtZQUVELFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNwRDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFpQixFQUFFLEVBQUU7UUFDM0MsTUFBTSxTQUFTLEdBQUcsRUFBQyxPQUFPLEVBQUMsQ0FBQztRQUM1QixNQUFNLGdCQUFnQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQy9CLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFDVixPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FDckQsQ0FBQztRQUVGLElBQUEsc0JBQVEsRUFBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV0QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDckIsTUFBTSxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDOUQ7WUFFRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILEdBQUcsR0FBRztZQUNKLEdBQUcsR0FBRztZQUNOLEdBQUcsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsY0FBYyxDQUFDO1NBQzNDLENBQUM7UUFFRixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUFTLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBaEVXLFFBQUEsT0FBTyxXQWdFbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuY29uc3Qge0ludmFsaWRHcm91cGluZ0Vycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge0lOVkFMSURfR1JPVVBfS0VZLCBSRUdST1VQX0VSUk9SfSA9IFNUUklOR1M7XG5cbi8qKlxuICogR3JvdXBpbmcgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBjb25zdCBSZWdyb3VwID0gKGlucHV0czogUGx1Z2luUGFyYW1zW10sIGdyb3Vwczogc3RyaW5nW10pID0+IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgc3RydWN0dXJlIHRvIGluc2VydCBpbnB1dHMgYnkgZ3JvdXBzLlxuICAgKi9cbiAgY29uc3QgYXBwZW5kR3JvdXAgPSAodmFsdWU6IFBsdWdpblBhcmFtcywgb2JqZWN0OiBhbnksIGdyb3Vwczogc3RyaW5nW10pID0+IHtcbiAgICBpZiAoZ3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGdyb3VwID0gZ3JvdXBzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuXG4gICAgICBvYmplY3QuY2hpbGRyZW4gPSBvYmplY3QuY2hpbGRyZW4gPz8ge307XG4gICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdID0gb2JqZWN0LmNoaWxkcmVuW2dyb3VwXSA/PyB7fTtcblxuICAgICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG9iamVjdC5jaGlsZHJlbltncm91cF0uaW5wdXRzICYmXG4gICAgICAgICAgb2JqZWN0LmNoaWxkcmVuW2dyb3VwXS5pbnB1dHMubGVuZ3RoID4gMFxuICAgICAgICApIHtcbiAgICAgICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdLmlucHV0cy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdLmlucHV0cyA9IFt2YWx1ZV07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYXBwZW5kR3JvdXAodmFsdWUsIG9iamVjdC5jaGlsZHJlbltncm91cF0sIGdyb3Vwcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfTtcblxuICAvKipcbiAgICogVmFsaWRhdGVzIGdyb3VwcyBhcnJheS5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlR3JvdXBzID0gKHJlZ3JvdXA6IHN0cmluZ1tdKSA9PiB7XG4gICAgY29uc3QgaW5wdXREYXRhID0ge3JlZ3JvdXB9O1xuICAgIGNvbnN0IHZhbGlkYXRpb25TY2hlbWEgPSB6LnJlY29yZChcbiAgICAgIHouc3RyaW5nKCksXG4gICAgICB6LmFycmF5KHouc3RyaW5nKCksIHttZXNzYWdlOiBSRUdST1VQX0VSUk9SfSkubWluKDEpXG4gICAgKTtcblxuICAgIHZhbGlkYXRlKHZhbGlkYXRpb25TY2hlbWEsIGlucHV0RGF0YSk7XG5cbiAgICByZXR1cm4gZ3JvdXBzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJbnRlcmF0ZXMgb3ZlciBpbnB1dHMsIGdyYWJzIGdyb3VwIHZhbHVlcyBmb3IgZWFjaCBvbmUuXG4gICAqIEJhc2VkIG9uIGdyb3VwaW5nLCBpbml0aWFsaXplcyB0aGUgc3RydWN0dXJlLlxuICAgKi9cbiAgcmV0dXJuIGlucHV0cy5yZWR1Y2UoKGFjYywgaW5wdXQpID0+IHtcbiAgICBjb25zdCB2YWxpZHRlZEdyb3VwcyA9IHZhbGlkYXRlR3JvdXBzKGdyb3Vwcyk7XG4gICAgY29uc3QgZ3JvdXBzV2l0aERhdGEgPSB2YWxpZHRlZEdyb3Vwcy5tYXAoZ3JvdXBUeXBlID0+IHtcbiAgICAgIGlmICghaW5wdXRbZ3JvdXBUeXBlXSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEdyb3VwaW5nRXJyb3IoSU5WQUxJRF9HUk9VUF9LRVkoZ3JvdXBUeXBlKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbnB1dFtncm91cFR5cGVdO1xuICAgIH0pO1xuXG4gICAgYWNjID0ge1xuICAgICAgLi4uYWNjLFxuICAgICAgLi4uYXBwZW5kR3JvdXAoaW5wdXQsIGFjYywgZ3JvdXBzV2l0aERhdGEpLFxuICAgIH07XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBhbnkpLmNoaWxkcmVuO1xufTtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export type AggregationResult = Record<string, number>;
2
- export declare const AGGREGATION_TYPES: readonly ["horizontal", "vertical", "both"];
3
- export declare const AGGREGATION_METHODS: readonly ["sum", "avg", "none"];
4
- export type AggregationMethodTypes = 'sum' | 'avg' | 'none';
5
- export type AggregationMetric = Record<string, AggregationMethodTypes>;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AGGREGATION_METHODS = exports.AGGREGATION_TYPES = void 0;
4
- exports.AGGREGATION_TYPES = ['horizontal', 'vertical', 'both'];
5
- exports.AGGREGATION_METHODS = ['sum', 'avg', 'none'];
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3R5cGVzL2FnZ3JlZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBQ2hFLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQWdncmVnYXRpb25SZXN1bHQgPSBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVMgPSBbJ2hvcml6b250YWwnLCAndmVydGljYWwnLCAnYm90aCddIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX01FVEhPRFMgPSBbJ3N1bScsICdhdmcnLCAnbm9uZSddIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvbk1ldGhvZFR5cGVzID0gJ3N1bScgfCAnYXZnJyB8ICdub25lJztcbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0aW9uTWV0cmljID0gUmVjb3JkPHN0cmluZywgQWdncmVnYXRpb25NZXRob2RUeXBlcz47XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { PluginParams } from '@grnsft/if-core/types';
2
- import { PluginStorageInterface } from './plugin-storage';
3
- import { Context } from '../../common/types/manifest';
4
- export type NodeConfig = {
5
- [key: string]: Record<string, any>;
6
- };
7
- export type PhasedPipeline = {
8
- observe?: string[];
9
- regroup?: string[];
10
- compute?: string[];
11
- };
12
- export type ComputeParams = {
13
- pluginStorage: PluginStorageInterface;
14
- context: Context;
15
- pipeline?: PhasedPipeline;
16
- config?: NodeConfig;
17
- defaults?: PluginParams;
18
- observe?: Boolean;
19
- regroup?: Boolean;
20
- compute?: Boolean;
21
- };
22
- export type Node = {
23
- children?: any;
24
- pipeline?: PhasedPipeline;
25
- config?: NodeConfig;
26
- defaults?: PluginParams;
27
- inputs?: PluginParams[];
28
- outputs?: PluginParams[];
29
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdHlwZXMvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uLy4uL2NvbW1vbi90eXBlcy9tYW5pZmVzdCc7XG5cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQaGFzZWRQaXBlbGluZSA9IHtcbiAgb2JzZXJ2ZT86IHN0cmluZ1tdO1xuICByZWdyb3VwPzogc3RyaW5nW107XG4gIGNvbXB1dGU/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXB1dGVQYXJhbXMgPSB7XG4gIHBsdWdpblN0b3JhZ2U6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogUGhhc2VkUGlwZWxpbmU7XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBvYnNlcnZlPzogQm9vbGVhbjtcbiAgcmVncm91cD86IEJvb2xlYW47XG4gIGNvbXB1dGU/OiBCb29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogUGhhc2VkUGlwZWxpbmU7XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcbiJdfQ==
@@ -1,18 +0,0 @@
1
- export type PackageDependency = {
2
- version: string;
3
- resolved?: string;
4
- overridden: boolean;
5
- extraneous?: boolean;
6
- };
7
- type PackageProblem = {
8
- extraneous: string;
9
- };
10
- export type NpmListResponse = {
11
- version: string;
12
- name: string;
13
- problems?: PackageProblem[];
14
- dependencies: {
15
- [key: string]: PackageDependency;
16
- };
17
- };
18
- export {};
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3R5cGVzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBQYWNrYWdlRGVwZW5kZW5jeSA9IHtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICByZXNvbHZlZD86IHN0cmluZztcbiAgb3ZlcnJpZGRlbjogYm9vbGVhbjtcbiAgZXh0cmFuZW91cz86IGJvb2xlYW47XG59O1xuXG50eXBlIFBhY2thZ2VQcm9ibGVtID0ge1xuICBleHRyYW5lb3VzOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBOcG1MaXN0UmVzcG9uc2UgPSB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwcm9ibGVtcz86IFBhY2thZ2VQcm9ibGVtW107XG4gIGRlcGVuZGVuY2llczoge1xuICAgIFtrZXk6IHN0cmluZ106IFBhY2thZ2VEZXBlbmRlbmN5O1xuICB9O1xufTtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- import { Context } from '../../common/types/manifest';
2
- export interface ExhaustPluginInterface {
3
- /**
4
- * Execute exhaust based on `context` and `tree`, produce output to a file in `outputPath`.
5
- */
6
- execute(tree: any, context: Context, outputPath?: string): void;
7
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC1wbHVnaW4taW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi90eXBlcy9leGhhdXN0LXBsdWdpbi1pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBFeGhhdXN0UGx1Z2luSW50ZXJmYWNlIHtcbiAgLyoqXG4gICAqIEV4ZWN1dGUgZXhoYXVzdCBiYXNlZCBvbiBgY29udGV4dGAgYW5kIGB0cmVlYCwgcHJvZHVjZSBvdXRwdXQgdG8gYSBmaWxlIGluIGBvdXRwdXRQYXRoYC5cbiAgICovXG4gIGV4ZWN1dGUodHJlZTogYW55LCBjb250ZXh0OiBDb250ZXh0LCBvdXRwdXRQYXRoPzogc3RyaW5nKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- import { ParameterMetadata } from '@grnsft/if-core/types';
2
- import { PluginOptions } from '../../common/types/manifest';
3
- export type ExplainParams = {
4
- pluginName: string;
5
- pluginData: PluginOptions;
6
- metadata: {
7
- inputs?: ParameterMetadata;
8
- outputs?: ParameterMetadata;
9
- };
10
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdHlwZXMvZXhwbGFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQYXJhbWV0ZXJNZXRhZGF0YX0gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtQbHVnaW5PcHRpb25zfSBmcm9tICcuLi8uLi9jb21tb24vdHlwZXMvbWFuaWZlc3QnO1xuXG5leHBvcnQgdHlwZSBFeHBsYWluUGFyYW1zID0ge1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE6IFBsdWdpbk9wdGlvbnM7XG4gIG1ldGFkYXRhOiB7aW5wdXRzPzogUGFyYW1ldGVyTWV0YWRhdGE7IG91dHB1dHM/OiBQYXJhbWV0ZXJNZXRhZGF0YX07XG59O1xuIl19
@@ -1,3 +0,0 @@
1
- import { ExecutePlugin } from '@grnsft/if-core/types';
2
- export type PluginInterface = ExecutePlugin;
3
- export declare const isExecute: (plugin: ExecutePlugin) => plugin is ExecutePlugin;
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isExecute = void 0;
4
- const isExecute = (plugin) => plugin.metadata.kind === 'execute';
5
- exports.isExecute = isExecute;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi90eXBlcy9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSU8sTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFxQixFQUEyQixFQUFFLENBQ3pFLE1BQXdCLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7QUFEM0MsUUFBQSxTQUFTLGFBQ2tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFeGVjdXRlUGx1Z2lufSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5JbnRlcmZhY2UgPSBFeGVjdXRlUGx1Z2luO1xuXG5leHBvcnQgY29uc3QgaXNFeGVjdXRlID0gKHBsdWdpbjogRXhlY3V0ZVBsdWdpbik6IHBsdWdpbiBpcyBFeGVjdXRlUGx1Z2luID0+XG4gIChwbHVnaW4gYXMgRXhlY3V0ZVBsdWdpbikubWV0YWRhdGEua2luZCA9PT0gJ2V4ZWN1dGUnO1xuIl19
@@ -1,6 +0,0 @@
1
- import { pluginStorage } from '../util/plugin-storage';
2
- import { PluginInterface } from './interface';
3
- export type PluginStorage = {
4
- [key: string]: PluginInterface;
5
- };
6
- export type PluginStorageInterface = ReturnType<typeof pluginStorage>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3R5cGVzL3BsdWdpbi1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BsdWdpblN0b3JhZ2V9IGZyb20gJy4uL3V0aWwvcGx1Z2luLXN0b3JhZ2UnO1xuaW1wb3J0IHtQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4vaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgUGx1Z2luU3RvcmFnZSA9IHtcbiAgW2tleTogc3RyaW5nXTogUGx1Z2luSW50ZXJmYWNlO1xufTtcblxuZXhwb3J0IHR5cGUgUGx1Z2luU3RvcmFnZUludGVyZmFjZSA9IFJldHVyblR5cGU8dHlwZW9mIHBsdWdpblN0b3JhZ2U+O1xuIl19
@@ -1,25 +0,0 @@
1
- export interface IfRunArgs {
2
- manifest?: string;
3
- output?: string;
4
- 'no-output'?: boolean;
5
- debug?: boolean;
6
- observe?: boolean;
7
- regroup?: boolean;
8
- compute?: boolean;
9
- }
10
- export interface ProcessArgsOutputs {
11
- inputPath: string;
12
- outputOptions: {
13
- outputPath?: string;
14
- noOutput?: boolean;
15
- };
16
- paramPath?: string;
17
- debug?: boolean;
18
- observe?: boolean;
19
- regroup?: boolean;
20
- compute?: boolean;
21
- }
22
- export interface Options {
23
- outputPath?: string;
24
- noOutput?: boolean;
25
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi90eXBlcy9wcm9jZXNzLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSWZSdW5BcmdzIHtcbiAgbWFuaWZlc3Q/OiBzdHJpbmc7XG4gIG91dHB1dD86IHN0cmluZztcbiAgJ25vLW91dHB1dCc/OiBib29sZWFuO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIG9ic2VydmU/OiBib29sZWFuO1xuICByZWdyb3VwPzogYm9vbGVhbjtcbiAgY29tcHV0ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0FyZ3NPdXRwdXRzIHtcbiAgaW5wdXRQYXRoOiBzdHJpbmc7XG4gIG91dHB1dE9wdGlvbnM6IHtcbiAgICBvdXRwdXRQYXRoPzogc3RyaW5nO1xuICAgIG5vT3V0cHV0PzogYm9vbGVhbjtcbiAgfTtcbiAgcGFyYW1QYXRoPzogc3RyaW5nO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIG9ic2VydmU/OiBib29sZWFuO1xuICByZWdyb3VwPzogYm9vbGVhbjtcbiAgY29tcHV0ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gIG91dHB1dFBhdGg/OiBzdHJpbmc7XG4gIG5vT3V0cHV0PzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { DateTime } from 'luxon';
2
- export type TimeNormalizerConfig = {
3
- 'start-time': Date | string;
4
- 'end-time': Date | string;
5
- interval: number;
6
- 'allow-padding': boolean;
7
- };
8
- export type PaddingReceipt = {
9
- start: boolean;
10
- end: boolean;
11
- };
12
- export type TimeParams = {
13
- startTime: DateTime;
14
- endTime: DateTime;
15
- interval: number;
16
- allowPadding: boolean;
17
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi90eXBlcy90aW1lLXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVRpbWV9IGZyb20gJ2x1eG9uJztcblxuZXhwb3J0IHR5cGUgVGltZU5vcm1hbGl6ZXJDb25maWcgPSB7XG4gICdzdGFydC10aW1lJzogRGF0ZSB8IHN0cmluZztcbiAgJ2VuZC10aW1lJzogRGF0ZSB8IHN0cmluZztcbiAgaW50ZXJ2YWw6IG51bWJlcjtcbiAgJ2FsbG93LXBhZGRpbmcnOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgUGFkZGluZ1JlY2VpcHQgPSB7XG4gIHN0YXJ0OiBib29sZWFuO1xuICBlbmQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBUaW1lUGFyYW1zID0ge1xuICBzdGFydFRpbWU6IERhdGVUaW1lO1xuICBlbmRUaW1lOiBEYXRlVGltZTtcbiAgaW50ZXJ2YWw6IG51bWJlcjtcbiAgYWxsb3dQYWRkaW5nOiBib29sZWFuO1xufTtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- import { PluginParams } from '@grnsft/if-core/types';
2
- import { AggregationMetric } from '../types/aggregation';
3
- /**
4
- * Aggregates child node level metrics. Validates if metric aggregation type is `none`, then rejects with error.
5
- * Appends aggregation additional params to metrics. Otherwise iterates over inputs by aggregating per given `metrics`.
6
- */
7
- export declare const aggregateInputsIntoOne: (inputs: PluginParams[], metrics: AggregationMetric[], isTemporal?: boolean) => PluginParams;