@e-n-v/env 0.0.1 → 0.0.4
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/README.md +43 -24
- package/dist/BooleanMap-B2eIP3tZ.d.cts +32 -0
- package/dist/BooleanMap-DmFnCA-O.d.ts +32 -0
- package/dist/EnvChannel-LMIRYvT1.d.cts +16 -0
- package/dist/EnvChannel-w27PEm7x.d.ts +16 -0
- package/dist/EnvChannelOptions-BPkWDrmr.d.cts +108 -0
- package/dist/EnvChannelOptions-CRwDLWjd.d.ts +108 -0
- package/dist/EnvModel-CrGclUpJ.d.cts +134 -0
- package/dist/EnvModel-D8rt0EJ6.d.ts +134 -0
- package/dist/EnvSource-BVnmdHku.cjs +420 -0
- package/dist/EnvSource-DA3ZGlES.js +400 -0
- package/dist/ProcessEnvChannel-D465c-dp.d.cts +97 -0
- package/dist/ProcessEnvChannel-Do4-yiLI.d.ts +97 -0
- package/dist/StringEnvVarSchema-B8MT7htU.d.ts +64 -0
- package/dist/StringEnvVarSchema-BF6C0nyT.d.cts +64 -0
- package/dist/channels.cjs +8 -0
- package/dist/channels.d.cts +20 -0
- package/dist/channels.d.ts +20 -0
- package/dist/channels.js +4 -0
- package/dist/chunk-pbleEpgJ.cjs +44 -0
- package/dist/cli.cjs +16 -10
- package/dist/cli.js +7 -2
- package/dist/coerce-DNIuYAx4.js +11028 -0
- package/dist/coerce-b7UVodS9.cjs +12365 -0
- package/dist/core.cjs +68 -0
- package/dist/core.d.cts +6 -0
- package/dist/core.d.ts +6 -0
- package/dist/core.js +40 -0
- package/dist/custom-Bt_wnxIu.js +114 -0
- package/dist/custom-D_Rqjm09.cjs +168 -0
- package/dist/files.cjs +18 -0
- package/dist/files.d.cts +38 -0
- package/dist/files.d.ts +38 -0
- package/dist/files.js +13 -0
- package/dist/index-D8pslhp4.d.cts +170 -0
- package/dist/index-Dq_0aeAL.d.ts +170 -0
- package/dist/model-Dic8IJsf.d.ts +29 -0
- package/dist/model-ft0WhSSS.d.cts +29 -0
- package/dist/model.cjs +14 -0
- package/dist/model.d.cts +35 -0
- package/dist/model.d.ts +35 -0
- package/dist/model.js +9 -0
- package/dist/parse-BT1QSa5e.d.cts +28 -0
- package/dist/parse-DwtLpVhC.d.ts +28 -0
- package/dist/parse.cjs +17 -0
- package/dist/parse.d.cts +52 -0
- package/dist/parse.d.ts +52 -0
- package/dist/parse.js +10 -0
- package/dist/prompt-C5WudV9x.d.cts +74 -0
- package/dist/prompt-yKdccbtZ.d.ts +74 -0
- package/dist/prompt.cjs +24 -0
- package/dist/prompt.d.cts +17 -0
- package/dist/prompt.d.ts +17 -0
- package/dist/prompt.js +12 -0
- package/dist/redis-CJOpRPjc.js +395 -0
- package/dist/redis-EcC7TX3K.cjs +611 -0
- package/dist/resolveChannel-CjAuxy3p.cjs +257 -0
- package/dist/resolveChannel-v9BDsw-M.js +224 -0
- package/dist/root.cjs +36 -0
- package/dist/root.d.cts +21 -0
- package/dist/root.d.ts +21 -0
- package/dist/root.js +21 -0
- package/dist/schema-DH4GiW9A.d.cts +18 -0
- package/dist/schema-jN4EtvEP.d.ts +18 -0
- package/dist/schemas/zod.cjs +629 -0
- package/dist/schemas/zod.d.cts +239 -0
- package/dist/schemas/zod.d.ts +239 -0
- package/dist/schemas/zod.js +550 -0
- package/dist/schemas.cjs +133 -0
- package/dist/schemas.d.cts +3 -0
- package/dist/schemas.d.ts +3 -0
- package/dist/schemas.js +6 -0
- package/dist/src-B7FG1rak.js +638 -0
- package/dist/src-BBwjK5SK.js +127 -0
- package/dist/src-CLTURaoo.js +311 -0
- package/dist/src-CVdUqK3q.js +850 -0
- package/dist/src-Cjo2XA4n.cjs +138 -0
- package/dist/{src-oetJm-nZ.cjs → src-DWYoqPX1.cjs} +31 -1964
- package/dist/src-DZmpNGrQ.cjs +1411 -0
- package/dist/{src-RlCvrI0s.js → src-Dtv7TlJx.js} +14 -1726
- package/dist/src-XjL5cyPG.cjs +873 -0
- package/dist/src-meUnCASg.cjs +413 -0
- package/dist/validate-BxA3a-ns.d.cts +203 -0
- package/dist/validate-CyxrRacF.d.ts +203 -0
- package/dist/vars-BNVI6k89.d.ts +21 -0
- package/dist/vars-CYOaskkK.cjs +27 -0
- package/dist/vars-CptZRPX5.d.cts +21 -0
- package/dist/vars-DOW0LiiN.js +22 -0
- package/dist/vars.cjs +138 -0
- package/dist/vars.d.cts +7 -0
- package/dist/vars.d.ts +7 -0
- package/dist/vars.js +9 -0
- package/package.json +59 -9
- package/assets/demo.gif +0 -0
- package/assets/env-logo.png +0 -0
- package/dist/bundle.cjs +0 -1290
- package/dist/bundle.d.cts +0 -1057
- package/dist/bundle.d.ts +0 -1055
- package/dist/bundle.js +0 -1244
package/dist/bundle.cjs
DELETED
|
@@ -1,1290 +0,0 @@
|
|
|
1
|
-
const require_src = require('./src-oetJm-nZ.cjs');
|
|
2
|
-
let zod = require("zod");
|
|
3
|
-
zod = require_src.__toESM(zod);
|
|
4
|
-
|
|
5
|
-
//#region ../files/src/source.ts
|
|
6
|
-
function source(filePath) {
|
|
7
|
-
return new require_src.EnvSource(filePath);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
//#endregion
|
|
11
|
-
//#region ../core/src/schema.ts
|
|
12
|
-
const schema = {
|
|
13
|
-
string: (input = {}) => new require_src.StringEnvVarSchema(input),
|
|
14
|
-
number: (input = {}) => new require_src.NumberEnvVarSchema(input),
|
|
15
|
-
boolean: (input = {}) => new require_src.BooleanEnvVarSchema(input),
|
|
16
|
-
enum: (input) => new require_src.EnumEnvVarSchema(input)
|
|
17
|
-
};
|
|
18
|
-
const s = schema;
|
|
19
|
-
|
|
20
|
-
//#endregion
|
|
21
|
-
//#region ../parse/src/errors/EnvParseError.ts
|
|
22
|
-
/**
|
|
23
|
-
* Error thrown when parsing environment variables fails.
|
|
24
|
-
* Collects all issues so callers can inspect them without relying on subclasses.
|
|
25
|
-
*/
|
|
26
|
-
var EnvParseError = class EnvParseError extends Error {
|
|
27
|
-
issues;
|
|
28
|
-
partial;
|
|
29
|
-
constructor(params) {
|
|
30
|
-
const { issues, partial } = params;
|
|
31
|
-
super(EnvParseError.formatMessage(issues));
|
|
32
|
-
this.name = "EnvParseError";
|
|
33
|
-
this.issues = Object.freeze([...issues]);
|
|
34
|
-
this.partial = partial ?? {};
|
|
35
|
-
}
|
|
36
|
-
/** Number of issues encountered while parsing. */
|
|
37
|
-
get issueCount() {
|
|
38
|
-
return this.issues.length;
|
|
39
|
-
}
|
|
40
|
-
/** Keys that were missing but required. */
|
|
41
|
-
get missing() {
|
|
42
|
-
return this.issues.filter((issue) => issue.type === "missing").map((issue) => issue.key);
|
|
43
|
-
}
|
|
44
|
-
/** Keys that were present but invalid. */
|
|
45
|
-
get invalid() {
|
|
46
|
-
return this.issues.filter((issue) => issue.type === "invalid").map((issue) => issue.key);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Get all issue messages as a numbered list for easy logging.
|
|
50
|
-
*/
|
|
51
|
-
formatIssues() {
|
|
52
|
-
return this.issues.map((issue, index) => `${index + 1}. ${issue.message}`).join("\n");
|
|
53
|
-
}
|
|
54
|
-
static formatMessage(issues) {
|
|
55
|
-
if (issues.length === 0) return "Environment validation failed with no details.";
|
|
56
|
-
return [`Environment validation failed with ${issues.length} issue${issues.length === 1 ? "" : "s"}:`, ...issues.map((issue) => {
|
|
57
|
-
if (issue.type === "missing") return `- ${issue.key}: ${issue.message}`;
|
|
58
|
-
return `- ${issue.key}: ${issue.message}`;
|
|
59
|
-
})].join("\n");
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
//#endregion
|
|
64
|
-
//#region ../parse/src/parse.ts
|
|
65
|
-
/**
|
|
66
|
-
* Parse and validate environment variables from a source object
|
|
67
|
-
* Does NOT mutate process.env
|
|
68
|
-
*/
|
|
69
|
-
function parse(source$1, modelOrOptions) {
|
|
70
|
-
let resolvedSchemas;
|
|
71
|
-
let preprocessConfig;
|
|
72
|
-
if (modelOrOptions instanceof require_src.EnvModel) {
|
|
73
|
-
const model = modelOrOptions;
|
|
74
|
-
resolvedSchemas = model.schemas;
|
|
75
|
-
preprocessConfig = model.preprocess;
|
|
76
|
-
} else {
|
|
77
|
-
const options = modelOrOptions;
|
|
78
|
-
resolvedSchemas = require_src.resolveSchemas(options.schemas);
|
|
79
|
-
const config = options.preprocess;
|
|
80
|
-
if (config === false) preprocessConfig = {
|
|
81
|
-
string: false,
|
|
82
|
-
number: false,
|
|
83
|
-
boolean: false,
|
|
84
|
-
enum: false
|
|
85
|
-
};
|
|
86
|
-
else if (config === true || config === void 0) preprocessConfig = {};
|
|
87
|
-
else preprocessConfig = { ...config };
|
|
88
|
-
}
|
|
89
|
-
const result = {};
|
|
90
|
-
const issues = [];
|
|
91
|
-
for (const [key, schema$1] of Object.entries(resolvedSchemas)) {
|
|
92
|
-
const rawValue = source$1[key];
|
|
93
|
-
if (rawValue === void 0 || rawValue.trim() === "") {
|
|
94
|
-
if (schema$1.default !== void 0) {
|
|
95
|
-
result[key] = schema$1.default;
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
if (schema$1.required) {
|
|
99
|
-
issues.push({
|
|
100
|
-
type: "missing",
|
|
101
|
-
key,
|
|
102
|
-
message: `Required environment variable "${key}" is missing`
|
|
103
|
-
});
|
|
104
|
-
result[key] = void 0;
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
result[key] = void 0;
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
const preprocessor = require_src.resolvePreprocessor(schema$1.type, preprocessConfig);
|
|
111
|
-
const preprocessedValue = preprocessor ? preprocessor(rawValue) : rawValue;
|
|
112
|
-
const stringValue = typeof preprocessedValue === "string" ? preprocessedValue : String(preprocessedValue);
|
|
113
|
-
try {
|
|
114
|
-
const processedValue = schema$1.process(stringValue);
|
|
115
|
-
if (processedValue === void 0) if (schema$1.default !== void 0) result[key] = schema$1.default;
|
|
116
|
-
else if (schema$1.required) {
|
|
117
|
-
issues.push({
|
|
118
|
-
type: "missing",
|
|
119
|
-
key,
|
|
120
|
-
message: `Required environment variable "${key}" is missing`
|
|
121
|
-
});
|
|
122
|
-
result[key] = void 0;
|
|
123
|
-
} else result[key] = void 0;
|
|
124
|
-
else result[key] = processedValue;
|
|
125
|
-
} catch (error) {
|
|
126
|
-
const message = `Environment variable "${key}" validation failed: ${error instanceof Error ? error.message : String(error)}`;
|
|
127
|
-
issues.push({
|
|
128
|
-
type: "invalid",
|
|
129
|
-
key,
|
|
130
|
-
value: rawValue,
|
|
131
|
-
message
|
|
132
|
-
});
|
|
133
|
-
result[key] = void 0;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
if (issues.length > 0) throw new EnvParseError({
|
|
137
|
-
issues,
|
|
138
|
-
partial: { ...result }
|
|
139
|
-
});
|
|
140
|
-
return result;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
//#endregion
|
|
144
|
-
//#region ../schemas/src/helpers/createZodProcesor.ts
|
|
145
|
-
/**
|
|
146
|
-
* Creates a process function from a Zod schema for use with EnvVarSchema constructors.
|
|
147
|
-
*
|
|
148
|
-
* This helper is specifically for the @e-n-v/schemas package to create process functions
|
|
149
|
-
* that can be passed to StringEnvVarSchema, NumberEnvVarSchema, etc. constructors.
|
|
150
|
-
*
|
|
151
|
-
* The schema itself defines the validation and type conversion logic. For environment
|
|
152
|
-
* variables that need coercion from strings, use z.coerce.number() or z.coerce.boolean().
|
|
153
|
-
*
|
|
154
|
-
* @param schema - The Zod schema to convert
|
|
155
|
-
* @returns A process function that can be used in EnvVarSchema constructors
|
|
156
|
-
*
|
|
157
|
-
* @example
|
|
158
|
-
* ```typescript
|
|
159
|
-
* // String validation
|
|
160
|
-
* new StringEnvVarSchema({
|
|
161
|
-
* process: createZodProcessor(z.string().email()),
|
|
162
|
-
* description: "Email address",
|
|
163
|
-
* });
|
|
164
|
-
*
|
|
165
|
-
* // Number with coercion
|
|
166
|
-
* new NumberEnvVarSchema({
|
|
167
|
-
* process: createZodProcessor(z.coerce.number().min(0)),
|
|
168
|
-
* description: "Port number",
|
|
169
|
-
* });
|
|
170
|
-
*
|
|
171
|
-
* // Boolean with coercion
|
|
172
|
-
* new BooleanEnvVarSchema({
|
|
173
|
-
* process: createZodProcessor(z.coerce.boolean()),
|
|
174
|
-
* description: "Feature flag",
|
|
175
|
-
* });
|
|
176
|
-
* ```
|
|
177
|
-
*/
|
|
178
|
-
function createZodProcessor(schema$1) {
|
|
179
|
-
return (value) => {
|
|
180
|
-
const result = zod.z.safeParse(schema$1, value);
|
|
181
|
-
if (result.success) return result.data;
|
|
182
|
-
throw new Error(result.error.issues.map((issue) => issue.message).join("; "));
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
//#endregion
|
|
187
|
-
//#region ../schemas/src/shared/messages.ts
|
|
188
|
-
const COMMON_MESSAGES = { MUST_BE_VALID_URL: "Must be a valid URL" };
|
|
189
|
-
|
|
190
|
-
//#endregion
|
|
191
|
-
//#region ../schemas/src/shared/apiService.ts
|
|
192
|
-
const descriptions$4 = {
|
|
193
|
-
apiKey: "API key for external service",
|
|
194
|
-
jwtSecret: "JWT secret key for token signing",
|
|
195
|
-
jwtAccessTokenExpiresIn: "JWT access token expiration (e.g., '15m', '1h', '1d')",
|
|
196
|
-
jwtRefreshTokenExpiresIn: "JWT refresh token expiration (e.g., '7d', '30d')",
|
|
197
|
-
apiBaseUrl: "Base URL for API service",
|
|
198
|
-
serviceUrl: "Service URL",
|
|
199
|
-
webhookUrl: "Webhook URL for receiving callbacks",
|
|
200
|
-
encryptionKey: "Encryption key for data encryption",
|
|
201
|
-
sessionSecret: "Session secret for cookie signing",
|
|
202
|
-
corsOrigin: "CORS allowed origins (comma-separated URLs or '*')",
|
|
203
|
-
rateLimitRpm: "Rate limit: requests per minute",
|
|
204
|
-
rateLimitWindow: "Rate limit window size in minutes",
|
|
205
|
-
apiTimeout: "API request timeout (milliseconds)",
|
|
206
|
-
maxFileSize: "Maximum file upload size (bytes)",
|
|
207
|
-
logLevel: "Application log level",
|
|
208
|
-
nodeEnv: "Node.js environment",
|
|
209
|
-
port: "Server port number",
|
|
210
|
-
host: "Server host address"
|
|
211
|
-
};
|
|
212
|
-
const messages$4 = {
|
|
213
|
-
apiKeyMin: "API key must be at least 8 characters long",
|
|
214
|
-
jwtSecretMin: "JWT secret must be at least 32 characters long for security",
|
|
215
|
-
jwtDurationFormat: "Must be in format like '15m', '1h', '7d'",
|
|
216
|
-
mustBeValidUrl: COMMON_MESSAGES.MUST_BE_VALID_URL,
|
|
217
|
-
httpProtocolRequired: "Must start with http:// or https://",
|
|
218
|
-
httpsProtocolRequired: "Webhook URLs should use HTTPS for security",
|
|
219
|
-
encryptionKeyMin: "Encryption key must be at least 32 characters long",
|
|
220
|
-
sessionSecretMin: "Session secret must be at least 32 characters long for security",
|
|
221
|
-
corsOriginInvalid: "Must be '*' or comma-separated valid URLs",
|
|
222
|
-
rateLimitRpmInt: "Rate limit must be an integer",
|
|
223
|
-
rateLimitRpmMin: "Rate limit must be at least 1",
|
|
224
|
-
rateLimitRpmMax: "Rate limit should not exceed 10,000",
|
|
225
|
-
rateLimitWindowInt: "Rate limit window must be an integer",
|
|
226
|
-
rateLimitWindowMin: "Rate limit window must be at least 1 minute",
|
|
227
|
-
rateLimitWindowMax: "Rate limit window should not exceed 60 minutes",
|
|
228
|
-
apiTimeoutInt: "Timeout must be an integer",
|
|
229
|
-
apiTimeoutMin: "Timeout must be at least 1 second",
|
|
230
|
-
apiTimeoutMax: "Timeout should not exceed 5 minutes",
|
|
231
|
-
maxFileSizeInt: "File size must be an integer",
|
|
232
|
-
maxFileSizeMin: "File size must be at least 1KB",
|
|
233
|
-
maxFileSizeMax: "File size should not exceed 1GB",
|
|
234
|
-
portInt: "Port must be an integer",
|
|
235
|
-
portMin: "Port must be >= 1024 (avoid reserved ports)",
|
|
236
|
-
portMax: "Port must be <= 65535"
|
|
237
|
-
};
|
|
238
|
-
const constraints$4 = {
|
|
239
|
-
apiKeyMinLength: 8,
|
|
240
|
-
jwtSecretMinLength: 32,
|
|
241
|
-
encryptionKeyMinLength: 32,
|
|
242
|
-
sessionSecretMinLength: 32,
|
|
243
|
-
rateLimitRpmMin: 1,
|
|
244
|
-
rateLimitRpmMax: 1e4,
|
|
245
|
-
rateLimitWindowMin: 1,
|
|
246
|
-
rateLimitWindowMax: 60,
|
|
247
|
-
apiTimeoutMin: 1e3,
|
|
248
|
-
apiTimeoutMax: 3e5,
|
|
249
|
-
maxFileSizeMin: 1024,
|
|
250
|
-
maxFileSizeMax: 1073741824,
|
|
251
|
-
portMin: 1024,
|
|
252
|
-
portMax: 65535
|
|
253
|
-
};
|
|
254
|
-
const defaults$2 = {
|
|
255
|
-
jwtAccessTokenExpiresIn: "15m",
|
|
256
|
-
jwtRefreshTokenExpiresIn: "7d",
|
|
257
|
-
rateLimitRpm: 60,
|
|
258
|
-
rateLimitWindow: 1,
|
|
259
|
-
apiTimeout: 3e4,
|
|
260
|
-
maxFileSize: 10485760,
|
|
261
|
-
logLevel: "info",
|
|
262
|
-
nodeEnv: "development",
|
|
263
|
-
port: 3e3,
|
|
264
|
-
host: "localhost"
|
|
265
|
-
};
|
|
266
|
-
const enumOptions = {
|
|
267
|
-
logLevel: [
|
|
268
|
-
"error",
|
|
269
|
-
"warn",
|
|
270
|
-
"info",
|
|
271
|
-
"debug",
|
|
272
|
-
"trace"
|
|
273
|
-
],
|
|
274
|
-
nodeEnv: [
|
|
275
|
-
"development",
|
|
276
|
-
"production",
|
|
277
|
-
"test",
|
|
278
|
-
"staging"
|
|
279
|
-
]
|
|
280
|
-
};
|
|
281
|
-
const patterns$3 = {
|
|
282
|
-
jwtTokenDuration: /^\d+[smhd]$/,
|
|
283
|
-
httpProtocol: /^https?:\/\//,
|
|
284
|
-
httpsProtocol: /^https:\/\//
|
|
285
|
-
};
|
|
286
|
-
|
|
287
|
-
//#endregion
|
|
288
|
-
//#region ../schemas/src/plain/api.ts
|
|
289
|
-
const apiKey = (input = {}) => new require_src.StringEnvVarSchema({
|
|
290
|
-
description: descriptions$4.apiKey,
|
|
291
|
-
process: createZodProcessor(zod.z.string().min(constraints$4.apiKeyMinLength, { message: messages$4.apiKeyMin })),
|
|
292
|
-
...input
|
|
293
|
-
});
|
|
294
|
-
const apiBaseUrl = (input = {}) => new require_src.StringEnvVarSchema({
|
|
295
|
-
description: descriptions$4.apiBaseUrl,
|
|
296
|
-
process: createZodProcessor(zod.z.string().url({ message: "Must be a valid URL" }).refine((url) => patterns$3.httpProtocol.test(url), { message: messages$4.httpProtocolRequired })),
|
|
297
|
-
...input
|
|
298
|
-
});
|
|
299
|
-
const apiTimeout = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
300
|
-
description: descriptions$4.apiTimeout,
|
|
301
|
-
default: defaults$2.apiTimeout,
|
|
302
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages$4.apiTimeoutInt }).min(constraints$4.apiTimeoutMin, { message: messages$4.apiTimeoutMin }).max(constraints$4.apiTimeoutMax, { message: messages$4.apiTimeoutMax })),
|
|
303
|
-
...input
|
|
304
|
-
});
|
|
305
|
-
const API_KEY = apiKey();
|
|
306
|
-
const API_BASE_URL = apiBaseUrl();
|
|
307
|
-
const API_TIMEOUT = apiTimeout();
|
|
308
|
-
|
|
309
|
-
//#endregion
|
|
310
|
-
//#region ../schemas/src/shared/infrastructure.ts
|
|
311
|
-
const descriptions$1 = {
|
|
312
|
-
azureStorageConnectionString: "Azure Storage Account connection string",
|
|
313
|
-
azureStorageAccountName: "Azure Storage Account name",
|
|
314
|
-
azureStorageAccountKey: "Azure Storage Account key",
|
|
315
|
-
azureServiceBusConnectionString: "Azure Service Bus connection string",
|
|
316
|
-
azureEventHubConnectionString: "Azure Event Hub connection string",
|
|
317
|
-
awsSqsQueueUrl: "AWS SQS queue URL",
|
|
318
|
-
awsRegion: "AWS region",
|
|
319
|
-
awsAccessKeyId: "AWS access key ID",
|
|
320
|
-
awsSecretAccessKey: "AWS secret access key",
|
|
321
|
-
awsS3BucketName: "AWS S3 bucket name",
|
|
322
|
-
elasticsearchUrl: "Elasticsearch/OpenSearch URL",
|
|
323
|
-
elasticsearchUsername: "Elasticsearch username",
|
|
324
|
-
elasticsearchPassword: "Elasticsearch password",
|
|
325
|
-
rabbitmqUrl: "RabbitMQ connection URL",
|
|
326
|
-
kafkaBrokers: "Kafka broker list (comma-separated host:port)",
|
|
327
|
-
kafkaClientId: "Kafka client ID",
|
|
328
|
-
memcachedServers: "Memcached servers (comma-separated host:port)",
|
|
329
|
-
dockerRegistryUrl: "Docker registry URL",
|
|
330
|
-
dockerRegistryUsername: "Docker registry username",
|
|
331
|
-
dockerRegistryPassword: "Docker registry password or access token",
|
|
332
|
-
kubernetesNamespace: "Kubernetes namespace",
|
|
333
|
-
kubernetesServiceAccount: "Kubernetes service account",
|
|
334
|
-
prometheusPort: "Prometheus metrics port",
|
|
335
|
-
jaegerEndpoint: "Jaeger tracing endpoint URL",
|
|
336
|
-
newRelicLicenseKey: "New Relic license key",
|
|
337
|
-
datadogApiKey: "Datadog API key",
|
|
338
|
-
sentryDsn: "Sentry DSN for error tracking"
|
|
339
|
-
};
|
|
340
|
-
const messages$1 = {
|
|
341
|
-
azureStorageConnectionStringFormat: "Must be a valid Azure Storage connection string",
|
|
342
|
-
azureStorageAccountNameFormat: "Storage account name must be 3-24 characters, lowercase letters and numbers only",
|
|
343
|
-
azureStorageAccountKeyRequired: "Storage account key is required",
|
|
344
|
-
azureServiceBusConnectionStringFormat: "Must be a valid Azure Service Bus connection string",
|
|
345
|
-
azureEventHubConnectionStringFormat: "Must be a valid Azure Event Hub connection string",
|
|
346
|
-
awsSqsQueueUrlFormat: "Must be a valid AWS SQS queue URL",
|
|
347
|
-
awsRegionFormat: "Must be a valid AWS region format (e.g., us-east-1)",
|
|
348
|
-
awsAccessKeyIdMin: "AWS access key ID must be at least 16 characters",
|
|
349
|
-
awsAccessKeyIdMax: "AWS access key ID must be less than 128 characters",
|
|
350
|
-
awsSecretAccessKeyRequired: "AWS secret access key is required",
|
|
351
|
-
awsS3BucketNameFormat: "S3 bucket names must be 3-63 characters, lowercase letters, numbers, and hyphens only",
|
|
352
|
-
elasticsearchUrlFormat: COMMON_MESSAGES.MUST_BE_VALID_URL,
|
|
353
|
-
elasticsearchUrlProtocol: "Must start with http:// or https://",
|
|
354
|
-
rabbitmqUrlFormat: "Must be a valid RabbitMQ URL (amqp:// or amqps://...)",
|
|
355
|
-
hostPortListFormat: "Must be comma-separated list of host:port (e.g., localhost:9092,broker2:9092)",
|
|
356
|
-
kafkaClientIdRequired: "Kafka client ID is required",
|
|
357
|
-
dockerRegistryUrlFormat: COMMON_MESSAGES.MUST_BE_VALID_URL,
|
|
358
|
-
kubernetesNameFormat: "Must be a valid Kubernetes namespace name",
|
|
359
|
-
kubernetesServiceAccountFormat: "Must be a valid Kubernetes service account name",
|
|
360
|
-
prometheusPortInt: "Port must be an integer",
|
|
361
|
-
prometheusPortMin: "Port must be >= 1024",
|
|
362
|
-
prometheusPortMax: "Port must be <= 65535",
|
|
363
|
-
jaegerEndpointFormat: COMMON_MESSAGES.MUST_BE_VALID_URL,
|
|
364
|
-
newRelicLicenseKeyLength: "New Relic license key must be exactly 40 characters",
|
|
365
|
-
datadogApiKeyLength: "Datadog API key must be exactly 32 characters",
|
|
366
|
-
sentryDsnFormat: "Must be a valid Sentry DSN format"
|
|
367
|
-
};
|
|
368
|
-
const defaults$3 = {
|
|
369
|
-
kubernetesNamespace: "default",
|
|
370
|
-
prometheusPort: 9090
|
|
371
|
-
};
|
|
372
|
-
const constraints$3 = {
|
|
373
|
-
awsAccessKeyIdMin: 16,
|
|
374
|
-
awsAccessKeyIdMax: 128,
|
|
375
|
-
prometheusPortMin: 1024,
|
|
376
|
-
prometheusPortMax: 65535,
|
|
377
|
-
newRelicLicenseKeyLength: 40,
|
|
378
|
-
datadogApiKeyLength: 32
|
|
379
|
-
};
|
|
380
|
-
const patterns$1 = {
|
|
381
|
-
awsRegion: /^[a-z]{2}-[a-z]+-\d{1}$/,
|
|
382
|
-
awsS3BucketName: /^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$/,
|
|
383
|
-
awsSqsQueueUrl: /^https:\/\/sqs\.[^.]+\.amazonaws\.com\/\d+\/[^/]+$/,
|
|
384
|
-
azureStorageConnectionString: /^DefaultEndpointsProtocol=https;AccountName=[^;]+;AccountKey=[^;]+;EndpointSuffix=.+$/,
|
|
385
|
-
azureStorageAccountName: /^[a-z0-9]{3,24}$/,
|
|
386
|
-
azureServiceBusConnectionString: /^Endpoint=sb:\/\/[^;]+;SharedAccessKeyName=[^;]+;SharedAccessKey=.+$/,
|
|
387
|
-
azureEventHubConnectionString: /^Endpoint=sb:\/\/[^;]+;SharedAccessKeyName=[^;]+;SharedAccessKey=.+$/,
|
|
388
|
-
hostPortList: /^[a-zA-Z0-9.-]+:\d+(,[a-zA-Z0-9.-]+:\d+)*$/,
|
|
389
|
-
rabbitmqUrl: /^amqps?:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/]+(?::\d+)?(?:\/.*)?$/,
|
|
390
|
-
kubernetesName: /^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/,
|
|
391
|
-
sentryDsn: /^https:\/\/[a-f0-9]+@[a-f0-9]+\.ingest\.sentry\.io\/\d+$/
|
|
392
|
-
};
|
|
393
|
-
|
|
394
|
-
//#endregion
|
|
395
|
-
//#region ../schemas/src/plain/aws.ts
|
|
396
|
-
const awsAccessKeyId = (input = {}) => new require_src.StringEnvVarSchema({
|
|
397
|
-
description: descriptions$1.awsAccessKeyId,
|
|
398
|
-
process: createZodProcessor(zod.z.string().min(constraints$3.awsAccessKeyIdMin, { message: messages$1.awsAccessKeyIdMin }).max(constraints$3.awsAccessKeyIdMax, { message: messages$1.awsAccessKeyIdMax })),
|
|
399
|
-
secret: true,
|
|
400
|
-
...input
|
|
401
|
-
});
|
|
402
|
-
const awsSecretAccessKey = (input = {}) => new require_src.StringEnvVarSchema({
|
|
403
|
-
description: descriptions$1.awsSecretAccessKey,
|
|
404
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages$1.awsSecretAccessKeyRequired })),
|
|
405
|
-
secret: true,
|
|
406
|
-
...input
|
|
407
|
-
});
|
|
408
|
-
const awsRegion = (input = {}) => new require_src.StringEnvVarSchema({
|
|
409
|
-
description: descriptions$1.awsRegion,
|
|
410
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.awsRegion, { message: messages$1.awsRegionFormat })),
|
|
411
|
-
...input
|
|
412
|
-
});
|
|
413
|
-
const awsS3BucketName = (input = {}) => new require_src.StringEnvVarSchema({
|
|
414
|
-
description: descriptions$1.awsS3BucketName,
|
|
415
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.awsS3BucketName, { message: messages$1.awsS3BucketNameFormat })),
|
|
416
|
-
...input
|
|
417
|
-
});
|
|
418
|
-
const awsSqsQueueUrl = (input = {}) => new require_src.StringEnvVarSchema({
|
|
419
|
-
description: descriptions$1.awsSqsQueueUrl,
|
|
420
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.awsSqsQueueUrl, { message: messages$1.awsSqsQueueUrlFormat })),
|
|
421
|
-
...input
|
|
422
|
-
});
|
|
423
|
-
const AWS_ACCESS_KEY_ID = awsAccessKeyId();
|
|
424
|
-
const AWS_SECRET_ACCESS_KEY = awsSecretAccessKey();
|
|
425
|
-
const AWS_REGION = awsRegion();
|
|
426
|
-
const AWS_S3_BUCKET_NAME = awsS3BucketName();
|
|
427
|
-
const AWS_SQS_QUEUE_URL = awsSqsQueueUrl();
|
|
428
|
-
const aws = {
|
|
429
|
-
AWS_ACCESS_KEY_ID,
|
|
430
|
-
AWS_SECRET_ACCESS_KEY,
|
|
431
|
-
AWS_REGION,
|
|
432
|
-
AWS_S3_BUCKET_NAME,
|
|
433
|
-
AWS_SQS_QUEUE_URL
|
|
434
|
-
};
|
|
435
|
-
|
|
436
|
-
//#endregion
|
|
437
|
-
//#region ../schemas/src/plain/azure.ts
|
|
438
|
-
const azureStorageConnectionString = (input = {}) => new require_src.StringEnvVarSchema({
|
|
439
|
-
description: descriptions$1.azureStorageConnectionString,
|
|
440
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.azureStorageConnectionString, { message: messages$1.azureStorageConnectionStringFormat })),
|
|
441
|
-
secret: true,
|
|
442
|
-
...input
|
|
443
|
-
});
|
|
444
|
-
const azureStorageAccountName = (input = {}) => new require_src.StringEnvVarSchema({
|
|
445
|
-
description: descriptions$1.azureStorageAccountName,
|
|
446
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.azureStorageAccountName, { message: messages$1.azureStorageAccountNameFormat })),
|
|
447
|
-
...input
|
|
448
|
-
});
|
|
449
|
-
const azureStorageAccountKey = (input = {}) => new require_src.StringEnvVarSchema({
|
|
450
|
-
description: descriptions$1.azureStorageAccountKey,
|
|
451
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages$1.azureStorageAccountKeyRequired })),
|
|
452
|
-
secret: true,
|
|
453
|
-
...input
|
|
454
|
-
});
|
|
455
|
-
const azureServiceBusConnectionString = (input = {}) => new require_src.StringEnvVarSchema({
|
|
456
|
-
description: descriptions$1.azureServiceBusConnectionString,
|
|
457
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.azureServiceBusConnectionString, { message: messages$1.azureServiceBusConnectionStringFormat })),
|
|
458
|
-
secret: true,
|
|
459
|
-
...input
|
|
460
|
-
});
|
|
461
|
-
const azureEventHubConnectionString = (input = {}) => new require_src.StringEnvVarSchema({
|
|
462
|
-
description: descriptions$1.azureEventHubConnectionString,
|
|
463
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.azureEventHubConnectionString, { message: messages$1.azureEventHubConnectionStringFormat })),
|
|
464
|
-
secret: true,
|
|
465
|
-
...input
|
|
466
|
-
});
|
|
467
|
-
const AZURE_STORAGE_CONNECTION_STRING = azureStorageConnectionString();
|
|
468
|
-
const AZURE_STORAGE_ACCOUNT_NAME = azureStorageAccountName();
|
|
469
|
-
const AZURE_STORAGE_ACCOUNT_KEY = azureStorageAccountKey();
|
|
470
|
-
const AZURE_SERVICE_BUS_CONNECTION_STRING = azureServiceBusConnectionString();
|
|
471
|
-
const AZURE_EVENT_HUB_CONNECTION_STRING = azureEventHubConnectionString();
|
|
472
|
-
const azure = {
|
|
473
|
-
AZURE_STORAGE_CONNECTION_STRING,
|
|
474
|
-
AZURE_STORAGE_ACCOUNT_NAME,
|
|
475
|
-
AZURE_STORAGE_ACCOUNT_KEY,
|
|
476
|
-
AZURE_SERVICE_BUS_CONNECTION_STRING,
|
|
477
|
-
AZURE_EVENT_HUB_CONNECTION_STRING
|
|
478
|
-
};
|
|
479
|
-
|
|
480
|
-
//#endregion
|
|
481
|
-
//#region ../schemas/src/plain/common.ts
|
|
482
|
-
const port = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
483
|
-
description: descriptions$4.port,
|
|
484
|
-
default: defaults$2.port,
|
|
485
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages$4.portInt }).min(constraints$4.portMin, { message: messages$4.portMin }).max(constraints$4.portMax, { message: messages$4.portMax })),
|
|
486
|
-
...input
|
|
487
|
-
});
|
|
488
|
-
const PORT = port();
|
|
489
|
-
|
|
490
|
-
//#endregion
|
|
491
|
-
//#region ../schemas/src/plain/cors.ts
|
|
492
|
-
const corsOrigin = (input = {}) => new require_src.StringEnvVarSchema({
|
|
493
|
-
description: descriptions$4.corsOrigin,
|
|
494
|
-
process: createZodProcessor(zod.z.string().refine((val) => {
|
|
495
|
-
if (val === "*") return true;
|
|
496
|
-
return val.split(",").map((origin) => origin.trim()).every((origin) => {
|
|
497
|
-
try {
|
|
498
|
-
new URL(origin);
|
|
499
|
-
return true;
|
|
500
|
-
} catch {
|
|
501
|
-
return false;
|
|
502
|
-
}
|
|
503
|
-
});
|
|
504
|
-
}, { message: messages$4.corsOriginInvalid })),
|
|
505
|
-
...input
|
|
506
|
-
});
|
|
507
|
-
const CORS_ORIGIN = corsOrigin();
|
|
508
|
-
const cors = { CORS_ORIGIN };
|
|
509
|
-
|
|
510
|
-
//#endregion
|
|
511
|
-
//#region ../schemas/src/shared/database.ts
|
|
512
|
-
const descriptions$5 = {
|
|
513
|
-
databaseUrl: "Database connection string",
|
|
514
|
-
databaseUrlPostgresql: "PostgreSQL database connection string",
|
|
515
|
-
databaseUrlMysql: "MySQL database connection string",
|
|
516
|
-
databaseUrlMongodb: "MongoDB connection string",
|
|
517
|
-
databaseUrlSqlserver: "Microsoft SQL Server connection string",
|
|
518
|
-
redisUrl: "Redis connection string",
|
|
519
|
-
databaseHost: "Database host address",
|
|
520
|
-
databasePort: "Database port number",
|
|
521
|
-
databaseName: "Database name",
|
|
522
|
-
databaseUsername: "Database username",
|
|
523
|
-
databasePassword: "Database password",
|
|
524
|
-
databaseSchema: "Database schema name",
|
|
525
|
-
databasePoolSize: "Database connection pool size",
|
|
526
|
-
databaseTimeout: "Database connection timeout (milliseconds)",
|
|
527
|
-
databaseSsl: "Enable SSL connection to database"
|
|
528
|
-
};
|
|
529
|
-
const messages$5 = {
|
|
530
|
-
databaseUrlPostgresqlFormat: "Must be a valid PostgreSQL connection string (postgresql://...)",
|
|
531
|
-
databaseUrlMysqlFormat: "Must be a valid MySQL connection string (mysql://...)",
|
|
532
|
-
databaseUrlMongodbFormat: "Must be a valid MongoDB connection string (mongodb:// or mongodb+srv://...)",
|
|
533
|
-
databaseUrlSqlserverFormat: "Must be a valid SQL Server connection string (sqlserver://... or Server=...;Database=...;...)",
|
|
534
|
-
redisUrlFormat: "Must be a valid Redis connection string (redis:// or rediss://...)",
|
|
535
|
-
genericDatabaseUrlFormat: "Must be a valid database connection string with supported protocol",
|
|
536
|
-
databaseHostRequired: "Database host is required",
|
|
537
|
-
databasePortInt: "Port must be an integer",
|
|
538
|
-
databasePortMin: "Port must be greater than 0",
|
|
539
|
-
databasePortMax: "Port must be less than 65536",
|
|
540
|
-
databaseNameRequired: "Database name is required",
|
|
541
|
-
databaseNameFormat: "Database name must contain only letters, numbers, underscores, and hyphens",
|
|
542
|
-
databaseUsernameRequired: "Database username is required",
|
|
543
|
-
databasePasswordRequired: "Database password is required",
|
|
544
|
-
databaseSchemaFormat: "Schema name must contain only letters, numbers, and underscores",
|
|
545
|
-
databasePoolSizeInt: "Pool size must be an integer",
|
|
546
|
-
databasePoolSizeMin: "Pool size must be at least 1",
|
|
547
|
-
databasePoolSizeMax: "Pool size should not exceed 100",
|
|
548
|
-
databaseTimeoutInt: "Timeout must be an integer",
|
|
549
|
-
databaseTimeoutMin: "Timeout must be at least 1 second",
|
|
550
|
-
databaseTimeoutMax: "Timeout should not exceed 5 minutes"
|
|
551
|
-
};
|
|
552
|
-
const defaults$4 = {
|
|
553
|
-
databasePoolSize: 10,
|
|
554
|
-
databaseTimeout: 3e4,
|
|
555
|
-
databaseSsl: true
|
|
556
|
-
};
|
|
557
|
-
const constraints$5 = {
|
|
558
|
-
databasePortMin: 1,
|
|
559
|
-
databasePortMax: 65535,
|
|
560
|
-
databasePoolSizeMin: 1,
|
|
561
|
-
databasePoolSizeMax: 100,
|
|
562
|
-
databaseTimeoutMin: 1e3,
|
|
563
|
-
databaseTimeoutMax: 3e5
|
|
564
|
-
};
|
|
565
|
-
const patterns$4 = {
|
|
566
|
-
postgresUrl: /^postgresql:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/]+(?::\d+)?(?:\/[^?]*)?(?:\?.*)?$/,
|
|
567
|
-
mysqlUrl: /^mysql:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/]+(?::\d+)?(?:\/[^?]*)?(?:\?.*)?$/,
|
|
568
|
-
mongodbUrl: /^mongodb(?:\+srv)?:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/,]+(?::\d+)?(?:,[^:/,]+(?::\d+)?)*(?:\/[^?]*)?(?:\?.*)?$/,
|
|
569
|
-
sqlserverUrlPrefix: /^sqlserver:\/\//,
|
|
570
|
-
sqlserverServer: /Server=.+/,
|
|
571
|
-
sqlserverDatabase: /Database=.+/,
|
|
572
|
-
sqlserverInitialCatalog: /Initial Catalog=.+/,
|
|
573
|
-
redisUrl: /^rediss?:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/]+(?::\d+)?(?:\/\d+)?(?:\?.*)?$/,
|
|
574
|
-
genericDatabaseUrl: /^(postgresql|mysql|mongodb|mongodb\+srv|sqlserver|sqlite|oracle|redshift):\/\/.+/,
|
|
575
|
-
databaseName: /^[a-zA-Z0-9_-]+$/,
|
|
576
|
-
databaseSchema: /^[a-zA-Z0-9_]+$/
|
|
577
|
-
};
|
|
578
|
-
|
|
579
|
-
//#endregion
|
|
580
|
-
//#region ../schemas/src/plain/database.ts
|
|
581
|
-
const databaseUrl = (input = {}) => new require_src.StringEnvVarSchema({
|
|
582
|
-
description: descriptions$5.databaseUrl,
|
|
583
|
-
process: createZodProcessor(zod.z.string().regex(patterns$4.genericDatabaseUrl, { message: messages$5.genericDatabaseUrlFormat })),
|
|
584
|
-
secret: true,
|
|
585
|
-
...input
|
|
586
|
-
});
|
|
587
|
-
const databaseHost = (input = {}) => new require_src.StringEnvVarSchema({
|
|
588
|
-
description: descriptions$5.databaseHost,
|
|
589
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages$5.databaseHostRequired })),
|
|
590
|
-
...input
|
|
591
|
-
});
|
|
592
|
-
const databasePort = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
593
|
-
description: descriptions$5.databasePort,
|
|
594
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages$5.databasePortInt }).min(constraints$5.databasePortMin, { message: messages$5.databasePortMin }).max(constraints$5.databasePortMax, { message: messages$5.databasePortMax })),
|
|
595
|
-
...input
|
|
596
|
-
});
|
|
597
|
-
const databaseName = (input = {}) => new require_src.StringEnvVarSchema({
|
|
598
|
-
description: descriptions$5.databaseName,
|
|
599
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages$5.databaseNameRequired })),
|
|
600
|
-
...input
|
|
601
|
-
});
|
|
602
|
-
const databaseUsername = (input = {}) => new require_src.StringEnvVarSchema({
|
|
603
|
-
description: descriptions$5.databaseUsername,
|
|
604
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages$5.databaseUsernameRequired })),
|
|
605
|
-
...input
|
|
606
|
-
});
|
|
607
|
-
const databasePassword = (input = {}) => new require_src.StringEnvVarSchema({
|
|
608
|
-
description: descriptions$5.databasePassword,
|
|
609
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages$5.databasePasswordRequired })),
|
|
610
|
-
secret: true,
|
|
611
|
-
...input
|
|
612
|
-
});
|
|
613
|
-
const databaseSchema = (input = {}) => new require_src.StringEnvVarSchema({
|
|
614
|
-
description: descriptions$5.databaseSchema,
|
|
615
|
-
process: createZodProcessor(zod.z.string()),
|
|
616
|
-
required: false,
|
|
617
|
-
...input
|
|
618
|
-
});
|
|
619
|
-
const databasePoolSize = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
620
|
-
description: descriptions$5.databasePoolSize,
|
|
621
|
-
default: defaults$4.databasePoolSize,
|
|
622
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages$5.databasePoolSizeInt }).min(constraints$5.databasePoolSizeMin, { message: messages$5.databasePoolSizeMin }).max(constraints$5.databasePoolSizeMax, { message: messages$5.databasePoolSizeMax })),
|
|
623
|
-
...input
|
|
624
|
-
});
|
|
625
|
-
const databaseTimeout = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
626
|
-
description: descriptions$5.databaseTimeout,
|
|
627
|
-
default: defaults$4.databaseTimeout,
|
|
628
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages$5.databaseTimeoutInt }).min(constraints$5.databaseTimeoutMin, { message: messages$5.databaseTimeoutMin }).max(constraints$5.databaseTimeoutMax, { message: messages$5.databaseTimeoutMax })),
|
|
629
|
-
...input
|
|
630
|
-
});
|
|
631
|
-
const databaseSsl = (input = {}) => new require_src.BooleanEnvVarSchema({
|
|
632
|
-
description: descriptions$5.databaseSsl,
|
|
633
|
-
default: defaults$4.databaseSsl,
|
|
634
|
-
...input
|
|
635
|
-
});
|
|
636
|
-
const DATABASE_URL = databaseUrl();
|
|
637
|
-
const DATABASE_HOST = databaseHost();
|
|
638
|
-
const DATABASE_PORT = databasePort();
|
|
639
|
-
const DATABASE_NAME = databaseName();
|
|
640
|
-
const DATABASE_USERNAME = databaseUsername();
|
|
641
|
-
const DATABASE_PASSWORD = databasePassword();
|
|
642
|
-
const DATABASE_SCHEMA = databaseSchema();
|
|
643
|
-
const DATABASE_POOL_SIZE = databasePoolSize();
|
|
644
|
-
const DATABASE_TIMEOUT = databaseTimeout();
|
|
645
|
-
const DATABASE_SSL = databaseSsl();
|
|
646
|
-
|
|
647
|
-
//#endregion
|
|
648
|
-
//#region ../schemas/src/plain/docker.ts
|
|
649
|
-
const dockerRegistryUrl = (input = {}) => new require_src.StringEnvVarSchema({
|
|
650
|
-
description: descriptions$1.dockerRegistryUrl,
|
|
651
|
-
process: createZodProcessor(zod.z.string().url({ message: messages$1.dockerRegistryUrlFormat })),
|
|
652
|
-
...input
|
|
653
|
-
});
|
|
654
|
-
const dockerRegistryUsername = (input = {}) => new require_src.StringEnvVarSchema({
|
|
655
|
-
description: descriptions$1.dockerRegistryUsername,
|
|
656
|
-
process: createZodProcessor(zod.z.string()),
|
|
657
|
-
required: false,
|
|
658
|
-
...input
|
|
659
|
-
});
|
|
660
|
-
const dockerRegistryPassword = (input = {}) => new require_src.StringEnvVarSchema({
|
|
661
|
-
description: descriptions$1.dockerRegistryPassword,
|
|
662
|
-
process: createZodProcessor(zod.z.string()),
|
|
663
|
-
secret: true,
|
|
664
|
-
required: false,
|
|
665
|
-
...input
|
|
666
|
-
});
|
|
667
|
-
const DOCKER_REGISTRY_URL = dockerRegistryUrl();
|
|
668
|
-
const DOCKER_REGISTRY_USERNAME = dockerRegistryUsername();
|
|
669
|
-
const DOCKER_REGISTRY_PASSWORD = dockerRegistryPassword();
|
|
670
|
-
const docker = {
|
|
671
|
-
DOCKER_REGISTRY_URL,
|
|
672
|
-
DOCKER_REGISTRY_USERNAME,
|
|
673
|
-
DOCKER_REGISTRY_PASSWORD
|
|
674
|
-
};
|
|
675
|
-
|
|
676
|
-
//#endregion
|
|
677
|
-
//#region ../schemas/src/plain/elasticsearch.ts
|
|
678
|
-
const elasticsearchUrl = (input = {}) => new require_src.StringEnvVarSchema({
|
|
679
|
-
description: descriptions$1.elasticsearchUrl,
|
|
680
|
-
process: createZodProcessor(zod.z.string().url({ message: messages$1.elasticsearchUrlFormat }).regex(patterns$3.httpProtocol, { message: messages$1.elasticsearchUrlProtocol })),
|
|
681
|
-
...input
|
|
682
|
-
});
|
|
683
|
-
const elasticsearchUsername = (input = {}) => new require_src.StringEnvVarSchema({
|
|
684
|
-
description: descriptions$1.elasticsearchUsername,
|
|
685
|
-
process: createZodProcessor(zod.z.string()),
|
|
686
|
-
required: false,
|
|
687
|
-
...input
|
|
688
|
-
});
|
|
689
|
-
const elasticsearchPassword = (input = {}) => new require_src.StringEnvVarSchema({
|
|
690
|
-
description: descriptions$1.elasticsearchPassword,
|
|
691
|
-
process: createZodProcessor(zod.z.string()),
|
|
692
|
-
secret: true,
|
|
693
|
-
required: false,
|
|
694
|
-
...input
|
|
695
|
-
});
|
|
696
|
-
const ELASTICSEARCH_URL = elasticsearchUrl();
|
|
697
|
-
const ELASTICSEARCH_USERNAME = elasticsearchUsername();
|
|
698
|
-
const ELASTICSEARCH_PASSWORD = elasticsearchPassword();
|
|
699
|
-
const elasticsearch = {
|
|
700
|
-
ELASTICSEARCH_URL,
|
|
701
|
-
ELASTICSEARCH_USERNAME,
|
|
702
|
-
ELASTICSEARCH_PASSWORD
|
|
703
|
-
};
|
|
704
|
-
|
|
705
|
-
//#endregion
|
|
706
|
-
//#region ../schemas/src/plain/host.ts
|
|
707
|
-
const host = (input = {}) => new require_src.StringEnvVarSchema({
|
|
708
|
-
description: descriptions$4.host,
|
|
709
|
-
default: defaults$2.host,
|
|
710
|
-
process: createZodProcessor(zod.z.string()),
|
|
711
|
-
...input
|
|
712
|
-
});
|
|
713
|
-
const HOST = host();
|
|
714
|
-
const hostSchema = { HOST };
|
|
715
|
-
|
|
716
|
-
//#endregion
|
|
717
|
-
//#region ../schemas/src/plain/jwt.ts
|
|
718
|
-
const jwtSecret = (input = {}) => new require_src.StringEnvVarSchema({
|
|
719
|
-
description: descriptions$4.jwtSecret,
|
|
720
|
-
process: createZodProcessor(zod.z.string().min(constraints$4.jwtSecretMinLength, { message: messages$4.jwtSecretMin })),
|
|
721
|
-
secret: true,
|
|
722
|
-
...input
|
|
723
|
-
});
|
|
724
|
-
const jwtAccessTokenExpiresIn = (input = {}) => new require_src.StringEnvVarSchema({
|
|
725
|
-
description: descriptions$4.jwtAccessTokenExpiresIn,
|
|
726
|
-
default: defaults$2.jwtAccessTokenExpiresIn,
|
|
727
|
-
process: createZodProcessor(zod.z.string().regex(patterns$3.jwtTokenDuration, { message: messages$4.jwtDurationFormat })),
|
|
728
|
-
...input
|
|
729
|
-
});
|
|
730
|
-
const jwtRefreshTokenExpiresIn = (input = {}) => new require_src.StringEnvVarSchema({
|
|
731
|
-
description: descriptions$4.jwtRefreshTokenExpiresIn,
|
|
732
|
-
default: defaults$2.jwtRefreshTokenExpiresIn,
|
|
733
|
-
process: createZodProcessor(zod.z.string().regex(patterns$3.jwtTokenDuration, { message: messages$4.jwtDurationFormat })),
|
|
734
|
-
...input
|
|
735
|
-
});
|
|
736
|
-
const JWT_SECRET = jwtSecret();
|
|
737
|
-
const JWT_ACCESS_TOKEN_EXPIRES_IN = jwtAccessTokenExpiresIn();
|
|
738
|
-
const JWT_REFRESH_TOKEN_EXPIRES_IN = jwtRefreshTokenExpiresIn();
|
|
739
|
-
const jwt = {
|
|
740
|
-
JWT_SECRET,
|
|
741
|
-
JWT_ACCESS_TOKEN_EXPIRES_IN,
|
|
742
|
-
JWT_REFRESH_TOKEN_EXPIRES_IN
|
|
743
|
-
};
|
|
744
|
-
|
|
745
|
-
//#endregion
|
|
746
|
-
//#region ../schemas/src/plain/kafka.ts
|
|
747
|
-
const kafkaBrokers = (input = {}) => new require_src.StringEnvVarSchema({
|
|
748
|
-
description: descriptions$1.kafkaBrokers,
|
|
749
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.hostPortList, { message: messages$1.hostPortListFormat })),
|
|
750
|
-
...input
|
|
751
|
-
});
|
|
752
|
-
const kafkaClientId = (input = {}) => new require_src.StringEnvVarSchema({
|
|
753
|
-
description: descriptions$1.kafkaClientId,
|
|
754
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages$1.kafkaClientIdRequired })),
|
|
755
|
-
...input
|
|
756
|
-
});
|
|
757
|
-
const KAFKA_BROKERS = kafkaBrokers();
|
|
758
|
-
const KAFKA_CLIENT_ID = kafkaClientId();
|
|
759
|
-
const kafka = {
|
|
760
|
-
KAFKA_BROKERS,
|
|
761
|
-
KAFKA_CLIENT_ID
|
|
762
|
-
};
|
|
763
|
-
|
|
764
|
-
//#endregion
|
|
765
|
-
//#region ../schemas/src/plain/logLevel.ts
|
|
766
|
-
const logLevel = (input = {}) => new require_src.StringEnvVarSchema({
|
|
767
|
-
description: descriptions$4.logLevel,
|
|
768
|
-
default: defaults$2.logLevel,
|
|
769
|
-
process: createZodProcessor(zod.z.enum([...enumOptions.logLevel])),
|
|
770
|
-
...input
|
|
771
|
-
});
|
|
772
|
-
const LOG_LEVEL = logLevel();
|
|
773
|
-
const logLevelSchema = { LOG_LEVEL };
|
|
774
|
-
|
|
775
|
-
//#endregion
|
|
776
|
-
//#region ../schemas/src/plain/monitoring.ts
|
|
777
|
-
const newRelicLicenseKey = (input = {}) => new require_src.StringEnvVarSchema({
|
|
778
|
-
description: descriptions$1.newRelicLicenseKey,
|
|
779
|
-
process: createZodProcessor(zod.z.string().length(constraints$3.newRelicLicenseKeyLength, { message: messages$1.newRelicLicenseKeyLength })),
|
|
780
|
-
secret: true,
|
|
781
|
-
required: false,
|
|
782
|
-
...input
|
|
783
|
-
});
|
|
784
|
-
const sentryDsn = (input = {}) => new require_src.StringEnvVarSchema({
|
|
785
|
-
description: descriptions$1.sentryDsn,
|
|
786
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.sentryDsn, { message: messages$1.sentryDsnFormat })),
|
|
787
|
-
secret: true,
|
|
788
|
-
required: false,
|
|
789
|
-
...input
|
|
790
|
-
});
|
|
791
|
-
const jaegerEndpoint = (input = {}) => new require_src.StringEnvVarSchema({
|
|
792
|
-
description: descriptions$1.jaegerEndpoint,
|
|
793
|
-
process: createZodProcessor(zod.z.string().url({ message: messages$1.jaegerEndpointFormat })),
|
|
794
|
-
required: false,
|
|
795
|
-
...input
|
|
796
|
-
});
|
|
797
|
-
const prometheusPort = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
798
|
-
description: descriptions$1.prometheusPort,
|
|
799
|
-
default: defaults$3.prometheusPort,
|
|
800
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages$1.prometheusPortInt }).min(constraints$3.prometheusPortMin, { message: messages$1.prometheusPortMin }).max(constraints$3.prometheusPortMax, { message: messages$1.prometheusPortMax })),
|
|
801
|
-
...input
|
|
802
|
-
});
|
|
803
|
-
const datadogApiKey = (input = {}) => new require_src.StringEnvVarSchema({
|
|
804
|
-
description: descriptions$1.datadogApiKey,
|
|
805
|
-
process: createZodProcessor(zod.z.string().length(constraints$3.datadogApiKeyLength, { message: messages$1.datadogApiKeyLength })),
|
|
806
|
-
secret: true,
|
|
807
|
-
required: false,
|
|
808
|
-
...input
|
|
809
|
-
});
|
|
810
|
-
const NEW_RELIC_LICENSE_KEY = newRelicLicenseKey();
|
|
811
|
-
const SENTRY_DSN = sentryDsn();
|
|
812
|
-
const JAEGER_ENDPOINT = jaegerEndpoint();
|
|
813
|
-
const PROMETHEUS_PORT = prometheusPort();
|
|
814
|
-
const DATADOG_API_KEY = datadogApiKey();
|
|
815
|
-
const monitoring = {
|
|
816
|
-
NEW_RELIC_LICENSE_KEY,
|
|
817
|
-
SENTRY_DSN,
|
|
818
|
-
JAEGER_ENDPOINT,
|
|
819
|
-
PROMETHEUS_PORT,
|
|
820
|
-
DATADOG_API_KEY
|
|
821
|
-
};
|
|
822
|
-
|
|
823
|
-
//#endregion
|
|
824
|
-
//#region ../schemas/src/plain/node.ts
|
|
825
|
-
const nodeEnv = (input = {}) => new require_src.EnumEnvVarSchema({
|
|
826
|
-
values: [...enumOptions.nodeEnv],
|
|
827
|
-
description: descriptions$4.nodeEnv,
|
|
828
|
-
default: defaults$2.nodeEnv,
|
|
829
|
-
process: createZodProcessor(zod.z.enum([...enumOptions.nodeEnv])),
|
|
830
|
-
...input
|
|
831
|
-
});
|
|
832
|
-
const NODE_ENV = nodeEnv();
|
|
833
|
-
const node = { NODE_ENV };
|
|
834
|
-
|
|
835
|
-
//#endregion
|
|
836
|
-
//#region ../schemas/src/shared/oauth.ts
|
|
837
|
-
const descriptions$3 = {
|
|
838
|
-
clientId: "The OAuth client ID",
|
|
839
|
-
clientSecret: "OAuth client secret",
|
|
840
|
-
redirectUri: "OAuth redirect URI",
|
|
841
|
-
scope: "OAuth scope (space-separated)"
|
|
842
|
-
};
|
|
843
|
-
const messages$3 = {
|
|
844
|
-
clientIdRequired: "OAuth client ID is required",
|
|
845
|
-
clientSecretMinLength: "OAuth client secret must be at least 8 characters long",
|
|
846
|
-
redirectUriInvalid: COMMON_MESSAGES.MUST_BE_VALID_URL,
|
|
847
|
-
scopeRequired: "OAuth scope is required"
|
|
848
|
-
};
|
|
849
|
-
const constraints$2 = {
|
|
850
|
-
clientIdMinLength: 1,
|
|
851
|
-
clientSecretMinLength: 8,
|
|
852
|
-
scopeMinLength: 1
|
|
853
|
-
};
|
|
854
|
-
|
|
855
|
-
//#endregion
|
|
856
|
-
//#region ../schemas/src/plain/oauth.ts
|
|
857
|
-
const oauthClientId = (input = {}) => new require_src.StringEnvVarSchema({
|
|
858
|
-
description: descriptions$3.clientId,
|
|
859
|
-
process: createZodProcessor(zod.z.string().min(constraints$2.clientIdMinLength, { message: messages$3.clientIdRequired })),
|
|
860
|
-
secret: true,
|
|
861
|
-
...input
|
|
862
|
-
});
|
|
863
|
-
const oauthClientSecret = (input = {}) => new require_src.StringEnvVarSchema({
|
|
864
|
-
description: descriptions$3.clientSecret,
|
|
865
|
-
process: createZodProcessor(zod.z.string().min(constraints$2.clientSecretMinLength, { message: messages$3.clientSecretMinLength })),
|
|
866
|
-
secret: true,
|
|
867
|
-
...input
|
|
868
|
-
});
|
|
869
|
-
const oauthRedirectUri = (input = {}) => new require_src.StringEnvVarSchema({
|
|
870
|
-
description: descriptions$3.redirectUri,
|
|
871
|
-
process: createZodProcessor(zod.z.string().url({ message: messages$3.redirectUriInvalid })),
|
|
872
|
-
...input
|
|
873
|
-
});
|
|
874
|
-
const oauthScope = (input = {}) => new require_src.StringEnvVarSchema({
|
|
875
|
-
description: descriptions$3.scope,
|
|
876
|
-
process: createZodProcessor(zod.z.string().min(constraints$2.scopeMinLength, { message: messages$3.scopeRequired })),
|
|
877
|
-
...input
|
|
878
|
-
});
|
|
879
|
-
const OAUTH_CLIENT_ID = oauthClientId();
|
|
880
|
-
const OAUTH_CLIENT_SECRET = oauthClientSecret();
|
|
881
|
-
const OAUTH_REDIRECT_URI = oauthRedirectUri();
|
|
882
|
-
const OAUTH_SCOPE = oauthScope();
|
|
883
|
-
const oauth = {
|
|
884
|
-
OAUTH_CLIENT_ID,
|
|
885
|
-
OAUTH_CLIENT_SECRET,
|
|
886
|
-
OAUTH_REDIRECT_URI,
|
|
887
|
-
OAUTH_SCOPE
|
|
888
|
-
};
|
|
889
|
-
|
|
890
|
-
//#endregion
|
|
891
|
-
//#region ../schemas/src/shared/openai.ts
|
|
892
|
-
const descriptions$2 = {
|
|
893
|
-
apiKey: "OpenAI API key for authenticating requests",
|
|
894
|
-
organizationId: "OpenAI organization identifier (org-...)",
|
|
895
|
-
projectId: "OpenAI project identifier (proj_...)",
|
|
896
|
-
baseUrl: "Custom base URL for OpenAI-compatible API endpoints",
|
|
897
|
-
model: "Default OpenAI model identifier to use for requests",
|
|
898
|
-
timeout: "Request timeout in seconds for OpenAI API calls"
|
|
899
|
-
};
|
|
900
|
-
const messages$2 = {
|
|
901
|
-
apiKeyMinLength: "OpenAI API key must be at least 40 characters",
|
|
902
|
-
apiKeyFormat: "OpenAI API key must start with 'sk-' and contain only letters and numbers",
|
|
903
|
-
organizationFormat: "OpenAI organization ID must start with 'org-'",
|
|
904
|
-
projectFormat: "OpenAI project ID must start with 'proj_'",
|
|
905
|
-
baseUrlInvalid: "OpenAI base URL must be a valid URL",
|
|
906
|
-
baseUrlProtocol: "OpenAI base URL must use https://",
|
|
907
|
-
modelRequired: "OpenAI model identifier cannot be empty",
|
|
908
|
-
timeoutInteger: "OpenAI timeout must be an integer value",
|
|
909
|
-
timeoutMin: "OpenAI timeout must be at least 1 second",
|
|
910
|
-
timeoutMax: "OpenAI timeout must be 600 seconds or less"
|
|
911
|
-
};
|
|
912
|
-
const constraints$1 = {
|
|
913
|
-
apiKeyMinLength: 40,
|
|
914
|
-
timeoutMin: 1,
|
|
915
|
-
timeoutMax: 600
|
|
916
|
-
};
|
|
917
|
-
const defaults$1 = { timeout: 30 };
|
|
918
|
-
const patterns$2 = {
|
|
919
|
-
apiKey: /^sk-[A-Za-z0-9]{20,}$/,
|
|
920
|
-
organizationId: /^org-[A-Za-z0-9_-]{8,}$/,
|
|
921
|
-
projectId: /^proj_[A-Za-z0-9_-]{8,}$/
|
|
922
|
-
};
|
|
923
|
-
|
|
924
|
-
//#endregion
|
|
925
|
-
//#region ../schemas/src/plain/openai.ts
|
|
926
|
-
const openaiApiKey = (input = {}) => new require_src.StringEnvVarSchema({
|
|
927
|
-
description: descriptions$2.apiKey,
|
|
928
|
-
process: createZodProcessor(zod.z.string().min(constraints$1.apiKeyMinLength, { message: messages$2.apiKeyMinLength }).regex(patterns$2.apiKey, { message: messages$2.apiKeyFormat })),
|
|
929
|
-
secret: true,
|
|
930
|
-
...input
|
|
931
|
-
});
|
|
932
|
-
const openaiOrganizationId = (input = {}) => new require_src.StringEnvVarSchema({
|
|
933
|
-
description: descriptions$2.organizationId,
|
|
934
|
-
process: createZodProcessor(zod.z.string().regex(patterns$2.organizationId, { message: messages$2.organizationFormat })),
|
|
935
|
-
required: false,
|
|
936
|
-
...input
|
|
937
|
-
});
|
|
938
|
-
const openaiProjectId = (input = {}) => new require_src.StringEnvVarSchema({
|
|
939
|
-
description: descriptions$2.projectId,
|
|
940
|
-
process: createZodProcessor(zod.z.string().regex(patterns$2.projectId, { message: messages$2.projectFormat })),
|
|
941
|
-
required: false,
|
|
942
|
-
...input
|
|
943
|
-
});
|
|
944
|
-
const openaiBaseUrl = (input = {}) => new require_src.StringEnvVarSchema({
|
|
945
|
-
description: descriptions$2.baseUrl,
|
|
946
|
-
process: createZodProcessor(zod.z.string().url({ message: messages$2.baseUrlInvalid }).refine((value) => value.startsWith("https://"), { message: messages$2.baseUrlProtocol })),
|
|
947
|
-
required: false,
|
|
948
|
-
...input
|
|
949
|
-
});
|
|
950
|
-
const openaiModel = (input = {}) => new require_src.StringEnvVarSchema({
|
|
951
|
-
description: descriptions$2.model,
|
|
952
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages$2.modelRequired })),
|
|
953
|
-
required: false,
|
|
954
|
-
...input
|
|
955
|
-
});
|
|
956
|
-
const openaiTimeout = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
957
|
-
description: descriptions$2.timeout,
|
|
958
|
-
default: defaults$1.timeout,
|
|
959
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages$2.timeoutInteger }).min(constraints$1.timeoutMin, { message: messages$2.timeoutMin }).max(constraints$1.timeoutMax, { message: messages$2.timeoutMax })),
|
|
960
|
-
...input
|
|
961
|
-
});
|
|
962
|
-
const OPENAI_API_KEY = openaiApiKey();
|
|
963
|
-
const OPENAI_ORGANIZATION_ID = openaiOrganizationId();
|
|
964
|
-
const OPENAI_PROJECT_ID = openaiProjectId();
|
|
965
|
-
const OPENAI_BASE_URL = openaiBaseUrl();
|
|
966
|
-
const OPENAI_MODEL = openaiModel();
|
|
967
|
-
const OPENAI_TIMEOUT = openaiTimeout();
|
|
968
|
-
const openai = {
|
|
969
|
-
OPENAI_API_KEY,
|
|
970
|
-
OPENAI_ORGANIZATION_ID,
|
|
971
|
-
OPENAI_PROJECT_ID,
|
|
972
|
-
OPENAI_BASE_URL,
|
|
973
|
-
OPENAI_MODEL,
|
|
974
|
-
OPENAI_TIMEOUT
|
|
975
|
-
};
|
|
976
|
-
|
|
977
|
-
//#endregion
|
|
978
|
-
//#region ../schemas/src/plain/rabbitmq.ts
|
|
979
|
-
const rabbitmqUrl = (input = {}) => new require_src.StringEnvVarSchema({
|
|
980
|
-
description: descriptions$1.rabbitmqUrl,
|
|
981
|
-
process: createZodProcessor(zod.z.string().regex(patterns$1.rabbitmqUrl, { message: messages$1.rabbitmqUrlFormat })),
|
|
982
|
-
secret: true,
|
|
983
|
-
...input
|
|
984
|
-
});
|
|
985
|
-
const RABBITMQ_URL = rabbitmqUrl();
|
|
986
|
-
const rabbitmq = { RABBITMQ_URL };
|
|
987
|
-
|
|
988
|
-
//#endregion
|
|
989
|
-
//#region ../schemas/src/shared/redis.ts
|
|
990
|
-
const descriptions = {
|
|
991
|
-
url: "Redis connection string (redis:// or rediss://)",
|
|
992
|
-
host: "Redis server host name or IP address",
|
|
993
|
-
port: "Redis server port number",
|
|
994
|
-
username: "Redis username for ACL authentication",
|
|
995
|
-
password: "Redis password or access token",
|
|
996
|
-
db: "Redis logical database index (0-15)",
|
|
997
|
-
tls: "Enable TLS for connections to Redis",
|
|
998
|
-
tlsCaCertPath: "Path to CA certificate file for Redis TLS validation"
|
|
999
|
-
};
|
|
1000
|
-
const messages = {
|
|
1001
|
-
urlFormat: "Redis URL must start with redis:// or rediss://",
|
|
1002
|
-
hostRequired: "Redis host is required",
|
|
1003
|
-
hostFormat: "Redis host may contain letters, numbers, dots, and hyphens",
|
|
1004
|
-
portInteger: "Redis port must be an integer",
|
|
1005
|
-
portMin: "Redis port must be at least 1",
|
|
1006
|
-
portMax: "Redis port must be 65535 or less",
|
|
1007
|
-
dbInteger: "Redis database index must be an integer",
|
|
1008
|
-
dbRange: "Redis database index must be between 0 and 15",
|
|
1009
|
-
usernameRequired: "Redis username cannot be empty",
|
|
1010
|
-
passwordRequired: "Redis password cannot be empty",
|
|
1011
|
-
tlsCaCertPathRequired: "Redis TLS CA certificate path cannot be empty"
|
|
1012
|
-
};
|
|
1013
|
-
const defaults = {
|
|
1014
|
-
port: 6379,
|
|
1015
|
-
db: 0,
|
|
1016
|
-
tls: false
|
|
1017
|
-
};
|
|
1018
|
-
const constraints = {
|
|
1019
|
-
portMin: 1,
|
|
1020
|
-
portMax: 65535,
|
|
1021
|
-
dbMin: 0,
|
|
1022
|
-
dbMax: 15
|
|
1023
|
-
};
|
|
1024
|
-
const patterns = {
|
|
1025
|
-
url: /^rediss?:\/\/(?:[^:@/\s]+(?::[^@/\s]*)?@)?[^:/\s]+(?::\d+)?(?:\/\d+)?(?:\?.*)?$/,
|
|
1026
|
-
host: /^[a-zA-Z0-9.-]+$/
|
|
1027
|
-
};
|
|
1028
|
-
|
|
1029
|
-
//#endregion
|
|
1030
|
-
//#region ../schemas/src/plain/redis.ts
|
|
1031
|
-
const redisUrl = (input = {}) => new require_src.StringEnvVarSchema({
|
|
1032
|
-
description: descriptions.url,
|
|
1033
|
-
process: createZodProcessor(zod.z.string().regex(patterns.url, { message: messages.urlFormat })),
|
|
1034
|
-
...input
|
|
1035
|
-
});
|
|
1036
|
-
const redisHost = (input = {}) => new require_src.StringEnvVarSchema({
|
|
1037
|
-
description: descriptions.host,
|
|
1038
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages.hostRequired }).regex(patterns.host, { message: messages.hostFormat })),
|
|
1039
|
-
required: false,
|
|
1040
|
-
...input
|
|
1041
|
-
});
|
|
1042
|
-
const redisPort = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
1043
|
-
description: descriptions.port,
|
|
1044
|
-
default: defaults.port,
|
|
1045
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages.portInteger }).min(constraints.portMin, { message: messages.portMin }).max(constraints.portMax, { message: messages.portMax })),
|
|
1046
|
-
...input
|
|
1047
|
-
});
|
|
1048
|
-
const redisPassword = (input = {}) => new require_src.StringEnvVarSchema({
|
|
1049
|
-
description: descriptions.password,
|
|
1050
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages.passwordRequired })),
|
|
1051
|
-
secret: true,
|
|
1052
|
-
required: false,
|
|
1053
|
-
...input
|
|
1054
|
-
});
|
|
1055
|
-
const redisUsername = (input = {}) => new require_src.StringEnvVarSchema({
|
|
1056
|
-
description: descriptions.username,
|
|
1057
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages.usernameRequired })),
|
|
1058
|
-
required: false,
|
|
1059
|
-
...input
|
|
1060
|
-
});
|
|
1061
|
-
const redisDb = (input = {}) => new require_src.NumberEnvVarSchema({
|
|
1062
|
-
description: descriptions.db,
|
|
1063
|
-
default: defaults.db,
|
|
1064
|
-
process: createZodProcessor(zod.z.coerce.number().int({ message: messages.dbInteger }).min(constraints.dbMin, { message: messages.dbRange }).max(constraints.dbMax, { message: messages.dbRange })),
|
|
1065
|
-
...input
|
|
1066
|
-
});
|
|
1067
|
-
const redisTls = (input = {}) => new require_src.BooleanEnvVarSchema({
|
|
1068
|
-
description: descriptions.tls,
|
|
1069
|
-
default: defaults.tls,
|
|
1070
|
-
...input
|
|
1071
|
-
});
|
|
1072
|
-
const redisTlsCaCertPath = (input = {}) => new require_src.StringEnvVarSchema({
|
|
1073
|
-
description: descriptions.tlsCaCertPath,
|
|
1074
|
-
process: createZodProcessor(zod.z.string().min(1, { message: messages.tlsCaCertPathRequired })),
|
|
1075
|
-
required: false,
|
|
1076
|
-
...input
|
|
1077
|
-
});
|
|
1078
|
-
const REDIS_URL = redisUrl();
|
|
1079
|
-
const REDIS_HOST = redisHost();
|
|
1080
|
-
const REDIS_PORT = redisPort();
|
|
1081
|
-
const REDIS_PASSWORD = redisPassword();
|
|
1082
|
-
const REDIS_USERNAME = redisUsername();
|
|
1083
|
-
const REDIS_DB = redisDb();
|
|
1084
|
-
const REDIS_TLS = redisTls();
|
|
1085
|
-
const REDIS_TLS_CA_CERT_PATH = redisTlsCaCertPath();
|
|
1086
|
-
const redis = {
|
|
1087
|
-
REDIS_URL,
|
|
1088
|
-
REDIS_HOST,
|
|
1089
|
-
REDIS_PORT,
|
|
1090
|
-
REDIS_PASSWORD,
|
|
1091
|
-
REDIS_USERNAME,
|
|
1092
|
-
REDIS_DB,
|
|
1093
|
-
REDIS_TLS,
|
|
1094
|
-
REDIS_TLS_CA_CERT_PATH
|
|
1095
|
-
};
|
|
1096
|
-
|
|
1097
|
-
//#endregion
|
|
1098
|
-
//#region ../schemas/src/index.ts
|
|
1099
|
-
var src_exports = /* @__PURE__ */ require_src.__export({
|
|
1100
|
-
API_BASE_URL: () => API_BASE_URL,
|
|
1101
|
-
API_KEY: () => API_KEY,
|
|
1102
|
-
API_TIMEOUT: () => API_TIMEOUT,
|
|
1103
|
-
AWS_ACCESS_KEY_ID: () => AWS_ACCESS_KEY_ID,
|
|
1104
|
-
AWS_REGION: () => AWS_REGION,
|
|
1105
|
-
AWS_S3_BUCKET_NAME: () => AWS_S3_BUCKET_NAME,
|
|
1106
|
-
AWS_SECRET_ACCESS_KEY: () => AWS_SECRET_ACCESS_KEY,
|
|
1107
|
-
AWS_SQS_QUEUE_URL: () => AWS_SQS_QUEUE_URL,
|
|
1108
|
-
AZURE_EVENT_HUB_CONNECTION_STRING: () => AZURE_EVENT_HUB_CONNECTION_STRING,
|
|
1109
|
-
AZURE_SERVICE_BUS_CONNECTION_STRING: () => AZURE_SERVICE_BUS_CONNECTION_STRING,
|
|
1110
|
-
AZURE_STORAGE_ACCOUNT_KEY: () => AZURE_STORAGE_ACCOUNT_KEY,
|
|
1111
|
-
AZURE_STORAGE_ACCOUNT_NAME: () => AZURE_STORAGE_ACCOUNT_NAME,
|
|
1112
|
-
AZURE_STORAGE_CONNECTION_STRING: () => AZURE_STORAGE_CONNECTION_STRING,
|
|
1113
|
-
CORS_ORIGIN: () => CORS_ORIGIN,
|
|
1114
|
-
DATABASE_HOST: () => DATABASE_HOST,
|
|
1115
|
-
DATABASE_NAME: () => DATABASE_NAME,
|
|
1116
|
-
DATABASE_PASSWORD: () => DATABASE_PASSWORD,
|
|
1117
|
-
DATABASE_POOL_SIZE: () => DATABASE_POOL_SIZE,
|
|
1118
|
-
DATABASE_PORT: () => DATABASE_PORT,
|
|
1119
|
-
DATABASE_SCHEMA: () => DATABASE_SCHEMA,
|
|
1120
|
-
DATABASE_SSL: () => DATABASE_SSL,
|
|
1121
|
-
DATABASE_TIMEOUT: () => DATABASE_TIMEOUT,
|
|
1122
|
-
DATABASE_URL: () => DATABASE_URL,
|
|
1123
|
-
DATABASE_USERNAME: () => DATABASE_USERNAME,
|
|
1124
|
-
DATADOG_API_KEY: () => DATADOG_API_KEY,
|
|
1125
|
-
DOCKER_REGISTRY_PASSWORD: () => DOCKER_REGISTRY_PASSWORD,
|
|
1126
|
-
DOCKER_REGISTRY_URL: () => DOCKER_REGISTRY_URL,
|
|
1127
|
-
DOCKER_REGISTRY_USERNAME: () => DOCKER_REGISTRY_USERNAME,
|
|
1128
|
-
ELASTICSEARCH_PASSWORD: () => ELASTICSEARCH_PASSWORD,
|
|
1129
|
-
ELASTICSEARCH_URL: () => ELASTICSEARCH_URL,
|
|
1130
|
-
ELASTICSEARCH_USERNAME: () => ELASTICSEARCH_USERNAME,
|
|
1131
|
-
HOST: () => HOST,
|
|
1132
|
-
JAEGER_ENDPOINT: () => JAEGER_ENDPOINT,
|
|
1133
|
-
JWT_ACCESS_TOKEN_EXPIRES_IN: () => JWT_ACCESS_TOKEN_EXPIRES_IN,
|
|
1134
|
-
JWT_REFRESH_TOKEN_EXPIRES_IN: () => JWT_REFRESH_TOKEN_EXPIRES_IN,
|
|
1135
|
-
JWT_SECRET: () => JWT_SECRET,
|
|
1136
|
-
KAFKA_BROKERS: () => KAFKA_BROKERS,
|
|
1137
|
-
KAFKA_CLIENT_ID: () => KAFKA_CLIENT_ID,
|
|
1138
|
-
LOG_LEVEL: () => LOG_LEVEL,
|
|
1139
|
-
NEW_RELIC_LICENSE_KEY: () => NEW_RELIC_LICENSE_KEY,
|
|
1140
|
-
NODE_ENV: () => NODE_ENV,
|
|
1141
|
-
OAUTH_CLIENT_ID: () => OAUTH_CLIENT_ID,
|
|
1142
|
-
OAUTH_CLIENT_SECRET: () => OAUTH_CLIENT_SECRET,
|
|
1143
|
-
OAUTH_REDIRECT_URI: () => OAUTH_REDIRECT_URI,
|
|
1144
|
-
OAUTH_SCOPE: () => OAUTH_SCOPE,
|
|
1145
|
-
OPENAI_API_KEY: () => OPENAI_API_KEY,
|
|
1146
|
-
OPENAI_BASE_URL: () => OPENAI_BASE_URL,
|
|
1147
|
-
OPENAI_MODEL: () => OPENAI_MODEL,
|
|
1148
|
-
OPENAI_ORGANIZATION_ID: () => OPENAI_ORGANIZATION_ID,
|
|
1149
|
-
OPENAI_PROJECT_ID: () => OPENAI_PROJECT_ID,
|
|
1150
|
-
OPENAI_TIMEOUT: () => OPENAI_TIMEOUT,
|
|
1151
|
-
PORT: () => PORT,
|
|
1152
|
-
PROMETHEUS_PORT: () => PROMETHEUS_PORT,
|
|
1153
|
-
RABBITMQ_URL: () => RABBITMQ_URL,
|
|
1154
|
-
REDIS_DB: () => REDIS_DB,
|
|
1155
|
-
REDIS_HOST: () => REDIS_HOST,
|
|
1156
|
-
REDIS_PASSWORD: () => REDIS_PASSWORD,
|
|
1157
|
-
REDIS_PORT: () => REDIS_PORT,
|
|
1158
|
-
REDIS_TLS: () => REDIS_TLS,
|
|
1159
|
-
REDIS_TLS_CA_CERT_PATH: () => REDIS_TLS_CA_CERT_PATH,
|
|
1160
|
-
REDIS_URL: () => REDIS_URL,
|
|
1161
|
-
REDIS_USERNAME: () => REDIS_USERNAME,
|
|
1162
|
-
SENTRY_DSN: () => SENTRY_DSN,
|
|
1163
|
-
apiBaseUrl: () => apiBaseUrl,
|
|
1164
|
-
apiKey: () => apiKey,
|
|
1165
|
-
apiTimeout: () => apiTimeout,
|
|
1166
|
-
aws: () => aws,
|
|
1167
|
-
awsAccessKeyId: () => awsAccessKeyId,
|
|
1168
|
-
awsRegion: () => awsRegion,
|
|
1169
|
-
awsS3BucketName: () => awsS3BucketName,
|
|
1170
|
-
awsSecretAccessKey: () => awsSecretAccessKey,
|
|
1171
|
-
awsSqsQueueUrl: () => awsSqsQueueUrl,
|
|
1172
|
-
azure: () => azure,
|
|
1173
|
-
azureEventHubConnectionString: () => azureEventHubConnectionString,
|
|
1174
|
-
azureServiceBusConnectionString: () => azureServiceBusConnectionString,
|
|
1175
|
-
azureStorageAccountKey: () => azureStorageAccountKey,
|
|
1176
|
-
azureStorageAccountName: () => azureStorageAccountName,
|
|
1177
|
-
azureStorageConnectionString: () => azureStorageConnectionString,
|
|
1178
|
-
cors: () => cors,
|
|
1179
|
-
corsOrigin: () => corsOrigin,
|
|
1180
|
-
databaseHost: () => databaseHost,
|
|
1181
|
-
databaseName: () => databaseName,
|
|
1182
|
-
databasePassword: () => databasePassword,
|
|
1183
|
-
databasePoolSize: () => databasePoolSize,
|
|
1184
|
-
databasePort: () => databasePort,
|
|
1185
|
-
databaseSchema: () => databaseSchema,
|
|
1186
|
-
databaseSsl: () => databaseSsl,
|
|
1187
|
-
databaseTimeout: () => databaseTimeout,
|
|
1188
|
-
databaseUrl: () => databaseUrl,
|
|
1189
|
-
databaseUsername: () => databaseUsername,
|
|
1190
|
-
datadogApiKey: () => datadogApiKey,
|
|
1191
|
-
docker: () => docker,
|
|
1192
|
-
dockerRegistryPassword: () => dockerRegistryPassword,
|
|
1193
|
-
dockerRegistryUrl: () => dockerRegistryUrl,
|
|
1194
|
-
dockerRegistryUsername: () => dockerRegistryUsername,
|
|
1195
|
-
elasticsearch: () => elasticsearch,
|
|
1196
|
-
elasticsearchPassword: () => elasticsearchPassword,
|
|
1197
|
-
elasticsearchUrl: () => elasticsearchUrl,
|
|
1198
|
-
elasticsearchUsername: () => elasticsearchUsername,
|
|
1199
|
-
host: () => host,
|
|
1200
|
-
hostSchema: () => hostSchema,
|
|
1201
|
-
jaegerEndpoint: () => jaegerEndpoint,
|
|
1202
|
-
jwt: () => jwt,
|
|
1203
|
-
jwtAccessTokenExpiresIn: () => jwtAccessTokenExpiresIn,
|
|
1204
|
-
jwtRefreshTokenExpiresIn: () => jwtRefreshTokenExpiresIn,
|
|
1205
|
-
jwtSecret: () => jwtSecret,
|
|
1206
|
-
kafka: () => kafka,
|
|
1207
|
-
kafkaBrokers: () => kafkaBrokers,
|
|
1208
|
-
kafkaClientId: () => kafkaClientId,
|
|
1209
|
-
logLevel: () => logLevel,
|
|
1210
|
-
logLevelSchema: () => logLevelSchema,
|
|
1211
|
-
monitoring: () => monitoring,
|
|
1212
|
-
newRelicLicenseKey: () => newRelicLicenseKey,
|
|
1213
|
-
node: () => node,
|
|
1214
|
-
nodeEnv: () => nodeEnv,
|
|
1215
|
-
oauth: () => oauth,
|
|
1216
|
-
oauthClientId: () => oauthClientId,
|
|
1217
|
-
oauthClientSecret: () => oauthClientSecret,
|
|
1218
|
-
oauthRedirectUri: () => oauthRedirectUri,
|
|
1219
|
-
oauthScope: () => oauthScope,
|
|
1220
|
-
openai: () => openai,
|
|
1221
|
-
openaiApiKey: () => openaiApiKey,
|
|
1222
|
-
openaiBaseUrl: () => openaiBaseUrl,
|
|
1223
|
-
openaiModel: () => openaiModel,
|
|
1224
|
-
openaiOrganizationId: () => openaiOrganizationId,
|
|
1225
|
-
openaiProjectId: () => openaiProjectId,
|
|
1226
|
-
openaiTimeout: () => openaiTimeout,
|
|
1227
|
-
port: () => port,
|
|
1228
|
-
prometheusPort: () => prometheusPort,
|
|
1229
|
-
rabbitmq: () => rabbitmq,
|
|
1230
|
-
rabbitmqUrl: () => rabbitmqUrl,
|
|
1231
|
-
redis: () => redis,
|
|
1232
|
-
redisDb: () => redisDb,
|
|
1233
|
-
redisHost: () => redisHost,
|
|
1234
|
-
redisPassword: () => redisPassword,
|
|
1235
|
-
redisPort: () => redisPort,
|
|
1236
|
-
redisTls: () => redisTls,
|
|
1237
|
-
redisTlsCaCertPath: () => redisTlsCaCertPath,
|
|
1238
|
-
redisUrl: () => redisUrl,
|
|
1239
|
-
redisUsername: () => redisUsername,
|
|
1240
|
-
sentryDsn: () => sentryDsn
|
|
1241
|
-
});
|
|
1242
|
-
|
|
1243
|
-
//#endregion
|
|
1244
|
-
exports.BooleanEnvVarSchema = require_src.BooleanEnvVarSchema;
|
|
1245
|
-
exports.DefaultEnvChannel = require_src.DefaultEnvChannel;
|
|
1246
|
-
exports.DotEnvChannel = require_src.DotEnvChannel;
|
|
1247
|
-
exports.DotEnvXChannel = require_src.DotEnvXChannel;
|
|
1248
|
-
exports.EnumEnvVarSchema = require_src.EnumEnvVarSchema;
|
|
1249
|
-
exports.EnvModel = require_src.EnvModel;
|
|
1250
|
-
exports.EnvParseError = EnvParseError;
|
|
1251
|
-
exports.EnvSource = require_src.EnvSource;
|
|
1252
|
-
exports.EnvVarSchemaBase = require_src.EnvVarSchemaBase;
|
|
1253
|
-
exports.NumberEnvVarSchema = require_src.NumberEnvVarSchema;
|
|
1254
|
-
exports.ProcessEnvChannel = require_src.ProcessEnvChannel;
|
|
1255
|
-
exports.StringEnvVarSchema = require_src.StringEnvVarSchema;
|
|
1256
|
-
exports.booleanPreprocessor = require_src.booleanPreprocessor;
|
|
1257
|
-
exports.booleanProcessor = require_src.booleanProcessor;
|
|
1258
|
-
Object.defineProperty(exports, 'defaults', {
|
|
1259
|
-
enumerable: true,
|
|
1260
|
-
get: function () {
|
|
1261
|
-
return require_src.defaults_exports;
|
|
1262
|
-
}
|
|
1263
|
-
});
|
|
1264
|
-
exports.define = require_src.define;
|
|
1265
|
-
exports.enumPreprocessor = require_src.enumPreprocessor;
|
|
1266
|
-
exports.enumProcessor = require_src.enumProcessor;
|
|
1267
|
-
exports.get = require_src.get;
|
|
1268
|
-
exports.isEnvVarSchema = require_src.isEnvVarSchema;
|
|
1269
|
-
exports.numberPreprocessor = require_src.numberPreprocessor;
|
|
1270
|
-
exports.numberProcessor = require_src.numberProcessor;
|
|
1271
|
-
exports.parse = parse;
|
|
1272
|
-
exports.preprocessors = require_src.preprocessors;
|
|
1273
|
-
exports.processors = require_src.processors;
|
|
1274
|
-
exports.prompt = require_src.prompt;
|
|
1275
|
-
exports.resolveChannel = require_src.resolveChannel;
|
|
1276
|
-
exports.resolvePreprocessor = require_src.resolvePreprocessor;
|
|
1277
|
-
exports.resolveSchema = require_src.resolveSchema;
|
|
1278
|
-
exports.resolveSchemas = require_src.resolveSchemas;
|
|
1279
|
-
exports.s = s;
|
|
1280
|
-
exports.schema = schema;
|
|
1281
|
-
Object.defineProperty(exports, 'schemas', {
|
|
1282
|
-
enumerable: true,
|
|
1283
|
-
get: function () {
|
|
1284
|
-
return src_exports;
|
|
1285
|
-
}
|
|
1286
|
-
});
|
|
1287
|
-
exports.set = require_src.set;
|
|
1288
|
-
exports.source = source;
|
|
1289
|
-
exports.stringPreprocessor = require_src.stringPreprocessor;
|
|
1290
|
-
exports.stringProcessor = require_src.stringProcessor;
|