@remnawave/backend-contract 2.1.73 → 2.1.74
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/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/response-rules/index.d.ts +2 -0
- package/build/backend/constants/response-rules/index.d.ts.map +1 -0
- package/build/backend/constants/response-rules/index.js +17 -0
- package/build/backend/constants/response-rules/response-rules.contants.d.ts +37 -0
- package/build/backend/constants/response-rules/response-rules.contants.d.ts.map +1 -0
- package/build/backend/constants/response-rules/response-rules.contants.js +35 -0
- package/build/backend/models/index.d.ts +1 -0
- package/build/backend/models/index.d.ts.map +1 -1
- package/build/backend/models/index.js +1 -0
- package/build/backend/models/response-rules/index.d.ts +4 -0
- package/build/backend/models/response-rules/index.d.ts.map +1 -0
- package/build/backend/models/response-rules/index.js +19 -0
- package/build/backend/models/response-rules/response-rule.schema.d.ts +68 -0
- package/build/backend/models/response-rules/response-rule.schema.d.ts.map +1 -0
- package/build/backend/models/response-rules/response-rule.schema.js +29 -0
- package/build/backend/models/response-rules/response-rules-config.schema.d.ts +99 -0
- package/build/backend/models/response-rules/response-rules-config.schema.d.ts.map +1 -0
- package/build/backend/models/response-rules/response-rules-config.schema.js +10 -0
- package/build/backend/models/response-rules/response-rules-json-schema.d.ts +7 -0
- package/build/backend/models/response-rules/response-rules-json-schema.d.ts.map +1 -0
- package/build/backend/models/response-rules/response-rules-json-schema.js +11 -0
- package/build/frontend/constants/index.js +1 -0
- package/build/frontend/constants/response-rules/index.js +17 -0
- package/build/frontend/constants/response-rules/response-rules.contants.js +27 -0
- package/build/frontend/models/index.js +1 -0
- package/build/frontend/models/response-rules/index.js +19 -0
- package/build/frontend/models/response-rules/response-rule.schema.js +29 -0
- package/build/frontend/models/response-rules/response-rules-config.schema.js +10 -0
- package/build/frontend/models/response-rules/response-rules-json-schema.js +11 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,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,UAAU,CAAC;AACzB,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,cAAc,CAAC;AAC7B,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,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -24,6 +24,7 @@ __exportStar(require("./messaging"), exports);
|
|
|
24
24
|
__exportStar(require("./metrics"), exports);
|
|
25
25
|
__exportStar(require("./nodes"), exports);
|
|
26
26
|
__exportStar(require("./oauth2"), exports);
|
|
27
|
+
__exportStar(require("./response-rules"), exports);
|
|
27
28
|
__exportStar(require("./roles"), exports);
|
|
28
29
|
__exportStar(require("./subscription-template"), exports);
|
|
29
30
|
__exportStar(require("./templates"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../constants/response-rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,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("./response-rules.contants"), exports);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const RESPONSE_RULES_CONFIG_VERSION: {
|
|
2
|
+
readonly 1: "1";
|
|
3
|
+
};
|
|
4
|
+
export declare const RESPONSE_RULES_OPERATORS: {
|
|
5
|
+
readonly AND: "AND";
|
|
6
|
+
readonly OR: "OR";
|
|
7
|
+
};
|
|
8
|
+
export declare const RESPONSE_RULE_CONDITION_TYPES: {
|
|
9
|
+
readonly HEADER: "HEADER";
|
|
10
|
+
};
|
|
11
|
+
export declare const RESPONSE_RULES_CONDITION_OPERATORS: {
|
|
12
|
+
readonly EQUALS: "EQUALS";
|
|
13
|
+
readonly NOT_EQUALS: "NOT_EQUALS";
|
|
14
|
+
readonly CONTAINS: "CONTAINS";
|
|
15
|
+
readonly NOT_CONTAINS: "NOT_CONTAINS";
|
|
16
|
+
readonly STARTS_WITH: "STARTS_WITH";
|
|
17
|
+
readonly NOT_STARTS_WITH: "NOT_STARTS_WITH";
|
|
18
|
+
readonly ENDS_WITH: "ENDS_WITH";
|
|
19
|
+
readonly NOT_ENDS_WITH: "NOT_ENDS_WITH";
|
|
20
|
+
readonly REGEX: "REGEX";
|
|
21
|
+
readonly NOT_REGEX: "NOT_REGEX";
|
|
22
|
+
};
|
|
23
|
+
export declare const RESPONSE_RULES_RESPONSE_TYPES: {
|
|
24
|
+
readonly BLOCK: "BLOCK";
|
|
25
|
+
readonly BASE64: "BASE64";
|
|
26
|
+
readonly STATUS_CODE_404: "STATUS_CODE_404";
|
|
27
|
+
readonly STATUS_CODE_403: "STATUS_CODE_403";
|
|
28
|
+
readonly STATUS_CODE_451: "STATUS_CODE_451";
|
|
29
|
+
readonly SOCKET_DROP: "SOCKET_DROP";
|
|
30
|
+
readonly STASH: "STASH";
|
|
31
|
+
readonly SINGBOX: "SINGBOX";
|
|
32
|
+
readonly SINGBOX_LEGACY: "SINGBOX_LEGACY";
|
|
33
|
+
readonly MIHOMO: "MIHOMO";
|
|
34
|
+
readonly XRAY_JSON: "XRAY_JSON";
|
|
35
|
+
readonly CLASH: "CLASH";
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=response-rules.contants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-rules.contants.d.ts","sourceRoot":"","sources":["../../../../constants/response-rules/response-rules.contants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,6BAA6B;;CAEhC,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;CAG3B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;CAEhC,CAAC;AAEX,eAAO,MAAM,kCAAkC;;;;;;;;;;;CAWrC,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;CAQhC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESPONSE_RULES_RESPONSE_TYPES = exports.RESPONSE_RULES_CONDITION_OPERATORS = exports.RESPONSE_RULE_CONDITION_TYPES = exports.RESPONSE_RULES_OPERATORS = exports.RESPONSE_RULES_CONFIG_VERSION = void 0;
|
|
4
|
+
const subscription_template_1 = require("../subscription-template");
|
|
5
|
+
exports.RESPONSE_RULES_CONFIG_VERSION = {
|
|
6
|
+
1: '1',
|
|
7
|
+
};
|
|
8
|
+
exports.RESPONSE_RULES_OPERATORS = {
|
|
9
|
+
AND: 'AND',
|
|
10
|
+
OR: 'OR',
|
|
11
|
+
};
|
|
12
|
+
exports.RESPONSE_RULE_CONDITION_TYPES = {
|
|
13
|
+
HEADER: 'HEADER',
|
|
14
|
+
};
|
|
15
|
+
exports.RESPONSE_RULES_CONDITION_OPERATORS = {
|
|
16
|
+
EQUALS: 'EQUALS',
|
|
17
|
+
NOT_EQUALS: 'NOT_EQUALS',
|
|
18
|
+
CONTAINS: 'CONTAINS',
|
|
19
|
+
NOT_CONTAINS: 'NOT_CONTAINS',
|
|
20
|
+
STARTS_WITH: 'STARTS_WITH',
|
|
21
|
+
NOT_STARTS_WITH: 'NOT_STARTS_WITH',
|
|
22
|
+
ENDS_WITH: 'ENDS_WITH',
|
|
23
|
+
NOT_ENDS_WITH: 'NOT_ENDS_WITH',
|
|
24
|
+
REGEX: 'REGEX',
|
|
25
|
+
NOT_REGEX: 'NOT_REGEX',
|
|
26
|
+
};
|
|
27
|
+
exports.RESPONSE_RULES_RESPONSE_TYPES = {
|
|
28
|
+
...subscription_template_1.SUBSCRIPTION_TEMPLATE_TYPE,
|
|
29
|
+
BLOCK: 'BLOCK',
|
|
30
|
+
BASE64: 'BASE64',
|
|
31
|
+
STATUS_CODE_404: 'STATUS_CODE_404',
|
|
32
|
+
STATUS_CODE_403: 'STATUS_CODE_403',
|
|
33
|
+
STATUS_CODE_451: 'STATUS_CODE_451',
|
|
34
|
+
SOCKET_DROP: 'SOCKET_DROP',
|
|
35
|
+
};
|
|
@@ -15,6 +15,7 @@ export * from './infra-provider.schema';
|
|
|
15
15
|
export * from './internal-squad.schema';
|
|
16
16
|
export * from './last-connected-node.schema';
|
|
17
17
|
export * from './nodes.schema';
|
|
18
|
+
export * from './response-rules';
|
|
18
19
|
export * from './snippets.schema';
|
|
19
20
|
export * from './subscription-info.schema';
|
|
20
21
|
export * from './subscription-request-history.schema';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../models/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../models/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
@@ -31,6 +31,7 @@ __exportStar(require("./infra-provider.schema"), exports);
|
|
|
31
31
|
__exportStar(require("./internal-squad.schema"), exports);
|
|
32
32
|
__exportStar(require("./last-connected-node.schema"), exports);
|
|
33
33
|
__exportStar(require("./nodes.schema"), exports);
|
|
34
|
+
__exportStar(require("./response-rules"), exports);
|
|
34
35
|
__exportStar(require("./snippets.schema"), exports);
|
|
35
36
|
__exportStar(require("./subscription-info.schema"), exports);
|
|
36
37
|
__exportStar(require("./subscription-request-history.schema"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../models/response-rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./response-rule.schema"), exports);
|
|
18
|
+
__exportStar(require("./response-rules-config.schema"), exports);
|
|
19
|
+
__exportStar(require("./response-rules-json-schema"), exports);
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ResponseRuleSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodString;
|
|
4
|
+
description: z.ZodOptional<z.ZodString>;
|
|
5
|
+
operator: z.ZodNativeEnum<{
|
|
6
|
+
readonly AND: "AND";
|
|
7
|
+
readonly OR: "OR";
|
|
8
|
+
}>;
|
|
9
|
+
conditions: z.ZodArray<z.ZodObject<{
|
|
10
|
+
headerName: z.ZodString;
|
|
11
|
+
operator: z.ZodNativeEnum<{
|
|
12
|
+
readonly EQUALS: "EQUALS";
|
|
13
|
+
readonly NOT_EQUALS: "NOT_EQUALS";
|
|
14
|
+
readonly CONTAINS: "CONTAINS";
|
|
15
|
+
readonly NOT_CONTAINS: "NOT_CONTAINS";
|
|
16
|
+
readonly STARTS_WITH: "STARTS_WITH";
|
|
17
|
+
readonly NOT_STARTS_WITH: "NOT_STARTS_WITH";
|
|
18
|
+
readonly ENDS_WITH: "ENDS_WITH";
|
|
19
|
+
readonly NOT_ENDS_WITH: "NOT_ENDS_WITH";
|
|
20
|
+
readonly REGEX: "REGEX";
|
|
21
|
+
readonly NOT_REGEX: "NOT_REGEX";
|
|
22
|
+
}>;
|
|
23
|
+
value: z.ZodString;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
value: string;
|
|
26
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
27
|
+
headerName: string;
|
|
28
|
+
}, {
|
|
29
|
+
value: string;
|
|
30
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
31
|
+
headerName: string;
|
|
32
|
+
}>, "many">;
|
|
33
|
+
responseType: z.ZodNativeEnum<{
|
|
34
|
+
readonly BLOCK: "BLOCK";
|
|
35
|
+
readonly BASE64: "BASE64";
|
|
36
|
+
readonly STATUS_CODE_404: "STATUS_CODE_404";
|
|
37
|
+
readonly STATUS_CODE_403: "STATUS_CODE_403";
|
|
38
|
+
readonly STATUS_CODE_451: "STATUS_CODE_451";
|
|
39
|
+
readonly SOCKET_DROP: "SOCKET_DROP";
|
|
40
|
+
readonly STASH: "STASH";
|
|
41
|
+
readonly SINGBOX: "SINGBOX";
|
|
42
|
+
readonly SINGBOX_LEGACY: "SINGBOX_LEGACY";
|
|
43
|
+
readonly MIHOMO: "MIHOMO";
|
|
44
|
+
readonly XRAY_JSON: "XRAY_JSON";
|
|
45
|
+
readonly CLASH: "CLASH";
|
|
46
|
+
}>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
name: string;
|
|
49
|
+
operator: "AND" | "OR";
|
|
50
|
+
conditions: {
|
|
51
|
+
value: string;
|
|
52
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
53
|
+
headerName: string;
|
|
54
|
+
}[];
|
|
55
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
56
|
+
description?: string | undefined;
|
|
57
|
+
}, {
|
|
58
|
+
name: string;
|
|
59
|
+
operator: "AND" | "OR";
|
|
60
|
+
conditions: {
|
|
61
|
+
value: string;
|
|
62
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
63
|
+
headerName: string;
|
|
64
|
+
}[];
|
|
65
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
66
|
+
description?: string | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
//# sourceMappingURL=response-rule.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-rule.schema.d.ts","sourceRoot":"","sources":["../../../../models/response-rules/response-rule.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B7B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRuleSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
exports.ResponseRuleSchema = zod_1.z.object({
|
|
7
|
+
name: zod_1.z.string().min(1, 'Name is required').max(50, 'Name must be less than 50 characters'),
|
|
8
|
+
description: zod_1.z
|
|
9
|
+
.string()
|
|
10
|
+
.min(1, 'Description is required')
|
|
11
|
+
.max(250, 'Description must be less than 250 characters')
|
|
12
|
+
.optional(),
|
|
13
|
+
operator: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_OPERATORS).describe('Operator to use for the rule.'),
|
|
14
|
+
conditions: zod_1.z.array(zod_1.z.object({
|
|
15
|
+
headerName: zod_1.z
|
|
16
|
+
.string()
|
|
17
|
+
.regex(/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/, 'Invalid header name. Only letters(a-z, A-Z), numbers(0-9), underscores(_) and hyphens(-) are allowed.')
|
|
18
|
+
.describe('Name of the HTTP header to check, case insensitive, must comply with RFC 7230.'),
|
|
19
|
+
operator: zod_1.z
|
|
20
|
+
.nativeEnum(constants_1.RESPONSE_RULES_CONDITION_OPERATORS)
|
|
21
|
+
.describe('Operator to use for the condition.'),
|
|
22
|
+
value: zod_1.z
|
|
23
|
+
.string()
|
|
24
|
+
.min(1, 'Value is required')
|
|
25
|
+
.max(255, 'Value must be less than 255 characters')
|
|
26
|
+
.describe('Value to check against the header, case sensitive.'),
|
|
27
|
+
})),
|
|
28
|
+
responseType: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_RESPONSE_TYPES).describe('Type of the response.'),
|
|
29
|
+
});
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ResponseRulesConfigSchema: z.ZodObject<{
|
|
3
|
+
version: z.ZodNativeEnum<{
|
|
4
|
+
readonly 1: "1";
|
|
5
|
+
}>;
|
|
6
|
+
rules: z.ZodArray<z.ZodObject<{
|
|
7
|
+
name: z.ZodString;
|
|
8
|
+
description: z.ZodOptional<z.ZodString>;
|
|
9
|
+
operator: z.ZodNativeEnum<{
|
|
10
|
+
readonly AND: "AND";
|
|
11
|
+
readonly OR: "OR";
|
|
12
|
+
}>;
|
|
13
|
+
conditions: z.ZodArray<z.ZodObject<{
|
|
14
|
+
headerName: z.ZodString;
|
|
15
|
+
operator: z.ZodNativeEnum<{
|
|
16
|
+
readonly EQUALS: "EQUALS";
|
|
17
|
+
readonly NOT_EQUALS: "NOT_EQUALS";
|
|
18
|
+
readonly CONTAINS: "CONTAINS";
|
|
19
|
+
readonly NOT_CONTAINS: "NOT_CONTAINS";
|
|
20
|
+
readonly STARTS_WITH: "STARTS_WITH";
|
|
21
|
+
readonly NOT_STARTS_WITH: "NOT_STARTS_WITH";
|
|
22
|
+
readonly ENDS_WITH: "ENDS_WITH";
|
|
23
|
+
readonly NOT_ENDS_WITH: "NOT_ENDS_WITH";
|
|
24
|
+
readonly REGEX: "REGEX";
|
|
25
|
+
readonly NOT_REGEX: "NOT_REGEX";
|
|
26
|
+
}>;
|
|
27
|
+
value: z.ZodString;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
value: string;
|
|
30
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
31
|
+
headerName: string;
|
|
32
|
+
}, {
|
|
33
|
+
value: string;
|
|
34
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
35
|
+
headerName: string;
|
|
36
|
+
}>, "many">;
|
|
37
|
+
responseType: z.ZodNativeEnum<{
|
|
38
|
+
readonly BLOCK: "BLOCK";
|
|
39
|
+
readonly BASE64: "BASE64";
|
|
40
|
+
readonly STATUS_CODE_404: "STATUS_CODE_404";
|
|
41
|
+
readonly STATUS_CODE_403: "STATUS_CODE_403";
|
|
42
|
+
readonly STATUS_CODE_451: "STATUS_CODE_451";
|
|
43
|
+
readonly SOCKET_DROP: "SOCKET_DROP";
|
|
44
|
+
readonly STASH: "STASH";
|
|
45
|
+
readonly SINGBOX: "SINGBOX";
|
|
46
|
+
readonly SINGBOX_LEGACY: "SINGBOX_LEGACY";
|
|
47
|
+
readonly MIHOMO: "MIHOMO";
|
|
48
|
+
readonly XRAY_JSON: "XRAY_JSON";
|
|
49
|
+
readonly CLASH: "CLASH";
|
|
50
|
+
}>;
|
|
51
|
+
}, "strip", z.ZodTypeAny, {
|
|
52
|
+
name: string;
|
|
53
|
+
operator: "AND" | "OR";
|
|
54
|
+
conditions: {
|
|
55
|
+
value: string;
|
|
56
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
57
|
+
headerName: string;
|
|
58
|
+
}[];
|
|
59
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
60
|
+
description?: string | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
name: string;
|
|
63
|
+
operator: "AND" | "OR";
|
|
64
|
+
conditions: {
|
|
65
|
+
value: string;
|
|
66
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
67
|
+
headerName: string;
|
|
68
|
+
}[];
|
|
69
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
70
|
+
description?: string | undefined;
|
|
71
|
+
}>, "many">;
|
|
72
|
+
}, "strip", z.ZodTypeAny, {
|
|
73
|
+
version: "1";
|
|
74
|
+
rules: {
|
|
75
|
+
name: string;
|
|
76
|
+
operator: "AND" | "OR";
|
|
77
|
+
conditions: {
|
|
78
|
+
value: string;
|
|
79
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
80
|
+
headerName: string;
|
|
81
|
+
}[];
|
|
82
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
83
|
+
description?: string | undefined;
|
|
84
|
+
}[];
|
|
85
|
+
}, {
|
|
86
|
+
version: "1";
|
|
87
|
+
rules: {
|
|
88
|
+
name: string;
|
|
89
|
+
operator: "AND" | "OR";
|
|
90
|
+
conditions: {
|
|
91
|
+
value: string;
|
|
92
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
93
|
+
headerName: string;
|
|
94
|
+
}[];
|
|
95
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
96
|
+
description?: string | undefined;
|
|
97
|
+
}[];
|
|
98
|
+
}>;
|
|
99
|
+
//# sourceMappingURL=response-rules-config.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-rules-config.schema.d.ts","sourceRoot":"","sources":["../../../../models/response-rules/response-rules-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGpC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRulesConfigSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
const response_rule_schema_1 = require("./response-rule.schema");
|
|
7
|
+
exports.ResponseRulesConfigSchema = zod_1.z.object({
|
|
8
|
+
version: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_CONFIG_VERSION),
|
|
9
|
+
rules: zod_1.z.array(response_rule_schema_1.ResponseRuleSchema),
|
|
10
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const ResponseRulesJsonSchema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
2
|
+
$schema?: string | undefined;
|
|
3
|
+
definitions?: {
|
|
4
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
5
|
+
} | undefined;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=response-rules-json-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-rules-json-schema.d.ts","sourceRoot":"","sources":["../../../../models/response-rules/response-rules-json-schema.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB;;;;;CAKlC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRulesJsonSchema = void 0;
|
|
4
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
exports.ResponseRulesJsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(_1.ResponseRulesConfigSchema, {
|
|
7
|
+
name: 'Response Rules Config Schema',
|
|
8
|
+
$refStrategy: 'none',
|
|
9
|
+
errorMessages: true,
|
|
10
|
+
markdownDescription: true,
|
|
11
|
+
});
|
|
@@ -24,6 +24,7 @@ __exportStar(require("./messaging"), exports);
|
|
|
24
24
|
__exportStar(require("./metrics"), exports);
|
|
25
25
|
__exportStar(require("./nodes"), exports);
|
|
26
26
|
__exportStar(require("./oauth2"), exports);
|
|
27
|
+
__exportStar(require("./response-rules"), exports);
|
|
27
28
|
__exportStar(require("./roles"), exports);
|
|
28
29
|
__exportStar(require("./subscription-template"), exports);
|
|
29
30
|
__exportStar(require("./templates"), 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("./response-rules.contants"), exports);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESPONSE_RULES_RESPONSE_TYPES = exports.RESPONSE_RULES_CONDITION_OPERATORS = exports.RESPONSE_RULE_CONDITION_TYPES = exports.RESPONSE_RULES_OPERATORS = exports.RESPONSE_RULES_CONFIG_VERSION = void 0;
|
|
4
|
+
const subscription_template_1 = require("../subscription-template");
|
|
5
|
+
exports.RESPONSE_RULES_CONFIG_VERSION = {
|
|
6
|
+
1: '1',
|
|
7
|
+
};
|
|
8
|
+
exports.RESPONSE_RULES_OPERATORS = {
|
|
9
|
+
AND: 'AND',
|
|
10
|
+
OR: 'OR',
|
|
11
|
+
};
|
|
12
|
+
exports.RESPONSE_RULE_CONDITION_TYPES = {
|
|
13
|
+
HEADER: 'HEADER',
|
|
14
|
+
};
|
|
15
|
+
exports.RESPONSE_RULES_CONDITION_OPERATORS = {
|
|
16
|
+
EQUALS: 'EQUALS',
|
|
17
|
+
NOT_EQUALS: 'NOT_EQUALS',
|
|
18
|
+
CONTAINS: 'CONTAINS',
|
|
19
|
+
NOT_CONTAINS: 'NOT_CONTAINS',
|
|
20
|
+
STARTS_WITH: 'STARTS_WITH',
|
|
21
|
+
NOT_STARTS_WITH: 'NOT_STARTS_WITH',
|
|
22
|
+
ENDS_WITH: 'ENDS_WITH',
|
|
23
|
+
NOT_ENDS_WITH: 'NOT_ENDS_WITH',
|
|
24
|
+
REGEX: 'REGEX',
|
|
25
|
+
NOT_REGEX: 'NOT_REGEX',
|
|
26
|
+
};
|
|
27
|
+
exports.RESPONSE_RULES_RESPONSE_TYPES = Object.assign(Object.assign({}, subscription_template_1.SUBSCRIPTION_TEMPLATE_TYPE), { BLOCK: 'BLOCK', BASE64: 'BASE64', STATUS_CODE_404: 'STATUS_CODE_404', STATUS_CODE_403: 'STATUS_CODE_403', STATUS_CODE_451: 'STATUS_CODE_451', SOCKET_DROP: 'SOCKET_DROP' });
|
|
@@ -31,6 +31,7 @@ __exportStar(require("./infra-provider.schema"), exports);
|
|
|
31
31
|
__exportStar(require("./internal-squad.schema"), exports);
|
|
32
32
|
__exportStar(require("./last-connected-node.schema"), exports);
|
|
33
33
|
__exportStar(require("./nodes.schema"), exports);
|
|
34
|
+
__exportStar(require("./response-rules"), exports);
|
|
34
35
|
__exportStar(require("./snippets.schema"), exports);
|
|
35
36
|
__exportStar(require("./subscription-info.schema"), exports);
|
|
36
37
|
__exportStar(require("./subscription-request-history.schema"), exports);
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./response-rule.schema"), exports);
|
|
18
|
+
__exportStar(require("./response-rules-config.schema"), exports);
|
|
19
|
+
__exportStar(require("./response-rules-json-schema"), exports);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRuleSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
exports.ResponseRuleSchema = zod_1.z.object({
|
|
7
|
+
name: zod_1.z.string().min(1, 'Name is required').max(50, 'Name must be less than 50 characters'),
|
|
8
|
+
description: zod_1.z
|
|
9
|
+
.string()
|
|
10
|
+
.min(1, 'Description is required')
|
|
11
|
+
.max(250, 'Description must be less than 250 characters')
|
|
12
|
+
.optional(),
|
|
13
|
+
operator: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_OPERATORS).describe('Operator to use for the rule.'),
|
|
14
|
+
conditions: zod_1.z.array(zod_1.z.object({
|
|
15
|
+
headerName: zod_1.z
|
|
16
|
+
.string()
|
|
17
|
+
.regex(/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/, 'Invalid header name. Only letters(a-z, A-Z), numbers(0-9), underscores(_) and hyphens(-) are allowed.')
|
|
18
|
+
.describe('Name of the HTTP header to check, case insensitive, must comply with RFC 7230.'),
|
|
19
|
+
operator: zod_1.z
|
|
20
|
+
.nativeEnum(constants_1.RESPONSE_RULES_CONDITION_OPERATORS)
|
|
21
|
+
.describe('Operator to use for the condition.'),
|
|
22
|
+
value: zod_1.z
|
|
23
|
+
.string()
|
|
24
|
+
.min(1, 'Value is required')
|
|
25
|
+
.max(255, 'Value must be less than 255 characters')
|
|
26
|
+
.describe('Value to check against the header, case sensitive.'),
|
|
27
|
+
})),
|
|
28
|
+
responseType: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_RESPONSE_TYPES).describe('Type of the response.'),
|
|
29
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRulesConfigSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
const response_rule_schema_1 = require("./response-rule.schema");
|
|
7
|
+
exports.ResponseRulesConfigSchema = zod_1.z.object({
|
|
8
|
+
version: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_CONFIG_VERSION),
|
|
9
|
+
rules: zod_1.z.array(response_rule_schema_1.ResponseRuleSchema),
|
|
10
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRulesJsonSchema = void 0;
|
|
4
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
exports.ResponseRulesJsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(_1.ResponseRulesConfigSchema, {
|
|
7
|
+
name: 'Response Rules Config Schema',
|
|
8
|
+
$refStrategy: 'none',
|
|
9
|
+
errorMessages: true,
|
|
10
|
+
markdownDescription: true,
|
|
11
|
+
});
|