@grnsft/if 0.6.0 → 0.7.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.
- package/Refactor-migration-guide.md +68 -82
- package/github-processes.md +3 -9
- package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -4
- package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +1 -3
- package/manifests/examples/builtins/coefficient/success.yml +1 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +1 -2
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -4
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +2 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +1 -2
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +1 -1
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +1 -1
- package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +1 -1
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +1 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +1 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +1 -2
- package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +3 -5
- package/manifests/examples/builtins/divide/failure-missing-numerator.yml +2 -4
- package/manifests/examples/builtins/divide/success.yml +2 -2
- package/manifests/examples/builtins/exponent/success.yml +1 -1
- package/manifests/examples/builtins/interpolation/success.yml +1 -1
- package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
- package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +1 -1
- package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +1 -1
- package/manifests/examples/builtins/mock-observations/success.yml +1 -1
- package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +1 -1
- package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +1 -1
- package/manifests/examples/builtins/multiply/success.yml +1 -1
- package/manifests/examples/builtins/regex/failure-missing-input-param.yml +1 -1
- package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -2
- package/manifests/examples/builtins/regex/success.yml +1 -1
- package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +3 -4
- package/manifests/examples/builtins/sci/failure-missing-input-param.yml +1 -1
- package/manifests/examples/builtins/sci/success.yml +1 -1
- package/manifests/examples/builtins/sci-embodied/scenario-1.yml +27 -0
- package/manifests/examples/builtins/sci-embodied/scenario-2.yml +37 -0
- package/manifests/examples/builtins/sci-embodied/success.yml +13 -0
- package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
- package/manifests/examples/builtins/shell/success.yml +2 -2
- package/manifests/examples/builtins/subtract/success.yml +1 -1
- package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -2
- package/manifests/examples/builtins/sum/failure-missing-output-param.yml +2 -2
- package/manifests/examples/builtins/sum/success.yml +1 -1
- package/manifests/examples/builtins/time-converter/success.yaml +3 -3
- package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +10 -12
- package/manifests/examples/builtins/time-sync/{failure-missing-global-config.yml → failure-missing-config.yml} +3 -8
- package/manifests/examples/builtins/time-sync/success.yml +2 -2
- package/manifests/examples/features/regroup/failure-missing-cloud-instance-type.yml +1 -1
- package/manifests/examples/features/regroup/success.yml +1 -1
- package/manifests/examples/pipelines/generics.yml +8 -8
- package/manifests/examples/pipelines/instance-metadata.yml +2 -2
- package/manifests/examples/pipelines/nesting.yml +75 -33
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +166 -122
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +130 -70
- package/manifests/examples/pipelines/pipeline-teads-sci.yml +15 -15
- package/manifests/examples/pipelines/pipeline-with-aggregate.yml +57 -27
- package/manifests/examples/pipelines/pipeline-with-mocks.yml +99 -41
- package/manifests/examples/pipelines/scenario-3.yml +1 -1
- package/manifests/examples/pipelines/scenario-4.yml +5 -5
- package/manifests/examples/pipelines/scenario-5.yml +3 -3
- package/manifests/examples/pipelines/sci.yml +12 -12
- package/manifests/examples/pipelines/teads-curve.yml +10 -10
- package/manifests/examples/pipelines/zeros.yml +23 -23
- package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +40 -40
- package/manifests/outputs/bugs/input-error-missing-duration.yaml +1 -1
- package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +2 -2
- package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +1 -1
- package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +1 -1
- package/manifests/outputs/bugs/pipeline-ordering-error.yaml +6 -6
- package/manifests/outputs/builtins/coefficient/failure-invalid-config-input-param.yaml +2 -2
- package/manifests/outputs/builtins/coefficient/failure-output-param-is-null.yaml +1 -1
- package/manifests/outputs/builtins/coefficient/success.yaml +23 -22
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +76 -0
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +22 -21
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/success.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-column.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/region-metadata/failure-missing-output.yaml +21 -20
- package/manifests/outputs/builtins/csv-lookup/region-metadata/success-renaming.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/region-metadata/success.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +1 -1
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/success.yaml +1 -1
- package/manifests/outputs/builtins/divide/failure-invalid-config-denominator.yaml +41 -25
- package/manifests/outputs/builtins/divide/failure-missing-numerator.yaml +32 -23
- package/manifests/outputs/builtins/divide/success-denominator-equal-zero.yaml +2 -2
- package/manifests/outputs/builtins/divide/success.yaml +2 -2
- package/manifests/outputs/builtins/exponent/success.yaml +1 -1
- package/manifests/outputs/builtins/interpolation/interpolation.yaml +1 -1
- package/manifests/outputs/builtins/interpolation/success.yaml +1 -1
- package/manifests/outputs/builtins/mock-observations/failure-invalid-config-cpu-range.yaml +3 -3
- package/manifests/outputs/builtins/mock-observations/failure-invalid-memory-utilization-range.yaml +2 -2
- package/manifests/outputs/builtins/mock-observations/failure-missing-timestamp-from-param.yaml +1 -1
- package/manifests/outputs/builtins/mock-observations/success.yaml +49 -190
- package/manifests/outputs/builtins/multiply/failure-input-parameter-is-missing.yaml +1 -1
- package/manifests/outputs/builtins/multiply/success-with-multiple-inputs.yaml +1 -1
- package/manifests/outputs/builtins/multiply/success.yaml +1 -1
- package/manifests/outputs/builtins/regex/failure-missing-input-param.yaml +1 -1
- package/manifests/outputs/builtins/regex/failure-not-matching-with-regex.yaml +72 -0
- package/manifests/outputs/builtins/regex/success.yaml +1 -1
- package/manifests/outputs/builtins/sci/failure-invalid-config-value.yaml +22 -23
- package/manifests/outputs/builtins/sci/failure-missing-input-param.yaml +1 -1
- package/manifests/outputs/builtins/sci/success.yaml +1 -1
- package/manifests/outputs/builtins/sci-embodied/failure-invalid-default-emission-value.yaml +22 -26
- package/manifests/outputs/builtins/sci-embodied/scenario-1.yaml +100 -0
- package/manifests/outputs/builtins/sci-embodied/scenario-2.yaml +101 -0
- package/manifests/outputs/builtins/sci-embodied/success.yaml +44 -20
- package/manifests/outputs/builtins/shell/failure-invalid-command.yaml +2 -2
- package/manifests/outputs/builtins/shell/success.yaml +1 -1
- package/manifests/outputs/builtins/subtract/success.yaml +1 -1
- package/manifests/outputs/builtins/sum/failure-missing-input-param.yaml +2 -2
- package/manifests/outputs/builtins/sum/failure-missing-output-param.yaml +2 -2
- package/manifests/outputs/builtins/sum/success.yaml +1 -1
- package/manifests/outputs/builtins/time-converter/success.yaml +73 -0
- package/manifests/outputs/builtins/time-sync/failure-config-start-later-end.yaml +3 -3
- package/manifests/outputs/builtins/time-sync/failure-missing-config.yaml +74 -0
- package/manifests/outputs/builtins/time-sync/success.yaml +50 -59
- package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +1 -1
- package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +1 -1
- package/manifests/outputs/features/aggregate-horizontal.yaml +4 -2
- package/manifests/outputs/features/aggregate-vertical.yaml +4 -2
- package/manifests/outputs/features/aggregate.yaml +4 -2
- package/manifests/outputs/features/regroup/failure-invalid-regroup.yaml +87 -0
- package/manifests/outputs/features/regroup/failure-missing-cloud-instance-type.yaml +87 -0
- package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +2 -2
- package/manifests/outputs/pipelines/generics.yaml +28 -28
- package/manifests/outputs/pipelines/instance-metadata.yaml +14 -14
- package/manifests/outputs/pipelines/nesting.yaml +713 -486
- package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +63 -32
- package/manifests/outputs/pipelines/scenario-4.yaml +105 -0
- package/manifests/outputs/pipelines/sci.yaml +56 -32
- package/manifests/outputs/pipelines/teads-curve.yaml +18 -18
- package/manifests/outputs/pipelines/zeros.yaml +27 -27
- package/package.json +4 -4
- package/src/__mocks__/mock-manifest.yaml +1 -2
- package/src/if-env/config/env-template.yml +1 -2
- package/src/if-run/builtins/coefficient/README.md +41 -17
- package/src/if-run/builtins/copy-param/README.md +28 -8
- package/src/if-run/builtins/csv-lookup/README.md +31 -11
- package/src/if-run/builtins/divide/README.md +34 -12
- package/src/if-run/builtins/exponent/README.md +29 -11
- package/src/if-run/builtins/interpolation/README.md +37 -22
- package/src/if-run/builtins/mock-observations/README.md +27 -7
- package/src/if-run/builtins/multiply/README.md +27 -9
- package/src/if-run/builtins/regex/README.md +31 -11
- package/src/if-run/builtins/sci/README.md +29 -8
- package/src/if-run/builtins/sci-embodied/README.md +76 -75
- package/src/if-run/builtins/shell/README.md +15 -7
- package/src/if-run/builtins/subtract/README.md +28 -11
- package/src/if-run/builtins/sum/README.md +47 -14
- package/src/if-run/builtins/time-converter/README.md +8 -8
- package/src/if-run/builtins/time-sync/README.md +44 -22
- package/.gitmodules +0 -3
- package/build/common/config/index.d.ts +0 -1
- package/build/common/config/index.js +0 -6
- package/build/common/config/strings.d.ts +0 -9
- package/build/common/config/strings.js +0 -17
- package/build/common/lib/load.d.ts +0 -6
- package/build/common/lib/load.js +0 -18
- package/build/common/types/manifest.d.ts +0 -13
- package/build/common/types/manifest.js +0 -3
- package/build/common/util/debug-logger.d.ts +0 -4
- package/build/common/util/debug-logger.js +0 -115
- package/build/common/util/fs.d.ts +0 -20
- package/build/common/util/fs.js +0 -94
- package/build/common/util/helpers.d.ts +0 -15
- package/build/common/util/helpers.js +0 -80
- package/build/common/util/logger.d.ts +0 -5
- package/build/common/util/logger.js +0 -39
- package/build/common/util/validations.d.ts +0 -367
- package/build/common/util/validations.js +0 -141
- package/build/common/util/yaml.d.ts +0 -12
- package/build/common/util/yaml.js +0 -59
- package/build/if-check/config/config.d.ts +0 -6
- package/build/if-check/config/config.js +0 -31
- package/build/if-check/config/index.d.ts +0 -2
- package/build/if-check/config/index.js +0 -8
- package/build/if-check/config/strings.d.ts +0 -11
- package/build/if-check/config/strings.js +0 -15
- package/build/if-check/index.d.ts +0 -2
- package/build/if-check/index.js +0 -98
- package/build/if-check/types/process-args.d.ts +0 -4
- package/build/if-check/types/process-args.js +0 -3
- package/build/if-check/util/args.d.ts +0 -10
- package/build/if-check/util/args.js +0 -56
- package/build/if-check/util/helpers.d.ts +0 -4
- package/build/if-check/util/helpers.js +0 -18
- package/build/if-check/util/npm.d.ts +0 -4
- package/build/if-check/util/npm.js +0 -59
- package/build/if-csv/config/config.d.ts +0 -6
- package/build/if-csv/config/config.js +0 -36
- package/build/if-csv/config/index.d.ts +0 -2
- package/build/if-csv/config/index.js +0 -8
- package/build/if-csv/config/strings.d.ts +0 -3
- package/build/if-csv/config/strings.js +0 -7
- package/build/if-csv/index.d.ts +0 -2
- package/build/if-csv/index.js +0 -63
- package/build/if-csv/types/csv.d.ts +0 -7
- package/build/if-csv/types/csv.js +0 -3
- package/build/if-csv/types/process-args.d.ts +0 -5
- package/build/if-csv/types/process-args.js +0 -3
- package/build/if-csv/util/args.d.ts +0 -12
- package/build/if-csv/util/args.js +0 -47
- package/build/if-csv/util/helpers.d.ts +0 -9
- package/build/if-csv/util/helpers.js +0 -95
- package/build/if-diff/config/config.d.ts +0 -6
- package/build/if-diff/config/config.js +0 -31
- package/build/if-diff/config/index.d.ts +0 -2
- package/build/if-diff/config/index.js +0 -8
- package/build/if-diff/config/strings.d.ts +0 -6
- package/build/if-diff/config/strings.js +0 -10
- package/build/if-diff/index.d.ts +0 -2
- package/build/if-diff/index.js +0 -46
- package/build/if-diff/lib/compare.d.ts +0 -10
- package/build/if-diff/lib/compare.js +0 -56
- package/build/if-diff/lib/load.d.ts +0 -55
- package/build/if-diff/lib/load.js +0 -51
- package/build/if-diff/types/args.d.ts +0 -5
- package/build/if-diff/types/args.js +0 -3
- package/build/if-diff/types/compare.d.ts +0 -7
- package/build/if-diff/types/compare.js +0 -3
- package/build/if-diff/types/process-args.d.ts +0 -4
- package/build/if-diff/types/process-args.js +0 -3
- package/build/if-diff/util/args.d.ts +0 -5
- package/build/if-diff/util/args.js +0 -51
- package/build/if-diff/util/helpers.d.ts +0 -13
- package/build/if-diff/util/helpers.js +0 -75
- package/build/if-env/config/config.d.ts +0 -6
- package/build/if-env/config/config.js +0 -37
- package/build/if-env/config/index.d.ts +0 -2
- package/build/if-env/config/index.js +0 -8
- package/build/if-env/config/strings.d.ts +0 -7
- package/build/if-env/config/strings.js +0 -11
- package/build/if-env/index.d.ts +0 -2
- package/build/if-env/index.js +0 -40
- package/build/if-env/types/if-env.d.ts +0 -8
- package/build/if-env/types/if-env.js +0 -3
- package/build/if-env/types/npm.d.ts +0 -9
- package/build/if-env/types/npm.js +0 -3
- package/build/if-env/types/process-args.d.ts +0 -5
- package/build/if-env/types/process-args.js +0 -3
- package/build/if-env/util/args.d.ts +0 -12
- package/build/if-env/util/args.js +0 -47
- package/build/if-env/util/helpers.d.ts +0 -20
- package/build/if-env/util/helpers.js +0 -94
- package/build/if-env/util/npm.d.ts +0 -24
- package/build/if-env/util/npm.js +0 -126
- package/build/if-merge/config/config.d.ts +0 -6
- package/build/if-merge/config/config.js +0 -43
- package/build/if-merge/config/index.d.ts +0 -2
- package/build/if-merge/config/index.js +0 -8
- package/build/if-merge/config/strings.d.ts +0 -5
- package/build/if-merge/config/strings.js +0 -9
- package/build/if-merge/index.d.ts +0 -2
- package/build/if-merge/index.js +0 -26
- package/build/if-merge/types/process-args.d.ts +0 -6
- package/build/if-merge/types/process-args.js +0 -3
- package/build/if-merge/util/args.d.ts +0 -9
- package/build/if-merge/util/args.js +0 -59
- package/build/if-merge/util/helpers.d.ts +0 -5
- package/build/if-merge/util/helpers.js +0 -83
- package/build/if-run/builtins/coefficient/index.d.ts +0 -2
- package/build/if-run/builtins/coefficient/index.js +0 -67
- package/build/if-run/builtins/copy-param/index.d.ts +0 -2
- package/build/if-run/builtins/copy-param/index.js +0 -70
- package/build/if-run/builtins/csv-lookup/index.d.ts +0 -2
- package/build/if-run/builtins/csv-lookup/index.js +0 -190
- package/build/if-run/builtins/divide/index.d.ts +0 -2
- package/build/if-run/builtins/divide/index.js +0 -80
- package/build/if-run/builtins/exponent/index.d.ts +0 -2
- package/build/if-run/builtins/exponent/index.js +0 -60
- package/build/if-run/builtins/export-log.d.ts +0 -4
- package/build/if-run/builtins/export-log.js +0 -44
- package/build/if-run/builtins/export-yaml.d.ts +0 -4
- package/build/if-run/builtins/export-yaml.js +0 -30
- package/build/if-run/builtins/index.d.ts +0 -16
- package/build/if-run/builtins/index.js +0 -36
- package/build/if-run/builtins/interpolation/index.d.ts +0 -2
- package/build/if-run/builtins/interpolation/index.js +0 -151
- package/build/if-run/builtins/mock-observations/helpers/common-generator.d.ts +0 -3
- package/build/if-run/builtins/mock-observations/helpers/common-generator.js +0 -29
- package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.d.ts +0 -3
- package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
- package/build/if-run/builtins/mock-observations/index.d.ts +0 -2
- package/build/if-run/builtins/mock-observations/index.js +0 -116
- package/build/if-run/builtins/mock-observations/interfaces/index.d.ts +0 -6
- package/build/if-run/builtins/mock-observations/interfaces/index.js +0 -3
- package/build/if-run/builtins/multiply/index.d.ts +0 -2
- package/build/if-run/builtins/multiply/index.js +0 -59
- package/build/if-run/builtins/regex/index.d.ts +0 -2
- package/build/if-run/builtins/regex/index.js +0 -76
- package/build/if-run/builtins/sci/index.d.ts +0 -2
- package/build/if-run/builtins/sci/index.js +0 -92
- package/build/if-run/builtins/sci-embodied/index.d.ts +0 -2
- package/build/if-run/builtins/sci-embodied/index.js +0 -156
- package/build/if-run/builtins/shell/index.d.ts +0 -2
- package/build/if-run/builtins/shell/index.js +0 -60
- package/build/if-run/builtins/subtract/index.d.ts +0 -2
- package/build/if-run/builtins/subtract/index.js +0 -61
- package/build/if-run/builtins/sum/index.d.ts +0 -2
- package/build/if-run/builtins/sum/index.js +0 -66
- package/build/if-run/builtins/time-converter/config.d.ts +0 -1
- package/build/if-run/builtins/time-converter/config.js +0 -44
- package/build/if-run/builtins/time-converter/index.d.ts +0 -2
- package/build/if-run/builtins/time-converter/index.js +0 -79
- package/build/if-run/builtins/time-sync/index.d.ts +0 -17
- package/build/if-run/builtins/time-sync/index.js +0 -339
- package/build/if-run/config/config.d.ts +0 -9
- package/build/if-run/config/config.js +0 -73
- package/build/if-run/config/index.d.ts +0 -2
- package/build/if-run/config/index.js +0 -8
- package/build/if-run/config/strings.d.ts +0 -64
- package/build/if-run/config/strings.js +0 -76
- package/build/if-run/index.d.ts +0 -2
- package/build/if-run/index.js +0 -63
- package/build/if-run/lib/aggregate.d.ts +0 -15
- package/build/if-run/lib/aggregate.js +0 -123
- package/build/if-run/lib/compute.d.ts +0 -5
- package/build/if-run/lib/compute.js +0 -142
- package/build/if-run/lib/environment.d.ts +0 -5
- package/build/if-run/lib/environment.js +0 -75
- package/build/if-run/lib/exhaust.d.ts +0 -7
- package/build/if-run/lib/exhaust.js +0 -27
- package/build/if-run/lib/explain.d.ts +0 -9
- package/build/if-run/lib/explain.js +0 -43
- package/build/if-run/lib/initialize.d.ts +0 -6
- package/build/if-run/lib/initialize.js +0 -109
- package/build/if-run/lib/regroup.d.ts +0 -5
- package/build/if-run/lib/regroup.js +0 -64
- package/build/if-run/types/aggregation.d.ts +0 -5
- package/build/if-run/types/aggregation.js +0 -6
- package/build/if-run/types/compute.d.ts +0 -29
- package/build/if-run/types/compute.js +0 -3
- package/build/if-run/types/environment.d.ts +0 -18
- package/build/if-run/types/environment.js +0 -3
- package/build/if-run/types/exhaust-plugin-interface.d.ts +0 -7
- package/build/if-run/types/exhaust-plugin-interface.js +0 -3
- package/build/if-run/types/explain.d.ts +0 -10
- package/build/if-run/types/explain.js +0 -3
- package/build/if-run/types/interface.d.ts +0 -3
- package/build/if-run/types/interface.js +0 -6
- package/build/if-run/types/plugin-storage.d.ts +0 -6
- package/build/if-run/types/plugin-storage.js +0 -3
- package/build/if-run/types/process-args.d.ts +0 -25
- package/build/if-run/types/process-args.js +0 -3
- package/build/if-run/types/time-sync.d.ts +0 -17
- package/build/if-run/types/time-sync.js +0 -3
- package/build/if-run/util/aggregation-helper.d.ts +0 -7
- package/build/if-run/util/aggregation-helper.js +0 -47
- package/build/if-run/util/args.d.ts +0 -9
- package/build/if-run/util/args.js +0 -60
- package/build/if-run/util/helpers.d.ts +0 -14
- package/build/if-run/util/helpers.js +0 -57
- package/build/if-run/util/log-memoize.d.ts +0 -3
- package/build/if-run/util/log-memoize.js +0 -19
- package/build/if-run/util/os-checker.d.ts +0 -7
- package/build/if-run/util/os-checker.js +0 -97
- package/build/if-run/util/plugin-storage.d.ts +0 -14
- package/build/if-run/util/plugin-storage.js +0 -34
- package/grafana/IF_GRAFANA_SETUP.md +0 -71
- package/grafana/if_grafana_config.json +0 -370
- package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +0 -38
- package/manifests/examples/builtins/interpolation/interpolation.yml +0 -24
- package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +0 -23
- package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +0 -23
- package/manifests/examples/pipelines/scenario-1.yml +0 -34
- package/manifests/examples/pipelines/scenario-2.yml +0 -52
- package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +0 -72
- package/manifests/outputs/builtins/sci-embodied/failure-missing-expected-lifespan.yaml +0 -69
- 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,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,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
|
-
|