@remnawave/backend-contract 2.0.0-alpha.30 → 2.0.0-alpha.32
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/build/backend/api/controllers/system.d.ts +1 -0
- package/build/backend/api/controllers/system.d.ts.map +1 -1
- package/build/backend/api/controllers/system.js +1 -0
- package/build/backend/api/routes.d.ts +1 -0
- package/build/backend/api/routes.d.ts.map +1 -1
- package/build/backend/api/routes.js +1 -0
- package/build/backend/commands/system/get-nodes-metrics.command.d.ts +153 -0
- package/build/backend/commands/system/get-nodes-metrics.command.d.ts.map +1 -0
- package/build/backend/commands/system/get-nodes-metrics.command.js +33 -0
- package/build/backend/commands/system/index.d.ts +1 -0
- package/build/backend/commands/system/index.d.ts.map +1 -1
- package/build/backend/commands/system/index.js +1 -0
- package/build/backend/constants/errors/errors.d.ts +10 -0
- package/build/backend/constants/errors/errors.d.ts.map +1 -1
- package/build/backend/constants/errors/errors.js +10 -0
- package/build/backend/constants/index.d.ts +1 -0
- package/build/backend/constants/index.d.ts.map +1 -1
- package/build/backend/constants/index.js +1 -0
- package/build/backend/constants/messaging/index.d.ts +2 -0
- package/build/backend/constants/messaging/index.d.ts.map +1 -0
- package/build/backend/constants/messaging/index.js +17 -0
- package/build/backend/constants/messaging/messaging.constants.d.ts +13 -0
- package/build/backend/constants/messaging/messaging.constants.d.ts.map +1 -0
- package/build/backend/constants/messaging/messaging.constants.js +19 -0
- package/build/backend/constants/metrics/metric-names.constant.d.ts +16 -0
- package/build/backend/constants/metrics/metric-names.constant.d.ts.map +1 -1
- package/build/backend/constants/metrics/metric-names.constant.js +16 -0
- package/build/frontend/api/controllers/system.js +1 -0
- package/build/frontend/api/routes.js +1 -0
- package/build/frontend/commands/system/get-nodes-metrics.command.js +33 -0
- package/build/frontend/commands/system/index.js +1 -0
- package/build/frontend/constants/errors/errors.js +10 -0
- package/build/frontend/constants/index.js +1 -0
- package/build/frontend/constants/messaging/index.js +17 -0
- package/build/frontend/constants/messaging/messaging.constants.js +19 -0
- package/build/frontend/constants/metrics/metric-names.constant.js +16 -0
- package/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../api/controllers/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAG,QAAiB,CAAC;AAEnD,eAAO,MAAM,aAAa
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../api/controllers/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAG,QAAiB,CAAC;AAEnD,eAAO,MAAM,aAAa;;;;;;;;CAQhB,CAAC"}
|
@@ -105,6 +105,7 @@ export declare const REST_API: {
|
|
105
105
|
readonly SYSTEM_STATS: "/api/system/stats";
|
106
106
|
readonly BANDWIDTH_STATS: "/api/system/stats/bandwidth";
|
107
107
|
readonly NODES_STATS: "/api/system/stats/nodes";
|
108
|
+
readonly NODES_METRICS: "/api/system/nodes/metrics";
|
108
109
|
};
|
109
110
|
};
|
110
111
|
readonly SUBSCRIPTION_TEMPLATE: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../api/routes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,EAAG,MAAe,CAAC;AACpC,eAAO,MAAM,YAAY,EAAG,UAAmB,CAAC;AAChD,eAAO,MAAM,cAAc,EAAG,SAAkB,CAAC;AAEjD,eAAO,MAAM,QAAQ;;;;;;;;;;;gCAYE,MAAM;;;;;;;;;qCAYD,MAAM;;gCAGX,MAAM;;oCAIF,MAAM;qCAIL,MAAM;qCAIN,MAAM;;;;;;iDAUM,MAAM;;;;;;;;gCAWvB,MAAM;qCAGD,MAAM;0CAED,MAAM;;qCAIX,MAAM;oCAIP,MAAM;2CAIC,MAAM;iDAIA,MAAM;;;6CAOV,MAAM;0CAIT,MAAM;2DAIW,MAAM;+CAIlB,MAAM;oCAIjB,MAAM;gCAIV,MAAM;;;;;;;;;;;;;;;gDAmBU,MAAM;;;;;;;kCAWpB,MAAM;0CAEE,MAAM;uCAET,MAAM;;;;;;qCASR,MAAM;gCAEX,MAAM
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../api/routes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,EAAG,MAAe,CAAC;AACpC,eAAO,MAAM,YAAY,EAAG,UAAmB,CAAC;AAChD,eAAO,MAAM,cAAc,EAAG,SAAkB,CAAC;AAEjD,eAAO,MAAM,QAAQ;;;;;;;;;;;gCAYE,MAAM;;;;;;;;;qCAYD,MAAM;;gCAGX,MAAM;;oCAIF,MAAM;qCAIL,MAAM;qCAIN,MAAM;;;;;;iDAUM,MAAM;;;;;;;;gCAWvB,MAAM;qCAGD,MAAM;0CAED,MAAM;;qCAIX,MAAM;oCAIP,MAAM;2CAIC,MAAM;iDAIA,MAAM;;;6CAOV,MAAM;0CAIT,MAAM;2DAIW,MAAM;+CAIlB,MAAM;oCAIjB,MAAM;gCAIV,MAAM;;;;;;;;;;;;;;;gDAmBU,MAAM;;;;;;;kCAWpB,MAAM;0CAEE,MAAM;uCAET,MAAM;;;;;;qCASR,MAAM;gCAEX,MAAM;;;;;;;;;;;;;;;;;;;;;;qCAwBD,MAAM;;;;;;;;;mDAYQ,MAAM;;;;;;0CASf,MAAM;;;;;;;qCAUX,MAAM;gCAIX,MAAM;sDAIgB,MAAM;;;;;;;qCAUvB,MAAM;gCAIX,MAAM;;uCAMC,MAAM;0CAEH,MAAM;;;;;;;yCASP,MAAM;8CAED,MAAM;;;;6CAMP,MAAM;;;gDAKH,MAAM;;CAGnC,CAAC"}
|
@@ -142,6 +142,7 @@ exports.REST_API = {
|
|
142
142
|
SYSTEM_STATS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS.SYSTEM_STATS}`,
|
143
143
|
BANDWIDTH_STATS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS.BANDWIDTH_STATS}`,
|
144
144
|
NODES_STATS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS.NODES_STATS}`,
|
145
|
+
NODES_METRICS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS.NODES_METRICS}`,
|
145
146
|
},
|
146
147
|
},
|
147
148
|
SUBSCRIPTION_TEMPLATE: {
|
@@ -0,0 +1,153 @@
|
|
1
|
+
import { z } from 'zod';
|
2
|
+
export declare namespace GetNodesMetricsCommand {
|
3
|
+
const url: "/api/system/nodes/metrics";
|
4
|
+
const TSQ_url: "/api/system/nodes/metrics";
|
5
|
+
const endpointDetails: import("../../constants").EndpointDetails;
|
6
|
+
const ResponseSchema: z.ZodObject<{
|
7
|
+
response: z.ZodObject<{
|
8
|
+
nodes: z.ZodArray<z.ZodObject<{
|
9
|
+
nodeUuid: z.ZodString;
|
10
|
+
nodeName: z.ZodString;
|
11
|
+
countryEmoji: z.ZodString;
|
12
|
+
providerName: z.ZodString;
|
13
|
+
usersOnline: z.ZodNumber;
|
14
|
+
inboundsStats: z.ZodArray<z.ZodObject<{
|
15
|
+
tag: z.ZodString;
|
16
|
+
upload: z.ZodString;
|
17
|
+
download: z.ZodString;
|
18
|
+
}, "strip", z.ZodTypeAny, {
|
19
|
+
tag: string;
|
20
|
+
upload: string;
|
21
|
+
download: string;
|
22
|
+
}, {
|
23
|
+
tag: string;
|
24
|
+
upload: string;
|
25
|
+
download: string;
|
26
|
+
}>, "many">;
|
27
|
+
outboundsStats: z.ZodArray<z.ZodObject<{
|
28
|
+
tag: z.ZodString;
|
29
|
+
upload: z.ZodString;
|
30
|
+
download: z.ZodString;
|
31
|
+
}, "strip", z.ZodTypeAny, {
|
32
|
+
tag: string;
|
33
|
+
upload: string;
|
34
|
+
download: string;
|
35
|
+
}, {
|
36
|
+
tag: string;
|
37
|
+
upload: string;
|
38
|
+
download: string;
|
39
|
+
}>, "many">;
|
40
|
+
}, "strip", z.ZodTypeAny, {
|
41
|
+
nodeName: string;
|
42
|
+
nodeUuid: string;
|
43
|
+
usersOnline: number;
|
44
|
+
countryEmoji: string;
|
45
|
+
providerName: string;
|
46
|
+
inboundsStats: {
|
47
|
+
tag: string;
|
48
|
+
upload: string;
|
49
|
+
download: string;
|
50
|
+
}[];
|
51
|
+
outboundsStats: {
|
52
|
+
tag: string;
|
53
|
+
upload: string;
|
54
|
+
download: string;
|
55
|
+
}[];
|
56
|
+
}, {
|
57
|
+
nodeName: string;
|
58
|
+
nodeUuid: string;
|
59
|
+
usersOnline: number;
|
60
|
+
countryEmoji: string;
|
61
|
+
providerName: string;
|
62
|
+
inboundsStats: {
|
63
|
+
tag: string;
|
64
|
+
upload: string;
|
65
|
+
download: string;
|
66
|
+
}[];
|
67
|
+
outboundsStats: {
|
68
|
+
tag: string;
|
69
|
+
upload: string;
|
70
|
+
download: string;
|
71
|
+
}[];
|
72
|
+
}>, "many">;
|
73
|
+
}, "strip", z.ZodTypeAny, {
|
74
|
+
nodes: {
|
75
|
+
nodeName: string;
|
76
|
+
nodeUuid: string;
|
77
|
+
usersOnline: number;
|
78
|
+
countryEmoji: string;
|
79
|
+
providerName: string;
|
80
|
+
inboundsStats: {
|
81
|
+
tag: string;
|
82
|
+
upload: string;
|
83
|
+
download: string;
|
84
|
+
}[];
|
85
|
+
outboundsStats: {
|
86
|
+
tag: string;
|
87
|
+
upload: string;
|
88
|
+
download: string;
|
89
|
+
}[];
|
90
|
+
}[];
|
91
|
+
}, {
|
92
|
+
nodes: {
|
93
|
+
nodeName: string;
|
94
|
+
nodeUuid: string;
|
95
|
+
usersOnline: number;
|
96
|
+
countryEmoji: string;
|
97
|
+
providerName: string;
|
98
|
+
inboundsStats: {
|
99
|
+
tag: string;
|
100
|
+
upload: string;
|
101
|
+
download: string;
|
102
|
+
}[];
|
103
|
+
outboundsStats: {
|
104
|
+
tag: string;
|
105
|
+
upload: string;
|
106
|
+
download: string;
|
107
|
+
}[];
|
108
|
+
}[];
|
109
|
+
}>;
|
110
|
+
}, "strip", z.ZodTypeAny, {
|
111
|
+
response: {
|
112
|
+
nodes: {
|
113
|
+
nodeName: string;
|
114
|
+
nodeUuid: string;
|
115
|
+
usersOnline: number;
|
116
|
+
countryEmoji: string;
|
117
|
+
providerName: string;
|
118
|
+
inboundsStats: {
|
119
|
+
tag: string;
|
120
|
+
upload: string;
|
121
|
+
download: string;
|
122
|
+
}[];
|
123
|
+
outboundsStats: {
|
124
|
+
tag: string;
|
125
|
+
upload: string;
|
126
|
+
download: string;
|
127
|
+
}[];
|
128
|
+
}[];
|
129
|
+
};
|
130
|
+
}, {
|
131
|
+
response: {
|
132
|
+
nodes: {
|
133
|
+
nodeName: string;
|
134
|
+
nodeUuid: string;
|
135
|
+
usersOnline: number;
|
136
|
+
countryEmoji: string;
|
137
|
+
providerName: string;
|
138
|
+
inboundsStats: {
|
139
|
+
tag: string;
|
140
|
+
upload: string;
|
141
|
+
download: string;
|
142
|
+
}[];
|
143
|
+
outboundsStats: {
|
144
|
+
tag: string;
|
145
|
+
upload: string;
|
146
|
+
download: string;
|
147
|
+
}[];
|
148
|
+
}[];
|
149
|
+
};
|
150
|
+
}>;
|
151
|
+
type Response = z.infer<typeof ResponseSchema>;
|
152
|
+
}
|
153
|
+
//# sourceMappingURL=get-nodes-metrics.command.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"get-nodes-metrics.command.d.ts","sourceRoot":"","sources":["../../../../commands/system/get-nodes-metrics.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,yBAAiB,sBAAsB,CAAC;IAC7B,MAAM,GAAG,6BAAsC,CAAC;IAChD,MAAM,OAAO,6BAAM,CAAC;IAEpB,MAAM,eAAe,2CAI3B,CAAC;IAEK,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA0BzB,CAAC;IAEH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GetNodesMetricsCommand = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const constants_1 = require("../../constants");
|
6
|
+
const api_1 = require("../../api");
|
7
|
+
var GetNodesMetricsCommand;
|
8
|
+
(function (GetNodesMetricsCommand) {
|
9
|
+
GetNodesMetricsCommand.url = api_1.REST_API.SYSTEM.STATS.NODES_METRICS;
|
10
|
+
GetNodesMetricsCommand.TSQ_url = GetNodesMetricsCommand.url;
|
11
|
+
GetNodesMetricsCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.SYSTEM_ROUTES.STATS.NODES_METRICS, 'get', 'Get Nodes Metrics');
|
12
|
+
GetNodesMetricsCommand.ResponseSchema = zod_1.z.object({
|
13
|
+
response: zod_1.z.object({
|
14
|
+
nodes: zod_1.z.array(zod_1.z.object({
|
15
|
+
nodeUuid: zod_1.z.string(),
|
16
|
+
nodeName: zod_1.z.string(),
|
17
|
+
countryEmoji: zod_1.z.string(),
|
18
|
+
providerName: zod_1.z.string(),
|
19
|
+
usersOnline: zod_1.z.number(),
|
20
|
+
inboundsStats: zod_1.z.array(zod_1.z.object({
|
21
|
+
tag: zod_1.z.string(),
|
22
|
+
upload: zod_1.z.string(),
|
23
|
+
download: zod_1.z.string(),
|
24
|
+
})),
|
25
|
+
outboundsStats: zod_1.z.array(zod_1.z.object({
|
26
|
+
tag: zod_1.z.string(),
|
27
|
+
upload: zod_1.z.string(),
|
28
|
+
download: zod_1.z.string(),
|
29
|
+
})),
|
30
|
+
})),
|
31
|
+
}),
|
32
|
+
});
|
33
|
+
})(GetNodesMetricsCommand || (exports.GetNodesMetricsCommand = GetNodesMetricsCommand = {}));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commands/system/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commands/system/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC"}
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
__exportStar(require("./get-bandwidth-stats.command"), exports);
|
18
|
+
__exportStar(require("./get-nodes-metrics.command"), exports);
|
18
19
|
__exportStar(require("./get-nodes-statistics"), exports);
|
19
20
|
__exportStar(require("./get-remnawave-health.command"), exports);
|
20
21
|
__exportStar(require("./get-stats.command"), exports);
|
@@ -744,5 +744,15 @@ export declare const ERRORS: {
|
|
744
744
|
readonly message: "Delete config profile by UUID error";
|
745
745
|
readonly httpCode: 500;
|
746
746
|
};
|
747
|
+
readonly RESERVED_INTERNAL_SQUAD_NAME: {
|
748
|
+
readonly code: "A144";
|
749
|
+
readonly message: "This name is reserved by Remnawave. Please use a different name.";
|
750
|
+
readonly httpCode: 400;
|
751
|
+
};
|
752
|
+
readonly RESERVED_CONFIG_PROFILE_NAME: {
|
753
|
+
readonly code: "A145";
|
754
|
+
readonly message: "This name is reserved by Remnawave. Please use a different name.";
|
755
|
+
readonly httpCode: 400;
|
756
|
+
};
|
747
757
|
};
|
748
758
|
//# sourceMappingURL=errors.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../constants/errors/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAwJY,MAAM;;;;;;;;;;wCAUN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA4IN,MAAM
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../constants/errors/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAwJY,MAAM;;;;;;;;;;wCAUN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA4IN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwa3B,CAAC"}
|
@@ -715,4 +715,14 @@ exports.ERRORS = {
|
|
715
715
|
message: 'Delete config profile by UUID error',
|
716
716
|
httpCode: 500,
|
717
717
|
},
|
718
|
+
RESERVED_INTERNAL_SQUAD_NAME: {
|
719
|
+
code: 'A144',
|
720
|
+
message: 'This name is reserved by Remnawave. Please use a different name.',
|
721
|
+
httpCode: 400,
|
722
|
+
},
|
723
|
+
RESERVED_CONFIG_PROFILE_NAME: {
|
724
|
+
code: 'A145',
|
725
|
+
message: 'This name is reserved by Remnawave. Please use a different name.',
|
726
|
+
httpCode: 400,
|
727
|
+
},
|
718
728
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
@@ -19,6 +19,7 @@ __exportStar(require("./errors"), exports);
|
|
19
19
|
__exportStar(require("./events"), exports);
|
20
20
|
__exportStar(require("./headers"), exports);
|
21
21
|
__exportStar(require("./hosts"), exports);
|
22
|
+
__exportStar(require("./messaging"), exports);
|
22
23
|
__exportStar(require("./metrics"), exports);
|
23
24
|
__exportStar(require("./nodes"), exports);
|
24
25
|
__exportStar(require("./roles"), exports);
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../constants/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./messaging.constants"), exports);
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export declare enum MessagingChannels {
|
2
|
+
EVENT = "redis-event"
|
3
|
+
}
|
4
|
+
export declare enum MessagingBuses {
|
5
|
+
EVENT = "event.bus"
|
6
|
+
}
|
7
|
+
export declare enum MessagingQueues {
|
8
|
+
EVENT = "event-queue"
|
9
|
+
}
|
10
|
+
export declare enum MessagingMessages {
|
11
|
+
NODE_METRICS = "node.metrics"
|
12
|
+
}
|
13
|
+
//# sourceMappingURL=messaging.constants.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"messaging.constants.d.ts","sourceRoot":"","sources":["../../../../constants/messaging/messaging.constants.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IACzB,KAAK,gBAAgB;CACxB;AAED,oBAAY,cAAc;IACtB,KAAK,cAAc;CACtB;AAED,oBAAY,eAAe;IACvB,KAAK,gBAAgB;CACxB;AAED,oBAAY,iBAAiB;IACzB,YAAY,iBAAiB;CAChC"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.MessagingMessages = exports.MessagingQueues = exports.MessagingBuses = exports.MessagingChannels = void 0;
|
4
|
+
var MessagingChannels;
|
5
|
+
(function (MessagingChannels) {
|
6
|
+
MessagingChannels["EVENT"] = "redis-event";
|
7
|
+
})(MessagingChannels || (exports.MessagingChannels = MessagingChannels = {}));
|
8
|
+
var MessagingBuses;
|
9
|
+
(function (MessagingBuses) {
|
10
|
+
MessagingBuses["EVENT"] = "event.bus";
|
11
|
+
})(MessagingBuses || (exports.MessagingBuses = MessagingBuses = {}));
|
12
|
+
var MessagingQueues;
|
13
|
+
(function (MessagingQueues) {
|
14
|
+
MessagingQueues["EVENT"] = "event-queue";
|
15
|
+
})(MessagingQueues || (exports.MessagingQueues = MessagingQueues = {}));
|
16
|
+
var MessagingMessages;
|
17
|
+
(function (MessagingMessages) {
|
18
|
+
MessagingMessages["NODE_METRICS"] = "node.metrics";
|
19
|
+
})(MessagingMessages || (exports.MessagingMessages = MessagingMessages = {}));
|
@@ -3,6 +3,22 @@ export declare const METRIC_NAMES: {
|
|
3
3
|
readonly NODE_STATUS: "node_status";
|
4
4
|
readonly USERS_STATUS: "users_status";
|
5
5
|
readonly USERS_TOTAL: "users_total";
|
6
|
+
readonly NODE_INBOUND_UPLOAD_BYTES: "node_inbound_upload_bytes";
|
7
|
+
readonly NODE_INBOUND_DOWNLOAD_BYTES: "node_inbound_download_bytes";
|
8
|
+
readonly NODE_OUTBOUND_UPLOAD_BYTES: "node_outbound_upload_bytes";
|
9
|
+
readonly NODE_OUTBOUND_DOWNLOAD_BYTES: "node_outbound_download_bytes";
|
10
|
+
readonly NODEJS_HEAP_USED_BYTES: "nodejs_heap_used_bytes";
|
11
|
+
readonly NODEJS_HEAP_TOTAL_BYTES: "nodejs_heap_total_bytes";
|
12
|
+
readonly NODEJS_HEAP_USAGE_PERCENT: "nodejs_heap_usage_percent";
|
13
|
+
readonly NODEJS_ACTIVE_HANDLERS: "nodejs_active_handlers";
|
14
|
+
readonly NODEJS_ACTIVE_REQUESTS: "nodejs_active_requests";
|
15
|
+
readonly NODEJS_CPU_USAGE_PERCENT: "nodejs_cpu_usage_percent";
|
16
|
+
readonly NODEJS_MEMORY_USAGE_BYTES: "nodejs_memory_usage_bytes";
|
17
|
+
readonly NODEJS_EVENT_LOOP_LATENCY_P50: "nodejs_event_loop_latency_p50";
|
18
|
+
readonly NODEJS_EVENT_LOOP_LATENCY_P95: "nodejs_event_loop_latency_p95";
|
19
|
+
readonly NODEJS_HTTP_REQ_RATE: "nodejs_http_req_rate";
|
20
|
+
readonly NODEJS_HTTP_REQ_LATENCY_P95: "nodejs_http_req_latency_p95";
|
21
|
+
readonly NODEJS_HTTP_REQ_LATENCY_P50: "nodejs_http_req_latency_p50";
|
6
22
|
};
|
7
23
|
export type TMetricNames = typeof METRIC_NAMES;
|
8
24
|
export type TMetricNamesKeys = (typeof METRIC_NAMES)[keyof typeof METRIC_NAMES];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"metric-names.constant.d.ts","sourceRoot":"","sources":["../../../../constants/metrics/metric-names.constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY
|
1
|
+
{"version":3,"file":"metric-names.constant.d.ts","sourceRoot":"","sources":["../../../../constants/metrics/metric-names.constant.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;CAqBf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAC/C,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
|
@@ -6,4 +6,20 @@ exports.METRIC_NAMES = {
|
|
6
6
|
NODE_STATUS: 'node_status',
|
7
7
|
USERS_STATUS: 'users_status',
|
8
8
|
USERS_TOTAL: 'users_total',
|
9
|
+
NODE_INBOUND_UPLOAD_BYTES: 'node_inbound_upload_bytes',
|
10
|
+
NODE_INBOUND_DOWNLOAD_BYTES: 'node_inbound_download_bytes',
|
11
|
+
NODE_OUTBOUND_UPLOAD_BYTES: 'node_outbound_upload_bytes',
|
12
|
+
NODE_OUTBOUND_DOWNLOAD_BYTES: 'node_outbound_download_bytes',
|
13
|
+
NODEJS_HEAP_USED_BYTES: 'nodejs_heap_used_bytes',
|
14
|
+
NODEJS_HEAP_TOTAL_BYTES: 'nodejs_heap_total_bytes',
|
15
|
+
NODEJS_HEAP_USAGE_PERCENT: 'nodejs_heap_usage_percent',
|
16
|
+
NODEJS_ACTIVE_HANDLERS: 'nodejs_active_handlers',
|
17
|
+
NODEJS_ACTIVE_REQUESTS: 'nodejs_active_requests',
|
18
|
+
NODEJS_CPU_USAGE_PERCENT: 'nodejs_cpu_usage_percent',
|
19
|
+
NODEJS_MEMORY_USAGE_BYTES: 'nodejs_memory_usage_bytes',
|
20
|
+
NODEJS_EVENT_LOOP_LATENCY_P50: 'nodejs_event_loop_latency_p50',
|
21
|
+
NODEJS_EVENT_LOOP_LATENCY_P95: 'nodejs_event_loop_latency_p95',
|
22
|
+
NODEJS_HTTP_REQ_RATE: 'nodejs_http_req_rate',
|
23
|
+
NODEJS_HTTP_REQ_LATENCY_P95: 'nodejs_http_req_latency_p95',
|
24
|
+
NODEJS_HTTP_REQ_LATENCY_P50: 'nodejs_http_req_latency_p50',
|
9
25
|
};
|
@@ -142,6 +142,7 @@ exports.REST_API = {
|
|
142
142
|
SYSTEM_STATS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS.SYSTEM_STATS}`,
|
143
143
|
BANDWIDTH_STATS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS.BANDWIDTH_STATS}`,
|
144
144
|
NODES_STATS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS.NODES_STATS}`,
|
145
|
+
NODES_METRICS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS.NODES_METRICS}`,
|
145
146
|
},
|
146
147
|
},
|
147
148
|
SUBSCRIPTION_TEMPLATE: {
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GetNodesMetricsCommand = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const constants_1 = require("../../constants");
|
6
|
+
const api_1 = require("../../api");
|
7
|
+
var GetNodesMetricsCommand;
|
8
|
+
(function (GetNodesMetricsCommand) {
|
9
|
+
GetNodesMetricsCommand.url = api_1.REST_API.SYSTEM.STATS.NODES_METRICS;
|
10
|
+
GetNodesMetricsCommand.TSQ_url = GetNodesMetricsCommand.url;
|
11
|
+
GetNodesMetricsCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.SYSTEM_ROUTES.STATS.NODES_METRICS, 'get', 'Get Nodes Metrics');
|
12
|
+
GetNodesMetricsCommand.ResponseSchema = zod_1.z.object({
|
13
|
+
response: zod_1.z.object({
|
14
|
+
nodes: zod_1.z.array(zod_1.z.object({
|
15
|
+
nodeUuid: zod_1.z.string(),
|
16
|
+
nodeName: zod_1.z.string(),
|
17
|
+
countryEmoji: zod_1.z.string(),
|
18
|
+
providerName: zod_1.z.string(),
|
19
|
+
usersOnline: zod_1.z.number(),
|
20
|
+
inboundsStats: zod_1.z.array(zod_1.z.object({
|
21
|
+
tag: zod_1.z.string(),
|
22
|
+
upload: zod_1.z.string(),
|
23
|
+
download: zod_1.z.string(),
|
24
|
+
})),
|
25
|
+
outboundsStats: zod_1.z.array(zod_1.z.object({
|
26
|
+
tag: zod_1.z.string(),
|
27
|
+
upload: zod_1.z.string(),
|
28
|
+
download: zod_1.z.string(),
|
29
|
+
})),
|
30
|
+
})),
|
31
|
+
}),
|
32
|
+
});
|
33
|
+
})(GetNodesMetricsCommand || (exports.GetNodesMetricsCommand = GetNodesMetricsCommand = {}));
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
__exportStar(require("./get-bandwidth-stats.command"), exports);
|
18
|
+
__exportStar(require("./get-nodes-metrics.command"), exports);
|
18
19
|
__exportStar(require("./get-nodes-statistics"), exports);
|
19
20
|
__exportStar(require("./get-remnawave-health.command"), exports);
|
20
21
|
__exportStar(require("./get-stats.command"), exports);
|
@@ -715,4 +715,14 @@ exports.ERRORS = {
|
|
715
715
|
message: 'Delete config profile by UUID error',
|
716
716
|
httpCode: 500,
|
717
717
|
},
|
718
|
+
RESERVED_INTERNAL_SQUAD_NAME: {
|
719
|
+
code: 'A144',
|
720
|
+
message: 'This name is reserved by Remnawave. Please use a different name.',
|
721
|
+
httpCode: 400,
|
722
|
+
},
|
723
|
+
RESERVED_CONFIG_PROFILE_NAME: {
|
724
|
+
code: 'A145',
|
725
|
+
message: 'This name is reserved by Remnawave. Please use a different name.',
|
726
|
+
httpCode: 400,
|
727
|
+
},
|
718
728
|
};
|
@@ -19,6 +19,7 @@ __exportStar(require("./errors"), exports);
|
|
19
19
|
__exportStar(require("./events"), exports);
|
20
20
|
__exportStar(require("./headers"), exports);
|
21
21
|
__exportStar(require("./hosts"), exports);
|
22
|
+
__exportStar(require("./messaging"), exports);
|
22
23
|
__exportStar(require("./metrics"), exports);
|
23
24
|
__exportStar(require("./nodes"), exports);
|
24
25
|
__exportStar(require("./roles"), exports);
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./messaging.constants"), exports);
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.MessagingMessages = exports.MessagingQueues = exports.MessagingBuses = exports.MessagingChannels = void 0;
|
4
|
+
var MessagingChannels;
|
5
|
+
(function (MessagingChannels) {
|
6
|
+
MessagingChannels["EVENT"] = "redis-event";
|
7
|
+
})(MessagingChannels || (exports.MessagingChannels = MessagingChannels = {}));
|
8
|
+
var MessagingBuses;
|
9
|
+
(function (MessagingBuses) {
|
10
|
+
MessagingBuses["EVENT"] = "event.bus";
|
11
|
+
})(MessagingBuses || (exports.MessagingBuses = MessagingBuses = {}));
|
12
|
+
var MessagingQueues;
|
13
|
+
(function (MessagingQueues) {
|
14
|
+
MessagingQueues["EVENT"] = "event-queue";
|
15
|
+
})(MessagingQueues || (exports.MessagingQueues = MessagingQueues = {}));
|
16
|
+
var MessagingMessages;
|
17
|
+
(function (MessagingMessages) {
|
18
|
+
MessagingMessages["NODE_METRICS"] = "node.metrics";
|
19
|
+
})(MessagingMessages || (exports.MessagingMessages = MessagingMessages = {}));
|
@@ -6,4 +6,20 @@ exports.METRIC_NAMES = {
|
|
6
6
|
NODE_STATUS: 'node_status',
|
7
7
|
USERS_STATUS: 'users_status',
|
8
8
|
USERS_TOTAL: 'users_total',
|
9
|
+
NODE_INBOUND_UPLOAD_BYTES: 'node_inbound_upload_bytes',
|
10
|
+
NODE_INBOUND_DOWNLOAD_BYTES: 'node_inbound_download_bytes',
|
11
|
+
NODE_OUTBOUND_UPLOAD_BYTES: 'node_outbound_upload_bytes',
|
12
|
+
NODE_OUTBOUND_DOWNLOAD_BYTES: 'node_outbound_download_bytes',
|
13
|
+
NODEJS_HEAP_USED_BYTES: 'nodejs_heap_used_bytes',
|
14
|
+
NODEJS_HEAP_TOTAL_BYTES: 'nodejs_heap_total_bytes',
|
15
|
+
NODEJS_HEAP_USAGE_PERCENT: 'nodejs_heap_usage_percent',
|
16
|
+
NODEJS_ACTIVE_HANDLERS: 'nodejs_active_handlers',
|
17
|
+
NODEJS_ACTIVE_REQUESTS: 'nodejs_active_requests',
|
18
|
+
NODEJS_CPU_USAGE_PERCENT: 'nodejs_cpu_usage_percent',
|
19
|
+
NODEJS_MEMORY_USAGE_BYTES: 'nodejs_memory_usage_bytes',
|
20
|
+
NODEJS_EVENT_LOOP_LATENCY_P50: 'nodejs_event_loop_latency_p50',
|
21
|
+
NODEJS_EVENT_LOOP_LATENCY_P95: 'nodejs_event_loop_latency_p95',
|
22
|
+
NODEJS_HTTP_REQ_RATE: 'nodejs_http_req_rate',
|
23
|
+
NODEJS_HTTP_REQ_LATENCY_P95: 'nodejs_http_req_latency_p95',
|
24
|
+
NODEJS_HTTP_REQ_LATENCY_P50: 'nodejs_http_req_latency_p50',
|
9
25
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@remnawave/backend-contract",
|
3
|
-
"version": "2.0.0-alpha.
|
3
|
+
"version": "2.0.0-alpha.32",
|
4
4
|
"public": true,
|
5
5
|
"license": "AGPL-3.0-only",
|
6
6
|
"description": "A contract library for Remnawave Backend. It can be used in backend and frontend.",
|
@@ -28,6 +28,6 @@
|
|
28
28
|
},
|
29
29
|
"keywords": [],
|
30
30
|
"dependencies": {
|
31
|
-
"zod": "^3.
|
31
|
+
"zod": "^3.25.76"
|
32
32
|
}
|
33
33
|
}
|