@remnawave/backend-contract 3.2.3 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/build/backend/commands/hosts/bulk/update-many-hosts.command.d.ts +42 -4
  2. package/build/backend/commands/hosts/bulk/update-many-hosts.command.d.ts.map +1 -1
  3. package/build/backend/commands/hosts/create.command.d.ts +76 -0
  4. package/build/backend/commands/hosts/create.command.d.ts.map +1 -1
  5. package/build/backend/commands/hosts/create.command.js +2 -0
  6. package/build/backend/commands/hosts/get-host.command.d.ts +38 -0
  7. package/build/backend/commands/hosts/get-host.command.d.ts.map +1 -1
  8. package/build/backend/commands/hosts/get-hosts.command.d.ts +38 -0
  9. package/build/backend/commands/hosts/get-hosts.command.d.ts.map +1 -1
  10. package/build/backend/commands/hosts/host.response.d.ts +38 -0
  11. package/build/backend/commands/hosts/host.response.d.ts.map +1 -1
  12. package/build/backend/commands/hosts/update.command.d.ts +76 -0
  13. package/build/backend/commands/hosts/update.command.d.ts.map +1 -1
  14. package/build/backend/commands/hosts/update.command.js +1 -0
  15. package/build/backend/commands/subscriptions/get-by/get-raw-subscription-by-short-uuid.command.d.ts +38 -0
  16. package/build/backend/commands/subscriptions/get-by/get-raw-subscription-by-short-uuid.command.d.ts.map +1 -1
  17. package/build/backend/models/host-mapper/host-mapper.schema.d.ts +90 -0
  18. package/build/backend/models/host-mapper/host-mapper.schema.d.ts.map +1 -0
  19. package/build/backend/models/host-mapper/host-mapper.schema.js +262 -0
  20. package/build/backend/models/host-mapper/index.d.ts +2 -0
  21. package/build/backend/models/host-mapper/index.d.ts.map +1 -0
  22. package/build/backend/models/host-mapper/index.js +17 -0
  23. package/build/backend/models/hosts.schema.d.ts +38 -0
  24. package/build/backend/models/hosts.schema.d.ts.map +1 -1
  25. package/build/backend/models/hosts.schema.js +2 -0
  26. package/build/backend/models/index.d.ts +1 -0
  27. package/build/backend/models/index.d.ts.map +1 -1
  28. package/build/backend/models/index.js +1 -0
  29. package/build/backend/models/resolved-proxy-config.schema.d.ts +38 -0
  30. package/build/backend/models/resolved-proxy-config.schema.d.ts.map +1 -1
  31. package/build/backend/models/resolved-proxy-config.schema.js +2 -0
  32. package/build/frontend/commands/hosts/create.command.js +2 -0
  33. package/build/frontend/commands/hosts/update.command.js +1 -0
  34. package/build/frontend/models/host-mapper/host-mapper.schema.js +262 -0
  35. package/build/frontend/models/host-mapper/index.js +17 -0
  36. package/build/frontend/models/hosts.schema.js +2 -0
  37. package/build/frontend/models/index.js +1 -0
  38. package/build/frontend/models/resolved-proxy-config.schema.js +2 -0
  39. package/package.json +1 -1
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HostMapperSchema = exports.HostMapperOperationsSchema = exports.Base64HostMapperOperationsSchema = exports.MihomoHostMapperOperationsSchema = exports.XrayJsonHostMapperOperationsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const buildFromSchema = () => zod_1.z
6
+ .string()
7
+ .min(1)
8
+ .max(512)
9
+ .meta({
10
+ title: 'Source path',
11
+ markdownDescription: [
12
+ 'Dot-separated path inside the **raw inbound** of the config profile this host belongs to. Array items are addressed by index.',
13
+ '',
14
+ '> If the path resolves to nothing, the operation is skipped and the target key is **not** created.',
15
+ ].join('\n'),
16
+ examples: [
17
+ 'streamSettings.tlsSettings.cipherSuites',
18
+ 'streamSettings.tlsSettings.alpn',
19
+ 'streamSettings.realitySettings.serverNames.0',
20
+ ],
21
+ });
22
+ const buildToSchema = (client) => zod_1.z
23
+ .string()
24
+ .min(1)
25
+ .max(512)
26
+ .meta({
27
+ title: 'Target path',
28
+ markdownDescription: [
29
+ `Dot-separated path inside ${client.target}, counted from its root.`,
30
+ '',
31
+ 'Missing objects along the path are created. Array items are addressed by index, and keys with dashes are written as is (`ip-version`).',
32
+ '',
33
+ '> A path running through a value that is not an object – for example `path.foo`, where `path` holds a string – is refused, so an existing value is never destroyed.',
34
+ ].join('\n'),
35
+ examples: client.examples,
36
+ });
37
+ const buildOperationsSchema = (client) => zod_1.z
38
+ .discriminatedUnion('op', [
39
+ zod_1.z
40
+ .object({
41
+ op: zod_1.z.literal('copy').meta({
42
+ title: 'Copy',
43
+ markdownDescription: 'Take a value from the raw inbound.',
44
+ }),
45
+ from: buildFromSchema(),
46
+ to: buildToSchema(client),
47
+ })
48
+ .meta({
49
+ title: 'Copy from the inbound',
50
+ markdownDescription: [
51
+ 'Reads a value from the raw inbound and writes it into the generated config.',
52
+ '',
53
+ '```json',
54
+ JSON.stringify({ op: 'copy', ...client.copySnippet }, null, 2),
55
+ '```',
56
+ ].join('\n'),
57
+ defaultSnippets: [
58
+ {
59
+ label: 'copy',
60
+ description: 'Copy a value from the raw inbound',
61
+ body: { op: 'copy', from: '$1', to: '$2' },
62
+ },
63
+ ],
64
+ }),
65
+ zod_1.z
66
+ .object({
67
+ op: zod_1.z.literal('set').meta({
68
+ title: 'Set',
69
+ markdownDescription: 'Write a fixed value.',
70
+ }),
71
+ value: zod_1.z
72
+ .union([
73
+ zod_1.z.string(),
74
+ zod_1.z.number(),
75
+ zod_1.z.boolean(),
76
+ zod_1.z.array(zod_1.z.json()),
77
+ zod_1.z.record(zod_1.z.string(), zod_1.z.json()),
78
+ ])
79
+ .meta({
80
+ title: 'Value',
81
+ markdownDescription: 'The value to write. Strings, numbers, booleans, arrays and objects are allowed.',
82
+ }),
83
+ to: buildToSchema(client),
84
+ })
85
+ .meta({
86
+ title: 'Set a fixed value',
87
+ markdownDescription: [
88
+ 'Writes a literal value into the generated config, creating the key if it is missing.',
89
+ '',
90
+ '```json',
91
+ JSON.stringify({ op: 'set', ...client.setSnippet }, null, 2),
92
+ '```',
93
+ ].join('\n'),
94
+ defaultSnippets: [
95
+ {
96
+ label: 'set',
97
+ description: 'Write a fixed value',
98
+ body: { op: 'set', to: '$1', value: '$2' },
99
+ },
100
+ ],
101
+ }),
102
+ zod_1.z
103
+ .object({
104
+ op: zod_1.z.literal('unset').meta({
105
+ title: 'Unset',
106
+ markdownDescription: 'Remove a field.',
107
+ }),
108
+ to: buildToSchema(client),
109
+ })
110
+ .meta({
111
+ title: 'Remove a field',
112
+ markdownDescription: [
113
+ 'Removes a field the generator produced by itself.',
114
+ '',
115
+ '```json',
116
+ JSON.stringify({ op: 'unset', ...client.unsetSnippet }, null, 2),
117
+ '```',
118
+ '',
119
+ '> Only the field itself is removed. A parent object left empty stays in the config as `{}`.',
120
+ ].join('\n'),
121
+ defaultSnippets: [
122
+ {
123
+ label: 'unset',
124
+ description: 'Remove a field',
125
+ body: { op: 'unset', to: '$1' },
126
+ },
127
+ ],
128
+ }),
129
+ ])
130
+ .meta({
131
+ title: 'Operation',
132
+ markdownDescription: [
133
+ 'Operations run one after another, in the order they are listed.',
134
+ '',
135
+ 'A later operation sees what the previous ones wrote, so an `unset` can remove a key an earlier `set` added.',
136
+ ].join('\n'),
137
+ });
138
+ exports.XrayJsonHostMapperOperationsSchema = buildOperationsSchema({
139
+ target: 'the generated **outbound**',
140
+ examples: [
141
+ 'streamSettings.tlsSettings.enableSessionResumption',
142
+ 'streamSettings.tlsSettings.cipherSuites',
143
+ ],
144
+ copySnippet: {
145
+ from: 'streamSettings.tlsSettings.cipherSuites',
146
+ to: 'streamSettings.tlsSettings.cipherSuites',
147
+ },
148
+ setSnippet: { to: 'streamSettings.tlsSettings.enableSessionResumption', value: true },
149
+ unsetSnippet: { to: 'mux' },
150
+ });
151
+ exports.MihomoHostMapperOperationsSchema = buildOperationsSchema({
152
+ target: 'the generated **proxy node**',
153
+ examples: ['ip-version', 'client-fingerprint', 'tfo', 'reality-opts.support-x25519mlkem768'],
154
+ copySnippet: { from: 'streamSettings.realitySettings.serverNames.0', to: 'servername' },
155
+ setSnippet: { to: 'reality-opts.support-x25519mlkem768', value: true },
156
+ unsetSnippet: { to: 'smux' },
157
+ });
158
+ exports.Base64HostMapperOperationsSchema = buildOperationsSchema({
159
+ target: 'the query string of the generated **share link**',
160
+ examples: [
161
+ 'alpn',
162
+ 'authority',
163
+ 'cs',
164
+ 'encryption',
165
+ 'extra',
166
+ 'flow',
167
+ 'fm',
168
+ 'fp',
169
+ 'headerType',
170
+ 'heartbeatPeriod',
171
+ 'host',
172
+ 'mode',
173
+ 'mtu',
174
+ 'obfs',
175
+ 'obfs-password',
176
+ 'path',
177
+ 'pbk',
178
+ 'pcs',
179
+ 'pinSHA256',
180
+ 'pqv',
181
+ 'security',
182
+ 'serviceName',
183
+ 'sid',
184
+ 'sni',
185
+ 'spx',
186
+ 'tti',
187
+ 'type',
188
+ 'vcn',
189
+ ],
190
+ copySnippet: { from: 'streamSettings.realitySettings.serverNames.0', to: 'sni' },
191
+ setSnippet: { to: 'fp', value: 'chrome' },
192
+ unsetSnippet: { to: 'fm' },
193
+ });
194
+ exports.HostMapperOperationsSchema = exports.XrayJsonHostMapperOperationsSchema;
195
+ exports.HostMapperSchema = zod_1.z
196
+ .object({
197
+ xrayJson: zod_1.z
198
+ .array(exports.XrayJsonHostMapperOperationsSchema)
199
+ .optional()
200
+ .meta({
201
+ title: 'Xray JSON',
202
+ markdownDescription: [
203
+ 'Operations applied to the **outbound** generated for this host in the Xray JSON subscription. Paths are counted from the root of the outbound.',
204
+ '',
205
+ '```json',
206
+ JSON.stringify([
207
+ {
208
+ op: 'copy',
209
+ from: 'streamSettings.tlsSettings.cipherSuites',
210
+ to: 'streamSettings.tlsSettings.cipherSuites',
211
+ },
212
+ { op: 'unset', to: 'mux' },
213
+ ], null, 2),
214
+ '```',
215
+ ].join('\n'),
216
+ }),
217
+ mihomo: zod_1.z
218
+ .array(exports.MihomoHostMapperOperationsSchema)
219
+ .optional()
220
+ .meta({
221
+ title: 'Mihomo',
222
+ markdownDescription: [
223
+ 'Operations applied to the **proxy node** generated for this host in the Mihomo subscription.',
224
+ '',
225
+ 'Paths are counted from the root of the node, where Mihomo keys are written in kebab-case.',
226
+ '',
227
+ '```json',
228
+ JSON.stringify([{ op: 'set', to: 'ip-version', value: 'ipv4' }], null, 2),
229
+ '```',
230
+ ].join('\n'),
231
+ }),
232
+ base64: zod_1.z
233
+ .array(exports.Base64HostMapperOperationsSchema)
234
+ .optional()
235
+ .meta({
236
+ title: 'Base64',
237
+ markdownDescription: [
238
+ 'Operations applied to the **query string** of the share link generated for this host in the Base64 subscription.',
239
+ '',
240
+ '`to` is a plain query parameter name, not a path – dots carry no meaning here.',
241
+ '',
242
+ '```json',
243
+ JSON.stringify([
244
+ { op: 'set', to: 'fp', value: 'chrome' },
245
+ { op: 'unset', to: 'fm' },
246
+ ], null, 2),
247
+ '```',
248
+ ].join('\n'),
249
+ }),
250
+ })
251
+ .meta({
252
+ title: 'Host Mapper',
253
+ markdownDescription: [
254
+ 'Rewrites the config generated for this host, per client type.',
255
+ '',
256
+ 'Operations run **after** the generator has finished, so they can change or remove anything it produced.',
257
+ '',
258
+ 'The source for `copy` is always the raw inbound of the config profile this host belongs to.',
259
+ '',
260
+ '> `to` is never checked against the target client. A misspelled key is written exactly like a real one.',
261
+ ].join('\n'),
262
+ });
@@ -0,0 +1,2 @@
1
+ export * from './host-mapper.schema';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../models/host-mapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,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("./host-mapper.schema"), exports);
@@ -59,5 +59,43 @@ export declare const HostsSchema: z.ZodObject<{
59
59
  readonly CLASH: "CLASH";
60
60
  readonly SINGBOX: "SINGBOX";
61
61
  }>>;
