@e-n-v/env 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +43 -24
  2. package/dist/BooleanMap-B2eIP3tZ.d.cts +32 -0
  3. package/dist/BooleanMap-DmFnCA-O.d.ts +32 -0
  4. package/dist/EnvChannel-LMIRYvT1.d.cts +16 -0
  5. package/dist/EnvChannel-w27PEm7x.d.ts +16 -0
  6. package/dist/EnvChannelOptions-BPkWDrmr.d.cts +108 -0
  7. package/dist/EnvChannelOptions-CRwDLWjd.d.ts +108 -0
  8. package/dist/EnvModel-CrGclUpJ.d.cts +134 -0
  9. package/dist/EnvModel-D8rt0EJ6.d.ts +134 -0
  10. package/dist/EnvSource-BVnmdHku.cjs +420 -0
  11. package/dist/EnvSource-DA3ZGlES.js +400 -0
  12. package/dist/ProcessEnvChannel-D465c-dp.d.cts +97 -0
  13. package/dist/ProcessEnvChannel-Do4-yiLI.d.ts +97 -0
  14. package/dist/StringEnvVarSchema-B8MT7htU.d.ts +64 -0
  15. package/dist/StringEnvVarSchema-BF6C0nyT.d.cts +64 -0
  16. package/dist/channels.cjs +8 -0
  17. package/dist/channels.d.cts +20 -0
  18. package/dist/channels.d.ts +20 -0
  19. package/dist/channels.js +4 -0
  20. package/dist/chunk-pbleEpgJ.cjs +44 -0
  21. package/dist/cli.cjs +16 -10
  22. package/dist/cli.js +7 -2
  23. package/dist/coerce-DNIuYAx4.js +11028 -0
  24. package/dist/coerce-b7UVodS9.cjs +12365 -0
  25. package/dist/core.cjs +68 -0
  26. package/dist/core.d.cts +6 -0
  27. package/dist/core.d.ts +6 -0
  28. package/dist/core.js +40 -0
  29. package/dist/custom-Bt_wnxIu.js +114 -0
  30. package/dist/custom-D_Rqjm09.cjs +168 -0
  31. package/dist/files.cjs +18 -0
  32. package/dist/files.d.cts +38 -0
  33. package/dist/files.d.ts +38 -0
  34. package/dist/files.js +13 -0
  35. package/dist/index-D8pslhp4.d.cts +170 -0
  36. package/dist/index-Dq_0aeAL.d.ts +170 -0
  37. package/dist/model-Dic8IJsf.d.ts +29 -0
  38. package/dist/model-ft0WhSSS.d.cts +29 -0
  39. package/dist/model.cjs +14 -0
  40. package/dist/model.d.cts +35 -0
  41. package/dist/model.d.ts +35 -0
  42. package/dist/model.js +9 -0
  43. package/dist/parse-BT1QSa5e.d.cts +28 -0
  44. package/dist/parse-DwtLpVhC.d.ts +28 -0
  45. package/dist/parse.cjs +17 -0
  46. package/dist/parse.d.cts +52 -0
  47. package/dist/parse.d.ts +52 -0
  48. package/dist/parse.js +10 -0
  49. package/dist/prompt-C5WudV9x.d.cts +74 -0
  50. package/dist/prompt-yKdccbtZ.d.ts +74 -0
  51. package/dist/prompt.cjs +24 -0
  52. package/dist/prompt.d.cts +17 -0
  53. package/dist/prompt.d.ts +17 -0
  54. package/dist/prompt.js +12 -0
  55. package/dist/redis-CJOpRPjc.js +395 -0
  56. package/dist/redis-EcC7TX3K.cjs +611 -0
  57. package/dist/resolveChannel-CjAuxy3p.cjs +257 -0
  58. package/dist/resolveChannel-v9BDsw-M.js +224 -0
  59. package/dist/root.cjs +36 -0
  60. package/dist/root.d.cts +21 -0
  61. package/dist/root.d.ts +21 -0
  62. package/dist/root.js +21 -0
  63. package/dist/schema-DH4GiW9A.d.cts +18 -0
  64. package/dist/schema-jN4EtvEP.d.ts +18 -0
  65. package/dist/schemas/zod.cjs +629 -0
  66. package/dist/schemas/zod.d.cts +239 -0
  67. package/dist/schemas/zod.d.ts +239 -0
  68. package/dist/schemas/zod.js +550 -0
  69. package/dist/schemas.cjs +133 -0
  70. package/dist/schemas.d.cts +3 -0
  71. package/dist/schemas.d.ts +3 -0
  72. package/dist/schemas.js +6 -0
  73. package/dist/src-B7FG1rak.js +638 -0
  74. package/dist/src-BBwjK5SK.js +127 -0
  75. package/dist/src-CLTURaoo.js +311 -0
  76. package/dist/src-CVdUqK3q.js +850 -0
  77. package/dist/src-Cjo2XA4n.cjs +138 -0
  78. package/dist/{src-oetJm-nZ.cjs → src-DWYoqPX1.cjs} +31 -1964
  79. package/dist/src-DZmpNGrQ.cjs +1411 -0
  80. package/dist/{src-RlCvrI0s.js → src-Dtv7TlJx.js} +14 -1726
  81. package/dist/src-XjL5cyPG.cjs +873 -0
  82. package/dist/src-meUnCASg.cjs +413 -0
  83. package/dist/validate-BxA3a-ns.d.cts +203 -0
  84. package/dist/validate-CyxrRacF.d.ts +203 -0
  85. package/dist/vars-BNVI6k89.d.ts +21 -0
  86. package/dist/vars-CYOaskkK.cjs +27 -0
  87. package/dist/vars-CptZRPX5.d.cts +21 -0
  88. package/dist/vars-DOW0LiiN.js +22 -0
  89. package/dist/vars.cjs +138 -0
  90. package/dist/vars.d.cts +7 -0
  91. package/dist/vars.d.ts +7 -0
  92. package/dist/vars.js +9 -0
  93. package/package.json +58 -9
  94. package/assets/demo.gif +0 -0
  95. package/assets/env-logo.png +0 -0
  96. package/dist/bundle.cjs +0 -1290
  97. package/dist/bundle.d.cts +0 -1057
  98. package/dist/bundle.d.ts +0 -1055
  99. package/dist/bundle.js +0 -1244
