medusa-stats 1.0.5
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/.medusa/server/src/admin/composite.png +0 -0
- package/.medusa/server/src/admin/index.js +10512 -0
- package/.medusa/server/src/admin/index.mjs +10510 -0
- package/.medusa/server/src/admin/params.png +0 -0
- package/.medusa/server/src/admin/view.png +0 -0
- package/.medusa/server/src/admin/visualizations.png +0 -0
- package/.medusa/server/src/api/admin/statistics/alert-logs/[id]/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/alert-logs/[id]/route.js +18 -0
- package/.medusa/server/src/api/admin/statistics/alert-logs/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/alert-logs/route.js +33 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/logs/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/logs/route.js +23 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/route.d.ts +17 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/route.js +64 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/toggle/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/toggle/route.js +18 -0
- package/.medusa/server/src/api/admin/statistics/alerts/route.d.ts +12 -0
- package/.medusa/server/src/api/admin/statistics/alerts/route.js +94 -0
- package/.medusa/server/src/api/admin/statistics/charts/[id]/route.d.ts +17 -0
- package/.medusa/server/src/api/admin/statistics/charts/[id]/route.js +50 -0
- package/.medusa/server/src/api/admin/statistics/charts/[id]/statistics/route.d.ts +15 -0
- package/.medusa/server/src/api/admin/statistics/charts/[id]/statistics/route.js +40 -0
- package/.medusa/server/src/api/admin/statistics/charts/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/statistics/charts/route.js +55 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/calculate/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/calculate/route.js +23 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/clone/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/clone/route.js +15 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/route.d.ts +17 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/route.js +69 -0
- package/.medusa/server/src/api/admin/statistics/options/route.d.ts +12 -0
- package/.medusa/server/src/api/admin/statistics/options/route.js +87 -0
- package/.medusa/server/src/api/admin/statistics/providers/[id]/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/providers/[id]/route.js +18 -0
- package/.medusa/server/src/api/admin/statistics/providers/[id]/statistics/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/providers/[id]/statistics/route.js +18 -0
- package/.medusa/server/src/api/admin/statistics/providers/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/providers/route.js +57 -0
- package/.medusa/server/src/api/admin/statistics/utils/option-graph.d.ts +3 -0
- package/.medusa/server/src/api/admin/statistics/utils/option-graph.js +34 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/calculate/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/calculate/route.js +21 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/clone/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/clone/route.js +21 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/route.d.ts +17 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/route.js +71 -0
- package/.medusa/server/src/api/admin/statistics/views/route.d.ts +12 -0
- package/.medusa/server/src/api/admin/statistics/views/route.js +74 -0
- package/.medusa/server/src/api/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/middlewares.js +194 -0
- package/.medusa/server/src/api/validation/statistics/schemas.d.ts +1013 -0
- package/.medusa/server/src/api/validation/statistics/schemas.js +288 -0
- package/.medusa/server/src/index.d.ts +1 -0
- package/.medusa/server/src/index.js +18 -0
- package/.medusa/server/src/jobs/evaluate-statistics-alerts.d.ts +6 -0
- package/.medusa/server/src/jobs/evaluate-statistics-alerts.js +110 -0
- package/.medusa/server/src/links/statistics-alert-user.d.ts +2 -0
- package/.medusa/server/src/links/statistics-alert-user.js +16 -0
- package/.medusa/server/src/links/statistics-option-user.d.ts +2 -0
- package/.medusa/server/src/links/statistics-option-user.js +16 -0
- package/.medusa/server/src/loaders/statistics/index.d.ts +5 -0
- package/.medusa/server/src/loaders/statistics/index.js +47 -0
- package/.medusa/server/src/modules/statistics/index.d.ts +107 -0
- package/.medusa/server/src/modules/statistics/index.js +32 -0
- package/.medusa/server/src/modules/statistics/migrations/Migration20260223131741.d.ts +5 -0
- package/.medusa/server/src/modules/statistics/migrations/Migration20260223131741.js +57 -0
- package/.medusa/server/src/modules/statistics/models/alert-log.d.ts +74 -0
- package/.medusa/server/src/modules/statistics/models/alert-log.js +16 -0
- package/.medusa/server/src/modules/statistics/models/alert.d.ts +74 -0
- package/.medusa/server/src/modules/statistics/models/alert.js +24 -0
- package/.medusa/server/src/modules/statistics/models/chart.d.ts +81 -0
- package/.medusa/server/src/modules/statistics/models/chart.js +28 -0
- package/.medusa/server/src/modules/statistics/models/index.d.ts +7 -0
- package/.medusa/server/src/modules/statistics/models/index.js +24 -0
- package/.medusa/server/src/modules/statistics/models/option-input.d.ts +135 -0
- package/.medusa/server/src/modules/statistics/models/option-input.js +27 -0
- package/.medusa/server/src/modules/statistics/models/option.d.ts +78 -0
- package/.medusa/server/src/modules/statistics/models/option.js +41 -0
- package/.medusa/server/src/modules/statistics/models/provider.d.ts +75 -0
- package/.medusa/server/src/modules/statistics/models/provider.js +15 -0
- package/.medusa/server/src/modules/statistics/models/view.d.ts +79 -0
- package/.medusa/server/src/modules/statistics/models/view.js +30 -0
- package/.medusa/server/src/modules/statistics/providers/index.d.ts +1 -0
- package/.medusa/server/src/modules/statistics/providers/index.js +18 -0
- package/.medusa/server/src/modules/statistics/providers/provider.d.ts +254 -0
- package/.medusa/server/src/modules/statistics/providers/provider.js +307 -0
- package/.medusa/server/src/modules/statistics/service.d.ts +953 -0
- package/.medusa/server/src/modules/statistics/service.js +190 -0
- package/.medusa/server/src/modules/statistics/utils/dependency-option-map.d.ts +13 -0
- package/.medusa/server/src/modules/statistics/utils/dependency-option-map.js +67 -0
- package/.medusa/server/src/modules/statistics/utils/period-utils.d.ts +23 -0
- package/.medusa/server/src/modules/statistics/utils/period-utils.js +78 -0
- package/.medusa/server/src/modules/statistics/utils/time-series-utils.d.ts +6 -0
- package/.medusa/server/src/modules/statistics/utils/time-series-utils.js +8 -0
- package/.medusa/server/src/providers/common/index.d.ts +2 -0
- package/.medusa/server/src/providers/common/index.js +1232 -0
- package/.medusa/server/src/providers/composite/index.d.ts +2 -0
- package/.medusa/server/src/providers/composite/index.js +147 -0
- package/.medusa/server/src/workflows/statistics/calculate-single-statistic.d.ts +15 -0
- package/.medusa/server/src/workflows/statistics/calculate-single-statistic.js +28 -0
- package/.medusa/server/src/workflows/statistics/calculate-statistics.d.ts +20 -0
- package/.medusa/server/src/workflows/statistics/calculate-statistics.js +15 -0
- package/.medusa/server/src/workflows/statistics/calculate-view.d.ts +31 -0
- package/.medusa/server/src/workflows/statistics/calculate-view.js +30 -0
- package/.medusa/server/src/workflows/statistics/clone-view.d.ts +227 -0
- package/.medusa/server/src/workflows/statistics/clone-view.js +10 -0
- package/.medusa/server/src/workflows/statistics/create-alert.d.ts +139 -0
- package/.medusa/server/src/workflows/statistics/create-alert.js +12 -0
- package/.medusa/server/src/workflows/statistics/create-chart.d.ts +122 -0
- package/.medusa/server/src/workflows/statistics/create-chart.js +14 -0
- package/.medusa/server/src/workflows/statistics/create-view-with-options.d.ts +1342 -0
- package/.medusa/server/src/workflows/statistics/create-view-with-options.js +29 -0
- package/.medusa/server/src/workflows/statistics/delete-chart.d.ts +10 -0
- package/.medusa/server/src/workflows/statistics/delete-chart.js +14 -0
- package/.medusa/server/src/workflows/statistics/evaluate-alerts.d.ts +28 -0
- package/.medusa/server/src/workflows/statistics/evaluate-alerts.js +67 -0
- package/.medusa/server/src/workflows/statistics/get-available-statistics.d.ts +5 -0
- package/.medusa/server/src/workflows/statistics/get-available-statistics.js +10 -0
- package/.medusa/server/src/workflows/statistics/index.d.ts +14 -0
- package/.medusa/server/src/workflows/statistics/index.js +31 -0
- package/.medusa/server/src/workflows/statistics/manage-chart-statistics.d.ts +12 -0
- package/.medusa/server/src/workflows/statistics/manage-chart-statistics.js +14 -0
- package/.medusa/server/src/workflows/statistics/steps/calculate-statistics.d.ts +37 -0
- package/.medusa/server/src/workflows/statistics/steps/calculate-statistics.js +222 -0
- package/.medusa/server/src/workflows/statistics/steps/clone-view.d.ts +227 -0
- package/.medusa/server/src/workflows/statistics/steps/clone-view.js +39 -0
- package/.medusa/server/src/workflows/statistics/steps/create-alert-log-entries.d.ts +17 -0
- package/.medusa/server/src/workflows/statistics/steps/create-alert-log-entries.js +50 -0
- package/.medusa/server/src/workflows/statistics/steps/create-alert.d.ts +120 -0
- package/.medusa/server/src/workflows/statistics/steps/create-alert.js +21 -0
- package/.medusa/server/src/workflows/statistics/steps/create-chart.d.ts +118 -0
- package/.medusa/server/src/workflows/statistics/steps/create-chart.js +19 -0
- package/.medusa/server/src/workflows/statistics/steps/create-statistics-options.d.ts +117 -0
- package/.medusa/server/src/workflows/statistics/steps/create-statistics-options.js +16 -0
- package/.medusa/server/src/workflows/statistics/steps/create-statistics-view.d.ts +119 -0
- package/.medusa/server/src/workflows/statistics/steps/create-statistics-view.js +16 -0
- package/.medusa/server/src/workflows/statistics/steps/dedupe-alerts.d.ts +22 -0
- package/.medusa/server/src/workflows/statistics/steps/dedupe-alerts.js +64 -0
- package/.medusa/server/src/workflows/statistics/steps/delete-chart.d.ts +6 -0
- package/.medusa/server/src/workflows/statistics/steps/delete-chart.js +17 -0
- package/.medusa/server/src/workflows/statistics/steps/emit-alert-events.d.ts +17 -0
- package/.medusa/server/src/workflows/statistics/steps/emit-alert-events.js +41 -0
- package/.medusa/server/src/workflows/statistics/steps/evaluate-each-condition.d.ts +15 -0
- package/.medusa/server/src/workflows/statistics/steps/evaluate-each-condition.js +109 -0
- package/.medusa/server/src/workflows/statistics/steps/extract-alert-values.d.ts +12 -0
- package/.medusa/server/src/workflows/statistics/steps/extract-alert-values.js +86 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-active-alerts-for-option.d.ts +112 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-active-alerts-for-option.js +16 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-available-statistics.d.ts +4 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-available-statistics.js +39 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-option-with-relations.d.ts +112 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-option-with-relations.js +11 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-view-with-options.d.ts +112 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-view-with-options.js +20 -0
- package/.medusa/server/src/workflows/statistics/steps/manage-chart-statistics.d.ts +8 -0
- package/.medusa/server/src/workflows/statistics/steps/manage-chart-statistics.js +26 -0
- package/.medusa/server/src/workflows/statistics/steps/update-chart.d.ts +117 -0
- package/.medusa/server/src/workflows/statistics/steps/update-chart.js +32 -0
- package/.medusa/server/src/workflows/statistics/steps/update-view.d.ts +120 -0
- package/.medusa/server/src/workflows/statistics/steps/update-view.js +18 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-alert-input.d.ts +1 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-alert-input.js +34 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-option-parameters.d.ts +21 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-option-parameters.js +43 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-view-input.d.ts +10 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-view-input.js +15 -0
- package/.medusa/server/src/workflows/statistics/update-chart.d.ts +120 -0
- package/.medusa/server/src/workflows/statistics/update-chart.js +13 -0
- package/.medusa/server/src/workflows/statistics/update-view-configuration.d.ts +128 -0
- package/.medusa/server/src/workflows/statistics/update-view-configuration.js +18 -0
- package/.medusa/server/src/workflows/statistics/utils/cache-utils.d.ts +60 -0
- package/.medusa/server/src/workflows/statistics/utils/cache-utils.js +66 -0
- package/.medusa/server/src/workflows/statistics/utils/dependency-graph.d.ts +51 -0
- package/.medusa/server/src/workflows/statistics/utils/dependency-graph.js +131 -0
- package/.medusa/server/src/workflows/statistics/utils/parameter-utils.d.ts +54 -0
- package/.medusa/server/src/workflows/statistics/utils/parameter-utils.js +147 -0
- package/.medusa/server/src/workflows/statistics/validate-option-configuration.d.ts +9 -0
- package/.medusa/server/src/workflows/statistics/validate-option-configuration.js +35 -0
- package/README.md +310 -0
- package/package.json +87 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
export interface CreateStatisticsOptionsInput {
|
|
2
|
+
options: Array<{
|
|
3
|
+
provider_option_name: string;
|
|
4
|
+
local_option_name: string;
|
|
5
|
+
data: Record<string, any>;
|
|
6
|
+
provider_id: string;
|
|
7
|
+
}>;
|
|
8
|
+
}
|
|
9
|
+
export declare const createStatisticsOptionsStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateStatisticsOptionsInput, {
|
|
10
|
+
id: string;
|
|
11
|
+
provider_option_name: string;
|
|
12
|
+
local_option_name: string;
|
|
13
|
+
data: Record<string, unknown>;
|
|
14
|
+
visualization_config: Record<string, unknown> | null;
|
|
15
|
+
cache_options: Record<string, unknown> | null;
|
|
16
|
+
parameter_config: Record<string, unknown> | null;
|
|
17
|
+
preset: boolean;
|
|
18
|
+
provider: {
|
|
19
|
+
id: string;
|
|
20
|
+
display_name: string;
|
|
21
|
+
is_enabled: boolean;
|
|
22
|
+
options: /*elided*/ any[];
|
|
23
|
+
created_at: Date;
|
|
24
|
+
updated_at: Date;
|
|
25
|
+
deleted_at: Date | null;
|
|
26
|
+
};
|
|
27
|
+
alerts: {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
description: string | null;
|
|
31
|
+
option: /*elided*/ any;
|
|
32
|
+
condition: Record<string, unknown>;
|
|
33
|
+
period: Record<string, unknown> | null;
|
|
34
|
+
interval: number;
|
|
35
|
+
severity: "info" | "warning" | "critical";
|
|
36
|
+
is_enabled: boolean;
|
|
37
|
+
metadata: Record<string, unknown> | null;
|
|
38
|
+
logs: {
|
|
39
|
+
id: string;
|
|
40
|
+
alert: /*elided*/ any;
|
|
41
|
+
triggered_at: Date;
|
|
42
|
+
evaluation_data: Record<string, unknown>;
|
|
43
|
+
evaluation_hash: string;
|
|
44
|
+
metadata: Record<string, unknown> | null;
|
|
45
|
+
created_at: Date;
|
|
46
|
+
updated_at: Date;
|
|
47
|
+
deleted_at: Date | null;
|
|
48
|
+
alert_id: string;
|
|
49
|
+
}[];
|
|
50
|
+
created_at: Date;
|
|
51
|
+
updated_at: Date;
|
|
52
|
+
deleted_at: Date | null;
|
|
53
|
+
option_id: string;
|
|
54
|
+
}[];
|
|
55
|
+
charts: {
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
description: string | null;
|
|
59
|
+
visualization_config: Record<string, unknown> | null;
|
|
60
|
+
layout: Record<string, unknown> | null;
|
|
61
|
+
view: {
|
|
62
|
+
id: string;
|
|
63
|
+
name: string;
|
|
64
|
+
description: string | null;
|
|
65
|
+
charts: /*elided*/ any[];
|
|
66
|
+
stats_data: Record<string, unknown> | null;
|
|
67
|
+
period_type: "rolling" | "calendar" | "custom" | null;
|
|
68
|
+
period_config: Record<string, unknown> | null;
|
|
69
|
+
interval: number | null;
|
|
70
|
+
cache_options: Record<string, unknown> | null;
|
|
71
|
+
layout_config: Record<string, unknown>;
|
|
72
|
+
metadata: Record<string, unknown>;
|
|
73
|
+
raw_interval: Record<string, unknown> | null;
|
|
74
|
+
created_at: Date;
|
|
75
|
+
updated_at: Date;
|
|
76
|
+
deleted_at: Date | null;
|
|
77
|
+
};
|
|
78
|
+
statistics: /*elided*/ any[];
|
|
79
|
+
metadata: Record<string, unknown>;
|
|
80
|
+
created_at: Date;
|
|
81
|
+
updated_at: Date;
|
|
82
|
+
deleted_at: Date | null;
|
|
83
|
+
view_id: string;
|
|
84
|
+
}[];
|
|
85
|
+
input_dependencies: {
|
|
86
|
+
id: string;
|
|
87
|
+
composite_option: /*elided*/ any;
|
|
88
|
+
input_option: /*elided*/ any;
|
|
89
|
+
parameter_name: string | null;
|
|
90
|
+
order: number | null;
|
|
91
|
+
metadata: Record<string, unknown> | null;
|
|
92
|
+
raw_order: Record<string, unknown> | null;
|
|
93
|
+
created_at: Date;
|
|
94
|
+
updated_at: Date;
|
|
95
|
+
deleted_at: Date | null;
|
|
96
|
+
composite_option_id: string;
|
|
97
|
+
input_option_id: string;
|
|
98
|
+
}[];
|
|
99
|
+
dependent_composites: {
|
|
100
|
+
id: string;
|
|
101
|
+
composite_option: /*elided*/ any;
|
|
102
|
+
input_option: /*elided*/ any;
|
|
103
|
+
parameter_name: string | null;
|
|
104
|
+
order: number | null;
|
|
105
|
+
metadata: Record<string, unknown> | null;
|
|
106
|
+
raw_order: Record<string, unknown> | null;
|
|
107
|
+
created_at: Date;
|
|
108
|
+
updated_at: Date;
|
|
109
|
+
deleted_at: Date | null;
|
|
110
|
+
composite_option_id: string;
|
|
111
|
+
input_option_id: string;
|
|
112
|
+
}[];
|
|
113
|
+
created_at: Date;
|
|
114
|
+
updated_at: Date;
|
|
115
|
+
deleted_at: Date | null;
|
|
116
|
+
provider_id: string;
|
|
117
|
+
}[]>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStatisticsOptionsStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const statistics_1 = require("../../../modules/statistics");
|
|
6
|
+
exports.createStatisticsOptionsStep = (0, workflows_sdk_1.createStep)("create-statistics-options", async (input, { container }) => {
|
|
7
|
+
const statisticsService = container.resolve(statistics_1.STATISTICS_MODULE);
|
|
8
|
+
const createdOptions = await statisticsService.createStatisticsOptions(input.options);
|
|
9
|
+
return new workflows_sdk_1.StepResponse(createdOptions, createdOptions.map((opt) => opt.id));
|
|
10
|
+
}, async (optionIds, { container }) => {
|
|
11
|
+
if (!optionIds || optionIds.length === 0)
|
|
12
|
+
return;
|
|
13
|
+
const statisticsService = container.resolve(statistics_1.STATISTICS_MODULE);
|
|
14
|
+
await statisticsService.deleteStatisticsOptions(optionIds);
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN0YXRpc3RpY3Mtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RhdGlzdGljcy9zdGVwcy9jcmVhdGUtc3RhdGlzdGljcy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSw0REFBZ0U7QUFZbkQsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDBCQUFVLEVBQ2pELDJCQUEyQixFQUMzQixLQUFLLEVBQUUsS0FBbUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFvQiw4QkFBaUIsQ0FBQyxDQUFDO0lBRWxGLE1BQU0sY0FBYyxHQUFHLE1BQU0saUJBQWlCLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXRGLE9BQU8sSUFBSSw0QkFBWSxDQUNuQixjQUFjLEVBQ2QsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUMzQyxDQUFDO0FBQ04sQ0FBQyxFQUNELEtBQUssRUFBRSxTQUFtQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN6QyxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU87SUFFakQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFvQiw4QkFBaUIsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0saUJBQWlCLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDL0QsQ0FBQyxDQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
export interface CreateStatisticsViewInput {
|
|
2
|
+
name: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
stats_data?: Record<string, any>;
|
|
5
|
+
layout_config?: Record<string, any>;
|
|
6
|
+
metadata?: Record<string, any>;
|
|
7
|
+
period_type?: "rolling" | "calendar" | "custom";
|
|
8
|
+
period_config?: Record<string, any>;
|
|
9
|
+
interval?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const createStatisticsViewStep: import("@medusajs/framework/workflows-sdk").StepFunction<CreateStatisticsViewInput, {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
description: string | null;
|
|
15
|
+
charts: {
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
description: string | null;
|
|
19
|
+
visualization_config: Record<string, unknown> | null;
|
|
20
|
+
layout: Record<string, unknown> | null;
|
|
21
|
+
view: /*elided*/ any;
|
|
22
|
+
statistics: {
|
|
23
|
+
id: string;
|
|
24
|
+
provider_option_name: string;
|
|
25
|
+
local_option_name: string;
|
|
26
|
+
data: Record<string, unknown>;
|
|
27
|
+
visualization_config: Record<string, unknown> | null;
|
|
28
|
+
cache_options: Record<string, unknown> | null;
|
|
29
|
+
parameter_config: Record<string, unknown> | null;
|
|
30
|
+
preset: boolean;
|
|
31
|
+
provider: {
|
|
32
|
+
id: string;
|
|
33
|
+
display_name: string;
|
|
34
|
+
is_enabled: boolean;
|
|
35
|
+
options: /*elided*/ any[];
|
|
36
|
+
created_at: Date;
|
|
37
|
+
updated_at: Date;
|
|
38
|
+
deleted_at: Date | null;
|
|
39
|
+
};
|
|
40
|
+
alerts: {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
description: string | null;
|
|
44
|
+
option: /*elided*/ any;
|
|
45
|
+
condition: Record<string, unknown>;
|
|
46
|
+
period: Record<string, unknown> | null;
|
|
47
|
+
interval: number;
|
|
48
|
+
severity: "info" | "warning" | "critical";
|
|
49
|
+
is_enabled: boolean;
|
|
50
|
+
metadata: Record<string, unknown> | null;
|
|
51
|
+
logs: {
|
|
52
|
+
id: string;
|
|
53
|
+
alert: /*elided*/ any;
|
|
54
|
+
triggered_at: Date;
|
|
55
|
+
evaluation_data: Record<string, unknown>;
|
|
56
|
+
evaluation_hash: string;
|
|
57
|
+
metadata: Record<string, unknown> | null;
|
|
58
|
+
created_at: Date;
|
|
59
|
+
updated_at: Date;
|
|
60
|
+
deleted_at: Date | null;
|
|
61
|
+
alert_id: string;
|
|
62
|
+
}[];
|
|
63
|
+
created_at: Date;
|
|
64
|
+
updated_at: Date;
|
|
65
|
+
deleted_at: Date | null;
|
|
66
|
+
option_id: string;
|
|
67
|
+
}[];
|
|
68
|
+
charts: /*elided*/ any[];
|
|
69
|
+
input_dependencies: {
|
|
70
|
+
id: string;
|
|
71
|
+
composite_option: /*elided*/ any;
|
|
72
|
+
input_option: /*elided*/ any;
|
|
73
|
+
parameter_name: string | null;
|
|
74
|
+
order: number | null;
|
|
75
|
+
metadata: Record<string, unknown> | null;
|
|
76
|
+
raw_order: Record<string, unknown> | null;
|
|
77
|
+
created_at: Date;
|
|
78
|
+
updated_at: Date;
|
|
79
|
+
deleted_at: Date | null;
|
|
80
|
+
composite_option_id: string;
|
|
81
|
+
input_option_id: string;
|
|
82
|
+
}[];
|
|
83
|
+
dependent_composites: {
|
|
84
|
+
id: string;
|
|
85
|
+
composite_option: /*elided*/ any;
|
|
86
|
+
input_option: /*elided*/ any;
|
|
87
|
+
parameter_name: string | null;
|
|
88
|
+
order: number | null;
|
|
89
|
+
metadata: Record<string, unknown> | null;
|
|
90
|
+
raw_order: Record<string, unknown> | null;
|
|
91
|
+
created_at: Date;
|
|
92
|
+
updated_at: Date;
|
|
93
|
+
deleted_at: Date | null;
|
|
94
|
+
composite_option_id: string;
|
|
95
|
+
input_option_id: string;
|
|
96
|
+
}[];
|
|
97
|
+
created_at: Date;
|
|
98
|
+
updated_at: Date;
|
|
99
|
+
deleted_at: Date | null;
|
|
100
|
+
provider_id: string;
|
|
101
|
+
}[];
|
|
102
|
+
metadata: Record<string, unknown>;
|
|
103
|
+
created_at: Date;
|
|
104
|
+
updated_at: Date;
|
|
105
|
+
deleted_at: Date | null;
|
|
106
|
+
view_id: string;
|
|
107
|
+
}[];
|
|
108
|
+
stats_data: Record<string, unknown> | null;
|
|
109
|
+
period_type: "rolling" | "calendar" | "custom" | null;
|
|
110
|
+
period_config: Record<string, unknown> | null;
|
|
111
|
+
interval: number | null;
|
|
112
|
+
cache_options: Record<string, unknown> | null;
|
|
113
|
+
layout_config: Record<string, unknown>;
|
|
114
|
+
metadata: Record<string, unknown>;
|
|
115
|
+
raw_interval: Record<string, unknown> | null;
|
|
116
|
+
created_at: Date;
|
|
117
|
+
updated_at: Date;
|
|
118
|
+
deleted_at: Date | null;
|
|
119
|
+
}>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStatisticsViewStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const statistics_1 = require("../../../modules/statistics");
|
|
6
|
+
exports.createStatisticsViewStep = (0, workflows_sdk_1.createStep)("create-statistics-view", async (input, { container }) => {
|
|
7
|
+
const statisticsService = container.resolve(statistics_1.STATISTICS_MODULE);
|
|
8
|
+
const view = await statisticsService.createStatisticsViews(input);
|
|
9
|
+
return new workflows_sdk_1.StepResponse(view, view.id);
|
|
10
|
+
}, async (viewId, { container }) => {
|
|
11
|
+
if (!viewId)
|
|
12
|
+
return;
|
|
13
|
+
const statisticsService = container.resolve(statistics_1.STATISTICS_MODULE);
|
|
14
|
+
await statisticsService.deleteStatisticsViews(viewId);
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXN0YXRpc3RpY3Mtdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RhdGlzdGljcy9zdGVwcy9jcmVhdGUtc3RhdGlzdGljcy12aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSw0REFBZ0U7QUFjbkQsUUFBQSx3QkFBd0IsR0FBRyxJQUFBLDBCQUFVLEVBQzlDLHdCQUF3QixFQUN4QixLQUFLLEVBQUUsS0FBZ0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDdEQsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFvQiw4QkFBaUIsQ0FBQyxDQUFDO0lBRWxGLE1BQU0sSUFBSSxHQUFHLE1BQU0saUJBQWlCLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbEUsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzQyxDQUFDLEVBQ0QsS0FBSyxFQUFFLE1BQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDcEMsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPO0lBRXBCLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBb0IsOEJBQWlCLENBQUMsQ0FBQztJQUNsRixNQUFNLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzFELENBQUMsQ0FDSixDQUFDIn0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface DedupeAlertsInput {
|
|
2
|
+
alerts: any[];
|
|
3
|
+
evaluation_results: Array<{
|
|
4
|
+
alert_id: string;
|
|
5
|
+
triggered: boolean;
|
|
6
|
+
current_value: number;
|
|
7
|
+
reference_value: number | null;
|
|
8
|
+
compare_value: number | [number, number];
|
|
9
|
+
operator: string;
|
|
10
|
+
comparison_type: string;
|
|
11
|
+
}>;
|
|
12
|
+
evaluation_scope?: {
|
|
13
|
+
periodStart?: Date;
|
|
14
|
+
periodEnd?: Date;
|
|
15
|
+
interval?: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface AllowedAlertEvaluation {
|
|
19
|
+
alert_id: string;
|
|
20
|
+
evaluation_hash: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const dedupeAlertsStep: import("@medusajs/framework/workflows-sdk").StepFunction<DedupeAlertsInput, AllowedAlertEvaluation[]>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dedupeAlertsStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const statistics_1 = require("../../../modules/statistics");
|
|
6
|
+
const framework_1 = require("@medusajs/framework");
|
|
7
|
+
exports.dedupeAlertsStep = (0, workflows_sdk_1.createStep)("check-cooldown-period", async (input, { container }) => {
|
|
8
|
+
const statisticsService = container.resolve(statistics_1.STATISTICS_MODULE);
|
|
9
|
+
const allowedAlerts = [];
|
|
10
|
+
for (const result of input.evaluation_results) {
|
|
11
|
+
if (!result.triggered) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
const alert = input.alerts.find(a => a.id === result.alert_id);
|
|
15
|
+
if (!alert) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const evaluationData = {
|
|
19
|
+
current_value: result.current_value,
|
|
20
|
+
reference_value: result.reference_value,
|
|
21
|
+
compare_value: result.compare_value,
|
|
22
|
+
threshold: alert.condition?.threshold ?? null,
|
|
23
|
+
operator: result.operator,
|
|
24
|
+
comparison_type: result.comparison_type,
|
|
25
|
+
condition: alert.condition,
|
|
26
|
+
};
|
|
27
|
+
const evaluationScope = {
|
|
28
|
+
periodStart: input.evaluation_scope?.periodStart
|
|
29
|
+
? new Date(input.evaluation_scope.periodStart).toISOString()
|
|
30
|
+
: null,
|
|
31
|
+
periodEnd: input.evaluation_scope?.periodEnd
|
|
32
|
+
? new Date(input.evaluation_scope.periodEnd).toISOString()
|
|
33
|
+
: null,
|
|
34
|
+
interval: input.evaluation_scope?.interval ?? null,
|
|
35
|
+
};
|
|
36
|
+
const evaluationHash = JSON.stringify({
|
|
37
|
+
alert_id: alert.id,
|
|
38
|
+
evaluationScope,
|
|
39
|
+
evaluationData,
|
|
40
|
+
});
|
|
41
|
+
try {
|
|
42
|
+
const existingLogs = await statisticsService.listStatisticsAlertLogs({
|
|
43
|
+
alert_id: alert.id,
|
|
44
|
+
evaluation_hash: evaluationHash,
|
|
45
|
+
}, {
|
|
46
|
+
select: ["id"],
|
|
47
|
+
take: 1,
|
|
48
|
+
});
|
|
49
|
+
if (existingLogs.length > 0) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
framework_1.logger.error(`Error checking duplicate evaluation hash for alert ${alert.id}: ${error}`);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
allowedAlerts.push({
|
|
58
|
+
alert_id: result.alert_id,
|
|
59
|
+
evaluation_hash: evaluationHash,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return new workflows_sdk_1.StepResponse(allowedAlerts);
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVkdXBlLWFsZXJ0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RhdGlzdGljcy9zdGVwcy9kZWR1cGUtYWxlcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUM3RSw0REFBZ0U7QUFFaEUsbURBQTZDO0FBeUJoQyxRQUFBLGdCQUFnQixHQUFHLElBQUEsMEJBQVUsRUFDdEMsdUJBQXVCLEVBQ3ZCLEtBQUssRUFBRSxLQUF3QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM5QyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQW9CLDhCQUFpQixDQUFDLENBQUM7SUFDbEYsTUFBTSxhQUFhLEdBQTZCLEVBQUUsQ0FBQztJQUVuRCxLQUFLLE1BQU0sTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsU0FBUztRQUNiLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULFNBQVM7UUFDYixDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQUc7WUFDbkIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1lBQ25DLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtZQUN2QyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7WUFDbkMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxJQUFJLElBQUk7WUFDN0MsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtZQUN2QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7U0FDN0IsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHO1lBQ3BCLFdBQVcsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsV0FBVztnQkFDNUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxXQUFXLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxJQUFJO1lBQ1YsU0FBUyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTO2dCQUN4QyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtnQkFDMUQsQ0FBQyxDQUFDLElBQUk7WUFDVixRQUFRLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsSUFBSSxJQUFJO1NBQ3JELENBQUM7UUFFRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2xDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNsQixlQUFlO1lBQ2YsY0FBYztTQUNqQixDQUFDLENBQUM7UUFHSCxJQUFJLENBQUM7WUFDRCxNQUFNLFlBQVksR0FBRyxNQUFNLGlCQUFpQixDQUFDLHVCQUF1QixDQUNoRTtnQkFDSSxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRSxjQUFjO2FBQ2xDLEVBQ0Q7Z0JBQ0ksTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO2dCQUNkLElBQUksRUFBRSxDQUFDO2FBQ1YsQ0FDSixDQUFDO1lBRUYsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMxQixTQUFTO1lBQ2IsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2Isa0JBQU0sQ0FBQyxLQUFLLENBQUMsc0RBQXNELEtBQUssQ0FBQyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN6RixTQUFTO1FBQ2IsQ0FBQztRQUVELGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7WUFDekIsZUFBZSxFQUFFLGNBQWM7U0FDbEMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU8sSUFBSSw0QkFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FDSixDQUFDIn0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteChartStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const statistics_1 = require("../../../modules/statistics");
|
|
6
|
+
exports.deleteChartStep = (0, workflows_sdk_1.createStep)("delete-chart", async (input, { container }) => {
|
|
7
|
+
const statisticsService = container.resolve(statistics_1.STATISTICS_MODULE);
|
|
8
|
+
const [chart] = await statisticsService.listStatisticsCharts({ id: input.id });
|
|
9
|
+
await statisticsService.deleteStatisticsCharts(input.id);
|
|
10
|
+
return new workflows_sdk_1.StepResponse({ success: true }, chart);
|
|
11
|
+
}, async (originalChart, { container }) => {
|
|
12
|
+
if (!originalChart)
|
|
13
|
+
return;
|
|
14
|
+
const statisticsService = container.resolve(statistics_1.STATISTICS_MODULE);
|
|
15
|
+
await statisticsService.createStatisticsCharts(originalChart);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWNoYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGF0aXN0aWNzL3N0ZXBzL2RlbGV0ZS1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBNkU7QUFDN0UsNERBQWdFO0FBT25ELFFBQUEsZUFBZSxHQUFHLElBQUEsMEJBQVUsRUFDckMsY0FBYyxFQUNkLEtBQUssRUFBRSxLQUF1QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM3QyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQW9CLDhCQUFpQixDQUFDLENBQUM7SUFHbEYsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0saUJBQWlCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFL0UsTUFBTSxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFekQsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdEQsQ0FBQyxFQUNELEtBQUssRUFBRSxhQUFrQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN4QyxJQUFJLENBQUMsYUFBYTtRQUFFLE9BQU87SUFFM0IsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFvQiw4QkFBaUIsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0saUJBQWlCLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ExtractedAlertValues } from "./extract-alert-values";
|
|
2
|
+
import type { AllowedAlertEvaluation } from "./dedupe-alerts";
|
|
3
|
+
export interface EmitAlertEventsInput {
|
|
4
|
+
alerts: any[];
|
|
5
|
+
evaluation_results: Array<{
|
|
6
|
+
alert_id: string;
|
|
7
|
+
triggered: boolean;
|
|
8
|
+
current_value: number;
|
|
9
|
+
reference_value: number | null;
|
|
10
|
+
compare_value: number | [number, number];
|
|
11
|
+
operator: string;
|
|
12
|
+
comparison_type: string;
|
|
13
|
+
}>;
|
|
14
|
+
allowed_alerts: AllowedAlertEvaluation[];
|
|
15
|
+
extracted_values: Record<string, ExtractedAlertValues>;
|
|
16
|
+
}
|
|
17
|
+
export declare const emitAlertEventsStep: import("@medusajs/framework/workflows-sdk").StepFunction<EmitAlertEventsInput, string[]>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emitAlertEventsStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
exports.emitAlertEventsStep = (0, workflows_sdk_1.createStep)("emit-alert-events", async (input, { container }) => {
|
|
7
|
+
const eventBus = container.resolve(utils_1.Modules.EVENT_BUS);
|
|
8
|
+
const emittedEventIds = [];
|
|
9
|
+
for (const allowed of input.allowed_alerts) {
|
|
10
|
+
const alert_id = allowed.alert_id;
|
|
11
|
+
const alert = input.alerts.find(a => a.id === alert_id);
|
|
12
|
+
const evaluation = input.evaluation_results.find(e => e.alert_id === alert_id);
|
|
13
|
+
const extracted = input.extracted_values[alert_id];
|
|
14
|
+
if (!alert || !evaluation || !extracted) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const channels = Array.isArray(alert.metadata?.channels)
|
|
18
|
+
? alert.metadata.channels
|
|
19
|
+
: [];
|
|
20
|
+
await eventBus.emit([
|
|
21
|
+
{
|
|
22
|
+
name: "statistics.alert",
|
|
23
|
+
data: {
|
|
24
|
+
alert_id: alert.id,
|
|
25
|
+
alert_name: alert.name,
|
|
26
|
+
severity: alert.severity,
|
|
27
|
+
option_id: alert.option_id,
|
|
28
|
+
option_name: alert.option?.local_option_name,
|
|
29
|
+
current_value: evaluation.current_value,
|
|
30
|
+
reference_value: evaluation.reference_value,
|
|
31
|
+
compare_value: evaluation.compare_value,
|
|
32
|
+
operator: evaluation.operator,
|
|
33
|
+
comparison_type: evaluation.comparison_type,
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
]);
|
|
37
|
+
emittedEventIds.push(alert_id);
|
|
38
|
+
}
|
|
39
|
+
return new workflows_sdk_1.StepResponse(emittedEventIds);
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC1hbGVydC1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0YXRpc3RpY3Mvc3RlcHMvZW1pdC1hbGVydC1ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBQzdFLHFEQUFvRDtBQW1CdkMsUUFBQSxtQkFBbUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3pDLG1CQUFtQixFQUNuQixLQUFLLEVBQUUsS0FBMkIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDakQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEQsTUFBTSxlQUFlLEdBQWEsRUFBRSxDQUFDO0lBRXJDLEtBQUssTUFBTSxPQUFPLElBQUksS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEMsU0FBUztRQUNiLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQ3BELENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVE7WUFDekIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVULE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQztZQUNoQjtnQkFDSSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUU7b0JBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNsQixVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUk7b0JBQ3RCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtvQkFDeEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO29CQUMxQixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxpQkFBaUI7b0JBQzVDLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTtvQkFDdkMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlO29CQUMzQyxhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7b0JBQ3ZDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtvQkFDN0IsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlO2lCQUM5QzthQUNKO1NBQ0osQ0FBQyxDQUFDO1FBRUgsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxJQUFJLDRCQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ExtractedAlertValues } from "./extract-alert-values";
|
|
2
|
+
export interface EvaluateConditionsInput {
|
|
3
|
+
alerts: any[];
|
|
4
|
+
extracted_values: Record<string, ExtractedAlertValues>;
|
|
5
|
+
}
|
|
6
|
+
export interface AlertEvaluationResult {
|
|
7
|
+
alert_id: string;
|
|
8
|
+
triggered: boolean;
|
|
9
|
+
current_value: number;
|
|
10
|
+
reference_value: number | null;
|
|
11
|
+
compare_value: number | [number, number];
|
|
12
|
+
operator: string;
|
|
13
|
+
comparison_type: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const evaluateEachConditionStep: import("@medusajs/framework/workflows-sdk").StepFunction<EvaluateConditionsInput, AlertEvaluationResult[]>;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evaluateEachConditionStep = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
exports.evaluateEachConditionStep = (0, workflows_sdk_1.createStep)("evaluate-each-condition", async (input, { container }) => {
|
|
6
|
+
const logger = container.resolve("logger");
|
|
7
|
+
const evaluationResults = [];
|
|
8
|
+
for (const alert of input.alerts) {
|
|
9
|
+
const { condition } = alert;
|
|
10
|
+
const extracted = input.extracted_values[alert.id];
|
|
11
|
+
if (!extracted) {
|
|
12
|
+
logger.warn(`[Alert ${alert.id}] No extracted values, skipping evaluation`);
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
const current = extracted.current;
|
|
16
|
+
let compareValue;
|
|
17
|
+
let triggered = false;
|
|
18
|
+
if (condition.comparisonType === 'absolute') {
|
|
19
|
+
compareValue = condition.threshold;
|
|
20
|
+
}
|
|
21
|
+
else if (condition.comparisonType === 'relative') {
|
|
22
|
+
if (!extracted.canDoRelative || extracted.reference === null) {
|
|
23
|
+
logger.warn(`[Alert ${alert.id}] Cannot perform relative comparison. ` +
|
|
24
|
+
`Skipping evaluation.`);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const changeType = condition.changeType || 'absolute';
|
|
28
|
+
if (changeType === 'percentage') {
|
|
29
|
+
if (extracted.reference === 0) {
|
|
30
|
+
logger.warn(`[Alert ${alert.id}] Cannot calculate percentage change with reference value of 0`);
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
const percentageChange = ((current - extracted.reference) / extracted.reference) * 100;
|
|
34
|
+
compareValue = condition.threshold || 0;
|
|
35
|
+
triggered = evaluateOperator(percentageChange, compareValue, condition.operator);
|
|
36
|
+
evaluationResults.push({
|
|
37
|
+
alert_id: alert.id,
|
|
38
|
+
triggered,
|
|
39
|
+
current_value: current,
|
|
40
|
+
reference_value: extracted.reference,
|
|
41
|
+
compare_value: percentageChange,
|
|
42
|
+
operator: condition.operator,
|
|
43
|
+
comparison_type: 'relative_percentage'
|
|
44
|
+
});
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
compareValue = extracted.reference;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
logger.error(`[Alert ${alert.id}] Invalid comparisonType: ${condition.comparisonType}`);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
triggered = evaluateOperator(current, compareValue, condition.operator);
|
|
56
|
+
evaluationResults.push({
|
|
57
|
+
alert_id: alert.id,
|
|
58
|
+
triggered,
|
|
59
|
+
current_value: current,
|
|
60
|
+
reference_value: extracted.reference,
|
|
61
|
+
compare_value: compareValue,
|
|
62
|
+
operator: condition.operator,
|
|
63
|
+
comparison_type: condition.comparisonType
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return new workflows_sdk_1.StepResponse(evaluationResults);
|
|
67
|
+
});
|
|
68
|
+
function evaluateOperator(value, compareValue, operator) {
|
|
69
|
+
switch (operator) {
|
|
70
|
+
case "gt":
|
|
71
|
+
if (Array.isArray(compareValue)) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return value > compareValue;
|
|
75
|
+
case "lt":
|
|
76
|
+
if (Array.isArray(compareValue)) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
return value < compareValue;
|
|
80
|
+
case "gte":
|
|
81
|
+
if (Array.isArray(compareValue)) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
return value >= compareValue;
|
|
85
|
+
case "lte":
|
|
86
|
+
if (Array.isArray(compareValue)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return value <= compareValue;
|
|
90
|
+
case "eq":
|
|
91
|
+
if (Array.isArray(compareValue)) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
return value === compareValue;
|
|
95
|
+
case "neq":
|
|
96
|
+
if (Array.isArray(compareValue)) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
return value !== compareValue;
|
|
100
|
+
case "between":
|
|
101
|
+
if (!Array.isArray(compareValue) || compareValue.length !== 2) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
return value >= compareValue[0] && value <= compareValue[1];
|
|
105
|
+
default:
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdGUtZWFjaC1jb25kaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0YXRpc3RpY3Mvc3RlcHMvZXZhbHVhdGUtZWFjaC1jb25kaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTZFO0FBa0JoRSxRQUFBLHlCQUF5QixHQUFHLElBQUEsMEJBQVUsRUFDL0MseUJBQXlCLEVBQ3pCLEtBQUssRUFBRSxLQUE4QixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUNwRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE1BQU0saUJBQWlCLEdBQTRCLEVBQUUsQ0FBQztJQUV0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFHbkQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2IsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxFQUFFLDRDQUE0QyxDQUFDLENBQUM7WUFDNUUsU0FBUztRQUNiLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQ2xDLElBQUksWUFBdUMsQ0FBQztRQUM1QyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFHdEIsSUFBSSxTQUFTLENBQUMsY0FBYyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBRTFDLFlBQVksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBRXZDLENBQUM7YUFBTSxJQUFJLFNBQVMsQ0FBQyxjQUFjLEtBQUssVUFBVSxFQUFFLENBQUM7WUFFakQsSUFBSSxD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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ExtractAlertValuesInput {
|
|
2
|
+
alerts: any[];
|
|
3
|
+
current_values: Record<string, any>;
|
|
4
|
+
}
|
|
5
|
+
export interface ExtractedAlertValues {
|
|
6
|
+
alert_id: string;
|
|
7
|
+
current: number;
|
|
8
|
+
reference: number | null;
|
|
9
|
+
valueType: 'timeseries' | 'single';
|
|
10
|
+
canDoRelative: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const extractAlertValuesStep: import("@medusajs/framework/workflows-sdk").StepFunction<ExtractAlertValuesInput, Record<string, ExtractedAlertValues>>;
|