62
+ mapper: z.ZodObject<{
63
+ xrayJson: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
64
+ op: z.ZodLiteral<"copy">;
65
+ from: z.ZodString;
66
+ to: z.ZodString;
67
+ }, z.core.$strip>, z.ZodObject<{
68
+ op: z.ZodLiteral<"set">;
69
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodJSONSchema>, z.ZodRecord<z.ZodString, z.ZodJSONSchema>]>;
70
+ to: z.ZodString;
71
+ }, z.core.$strip>, z.ZodObject<{
72
+ op: z.ZodLiteral<"unset">;
73
+ to: z.ZodString;
74
+ }, z.core.$strip>], "op">>>;
75
+ mihomo: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
76
+ op: z.ZodLiteral<"copy">;
77
+ from: z.ZodString;
78
+ to: z.ZodString;
79
+ }, z.core.$strip>, z.ZodObject<{
80
+ op: z.ZodLiteral<"set">;
81
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodJSONSchema>, z.ZodRecord<z.ZodString, z.ZodJSONSchema>]>;
82
+ to: z.ZodString;
83
+ }, z.core.$strip>, z.ZodObject<{
84
+ op: z.ZodLiteral<"unset">;
85
+ to: z.ZodString;
86
+ }, z.core.$strip>], "op">>>;
87
+ base64: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
88
+ op: z.ZodLiteral<"copy">;
89
+ from: z.ZodString;
90
+ to: z.ZodString;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ op: z.ZodLiteral<"set">;
93
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodJSONSchema>, z.ZodRecord<z.ZodString, z.ZodJSONSchema>]>;
94
+ to: z.ZodString;
95
+ }, z.core.$strip>, z.ZodObject<{
96
+ op: z.ZodLiteral<"unset">;
97
+ to: z.ZodString;
98
+ }, z.core.$strip>], "op">>>;
99
+ }, z.core.$strip>;
62
100
  }, z.core.$strip>;
