@planecloud/config 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,733 @@
1
+ import { z } from "zod";
2
+ export declare const ApiConfigSchema: z.ZodObject<{
3
+ port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
4
+ host: z.ZodDefault<z.ZodOptional<z.ZodString>>;
5
+ cors: z.ZodOptional<z.ZodObject<{
6
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
+ origin: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>>>;
8
+ credentials: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9
+ methods: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
10
+ allowedHeaders: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
11
+ exposedHeaders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
12
+ maxAge: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ enabled: boolean;
15
+ origin: string | boolean | string[];
16
+ credentials: boolean;
17
+ methods: string[];
18
+ allowedHeaders: string[];
19
+ maxAge: number;
20
+ exposedHeaders?: string[] | undefined;
21
+ }, {
22
+ enabled?: boolean | undefined;
23
+ origin?: string | boolean | string[] | undefined;
24
+ credentials?: boolean | undefined;
25
+ methods?: string[] | undefined;
26
+ allowedHeaders?: string[] | undefined;
27
+ exposedHeaders?: string[] | undefined;
28
+ maxAge?: number | undefined;
29
+ }>>;
30
+ rateLimit: z.ZodOptional<z.ZodObject<{
31
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
32
+ windowMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
33
+ max: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
34
+ message: z.ZodDefault<z.ZodOptional<z.ZodString>>;
35
+ standardHeaders: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
36
+ legacyHeaders: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
37
+ skipSuccessfulRequests: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
38
+ skipFailedRequests: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
39
+ }, "strip", z.ZodTypeAny, {
40
+ message: string;
41
+ max: number;
42
+ enabled: boolean;
43
+ windowMs: number;
44
+ standardHeaders: boolean;
45
+ legacyHeaders: boolean;
46
+ skipSuccessfulRequests: boolean;
47
+ skipFailedRequests: boolean;
48
+ }, {
49
+ message?: string | undefined;
50
+ max?: number | undefined;
51
+ enabled?: boolean | undefined;
52
+ windowMs?: number | undefined;
53
+ standardHeaders?: boolean | undefined;
54
+ legacyHeaders?: boolean | undefined;
55
+ skipSuccessfulRequests?: boolean | undefined;
56
+ skipFailedRequests?: boolean | undefined;
57
+ }>>;
58
+ compression: z.ZodOptional<z.ZodObject<{
59
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
60
+ level: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
61
+ threshold: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
62
+ }, "strip", z.ZodTypeAny, {
63
+ level: number;
64
+ enabled: boolean;
65
+ threshold: number;
66
+ }, {
67
+ level?: number | undefined;
68
+ enabled?: boolean | undefined;
69
+ threshold?: number | undefined;
70
+ }>>;
71
+ helmet: z.ZodOptional<z.ZodObject<{
72
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
73
+ contentSecurityPolicy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
74
+ crossOriginEmbedderPolicy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
75
+ crossOriginOpenerPolicy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
76
+ crossOriginResourcePolicy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
77
+ dnsPrefetchControl: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
78
+ frameguard: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
79
+ hidePoweredBy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
80
+ hsts: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
81
+ ieNoOpen: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
82
+ noSniff: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
83
+ originAgentCluster: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
84
+ permittedCrossDomainPolicies: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
85
+ referrerPolicy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
86
+ xssFilter: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ enabled: boolean;
89
+ contentSecurityPolicy: boolean;
90
+ crossOriginEmbedderPolicy: boolean;
91
+ crossOriginOpenerPolicy: boolean;
92
+ crossOriginResourcePolicy: boolean;
93
+ dnsPrefetchControl: boolean;
94
+ frameguard: boolean;
95
+ hidePoweredBy: boolean;
96
+ hsts: boolean;
97
+ ieNoOpen: boolean;
98
+ noSniff: boolean;
99
+ originAgentCluster: boolean;
100
+ permittedCrossDomainPolicies: boolean;
101
+ referrerPolicy: boolean;
102
+ xssFilter: boolean;
103
+ }, {
104
+ enabled?: boolean | undefined;
105
+ contentSecurityPolicy?: boolean | undefined;
106
+ crossOriginEmbedderPolicy?: boolean | undefined;
107
+ crossOriginOpenerPolicy?: boolean | undefined;
108
+ crossOriginResourcePolicy?: boolean | undefined;
109
+ dnsPrefetchControl?: boolean | undefined;
110
+ frameguard?: boolean | undefined;
111
+ hidePoweredBy?: boolean | undefined;
112
+ hsts?: boolean | undefined;
113
+ ieNoOpen?: boolean | undefined;
114
+ noSniff?: boolean | undefined;
115
+ originAgentCluster?: boolean | undefined;
116
+ permittedCrossDomainPolicies?: boolean | undefined;
117
+ referrerPolicy?: boolean | undefined;
118
+ xssFilter?: boolean | undefined;
119
+ }>>;
120
+ logging: z.ZodOptional<z.ZodObject<{
121
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
122
+ level: z.ZodDefault<z.ZodOptional<z.ZodEnum<["fatal", "error", "warn", "info", "debug", "trace"]>>>;
123
+ format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["json", "pretty"]>>>;
124
+ colorize: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
125
+ timestamp: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
126
+ prettyPrint: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
127
+ }, "strip", z.ZodTypeAny, {
128
+ level: "fatal" | "error" | "warn" | "info" | "debug" | "trace";
129
+ format: "json" | "pretty";
130
+ enabled: boolean;
131
+ colorize: boolean;
132
+ timestamp: boolean;
133
+ prettyPrint: boolean;
134
+ }, {
135
+ level?: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | undefined;
136
+ format?: "json" | "pretty" | undefined;
137
+ enabled?: boolean | undefined;
138
+ colorize?: boolean | undefined;
139
+ timestamp?: boolean | undefined;
140
+ prettyPrint?: boolean | undefined;
141
+ }>>;
142
+ health: z.ZodOptional<z.ZodObject<{
143
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
144
+ path: z.ZodDefault<z.ZodOptional<z.ZodString>>;
145
+ detailed: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
146
+ checks: z.ZodOptional<z.ZodArray<z.ZodObject<{
147
+ name: z.ZodString;
148
+ type: z.ZodEnum<["http", "tcp", "database", "redis", "custom"]>;
149
+ target: z.ZodString;
150
+ timeout: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
151
+ interval: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
152
+ retries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
153
+ critical: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
154
+ }, "strip", z.ZodTypeAny, {
155
+ type: "database" | "custom" | "http" | "tcp" | "redis";
156
+ timeout: number;
157
+ name: string;
158
+ target: string;
159
+ interval: number;
160
+ retries: number;
161
+ critical: boolean;
162
+ }, {
163
+ type: "database" | "custom" | "http" | "tcp" | "redis";
164
+ name: string;
165
+ target: string;
166
+ timeout?: number | undefined;
167
+ interval?: number | undefined;
168
+ retries?: number | undefined;
169
+ critical?: boolean | undefined;
170
+ }>, "many">>;
171
+ }, "strip", z.ZodTypeAny, {
172
+ path: string;
173
+ enabled: boolean;
174
+ detailed: boolean;
175
+ checks?: {
176
+ type: "database" | "custom" | "http" | "tcp" | "redis";
177
+ timeout: number;
178
+ name: string;
179
+ target: string;
180
+ interval: number;
181
+ retries: number;
182
+ critical: boolean;
183
+ }[] | undefined;
184
+ }, {
185
+ path?: string | undefined;
186
+ enabled?: boolean | undefined;
187
+ detailed?: boolean | undefined;
188
+ checks?: {
189
+ type: "database" | "custom" | "http" | "tcp" | "redis";
190
+ name: string;
191
+ target: string;
192
+ timeout?: number | undefined;
193
+ interval?: number | undefined;
194
+ retries?: number | undefined;
195
+ critical?: boolean | undefined;
196
+ }[] | undefined;
197
+ }>>;
198
+ metrics: z.ZodOptional<z.ZodObject<{
199
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
200
+ path: z.ZodDefault<z.ZodOptional<z.ZodString>>;
201
+ port: z.ZodOptional<z.ZodNumber>;
202
+ labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
203
+ includeDefaultMetrics: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
204
+ prefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
205
+ }, "strip", z.ZodTypeAny, {
206
+ path: string;
207
+ prefix: string;
208
+ enabled: boolean;
209
+ includeDefaultMetrics: boolean;
210
+ port?: number | undefined;
211
+ labels?: Record<string, string> | undefined;
212
+ }, {
213
+ port?: number | undefined;
214
+ path?: string | undefined;
215
+ prefix?: string | undefined;
216
+ enabled?: boolean | undefined;
217
+ labels?: Record<string, string> | undefined;
218
+ includeDefaultMetrics?: boolean | undefined;
219
+ }>>;
220
+ swagger: z.ZodOptional<z.ZodObject<{
221
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
222
+ path: z.ZodDefault<z.ZodOptional<z.ZodString>>;
223
+ title: z.ZodDefault<z.ZodOptional<z.ZodString>>;
224
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
225
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
226
+ servers: z.ZodOptional<z.ZodArray<z.ZodObject<{
227
+ url: z.ZodString;
228
+ description: z.ZodOptional<z.ZodString>;
229
+ }, "strip", z.ZodTypeAny, {
230
+ url: string;
231
+ description?: string | undefined;
232
+ }, {
233
+ url: string;
234
+ description?: string | undefined;
235
+ }>, "many">>;
236
+ security: z.ZodOptional<z.ZodArray<z.ZodObject<{
237
+ type: z.ZodString;
238
+ scheme: z.ZodString;
239
+ bearerFormat: z.ZodOptional<z.ZodString>;
240
+ }, "strip", z.ZodTypeAny, {
241
+ type: string;
242
+ scheme: string;
243
+ bearerFormat?: string | undefined;
244
+ }, {
245
+ type: string;
246
+ scheme: string;
247
+ bearerFormat?: string | undefined;
248
+ }>, "many">>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ path: string;
251
+ enabled: boolean;
252
+ title: string;
253
+ description: string;
254
+ version: string;
255
+ servers?: {
256
+ url: string;
257
+ description?: string | undefined;
258
+ }[] | undefined;
259
+ security?: {
260
+ type: string;
261
+ scheme: string;
262
+ bearerFormat?: string | undefined;
263
+ }[] | undefined;
264
+ }, {
265
+ path?: string | undefined;
266
+ enabled?: boolean | undefined;
267
+ title?: string | undefined;
268
+ description?: string | undefined;
269
+ version?: string | undefined;
270
+ servers?: {
271
+ url: string;
272
+ description?: string | undefined;
273
+ }[] | undefined;
274
+ security?: {
275
+ type: string;
276
+ scheme: string;
277
+ bearerFormat?: string | undefined;
278
+ }[] | undefined;
279
+ }>>;
280
+ middleware: z.ZodOptional<z.ZodArray<z.ZodObject<{
281
+ name: z.ZodString;
282
+ path: z.ZodOptional<z.ZodString>;
283
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
284
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
285
+ }, "strip", z.ZodTypeAny, {
286
+ name: string;
287
+ enabled: boolean;
288
+ path?: string | undefined;
289
+ options?: Record<string, any> | undefined;
290
+ }, {
291
+ name: string;
292
+ path?: string | undefined;
293
+ options?: Record<string, any> | undefined;
294
+ enabled?: boolean | undefined;
295
+ }>, "many">>;
296
+ static: z.ZodOptional<z.ZodArray<z.ZodObject<{
297
+ path: z.ZodString;
298
+ directory: z.ZodString;
299
+ options: z.ZodOptional<z.ZodObject<{
300
+ maxAge: z.ZodOptional<z.ZodNumber>;
301
+ immutable: z.ZodOptional<z.ZodBoolean>;
302
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
303
+ setHeaders: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
304
+ }, "strip", z.ZodTypeAny, {
305
+ maxAge?: number | undefined;
306
+ immutable?: boolean | undefined;
307
+ extensions?: string[] | undefined;
308
+ setHeaders?: ((...args: unknown[]) => unknown) | undefined;
309
+ }, {
310
+ maxAge?: number | undefined;
311
+ immutable?: boolean | undefined;
312
+ extensions?: string[] | undefined;
313
+ setHeaders?: ((...args: unknown[]) => unknown) | undefined;
314
+ }>>;
315
+ }, "strip", z.ZodTypeAny, {
316
+ path: string;
317
+ directory: string;
318
+ options?: {
319
+ maxAge?: number | undefined;
320
+ immutable?: boolean | undefined;
321
+ extensions?: string[] | undefined;
322
+ setHeaders?: ((...args: unknown[]) => unknown) | undefined;
323
+ } | undefined;
324
+ }, {
325
+ path: string;
326
+ directory: string;
327
+ options?: {
328
+ maxAge?: number | undefined;
329
+ immutable?: boolean | undefined;
330
+ extensions?: string[] | undefined;
331
+ setHeaders?: ((...args: unknown[]) => unknown) | undefined;
332
+ } | undefined;
333
+ }>, "many">>;
334
+ proxy: z.ZodOptional<z.ZodArray<z.ZodObject<{
335
+ path: z.ZodString;
336
+ target: z.ZodString;
337
+ changeOrigin: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
338
+ secure: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
339
+ ws: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
340
+ pathRewrite: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
341
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
342
+ }, "strip", z.ZodTypeAny, {
343
+ path: string;
344
+ target: string;
345
+ changeOrigin: boolean;
346
+ secure: boolean;
347
+ ws: boolean;
348
+ headers?: Record<string, string> | undefined;
349
+ pathRewrite?: Record<string, string> | undefined;
350
+ }, {
351
+ path: string;
352
+ target: string;
353
+ headers?: Record<string, string> | undefined;
354
+ changeOrigin?: boolean | undefined;
355
+ secure?: boolean | undefined;
356
+ ws?: boolean | undefined;
357
+ pathRewrite?: Record<string, string> | undefined;
358
+ }>, "many">>;
359
+ }, "strip", z.ZodTypeAny, {
360
+ host: string;
361
+ port: number;
362
+ logging?: {
363
+ level: "fatal" | "error" | "warn" | "info" | "debug" | "trace";
364
+ format: "json" | "pretty";
365
+ enabled: boolean;
366
+ colorize: boolean;
367
+ timestamp: boolean;
368
+ prettyPrint: boolean;
369
+ } | undefined;
370
+ metrics?: {
371
+ path: string;
372
+ prefix: string;
373
+ enabled: boolean;
374
+ includeDefaultMetrics: boolean;
375
+ port?: number | undefined;
376
+ labels?: Record<string, string> | undefined;
377
+ } | undefined;
378
+ cors?: {
379
+ enabled: boolean;
380
+ origin: string | boolean | string[];
381
+ credentials: boolean;
382
+ methods: string[];
383
+ allowedHeaders: string[];
384
+ maxAge: number;
385
+ exposedHeaders?: string[] | undefined;
386
+ } | undefined;
387
+ rateLimit?: {
388
+ message: string;
389
+ max: number;
390
+ enabled: boolean;
391
+ windowMs: number;
392
+ standardHeaders: boolean;
393
+ legacyHeaders: boolean;
394
+ skipSuccessfulRequests: boolean;
395
+ skipFailedRequests: boolean;
396
+ } | undefined;
397
+ compression?: {
398
+ level: number;
399
+ enabled: boolean;
400
+ threshold: number;
401
+ } | undefined;
402
+ helmet?: {
403
+ enabled: boolean;
404
+ contentSecurityPolicy: boolean;
405
+ crossOriginEmbedderPolicy: boolean;
406
+ crossOriginOpenerPolicy: boolean;
407
+ crossOriginResourcePolicy: boolean;
408
+ dnsPrefetchControl: boolean;
409
+ frameguard: boolean;
410
+ hidePoweredBy: boolean;
411
+ hsts: boolean;
412
+ ieNoOpen: boolean;
413
+ noSniff: boolean;
414
+ originAgentCluster: boolean;
415
+ permittedCrossDomainPolicies: boolean;
416
+ referrerPolicy: boolean;
417
+ xssFilter: boolean;
418
+ } | undefined;
419
+ health?: {
420
+ path: string;
421
+ enabled: boolean;
422
+ detailed: boolean;
423
+ checks?: {
424
+ type: "database" | "custom" | "http" | "tcp" | "redis";
425
+ timeout: number;
426
+ name: string;
427
+ target: string;
428
+ interval: number;
429
+ retries: number;
430
+ critical: boolean;
431
+ }[] | undefined;
432
+ } | undefined;
433
+ swagger?: {
434
+ path: string;
435
+ enabled: boolean;
436
+ title: string;
437
+ description: string;
438
+ version: string;
439
+ servers?: {
440
+ url: string;
441
+ description?: string | undefined;
442
+ }[] | undefined;
443
+ security?: {
444
+ type: string;
445
+ scheme: string;
446
+ bearerFormat?: string | undefined;
447
+ }[] | undefined;
448
+ } | undefined;
449
+ middleware?: {
450
+ name: string;
451
+ enabled: boolean;
452
+ path?: string | undefined;
453
+ options?: Record<string, any> | undefined;
454
+ }[] | undefined;
455
+ static?: {
456
+ path: string;
457
+ directory: string;
458
+ options?: {
459
+ maxAge?: number | undefined;
460
+ immutable?: boolean | undefined;
461
+ extensions?: string[] | undefined;
462
+ setHeaders?: ((...args: unknown[]) => unknown) | undefined;
463
+ } | undefined;
464
+ }[] | undefined;
465
+ proxy?: {
466
+ path: string;
467
+ target: string;
468
+ changeOrigin: boolean;
469
+ secure: boolean;
470
+ ws: boolean;
471
+ headers?: Record<string, string> | undefined;
472
+ pathRewrite?: Record<string, string> | undefined;
473
+ }[] | undefined;
474
+ }, {
475
+ host?: string | undefined;
476
+ port?: number | undefined;
477
+ logging?: {
478
+ level?: "fatal" | "error" | "warn" | "info" | "debug" | "trace" | undefined;
479
+ format?: "json" | "pretty" | undefined;
480
+ enabled?: boolean | undefined;
481
+ colorize?: boolean | undefined;
482
+ timestamp?: boolean | undefined;
483
+ prettyPrint?: boolean | undefined;
484
+ } | undefined;
485
+ metrics?: {
486
+ port?: number | undefined;
487
+ path?: string | undefined;
488
+ prefix?: string | undefined;
489
+ enabled?: boolean | undefined;
490
+ labels?: Record<string, string> | undefined;
491
+ includeDefaultMetrics?: boolean | undefined;
492
+ } | undefined;
493
+ cors?: {
494
+ enabled?: boolean | undefined;
495
+ origin?: string | boolean | string[] | undefined;
496
+ credentials?: boolean | undefined;
497
+ methods?: string[] | undefined;
498
+ allowedHeaders?: string[] | undefined;
499
+ exposedHeaders?: string[] | undefined;
500
+ maxAge?: number | undefined;
501
+ } | undefined;
502
+ rateLimit?: {
503
+ message?: string | undefined;
504
+ max?: number | undefined;
505
+ enabled?: boolean | undefined;
506
+ windowMs?: number | undefined;
507
+ standardHeaders?: boolean | undefined;
508
+ legacyHeaders?: boolean | undefined;
509
+ skipSuccessfulRequests?: boolean | undefined;
510
+ skipFailedRequests?: boolean | undefined;
511
+ } | undefined;
512
+ compression?: {
513
+ level?: number | undefined;
514
+ enabled?: boolean | undefined;
515
+ threshold?: number | undefined;
516
+ } | undefined;
517
+ helmet?: {
518
+ enabled?: boolean | undefined;
519
+ contentSecurityPolicy?: boolean | undefined;
520
+ crossOriginEmbedderPolicy?: boolean | undefined;
521
+ crossOriginOpenerPolicy?: boolean | undefined;
522
+ crossOriginResourcePolicy?: boolean | undefined;
523
+ dnsPrefetchControl?: boolean | undefined;
524
+ frameguard?: boolean | undefined;
525
+ hidePoweredBy?: boolean | undefined;
526
+ hsts?: boolean | undefined;
527
+ ieNoOpen?: boolean | undefined;
528
+ noSniff?: boolean | undefined;
529
+ originAgentCluster?: boolean | undefined;
530
+ permittedCrossDomainPolicies?: boolean | undefined;
531
+ referrerPolicy?: boolean | undefined;
532
+ xssFilter?: boolean | undefined;
533
+ } | undefined;
534
+ health?: {
535
+ path?: string | undefined;
536
+ enabled?: boolean | undefined;
537
+ detailed?: boolean | undefined;
538
+ checks?: {
539
+ type: "database" | "custom" | "http" | "tcp" | "redis";
540
+ name: string;
541
+ target: string;
542
+ timeout?: number | undefined;
543
+ interval?: number | undefined;
544
+ retries?: number | undefined;
545
+ critical?: boolean | undefined;
546
+ }[] | undefined;
547
+ } | undefined;
548
+ swagger?: {
549
+ path?: string | undefined;
550
+ enabled?: boolean | undefined;
551
+ title?: string | undefined;
552
+ description?: string | undefined;
553
+ version?: string | undefined;
554
+ servers?: {
555
+ url: string;
556
+ description?: string | undefined;
557
+ }[] | undefined;
558
+ security?: {
559
+ type: string;
560
+ scheme: string;
561
+ bearerFormat?: string | undefined;
562
+ }[] | undefined;
563
+ } | undefined;
564
+ middleware?: {
565
+ name: string;
566
+ path?: string | undefined;
567
+ options?: Record<string, any> | undefined;
568
+ enabled?: boolean | undefined;
569
+ }[] | undefined;
570
+ static?: {
571
+ path: string;
572
+ directory: string;
573
+ options?: {
574
+ maxAge?: number | undefined;
575
+ immutable?: boolean | undefined;
576
+ extensions?: string[] | undefined;
577
+ setHeaders?: ((...args: unknown[]) => unknown) | undefined;
578
+ } | undefined;
579
+ }[] | undefined;
580
+ proxy?: {
581
+ path: string;
582
+ target: string;
583
+ headers?: Record<string, string> | undefined;
584
+ changeOrigin?: boolean | undefined;
585
+ secure?: boolean | undefined;
586
+ ws?: boolean | undefined;
587
+ pathRewrite?: Record<string, string> | undefined;
588
+ }[] | undefined;
589
+ }>;
590
+ export type ApiConfig = z.infer<typeof ApiConfigSchema>;
591
+ export declare const EndpointConfigSchema: z.ZodObject<{
592
+ path: z.ZodString;
593
+ method: z.ZodEnum<["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"]>;
594
+ handler: z.ZodString;
595
+ middleware: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
596
+ validation: z.ZodOptional<z.ZodObject<{
597
+ body: z.ZodOptional<z.ZodString>;
598
+ query: z.ZodOptional<z.ZodString>;
599
+ params: z.ZodOptional<z.ZodString>;
600
+ headers: z.ZodOptional<z.ZodString>;
601
+ }, "strip", z.ZodTypeAny, {
602
+ params?: string | undefined;
603
+ headers?: string | undefined;
604
+ body?: string | undefined;
605
+ query?: string | undefined;
606
+ }, {
607
+ params?: string | undefined;
608
+ headers?: string | undefined;
609
+ body?: string | undefined;
610
+ query?: string | undefined;
611
+ }>>;
612
+ auth: z.ZodOptional<z.ZodObject<{
613
+ required: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
614
+ roles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
615
+ permissions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
616
+ }, "strip", z.ZodTypeAny, {
617
+ required: boolean;
618
+ roles?: string[] | undefined;
619
+ permissions?: string[] | undefined;
620
+ }, {
621
+ required?: boolean | undefined;
622
+ roles?: string[] | undefined;
623
+ permissions?: string[] | undefined;
624
+ }>>;
625
+ rateLimit: z.ZodOptional<z.ZodObject<{
626
+ enabled: z.ZodOptional<z.ZodBoolean>;
627
+ max: z.ZodOptional<z.ZodNumber>;
628
+ windowMs: z.ZodOptional<z.ZodNumber>;
629
+ }, "strip", z.ZodTypeAny, {
630
+ max?: number | undefined;
631
+ enabled?: boolean | undefined;
632
+ windowMs?: number | undefined;
633
+ }, {
634
+ max?: number | undefined;
635
+ enabled?: boolean | undefined;
636
+ windowMs?: number | undefined;
637
+ }>>;
638
+ cache: z.ZodOptional<z.ZodObject<{
639
+ enabled: z.ZodOptional<z.ZodBoolean>;
640
+ ttl: z.ZodOptional<z.ZodNumber>;
641
+ key: z.ZodOptional<z.ZodString>;
642
+ }, "strip", z.ZodTypeAny, {
643
+ key?: string | undefined;
644
+ enabled?: boolean | undefined;
645
+ ttl?: number | undefined;
646
+ }, {
647
+ key?: string | undefined;
648
+ enabled?: boolean | undefined;
649
+ ttl?: number | undefined;
650
+ }>>;
651
+ documentation: z.ZodOptional<z.ZodObject<{
652
+ summary: z.ZodOptional<z.ZodString>;
653
+ description: z.ZodOptional<z.ZodString>;
654
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
655
+ responses: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
656
+ }, "strip", z.ZodTypeAny, {
657
+ description?: string | undefined;
658
+ summary?: string | undefined;
659
+ tags?: string[] | undefined;
660
+ responses?: Record<string, any> | undefined;
661
+ }, {
662
+ description?: string | undefined;
663
+ summary?: string | undefined;
664
+ tags?: string[] | undefined;
665
+ responses?: Record<string, any> | undefined;
666
+ }>>;
667
+ }, "strip", z.ZodTypeAny, {
668
+ path: string;
669
+ method: "GET" | "POST" | "PUT" | "DELETE" | "OPTIONS" | "PATCH" | "HEAD";
670
+ handler: string;
671
+ validation?: {
672
+ params?: string | undefined;
673
+ headers?: string | undefined;
674
+ body?: string | undefined;
675
+ query?: string | undefined;
676
+ } | undefined;
677
+ auth?: {
678
+ required: boolean;
679
+ roles?: string[] | undefined;
680
+ permissions?: string[] | undefined;
681
+ } | undefined;
682
+ rateLimit?: {
683
+ max?: number | undefined;
684
+ enabled?: boolean | undefined;
685
+ windowMs?: number | undefined;
686
+ } | undefined;
687
+ middleware?: string[] | undefined;
688
+ cache?: {
689
+ key?: string | undefined;
690
+ enabled?: boolean | undefined;
691
+ ttl?: number | undefined;
692
+ } | undefined;
693
+ documentation?: {
694
+ description?: string | undefined;
695
+ summary?: string | undefined;
696
+ tags?: string[] | undefined;
697
+ responses?: Record<string, any> | undefined;
698
+ } | undefined;
699
+ }, {
700
+ path: string;
701
+ method: "GET" | "POST" | "PUT" | "DELETE" | "OPTIONS" | "PATCH" | "HEAD";
702
+ handler: string;
703
+ validation?: {
704
+ params?: string | undefined;
705
+ headers?: string | undefined;
706
+ body?: string | undefined;
707
+ query?: string | undefined;
708
+ } | undefined;
709
+ auth?: {
710
+ required?: boolean | undefined;
711
+ roles?: string[] | undefined;
712
+ permissions?: string[] | undefined;
713
+ } | undefined;
714
+ rateLimit?: {
715
+ max?: number | undefined;
716
+ enabled?: boolean | undefined;
717
+ windowMs?: number | undefined;
718
+ } | undefined;
719
+ middleware?: string[] | undefined;
720
+ cache?: {
721
+ key?: string | undefined;
722
+ enabled?: boolean | undefined;
723
+ ttl?: number | undefined;
724
+ } | undefined;
725
+ documentation?: {
726
+ description?: string | undefined;
727
+ summary?: string | undefined;
728
+ tags?: string[] | undefined;
729
+ responses?: Record<string, any> | undefined;
730
+ } | undefined;
731
+ }>;
732
+ export type EndpointConfig = z.infer<typeof EndpointConfigSchema>;
733
+ //# sourceMappingURL=index.d.ts.map