@@ -0,0 +1,611 @@
1
+
2
+ //#region ../schemas/src/shared/messages.ts
3
+ const COMMON_MESSAGES = { MUST_BE_VALID_URL: "Must be a valid URL" };
4
+
5
+ //#endregion
6
+ //#region ../schemas/src/shared/zodMessages.ts
7
+ /**
8
+ * Helper utility to convert trait descriptions to Zod error messages.
9
+ * Traits are descriptive fragments (e.g., "3 characters long")
10
+ * Zod messages need complete sentences (e.g., "Must be 3 characters long")
11
+ */
12
+ /**
13
+ * Converts a trait to a Zod error message by adding "Must " prefix.
14
+ * @param trait - The trait description (e.g., "at least 8 characters long")
15
+ * @returns A complete error message (e.g., "Must be at least 8 characters long")
16
+ */
17
+ function toZodMessage(trait) {
18
+ return `Must ${trait}`;
19
+ }
20
+ /**
21
+ * Converts a trait array to a Zod error message by joining with "and" and adding "Must " prefix.
22
+ * @param traits - Array of trait descriptions
23
+ * @returns A complete error message joining all traits
24
+ */
25
+ function toZodMessageArray(traits$6) {
26
+ if (traits$6.length === 0) return "Must satisfy requirements";
27
+ if (traits$6.length === 1) return toZodMessage(traits$6[0]);
28
+ const lastTrait = traits$6[traits$6.length - 1];
29
+ return `Must ${traits$6.slice(0, -1).join(", ")} and ${lastTrait}`;
30
+ }
31
+ /**
32
+ * Converts multiple traits to Zod error messages.
33
+ * @param traits - Object containing trait descriptions (strings or arrays)
34
+ * @returns Object with the same keys but values converted to complete messages
35
+ */
36
+ function toZodMessages(traits$6) {
37
+ const messages$6 = {};
38
+ for (const [key, value] of Object.entries(traits$6)) if (Array.isArray(value)) messages$6[key] = toZodMessageArray(value);
39
+ else messages$6[key] = toZodMessage(value);
40
+ return messages$6;
41
+ }
42
+
43
+ //#endregion
44
+ //#region ../schemas/src/shared/apiService.ts
45
+ const descriptions$5 = {
46
+ apiKey: "API key for external service",
47
+ jwtSecret: "JWT secret key for token signing",
48
+ jwtAccessTokenExpiresIn: "JWT access token expiration (e.g., '15m', '1h', '1d')",
49
+ jwtRefreshTokenExpiresIn: "JWT refresh token expiration (e.g., '7d', '30d')",
50
+ apiBaseUrl: "Base URL for API service",
51
+ serviceUrl: "Service URL",
52
+ webhookUrl: "Webhook URL for receiving callbacks",
53
+ encryptionKey: "Encryption key for data encryption",
54
+ sessionSecret: "Session secret for cookie signing",
55
+ corsOrigin: "CORS allowed origins (comma-separated URLs or '*')",
56
+ rateLimitRpm: "Rate limit: requests per minute",
57
+ rateLimitWindow: "Rate limit window size in minutes",
58
+ apiTimeout: "API request timeout (milliseconds)",
59
+ maxFileSize: "Maximum file upload size (bytes)",
60
+ logLevel: "Application log level",
61
+ nodeEnv: "Node.js environment",
62
+ port: "Server port number",
63
+ host: "Server host address"
64
+ };
65
+ const traits$5 = {
66
+ apiKeyMin: "at least 8 characters long",
67
+ jwtSecretMin: "at least 32 characters long for security",
68
+ jwtDurationFormat: "in format like '15m', '1h', '7d'",
69
+ mustBeValidUrl: COMMON_MESSAGES.MUST_BE_VALID_URL,
70
+ httpProtocolRequired: "start with http:// or https://",
71
+ httpsProtocolRequired: "webhook URLs should use HTTPS for security",
72
+ encryptionKeyMin: "at least 32 characters long",
73
+ sessionSecretMin: "at least 32 characters long for security",
74
+ corsOriginInvalid: "'*' or comma-separated valid URLs",
75
+ rateLimitRpmInt: "an integer",
76
+ rateLimitRpmMin: "at least 1",
77
+ rateLimitRpmMax: "not exceed 10,000",
78
+ rateLimitWindowInt: "an integer",
79
+ rateLimitWindowMin: "at least 1 minute",
80
+ rateLimitWindowMax: "not exceed 60 minutes",
81
+ apiTimeoutInt: "an integer",
82
+ apiTimeoutMin: "at least 1 second",
83
+ apiTimeoutMax: "not exceed 5 minutes",
84
+ maxFileSizeInt: "an integer",
85
+ maxFileSizeMin: "at least 1KB",
86
+ maxFileSizeMax: "not exceed 1GB",
87
+ portInt: "an integer",
88
+ portMin: ">= 1024 (avoid reserved ports)",
89
+ portMax: "<= 65535"
90
+ };
91
+ const constraints$5 = {
92
+ apiKeyMinLength: 8,
93
+ jwtSecretMinLength: 32,
94
+ encryptionKeyMinLength: 32,
95
+ sessionSecretMinLength: 32,
96
+ rateLimitRpmMin: 1,
97
+ rateLimitRpmMax: 1e4,
98
+ rateLimitWindowMin: 1,
99
+ rateLimitWindowMax: 60,
100
+ apiTimeoutMin: 1e3,
101
+ apiTimeoutMax: 3e5,
102
+ maxFileSizeMin: 1024,
103
+ maxFileSizeMax: 1073741824,
104
+ portMin: 1024,
105
+ portMax: 65535
106
+ };
107
+ const defaults$4 = {
108
+ jwtAccessTokenExpiresIn: "15m",
109
+ jwtRefreshTokenExpiresIn: "7d",
110
+ rateLimitRpm: 60,
111
+ rateLimitWindow: 1,
112
+ apiTimeout: 3e4,
113
+ maxFileSize: 10485760,
114
+ logLevel: "info",
115
+ nodeEnv: "development",
116
+ port: 3e3,
117
+ host: "localhost"
118
+ };
119
+ const enumOptions = {
120
+ logLevel: [
121
+ "error",
122
+ "warn",
123
+ "info",
124
+ "debug",
125
+ "trace"
126
+ ],
127
+ nodeEnv: [
128
+ "development",
129
+ "production",
130
+ "test",
131
+ "staging"
132
+ ]
133
+ };
134
+ const patterns$4 = {
135
+ jwtTokenDuration: /^\d+[smhd]$/,
136
+ httpProtocol: /^https?:\/\//,
137
+ httpsProtocol: /^https:\/\//
138
+ };
139
+ const messages$5 = toZodMessages(traits$5);
140
+
141
+ //#endregion
142
+ //#region ../schemas/src/shared/infrastructure.ts
143
+ const descriptions$4 = {
144
+ azureStorageConnectionString: "Azure Storage Account connection string",
145
+ azureStorageAccountName: "Azure Storage Account name",
146
+ azureStorageAccountKey: "Azure Storage Account key",
147
+ azureServiceBusConnectionString: "Azure Service Bus connection string",
148
+ azureEventHubConnectionString: "Azure Event Hub connection string",
149
+ awsSqsQueueUrl: "AWS SQS queue URL",
150
+ awsRegion: "AWS region",
151
+ awsAccessKeyId: "AWS access key ID",
152
+ awsSecretAccessKey: "AWS secret access key",
153
+ awsS3BucketName: "AWS S3 bucket name",
154
+ elasticsearchUrl: "Elasticsearch/OpenSearch URL",
155
+ elasticsearchUsername: "Elasticsearch username",
156
+ elasticsearchPassword: "Elasticsearch password",
157
+ rabbitmqUrl: "RabbitMQ connection URL",
158
+ kafkaBrokers: "Kafka broker list (comma-separated host:port)",
159
+ kafkaClientId: "Kafka client ID",
160
+ memcachedServers: "Memcached servers (comma-separated host:port)",
161
+ dockerRegistryUrl: "Docker registry URL",
162
+ dockerRegistryUsername: "Docker registry username",
163
+ dockerRegistryPassword: "Docker registry password or access token",
164
+ kubernetesNamespace: "Kubernetes namespace",
165
+ kubernetesServiceAccount: "Kubernetes service account",
166
+ prometheusPort: "Prometheus metrics port",
167
+ jaegerEndpoint: "Jaeger tracing endpoint URL",
168
+ newRelicLicenseKey: "New Relic license key",
169
+ datadogApiKey: "Datadog API key",
170
+ sentryDsn: "Sentry DSN for error tracking"
171
+ };
172
+ const traits$4 = {
173
+ azureStorageConnectionStringFormat: "a valid Azure Storage connection string",
174
+ azureStorageAccountNameFormat: "3-24 characters, lowercase letters and numbers only",
175
+ azureStorageAccountKeyRequired: "storage account key is required",
176
+ azureServiceBusConnectionStringFormat: "a valid Azure Service Bus connection string",
177
+ azureEventHubConnectionStringFormat: "a valid Azure Event Hub connection string",
178
+ awsSqsQueueUrlFormat: "a valid AWS SQS queue URL",
179
+ awsRegionFormat: "a valid AWS region format (e.g., us-east-1)",
180
+ awsAccessKeyIdMin: "at least 16 characters",
181
+ awsAccessKeyIdMax: "less than 128 characters",
182
+ awsSecretAccessKeyRequired: "AWS secret access key is required",
183
+ awsS3BucketNameFormat: "3-63 characters, lowercase letters, numbers, and hyphens only",
184
+ elasticsearchUrlFormat: COMMON_MESSAGES.MUST_BE_VALID_URL,
185
+ elasticsearchUrlProtocol: "start with http:// or https://",
186
+ rabbitmqUrlFormat: "a valid RabbitMQ URL (amqp:// or amqps://...)",
187
+ hostPortListFormat: "comma-separated list of host:port (e.g., localhost:9092,broker2:9092)",
188
+ kafkaClientIdRequired: "Kafka client ID is required",
189
+ dockerRegistryUrlFormat: COMMON_MESSAGES.MUST_BE_VALID_URL,
190
+ kubernetesNameFormat: "a valid Kubernetes namespace name",
191
+ kubernetesServiceAccountFormat: "a valid Kubernetes service account name",
192
+ prometheusPortInt: "an integer",
193
+ prometheusPortMin: ">= 1024",
194
+ prometheusPortMax: "<= 65535",
195
+ jaegerEndpointFormat: COMMON_MESSAGES.MUST_BE_VALID_URL,
196
+ newRelicLicenseKeyLength: "exactly 40 characters",
197
+ datadogApiKeyLength: "exactly 32 characters",
198
+ sentryDsnFormat: "a valid Sentry DSN format"
199
+ };
200
+ const defaults$3 = {
201
+ kubernetesNamespace: "default",
202
+ prometheusPort: 9090
203
+ };
204
+ const constraints$4 = {
205
+ awsAccessKeyIdMin: 16,
206
+ awsAccessKeyIdMax: 128,
207
+ prometheusPortMin: 1024,
208
+ prometheusPortMax: 65535,
209
+ newRelicLicenseKeyLength: 40,
210
+ datadogApiKeyLength: 32
211
+ };
212
+ const patterns$3 = {
213
+ awsRegion: /^[a-z]{2}-[a-z]+-\d{1}$/,
214
+ awsS3BucketName: /^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]$/,
215
+ awsSqsQueueUrl: /^https:\/\/sqs\.[^.]+\.amazonaws\.com\/\d+\/[^/]+$/,
216
+ azureStorageConnectionString: /^DefaultEndpointsProtocol=https;AccountName=[^;]+;AccountKey=[^;]+;EndpointSuffix=.+$/,
217
+ azureStorageAccountName: /^[a-z0-9]{3,24}$/,
218
+ azureServiceBusConnectionString: /^Endpoint=sb:\/\/[^;]+;SharedAccessKeyName=[^;]+;SharedAccessKey=.+$/,
219
+ azureEventHubConnectionString: /^Endpoint=sb:\/\/[^;]+;SharedAccessKeyName=[^;]+;SharedAccessKey=.+$/,
220
+ hostPortList: /^[a-zA-Z0-9.-]+:\d+(,[a-zA-Z0-9.-]+:\d+)*$/,
221
+ rabbitmqUrl: /^amqps?:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/]+(?::\d+)?(?:\/.*)?$/,
222
+ kubernetesName: /^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/,
223
+ sentryDsn: /^https:\/\/[a-f0-9]+@[a-f0-9]+\.ingest\.sentry\.io\/\d+$/
224
+ };
225
+ const messages$4 = toZodMessages(traits$4);
226
+
227
+ //#endregion
228
+ //#region ../schemas/src/shared/database.ts
229
+ const descriptions$3 = {
230
+ databaseUrl: "Database connection string",
231
+ databaseUrlPostgresql: "PostgreSQL database connection string",
232
+ databaseUrlMysql: "MySQL database connection string",
233
+ databaseUrlMongodb: "MongoDB connection string",
234
+ databaseUrlSqlserver: "Microsoft SQL Server connection string",
235
+ redisUrl: "Redis connection string",
236
+ databaseHost: "Database host address",
237
+ databasePort: "Database port number",
238
+ databaseName: "Database name",
239
+ databaseUsername: "Database username",
240
+ databasePassword: "Database password",
241
+ databaseSchema: "Database schema name",
242
+ databasePoolSize: "Database connection pool size",
243
+ databaseTimeout: "Database connection timeout (milliseconds)",
244
+ databaseSsl: "Enable SSL connection to database"
245
+ };
246
+ const traits$3 = {
247
+ databaseUrlPostgresqlFormat: "a valid PostgreSQL connection string (postgresql://...)",
248
+ databaseUrlMysqlFormat: "a valid MySQL connection string (mysql://...)",
249
+ databaseUrlMongodbFormat: "a valid MongoDB connection string (mongodb:// or mongodb+srv://...)",
250
+ databaseUrlSqlserverFormat: "a valid SQL Server connection string (sqlserver://... or Server=...;Database=...;...)",
251
+ redisUrlFormat: "a valid Redis connection string (redis:// or rediss://...)",
252
+ genericDatabaseUrlFormat: "a valid database connection string with supported protocol",
253
+ databaseHostRequired: "database host is required",
254
+ databasePortInt: "an integer",
255
+ databasePortMin: "greater than 0",
256
+ databasePortMax: "less than 65536",
257
+ databaseNameRequired: "database name is required",
258
+ databaseNameFormat: "database name must contain only letters, numbers, underscores, and hyphens",
259
+ databaseUsernameRequired: "database username is required",
260
+ databasePasswordRequired: "database password is required",
261
+ databaseSchemaFormat: "schema name must contain only letters, numbers, and underscores",
262
+ databasePoolSizeInt: "an integer",
263
+ databasePoolSizeMin: "at least 1",
264
+ databasePoolSizeMax: "not exceed 100",
265
+ databaseTimeoutInt: "an integer",
266
+ databaseTimeoutMin: "at least 1 second",
267
+ databaseTimeoutMax: "not exceed 5 minutes"
268
+ };
269
+ const defaults$2 = {
270
+ databasePoolSize: 10,
271
+ databaseTimeout: 3e4,
272
+ databaseSsl: true
273
+ };
274
+ const constraints$3 = {
275
+ databasePortMin: 1,
276
+ databasePortMax: 65535,
277
+ databasePoolSizeMin: 1,
278
+ databasePoolSizeMax: 100,
279
+ databaseTimeoutMin: 1e3,
280
+ databaseTimeoutMax: 3e5
281
+ };
282
+ const patterns$2 = {
283
+ postgresUrl: /^postgresql:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/]+(?::\d+)?(?:\/[^?]*)?(?:\?.*)?$/,
284
+ mysqlUrl: /^mysql:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/]+(?::\d+)?(?:\/[^?]*)?(?:\?.*)?$/,
285
+ mongodbUrl: /^mongodb(?:\+srv)?:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/,]+(?::\d+)?(?:,[^:/,]+(?::\d+)?)*(?:\/[^?]*)?(?:\?.*)?$/,
286
+ sqlserverUrlPrefix: /^sqlserver:\/\//,
287
+ sqlserverServer: /Server=.+/,
288
+ sqlserverDatabase: /Database=.+/,
289
+ sqlserverInitialCatalog: /Initial Catalog=.+/,
290
+ redisUrl: /^rediss?:\/\/(?:[^:@/]+(?::[^@/]*)?@)?[^:/]+(?::\d+)?(?:\/\d+)?(?:\?.*)?$/,
291
+ genericDatabaseUrl: /^(postgresql|mysql|mongodb|mongodb\+srv|sqlserver|sqlite|oracle|redshift):\/\/.+/,
292
+ databaseName: /^[a-zA-Z0-9_-]+$/,
293
+ databaseSchema: /^[a-zA-Z0-9_]+$/
294
+ };
295
+ const messages$3 = toZodMessages(traits$3);
296
+
297
+ //#endregion
298
+ //#region ../schemas/src/shared/oauth.ts
299
+ const descriptions$2 = {
300
+ clientId: "The OAuth client ID",
301
+ clientSecret: "OAuth client secret",
302
+ redirectUri: "OAuth redirect URI",
303
+ scope: "OAuth scope (space-separated)"
304
+ };
305
+ const traits$2 = {
306
+ clientIdRequired: "OAuth client ID is required",
307
+ clientSecretMinLength: "at least 8 characters long",
308
+ redirectUriInvalid: COMMON_MESSAGES.MUST_BE_VALID_URL,
309
+ scopeRequired: "OAuth scope is required"
310
+ };
311
+ const constraints$2 = {
312
+ clientIdMinLength: 1,
313
+ clientSecretMinLength: 8,
314
+ scopeMinLength: 1
315
+ };
316
+ const messages$2 = toZodMessages(traits$2);
317
+
318
+ //#endregion
319
+ //#region ../schemas/src/shared/openai.ts
320
+ const descriptions$1 = {
321
+ apiKey: "OpenAI API key for authenticating requests",
322
+ organizationId: "OpenAI organization identifier (org-...)",
323
+ projectId: "OpenAI project identifier (proj_...)",
324
+ baseUrl: "Custom base URL for OpenAI-compatible API endpoints",
325
+ model: "Default OpenAI model identifier to use for requests",
326
+ timeout: "Request timeout in seconds for OpenAI API calls"
327
+ };
328
+ const traits$1 = {
329
+ apiKeyMinLength: "at least 40 characters",
330
+ apiKeyFormat: ["start with 'sk-'", "contain only letters and numbers"],
331
+ organizationFormat: "start with 'org-'",
332
+ projectFormat: "start with 'proj_'",
333
+ baseUrlInvalid: "a valid URL",
334
+ baseUrlProtocol: "use https://",
335
+ modelRequired: "OpenAI model identifier cannot be empty",
336
+ timeoutInteger: "an integer value",
337
+ timeoutMin: "at least 1 second",
338
+ timeoutMax: "600 seconds or less"
339
+ };
340
+ const constraints$1 = {
341
+ apiKeyMinLength: 40,
342
+ timeoutMin: 1,
343
+ timeoutMax: 600
344
+ };
345
+ const defaults$1 = { timeout: 30 };
346
+ const patterns$1 = {
347
+ apiKey: /^sk-[A-Za-z0-9]{20,}$/,
348
+ organizationId: /^org-[A-Za-z0-9_-]{8,}$/,
349
+ projectId: /^proj_[A-Za-z0-9_-]{8,}$/
350
+ };
351
+ const messages$1 = toZodMessages(traits$1);
352
+
353
+ //#endregion
354
+ //#region ../schemas/src/shared/redis.ts
355
+ const descriptions = {
356
+ url: "Redis connection string (redis:// or rediss://)",
357
+ host: "Redis server host name or IP address",
358
+ port: "Redis server port number",
359
+ username: "Redis username for ACL authentication",
360
+ password: "Redis password or access token",
361
+ db: "Redis logical database index (0-15)",
362
+ tls: "Enable TLS for connections to Redis",
363
+ tlsCaCertPath: "Path to CA certificate file for Redis TLS validation"
364
+ };
365
+ const traits = {
366
+ urlFormat: "start with redis:// or rediss://",
367
+ hostRequired: "Redis host is required",
368
+ hostFormat: "letters, numbers, dots, and hyphens",
369
+ portInteger: "an integer",
370
+ portMin: "at least 1",
371
+ portMax: "65535 or less",
372
+ dbInteger: "an integer",
373
+ dbRange: "between 0 and 15",
374
+ usernameRequired: "Redis username cannot be empty",
375
+ passwordRequired: "Redis password cannot be empty",
376
+ tlsCaCertPathRequired: "Redis TLS CA certificate path cannot be empty"
377
+ };
378
+ const defaults = {
379
+ port: 6379,
380
+ db: 0,
381
+ tls: false
382
+ };
383
+ const constraints = {
384
+ portMin: 1,
385
+ portMax: 65535,
386
+ dbMin: 0,
387
+ dbMax: 15
388
+ };
389
+ const patterns = {
390
+ url: /^rediss?:\/\/(?:[^:@/\s]+(?::[^@/\s]*)?@)?[^:/\s]+(?::\d+)?(?:\/\d+)?(?:\?.*)?$/,
391
+ host: /^[a-zA-Z0-9.-]+$/
392
+ };
393
+ const messages = toZodMessages(traits);
394
+
395
+ //#endregion
396
+ Object.defineProperty(exports, 'constraints', {
397
+ enumerable: true,
398
+ get: function () {
399
+ return constraints;
400
+ }
401
+ });
402
+ Object.defineProperty(exports, 'constraints$1', {
403
+ enumerable: true,
404
+ get: function () {
405
+ return constraints$1;
406
+ }
407
+ });
408
+ Object.defineProperty(exports, 'constraints$2', {
409
+ enumerable: true,
410
+ get: function () {
411
+ return constraints$2;
412
+ }
413
+ });
414
+ Object.defineProperty(exports, 'constraints$3', {
415
+ enumerable: true,
416
+ get: function () {
417
+ return constraints$3;
418
+ }
419
+ });
420
+ Object.defineProperty(exports, 'constraints$4', {
421
+ enumerable: true,
422
+ get: function () {
423
+ return constraints$4;
424
+ }
425
+ });
426
+ Object.defineProperty(exports, 'constraints$5', {
427
+ enumerable: true,
428
+ get: function () {
429
+ return constraints$5;
430
+ }
431
+ });
432
+ Object.defineProperty(exports, 'defaults', {
433
+ enumerable: true,
434
+ get: function () {
435
+ return defaults;
436
+ }
437
+ });
438
+ Object.defineProperty(exports, 'defaults$1', {
439
+ enumerable: true,
440
+ get: function () {
441
+ return defaults$1;
442
+ }
443
+ });
444
+ Object.defineProperty(exports, 'defaults$2', {
445
+ enumerable: true,
446
+ get: function () {
447
+ return defaults$2;
448
+ }
449
+ });
450
+ Object.defineProperty(exports, 'defaults$3', {
451
+ enumerable: true,
452
+ get: function () {
453
+ return defaults$3;
454
+ }
455
+ });
456
+ Object.defineProperty(exports, 'defaults$4', {
457
+ enumerable: true,
458
+ get: function () {
459
+ return defaults$4;
460
+ }
461
+ });
462
+ Object.defineProperty(exports, 'descriptions', {
463
+ enumerable: true,
464
+ get: function () {
465
+ return descriptions;
466
+ }
467
+ });
468
+ Object.defineProperty(exports, 'descriptions$1', {
469
+ enumerable: true,
470
+ get: function () {
471
+ return descriptions$1;
472
+ }
473
+ });
474
+ Object.defineProperty(exports, 'descriptions$2', {
475
+ enumerable: true,
476
+ get: function () {
477
+ return descriptions$2;
478
+ }
479
+ });
480
+ Object.defineProperty(exports, 'descriptions$3', {
481
+ enumerable: true,
482
+ get: function () {
483
+ return descriptions$3;
484
+ }
485
+ });
486
+ Object.defineProperty(exports, 'descriptions$4', {
487
+ enumerable: true,
488
+ get: function () {
489
+ return descriptions$4;
490
+ }
491
+ });
492
+ Object.defineProperty(exports, 'descriptions$5', {
493
+ enumerable: true,
494
+ get: function () {
495
+ return descriptions$5;
496
+ }
497
+ });
498
+ Object.defineProperty(exports, 'enumOptions', {
499
+ enumerable: true,
500
+ get: function () {
501
+ return enumOptions;
502
+ }
503
+ });
504
+ Object.defineProperty(exports, 'messages', {
505
+ enumerable: true,
506
+ get: function () {
507
+ return messages;
508
+ }
509
+ });
510
+ Object.defineProperty(exports, 'messages$1', {
511
+ enumerable: true,
512
+ get: function () {
513
+ return messages$1;
514
+ }
515
+ });
516
+ Object.defineProperty(exports, 'messages$2', {
517
+ enumerable: true,
518
+ get: function () {
519
+ return messages$2;
520
+ }
521
+ });
522
+ Object.defineProperty(exports, 'messages$3', {
523
+ enumerable: true,
524
+ get: function () {
525
+ return messages$3;
526
+ }
527
+ });
528
+ Object.defineProperty(exports, 'messages$4', {
529
+ enumerable: true,
530
+ get: function () {
531
+ return messages$4;
532
+ }
533
+ });
534
+ Object.defineProperty(exports, 'messages$5', {
535
+ enumerable: true,
536
+ get: function () {
537
+ return messages$5;
538
+ }
539
+ });
540
+ Object.defineProperty(exports, 'patterns', {
541
+ enumerable: true,
542
+ get: function () {
543
+ return patterns;
544
+ }
545
+ });
546
+ Object.defineProperty(exports, 'patterns$1', {
547
+ enumerable: true,
548
+ get: function () {
549
+ return patterns$1;
550
+ }
551
+ });
552
+ Object.defineProperty(exports, 'patterns$2', {
553
+ enumerable: true,
554
+ get: function () {
555
+ return patterns$2;
556
+ }
557
+ });
558
+ Object.defineProperty(exports, 'patterns$3', {
559
+ enumerable: true,
560
+ get: function () {
561
+ return patterns$3;
562
+ }
563
+ });
564
+ Object.defineProperty(exports, 'patterns$4', {
565
+ enumerable: true,
566
+ get: function () {
567
+ return patterns$4;
568
+ }
569
+ });
570
+ Object.defineProperty(exports, 'toZodMessages', {
571
+ enumerable: true,
572
+ get: function () {
573
+ return toZodMessages;
574
+ }
575
+ });
576
+ Object.defineProperty(exports, 'traits', {
577
+ enumerable: true,
578
+ get: function () {
579
+ return traits;
580
+ }
581
+ });
582
+ Object.defineProperty(exports, 'traits$1', {
583
+ enumerable: true,
584
+ get: function () {
585
+ return traits$1;
586
+ }
587
+ });
588
+ Object.defineProperty(exports, 'traits$2', {
589
+ enumerable: true,
590
+ get: function () {
591
+ return traits$2;
592
+ }
593
+ });
594
+ Object.defineProperty(exports, 'traits$3', {
595
+ enumerable: true,
596
+ get: function () {
597
+ return traits$3;
598
+ }
599
+ });
600
+ Object.defineProperty(exports, 'traits$4', {
601
+ enumerable: true,
602
+ get: function () {
603
+ return traits$4;
604
+ }
605
+ });
606
+ Object.defineProperty(exports, 'traits$5', {
607
+ enumerable: true,
608
+ get: function () {
609
+ return traits$5;
610
+ }
611
+ });