63
101
  //# sourceMappingURL=hosts.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hosts.schema.d.ts","sourceRoot":"","sources":["../../../models/hosts.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuCtB,CAAC"}
1
+ {"version":3,"file":"hosts.schema.d.ts","sourceRoot":"","sources":["../../../models/hosts.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwCtB,CAAC"}
@@ -4,6 +4,7 @@ exports.HostsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../constants");
6
6
  const hosts_1 = require("../constants/hosts");
7
+ const host_mapper_1 = require("./host-mapper");
7
8
  exports.HostsSchema = zod_1.z.object({
8
9
  uuid: zod_1.z.uuid(),
9
10
  viewPosition: zod_1.z.int(),
@@ -40,4 +41,5 @@ exports.HostsSchema = zod_1.z.object({
40
41
  xrayJsonTemplateUuid: zod_1.z.uuid().nullable(),
41
42
  excludedInternalSquads: zod_1.z.array(zod_1.z.uuid()),
42
43
  excludeFromSubscriptionTypes: zod_1.z.array(zod_1.z.enum(constants_1.SUBSCRIPTION_TEMPLATE_TYPE)),
44
+ mapper: host_mapper_1.HostMapperSchema,
43
45
  });
@@ -36,4 +36,5 @@ export * from './users.schema';
36
36
  export * from './webhook';
37
37
  export * from './xray-json-advanced';
38
38
  export * from './path-params.schema';
39
+ export * from './host-mapper';
39
40
  //# sourceMappingURL=index.d.ts.map
@@ -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,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,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,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,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,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,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,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC"}
@@ -52,3 +52,4 @@ __exportStar(require("./users.schema"), exports);
52
52
  __exportStar(require("./webhook"), exports);
53
53
  __exportStar(require("./xray-json-advanced"), exports);
54
54
  __exportStar(require("./path-params.schema"), exports);
55
+ __exportStar(require("./host-mapper"), exports);
@@ -370,6 +370,44 @@ export declare const ResolvedProxyConfigSchema: z.ZodObject<{
370
370
  }>>;
371
371
  serverDescription: z.ZodNullable<z.ZodString>;
372
372
  xrayJsonTemplate: z.ZodNullable<z.ZodUnknown>;
373
+ mapper: z.ZodObject<{
374
+ xrayJson: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
375
+ op: z.ZodLiteral<"copy">;
376
+ from: z.ZodString;
377
+ to: z.ZodString;
378
+ }, z.core.$strip>, z.ZodObject<{
379
+ op: z.ZodLiteral<"set">;
380
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodJSONSchema>, z.ZodRecord<z.ZodString, z.ZodJSONSchema>]>;
381
+ to: z.ZodString;
382
+ }, z.core.$strip>, z.ZodObject<{
383
+ op: z.ZodLiteral<"unset">;
384
+ to: z.ZodString;
385
+ }, z.core.$strip>], "op">>>;
386
+ mihomo: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
387
+ op: z.ZodLiteral<"copy">;
388
+ from: z.ZodString;
389
+ to: z.ZodString;
390
+ }, z.core.$strip>, z.ZodObject<{
391
+ op: z.ZodLiteral<"set">;
392
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodJSONSchema>, z.ZodRecord<z.ZodString, z.ZodJSONSchema>]>;
393
+ to: z.ZodString;
394
+ }, z.core.$strip>, z.ZodObject<{
395
+ op: z.ZodLiteral<"unset">;
396
+ to: z.ZodString;
397
+ }, z.core.$strip>], "op">>>;
398
+ base64: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
399
+ op: z.ZodLiteral<"copy">;
400
+ from: z.ZodString;
401
+ to: z.ZodString;
402
+ }, z.core.$strip>, z.ZodObject<{
403
+ op: z.ZodLiteral<"set">;
404
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodJSONSchema>, z.ZodRecord<z.ZodString, z.ZodJSONSchema>]>;
405
+ to: z.ZodString;
406
+ }, z.core.$strip>, z.ZodObject<{
407
+ op: z.ZodLiteral<"unset">;
408
+ to: z.ZodString;
409
+ }, z.core.$strip>], "op">>>;
410
+ }, z.core.$strip>;
373
411
  }, z.core.$strip>;
374
412
  metadata: z.ZodObject<{
375
413
  uuid: z.ZodUUID;
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-proxy-config.schema.d.ts","sourceRoot":"","sources":["../../../models/resolved-proxy-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,0BAA0B;;;;;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;iBAK3C,CAAC;AA4BH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;iBAEpC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;iBAKtC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;iBAI5C,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;iBAExC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBAWnC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;iBAOvC,CAAC;AAsBH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAKhC,CAAC;AAqCH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAQjC,CAAC;AAgBH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;+BAIhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;iBAanC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2CpC,CAAC"}
1
+ {"version":3,"file":"resolved-proxy-config.schema.d.ts","sourceRoot":"","sources":["../../../models/resolved-proxy-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,0BAA0B;;;;;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;iBAK3C,CAAC;AA4BH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;iBAEpC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;iBAKtC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;iBAI5C,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;iBAExC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBAWnC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;iBAOvC,CAAC;AAsBH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAKhC,CAAC;AAqCH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAQjC,CAAC;AAgBH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;+BAIhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;iBAanC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4CpC,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ResolvedProxyConfigSchema = exports.ProxyEntryMetadataSchema = exports.SecurityVariantSchema = exports.TransportVariantSchema = exports.ProtocolVariantSchema = exports.RealitySecurityOptionsSchema = exports.TlsSecurityOptionsSchema = exports.HysteriaTransportOptionsSchema = exports.HysteriaProtocolOptionsSchema = exports.KcpTransportOptionsSchema = exports.GrpcTransportOptionsSchema = exports.HttpUpgradeTransportOptionsSchema = exports.WsTransportOptionsSchema = exports.XhttpTransportOptionsSchema = exports.TcpTransportOptionsSchema = exports.ShadowsocksProtocolOptionsSchema = exports.TrojanProtocolOptionsSchema = exports.VlessProtocolOptionsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const constants_1 = require("../constants");
6
+ const host_mapper_1 = require("./host-mapper");
6
7
  exports.VlessProtocolOptionsSchema = zod_1.z.object({
7
8
  encryption: zod_1.z.string(),
8
9
  id: zod_1.z.string(),
@@ -218,6 +219,7 @@ exports.ResolvedProxyConfigSchema = zod_1.z.object({
218
219
  mihomoIpVersion: zod_1.z.enum(constants_1.MIHOMO_IP_VERSION).nullable(),
219
220
  serverDescription: zod_1.z.string().nullable(),
220
221
  xrayJsonTemplate: zod_1.z.nullable(zod_1.z.unknown()),
222
+ mapper: host_mapper_1.HostMapperSchema,
221
223
  }),
222
224
  metadata: exports.ProxyEntryMetadataSchema,
223
225
  });
@@ -4,6 +4,7 @@ exports.CreateHostCommand = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const api_1 = require("../../api");
6
6
  const constants_1 = require("../../constants");
7
+ const models_1 = require("../../models");
7
8
  const host_response_1 = require("./host.response");
8
9
  var CreateHostCommand;
9
10
  (function (CreateHostCommand) {
@@ -53,6 +54,7 @@ var CreateHostCommand;
53
54
  excludeFromSubscriptionTypes: zod_1.z
54
55
  .optional(zod_1.z.array(zod_1.z.enum(constants_1.SUBSCRIPTION_TEMPLATE_TYPE)))
55
56
  .describe('Optional. Subscription types from which the host will be excluded from.'),
57
+ mapper: models_1.HostMapperSchema.optional(),
56
58
  });
57
59
  CreateHostCommand.ResponseSchema = host_response_1.HostResponseSchema;
58
60
  })(CreateHostCommand || (exports.CreateHostCommand = CreateHostCommand = {}));
@@ -58,6 +58,7 @@ var UpdateHostCommand;
58
58
  excludeFromSubscriptionTypes: zod_1.z
59
59
  .optional(zod_1.z.array(zod_1.z.enum(constants_1.SUBSCRIPTION_TEMPLATE_TYPE)))
60
60
  .describe('Optional. Subscription types from which the host will be excluded from.'),
61
+ mapper: models_1.HostMapperSchema.optional(),
61
62
  });
62
63
  UpdateHostCommand.ResponseSchema = host_response_1.HostResponseSchema;
63
64
  })(UpdateHostCommand || (exports.UpdateHostCommand = UpdateHostCommand = {}));