@spfn/core 0.2.0-beta.9 → 0.3.0-beta.10

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 (119) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +693 -279
  3. package/dist/app-config/index.d.ts +96 -0
  4. package/dist/app-config/index.js +58 -0
  5. package/dist/app-config/index.js.map +1 -0
  6. package/dist/authz/index.d.ts +34 -0
  7. package/dist/authz/index.js +430 -0
  8. package/dist/authz/index.js.map +1 -0
  9. package/dist/boss-BiDCbbAQ.d.ts +337 -0
  10. package/dist/cache/index.js +42 -30
  11. package/dist/cache/index.js.map +1 -1
  12. package/dist/codegen/index.d.ts +121 -13
  13. package/dist/codegen/index.js +212 -15
  14. package/dist/codegen/index.js.map +1 -1
  15. package/dist/config/index.d.ts +576 -30
  16. package/dist/config/index.js +136 -17
  17. package/dist/config/index.js.map +1 -1
  18. package/dist/contract/index.d.ts +221 -0
  19. package/dist/contract/index.js +558 -0
  20. package/dist/contract/index.js.map +1 -0
  21. package/dist/db/index.d.ts +704 -94
  22. package/dist/db/index.js +1105 -260
  23. package/dist/db/index.js.map +1 -1
  24. package/dist/define-middleware-CVKgqo8S.d.ts +167 -0
  25. package/dist/env/index.d.ts +26 -2
  26. package/dist/env/index.js +15 -5
  27. package/dist/env/index.js.map +1 -1
  28. package/dist/env/loader.d.ts +26 -19
  29. package/dist/env/loader.js +55 -25
  30. package/dist/env/loader.js.map +1 -1
  31. package/dist/errors/index.d.ts +10 -0
  32. package/dist/errors/index.js +40 -7
  33. package/dist/errors/index.js.map +1 -1
  34. package/dist/event/index.d.ts +33 -3
  35. package/dist/event/index.js +24 -3
  36. package/dist/event/index.js.map +1 -1
  37. package/dist/event/sse/client.d.ts +55 -3
  38. package/dist/event/sse/client.js +164 -45
  39. package/dist/event/sse/client.js.map +1 -1
  40. package/dist/event/sse/index.d.ts +12 -5
  41. package/dist/event/sse/index.js +280 -32
  42. package/dist/event/sse/index.js.map +1 -1
  43. package/dist/event/ws/client.d.ts +59 -0
  44. package/dist/event/ws/client.js +273 -0
  45. package/dist/event/ws/client.js.map +1 -0
  46. package/dist/event/ws/index.d.ts +94 -0
  47. package/dist/event/ws/index.js +272 -0
  48. package/dist/event/ws/index.js.map +1 -0
  49. package/dist/job/index.d.ts +48 -3
  50. package/dist/job/index.js +265 -74
  51. package/dist/job/index.js.map +1 -1
  52. package/dist/logger/index.d.ts +5 -0
  53. package/dist/logger/index.js +14 -12
  54. package/dist/logger/index.js.map +1 -1
  55. package/dist/middleware/index.d.ts +352 -10
  56. package/dist/middleware/index.js +1079 -13
  57. package/dist/middleware/index.js.map +1 -1
  58. package/dist/nextjs/index.d.ts +39 -3
  59. package/dist/nextjs/index.js +82 -29
  60. package/dist/nextjs/index.js.map +1 -1
  61. package/dist/nextjs/server.d.ts +69 -52
  62. package/dist/nextjs/server.js +140 -60
  63. package/dist/nextjs/server.js.map +1 -1
  64. package/dist/ops/index.d.ts +208 -0
  65. package/dist/ops/index.js +800 -0
  66. package/dist/ops/index.js.map +1 -0
  67. package/dist/route/index.d.ts +10 -694
  68. package/dist/route/index.js +112 -23
  69. package/dist/route/index.js.map +1 -1
  70. package/dist/route-builder-2ani2jEI.d.ts +553 -0
  71. package/dist/router-DJdpwuB6.d.ts +127 -0
  72. package/dist/security/index.d.ts +83 -0
  73. package/dist/security/index.js +173 -0
  74. package/dist/security/index.js.map +1 -0
  75. package/dist/server/index.d.ts +619 -31
  76. package/dist/server/index.js +2583 -360
  77. package/dist/server/index.js.map +1 -1
  78. package/dist/token-manager-BT5EnUAR.d.ts +278 -0
  79. package/dist/types-2AbaW4Ie.d.ts +205 -0
  80. package/dist/{types-BOPTApC2.d.ts → types-9oszaJqp.d.ts} +7 -2
  81. package/dist/types-ClQVomgV.d.ts +115 -0
  82. package/dist/types-ZQODsBft.d.ts +282 -0
  83. package/docs/file-upload.md +195 -333
  84. package/package.json +250 -208
  85. package/src/cache/README.md +330 -0
  86. package/src/codegen/README.md +516 -0
  87. package/src/config/README.md +326 -0
  88. package/src/contract/README.md +326 -0
  89. package/src/db/README.md +589 -0
  90. package/src/db/manager/README.md +500 -0
  91. package/src/db/schema/README.md +354 -0
  92. package/src/db/transaction/README.md +822 -0
  93. package/src/env/README.md +651 -0
  94. package/src/errors/README.md +429 -0
  95. package/src/event/README.md +741 -0
  96. package/src/job/README.md +613 -0
  97. package/src/logger/README.md +321 -0
  98. package/src/middleware/README.md +634 -0
  99. package/src/nextjs/README.md +608 -0
  100. package/src/route/README.md +738 -0
  101. package/src/security/README.md +100 -0
  102. package/src/server/README.md +704 -0
  103. package/dist/boss-DI1r4kTS.d.ts +0 -244
  104. package/dist/router-Di7ENoah.d.ts +0 -151
  105. package/dist/types-B-e_f2dQ.d.ts +0 -121
  106. package/docs/cache.md +0 -133
  107. package/docs/codegen.md +0 -74
  108. package/docs/database.md +0 -346
  109. package/docs/entity.md +0 -539
  110. package/docs/env.md +0 -477
  111. package/docs/errors.md +0 -319
  112. package/docs/event.md +0 -116
  113. package/docs/job.md +0 -131
  114. package/docs/logger.md +0 -108
  115. package/docs/middleware.md +0 -337
  116. package/docs/nextjs.md +0 -241
  117. package/docs/repository.md +0 -496
  118. package/docs/route.md +0 -497
  119. package/docs/server.md +0 -307
@@ -20,9 +20,9 @@ import { parsePostgresUrl, parseRedisUrl } from '@spfn/core/env';
20
20
  * ```
21
21
  */
22
22
  declare const coreEnvSchema: {
23
- NODE_ENV: Omit<_spfn_core_env.EnvVarSchema<"production" | "local" | "development" | "test">, "key" | "type" | "validator"> & {
23
+ NODE_ENV: Omit<_spfn_core_env.EnvVarSchema<"production" | "local" | "development" | "staging" | "test">, "key" | "type" | "validator"> & {
24
24
  type: "enum";
25
- validator: (val: string) => "production" | "local" | "development" | "test";
25
+ validator: (val: string) => "production" | "local" | "development" | "staging" | "test";
26
26
  } & {
27
27
  key: "NODE_ENV";
28
28
  };
@@ -34,6 +34,7 @@ declare const coreEnvSchema: {
34
34
  examples: string[];
35
35
  } & {
36
36
  type: "string";
37
+ validator: (value: string) => string;
37
38
  } & {
38
39
  key: "DATABASE_URL";
39
40
  };
@@ -45,6 +46,7 @@ declare const coreEnvSchema: {
45
46
  examples: string[];
46
47
  } & {
47
48
  type: "string";
49
+ validator: (value: string) => string;
48
50
  } & {
49
51
  key: "DATABASE_WRITE_URL";
50
52
  };
@@ -56,6 +58,7 @@ declare const coreEnvSchema: {
56
58
  examples: string[];
57
59
  } & {
58
60
  type: "string";
61
+ validator: (value: string) => string;
59
62
  } & {
60
63
  key: "DATABASE_READ_URL";
61
64
  };
@@ -69,6 +72,16 @@ declare const coreEnvSchema: {
69
72
  } & {
70
73
  key: "DB_POOL_MAX";
71
74
  };
75
+ DB_POOL_READ_MAX: {
76
+ description: string;
77
+ required: boolean;
78
+ examples: number[];
79
+ } & {
80
+ type: "number";
81
+ validator: (value: string) => number;
82
+ } & {
83
+ key: "DB_POOL_READ_MAX";
84
+ };
72
85
  DB_POOL_IDLE_TIMEOUT: {
73
86
  description: string;
74
87
  default: number;
@@ -209,6 +222,26 @@ declare const coreEnvSchema: {
209
222
  } & {
210
223
  key: "TRANSACTION_TIMEOUT";
211
224
  };
225
+ TRANSACTION_IDLE_TIMEOUT: {
226
+ description: string;
227
+ default: number;
228
+ examples: number[];
229
+ } & {
230
+ type: "number";
231
+ validator: (value: string) => number;
232
+ } & {
233
+ key: "TRANSACTION_IDLE_TIMEOUT";
234
+ };
235
+ JOB_POLLING_INTERVAL_SECONDS: {
236
+ description: string;
237
+ default: number;
238
+ examples: number[];
239
+ } & {
240
+ type: "number";
241
+ validator: (value: string) => number;
242
+ } & {
243
+ key: "JOB_POLLING_INTERVAL_SECONDS";
244
+ };
212
245
  DB_DEBUG_TRACE: {
213
246
  description: string;
214
247
  default: boolean;
@@ -219,6 +252,16 @@ declare const coreEnvSchema: {
219
252
  } & {
220
253
  key: "DB_DEBUG_TRACE";
221
254
  };
255
+ SPFN_ALLOW_PENDING_MIGRATIONS: {
256
+ description: string;
257
+ default: boolean;
258
+ examples: boolean[];
259
+ } & {
260
+ type: "boolean";
261
+ validator: (value: string) => boolean;
262
+ } & {
263
+ key: "SPFN_ALLOW_PENDING_MIGRATIONS";
264
+ };
222
265
  DRIZZLE_SCHEMA_PATH: {
223
266
  description: string;
224
267
  required: boolean;
@@ -226,6 +269,7 @@ declare const coreEnvSchema: {
226
269
  examples: string[];
227
270
  } & {
228
271
  type: "string";
272
+ validator: (value: string) => string;
229
273
  } & {
230
274
  key: "DRIZZLE_SCHEMA_PATH";
231
275
  };
@@ -236,6 +280,7 @@ declare const coreEnvSchema: {
236
280
  examples: string[];
237
281
  } & {
238
282
  type: "string";
283
+ validator: (value: string) => string;
239
284
  } & {
240
285
  key: "DRIZZLE_OUT_DIR";
241
286
  };
@@ -253,6 +298,7 @@ declare const coreEnvSchema: {
253
298
  examples: string[];
254
299
  } & {
255
300
  type: "string";
301
+ validator: (value: string) => string;
256
302
  } & {
257
303
  key: "CACHE_URL";
258
304
  };
@@ -264,6 +310,7 @@ declare const coreEnvSchema: {
264
310
  examples: string[];
265
311
  } & {
266
312
  type: "string";
313
+ validator: (value: string) => string;
267
314
  } & {
268
315
  key: "CACHE_WRITE_URL";
269
316
  };
@@ -275,6 +322,7 @@ declare const coreEnvSchema: {
275
322
  examples: string[];
276
323
  } & {
277
324
  type: "string";
325
+ validator: (value: string) => string;
278
326
  } & {
279
327
  key: "CACHE_READ_URL";
280
328
  };
@@ -284,6 +332,7 @@ declare const coreEnvSchema: {
284
332
  examples: string[];
285
333
  } & {
286
334
  type: "string";
335
+ validator: (value: string) => string;
287
336
  } & {
288
337
  key: "CACHE_SENTINEL_HOSTS";
289
338
  };
@@ -293,6 +342,7 @@ declare const coreEnvSchema: {
293
342
  examples: string[];
294
343
  } & {
295
344
  type: "string";
345
+ validator: (value: string) => string;
296
346
  } & {
297
347
  key: "CACHE_CLUSTER_NODES";
298
348
  };
@@ -302,6 +352,7 @@ declare const coreEnvSchema: {
302
352
  examples: string[];
303
353
  } & {
304
354
  type: "string";
355
+ validator: (value: string) => string;
305
356
  } & {
306
357
  key: "CACHE_MASTER_NAME";
307
358
  };
@@ -312,6 +363,7 @@ declare const coreEnvSchema: {
312
363
  examples: string[];
313
364
  } & {
314
365
  type: "string";
366
+ validator: (value: string) => string;
315
367
  } & {
316
368
  key: "CACHE_PASSWORD";
317
369
  };
@@ -325,7 +377,7 @@ declare const coreEnvSchema: {
325
377
  } & {
326
378
  key: "CACHE_TLS_REJECT_UNAUTHORIZED";
327
379
  };
328
- PORT: {
380
+ CACHE_MAX_RETRIES_PER_REQUEST: {
329
381
  description: string;
330
382
  default: number;
331
383
  examples: number[];
@@ -333,17 +385,27 @@ declare const coreEnvSchema: {
333
385
  type: "number";
334
386
  validator: (value: string) => number;
335
387
  } & {
336
- key: "PORT";
388
+ key: "CACHE_MAX_RETRIES_PER_REQUEST";
337
389
  };
338
- HOST: {
390
+ CACHE_ENABLE_OFFLINE_QUEUE: {
339
391
  description: string;
340
- default: string;
341
- required: boolean;
342
- examples: string[];
392
+ default: boolean;
393
+ examples: boolean[];
343
394
  } & {
344
- type: "string";
395
+ type: "boolean";
396
+ validator: (value: string) => boolean;
345
397
  } & {
346
- key: "HOST";
398
+ key: "CACHE_ENABLE_OFFLINE_QUEUE";
399
+ };
400
+ DB_MAX_ROWS: {
401
+ description: string;
402
+ default: number;
403
+ examples: number[];
404
+ } & {
405
+ type: "number";
406
+ validator: (value: string) => number;
407
+ } & {
408
+ key: "DB_MAX_ROWS";
347
409
  };
348
410
  SERVER_TIMEOUT: {
349
411
  description: string;
@@ -385,6 +447,36 @@ declare const coreEnvSchema: {
385
447
  } & {
386
448
  key: "SHUTDOWN_TIMEOUT";
387
449
  };
450
+ FETCH_CONNECT_TIMEOUT: {
451
+ description: string;
452
+ default: number;
453
+ examples: number[];
454
+ } & {
455
+ type: "number";
456
+ validator: (value: string) => number;
457
+ } & {
458
+ key: "FETCH_CONNECT_TIMEOUT";
459
+ };
460
+ FETCH_HEADERS_TIMEOUT: {
461
+ description: string;
462
+ default: number;
463
+ examples: number[];
464
+ } & {
465
+ type: "number";
466
+ validator: (value: string) => number;
467
+ } & {
468
+ key: "FETCH_HEADERS_TIMEOUT";
469
+ };
470
+ FETCH_BODY_TIMEOUT: {
471
+ description: string;
472
+ default: number;
473
+ examples: number[];
474
+ } & {
475
+ type: "number";
476
+ validator: (value: string) => number;
477
+ } & {
478
+ key: "FETCH_BODY_TIMEOUT";
479
+ };
388
480
  SPFN_API_URL: {
389
481
  description: string;
390
482
  required: boolean;
@@ -415,6 +507,96 @@ declare const coreEnvSchema: {
415
507
  } & {
416
508
  key: "SPFN_APP_URL";
417
509
  };
510
+ RPC_PROXY_TIMEOUT: {
511
+ description: string;
512
+ default: number;
513
+ nextjs: boolean;
514
+ examples: number[];
515
+ } & {
516
+ type: "number";
517
+ validator: (value: string) => number;
518
+ } & {
519
+ key: "RPC_PROXY_TIMEOUT";
520
+ };
521
+ SPFN_PROXY_SECRET: {
522
+ description: string;
523
+ required: boolean;
524
+ sensitive: boolean;
525
+ nextjs: boolean;
526
+ examples: string[];
527
+ } & {
528
+ type: "string";
529
+ validator: (value: string) => string;
530
+ } & {
531
+ key: "SPFN_PROXY_SECRET";
532
+ };
533
+ SPFN_PROXY_SECRET_PREVIOUS: {
534
+ description: string;
535
+ required: boolean;
536
+ sensitive: boolean;
537
+ nextjs: boolean;
538
+ examples: string[];
539
+ } & {
540
+ type: "string";
541
+ validator: (value: string) => string;
542
+ } & {
543
+ key: "SPFN_PROXY_SECRET_PREVIOUS";
544
+ };
545
+ TRUSTED_PROXY_HOPS: {
546
+ description: string;
547
+ default: number;
548
+ nextjs: boolean;
549
+ examples: number[];
550
+ } & {
551
+ type: "number";
552
+ validator: (value: string) => number;
553
+ } & {
554
+ key: "TRUSTED_PROXY_HOPS";
555
+ };
556
+ RATE_LIMIT_MODE: Omit<_spfn_core_env.EnvVarSchema<"off" | "on">, "key" | "type" | "validator"> & {
557
+ type: "enum";
558
+ validator: (val: string) => "off" | "on";
559
+ } & {
560
+ key: "RATE_LIMIT_MODE";
561
+ };
562
+ RATE_LIMIT_DEFAULT_LIMIT: {
563
+ description: string;
564
+ default: number;
565
+ examples: number[];
566
+ } & {
567
+ type: "number";
568
+ validator: (value: string) => number;
569
+ } & {
570
+ key: "RATE_LIMIT_DEFAULT_LIMIT";
571
+ };
572
+ RATE_LIMIT_DEFAULT_WINDOW_MS: {
573
+ description: string;
574
+ default: number;
575
+ examples: number[];
576
+ } & {
577
+ type: "number";
578
+ validator: (value: string) => number;
579
+ } & {
580
+ key: "RATE_LIMIT_DEFAULT_WINDOW_MS";
581
+ };
582
+ RATE_LIMIT_FAIL_CLOSED: {
583
+ description: string;
584
+ default: boolean;
585
+ } & {
586
+ type: "boolean";
587
+ validator: (value: string) => boolean;
588
+ } & {
589
+ key: "RATE_LIMIT_FAIL_CLOSED";
590
+ };
591
+ SAFE_FETCH_BLOCK_PRIVATE_IPS: {
592
+ description: string;
593
+ default: boolean;
594
+ } & {
595
+ type: "boolean";
596
+ validator: (value: string) => boolean;
597
+ } & {
598
+ key: "SAFE_FETCH_BLOCK_PRIVATE_IPS";
599
+ };
418
600
  };
419
601
 
420
602
  /**
@@ -427,9 +609,9 @@ declare const coreEnvSchema: {
427
609
  * ```
428
610
  */
429
611
  declare const registry: _spfn_core_env.EnvRegistry<{
430
- NODE_ENV: Omit<_spfn_core_env.EnvVarSchema<"production" | "local" | "development" | "test">, "key" | "type" | "validator"> & {
612
+ NODE_ENV: Omit<_spfn_core_env.EnvVarSchema<"production" | "local" | "development" | "staging" | "test">, "key" | "type" | "validator"> & {
431
613
  type: "enum";
432
- validator: (val: string) => "production" | "local" | "development" | "test";
614
+ validator: (val: string) => "production" | "local" | "development" | "staging" | "test";
433
615
  } & {
434
616
  key: "NODE_ENV";
435
617
  };
@@ -441,6 +623,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
441
623
  examples: string[];
442
624
  } & {
443
625
  type: "string";
626
+ validator: (value: string) => string;
444
627
  } & {
445
628
  key: "DATABASE_URL";
446
629
  };
@@ -452,6 +635,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
452
635
  examples: string[];
453
636
  } & {
454
637
  type: "string";
638
+ validator: (value: string) => string;
455
639
  } & {
456
640
  key: "DATABASE_WRITE_URL";
457
641
  };
@@ -463,6 +647,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
463
647
  examples: string[];
464
648
  } & {
465
649
  type: "string";
650
+ validator: (value: string) => string;
466
651
  } & {
467
652
  key: "DATABASE_READ_URL";
468
653
  };
@@ -476,6 +661,16 @@ declare const registry: _spfn_core_env.EnvRegistry<{
476
661
  } & {
477
662
  key: "DB_POOL_MAX";
478
663
  };
664
+ DB_POOL_READ_MAX: {
665
+ description: string;
666
+ required: boolean;
667
+ examples: number[];
668
+ } & {
669
+ type: "number";
670
+ validator: (value: string) => number;
671
+ } & {
672
+ key: "DB_POOL_READ_MAX";
673
+ };
479
674
  DB_POOL_IDLE_TIMEOUT: {
480
675
  description: string;
481
676
  default: number;
@@ -616,6 +811,26 @@ declare const registry: _spfn_core_env.EnvRegistry<{
616
811
  } & {
617
812
  key: "TRANSACTION_TIMEOUT";
618
813
  };
814
+ TRANSACTION_IDLE_TIMEOUT: {
815
+ description: string;
816
+ default: number;
817
+ examples: number[];
818
+ } & {
819
+ type: "number";
820
+ validator: (value: string) => number;
821
+ } & {
822
+ key: "TRANSACTION_IDLE_TIMEOUT";
823
+ };
824
+ JOB_POLLING_INTERVAL_SECONDS: {
825
+ description: string;
826
+ default: number;
827
+ examples: number[];
828
+ } & {
829
+ type: "number";
830
+ validator: (value: string) => number;
831
+ } & {
832
+ key: "JOB_POLLING_INTERVAL_SECONDS";
833
+ };
619
834
  DB_DEBUG_TRACE: {
620
835
  description: string;
621
836
  default: boolean;
@@ -626,6 +841,16 @@ declare const registry: _spfn_core_env.EnvRegistry<{
626
841
  } & {
627
842
  key: "DB_DEBUG_TRACE";
628
843
  };
844
+ SPFN_ALLOW_PENDING_MIGRATIONS: {
845
+ description: string;
846
+ default: boolean;
847
+ examples: boolean[];
848
+ } & {
849
+ type: "boolean";
850
+ validator: (value: string) => boolean;
851
+ } & {
852
+ key: "SPFN_ALLOW_PENDING_MIGRATIONS";
853
+ };
629
854
  DRIZZLE_SCHEMA_PATH: {
630
855
  description: string;
631
856
  required: boolean;
@@ -633,6 +858,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
633
858
  examples: string[];
634
859
  } & {
635
860
  type: "string";
861
+ validator: (value: string) => string;
636
862
  } & {
637
863
  key: "DRIZZLE_SCHEMA_PATH";
638
864
  };
@@ -643,6 +869,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
643
869
  examples: string[];
644
870
  } & {
645
871
  type: "string";
872
+ validator: (value: string) => string;
646
873
  } & {
647
874
  key: "DRIZZLE_OUT_DIR";
648
875
  };
@@ -660,6 +887,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
660
887
  examples: string[];
661
888
  } & {
662
889
  type: "string";
890
+ validator: (value: string) => string;
663
891
  } & {
664
892
  key: "CACHE_URL";
665
893
  };
@@ -671,6 +899,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
671
899
  examples: string[];
672
900
  } & {
673
901
  type: "string";
902
+ validator: (value: string) => string;
674
903
  } & {
675
904
  key: "CACHE_WRITE_URL";
676
905
  };
@@ -682,6 +911,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
682
911
  examples: string[];
683
912
  } & {
684
913
  type: "string";
914
+ validator: (value: string) => string;
685
915
  } & {
686
916
  key: "CACHE_READ_URL";
687
917
  };
@@ -691,6 +921,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
691
921
  examples: string[];
692
922
  } & {
693
923
  type: "string";
924
+ validator: (value: string) => string;
694
925
  } & {
695
926
  key: "CACHE_SENTINEL_HOSTS";
696
927
  };
@@ -700,6 +931,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
700
931
  examples: string[];
701
932
  } & {
702
933
  type: "string";
934
+ validator: (value: string) => string;
703
935
  } & {
704
936
  key: "CACHE_CLUSTER_NODES";
705
937
  };
@@ -709,6 +941,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
709
941
  examples: string[];
710
942
  } & {
711
943
  type: "string";
944
+ validator: (value: string) => string;
712
945
  } & {
713
946
  key: "CACHE_MASTER_NAME";
714
947
  };
@@ -719,6 +952,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
719
952
  examples: string[];
720
953
  } & {
721
954
  type: "string";
955
+ validator: (value: string) => string;
722
956
  } & {
723
957
  key: "CACHE_PASSWORD";
724
958
  };
@@ -732,7 +966,7 @@ declare const registry: _spfn_core_env.EnvRegistry<{
732
966
  } & {
733
967
  key: "CACHE_TLS_REJECT_UNAUTHORIZED";
734
968
  };
735
- PORT: {
969
+ CACHE_MAX_RETRIES_PER_REQUEST: {
736
970
  description: string;
737
971
  default: number;
738
972
  examples: number[];
@@ -740,17 +974,27 @@ declare const registry: _spfn_core_env.EnvRegistry<{
740
974
  type: "number";
741
975
  validator: (value: string) => number;
742
976
  } & {
743
- key: "PORT";
977
+ key: "CACHE_MAX_RETRIES_PER_REQUEST";
744
978
  };
745
- HOST: {
979
+ CACHE_ENABLE_OFFLINE_QUEUE: {
746
980
  description: string;
747
- default: string;
748
- required: boolean;
749
- examples: string[];
981
+ default: boolean;
982
+ examples: boolean[];
750
983
  } & {
751
- type: "string";
984
+ type: "boolean";
985
+ validator: (value: string) => boolean;
752
986
  } & {
753
- key: "HOST";
987
+ key: "CACHE_ENABLE_OFFLINE_QUEUE";
988
+ };
989
+ DB_MAX_ROWS: {
990
+ description: string;
991
+ default: number;
992
+ examples: number[];
993
+ } & {
994
+ type: "number";
995
+ validator: (value: string) => number;
996
+ } & {
997
+ key: "DB_MAX_ROWS";
754
998
  };
755
999
  SERVER_TIMEOUT: {
756
1000
  description: string;
@@ -792,6 +1036,36 @@ declare const registry: _spfn_core_env.EnvRegistry<{
792
1036
  } & {
793
1037
  key: "SHUTDOWN_TIMEOUT";
794
1038
  };
1039
+ FETCH_CONNECT_TIMEOUT: {
1040
+ description: string;
1041
+ default: number;
1042
+ examples: number[];
1043
+ } & {
1044
+ type: "number";
1045
+ validator: (value: string) => number;
1046
+ } & {
1047
+ key: "FETCH_CONNECT_TIMEOUT";
1048
+ };
1049
+ FETCH_HEADERS_TIMEOUT: {
1050
+ description: string;
1051
+ default: number;
1052
+ examples: number[];
1053
+ } & {
1054
+ type: "number";
1055
+ validator: (value: string) => number;
1056
+ } & {
1057
+ key: "FETCH_HEADERS_TIMEOUT";
1058
+ };
1059
+ FETCH_BODY_TIMEOUT: {
1060
+ description: string;
1061
+ default: number;
1062
+ examples: number[];
1063
+ } & {
1064
+ type: "number";
1065
+ validator: (value: string) => number;
1066
+ } & {
1067
+ key: "FETCH_BODY_TIMEOUT";
1068
+ };
795
1069
  SPFN_API_URL: {
796
1070
  description: string;
797
1071
  required: boolean;
@@ -822,14 +1096,104 @@ declare const registry: _spfn_core_env.EnvRegistry<{
822
1096
  } & {
823
1097
  key: "SPFN_APP_URL";
824
1098
  };
1099
+ RPC_PROXY_TIMEOUT: {
1100
+ description: string;
1101
+ default: number;
1102
+ nextjs: boolean;
1103
+ examples: number[];
1104
+ } & {
1105
+ type: "number";
1106
+ validator: (value: string) => number;
1107
+ } & {
1108
+ key: "RPC_PROXY_TIMEOUT";
1109
+ };
1110
+ SPFN_PROXY_SECRET: {
1111
+ description: string;
1112
+ required: boolean;
1113
+ sensitive: boolean;
1114
+ nextjs: boolean;
1115
+ examples: string[];
1116
+ } & {
1117
+ type: "string";
1118
+ validator: (value: string) => string;
1119
+ } & {
1120
+ key: "SPFN_PROXY_SECRET";
1121
+ };
1122
+ SPFN_PROXY_SECRET_PREVIOUS: {
1123
+ description: string;
1124
+ required: boolean;
1125
+ sensitive: boolean;
1126
+ nextjs: boolean;
1127
+ examples: string[];
1128
+ } & {
1129
+ type: "string";
1130
+ validator: (value: string) => string;
1131
+ } & {
1132
+ key: "SPFN_PROXY_SECRET_PREVIOUS";
1133
+ };
1134
+ TRUSTED_PROXY_HOPS: {
1135
+ description: string;
1136
+ default: number;
1137
+ nextjs: boolean;
1138
+ examples: number[];
1139
+ } & {
1140
+ type: "number";
1141
+ validator: (value: string) => number;
1142
+ } & {
1143
+ key: "TRUSTED_PROXY_HOPS";
1144
+ };
1145
+ RATE_LIMIT_MODE: Omit<_spfn_core_env.EnvVarSchema<"off" | "on">, "key" | "type" | "validator"> & {
1146
+ type: "enum";
1147
+ validator: (val: string) => "off" | "on";
1148
+ } & {
1149
+ key: "RATE_LIMIT_MODE";
1150
+ };
1151
+ RATE_LIMIT_DEFAULT_LIMIT: {
1152
+ description: string;
1153
+ default: number;
1154
+ examples: number[];
1155
+ } & {
1156
+ type: "number";
1157
+ validator: (value: string) => number;
1158
+ } & {
1159
+ key: "RATE_LIMIT_DEFAULT_LIMIT";
1160
+ };
1161
+ RATE_LIMIT_DEFAULT_WINDOW_MS: {
1162
+ description: string;
1163
+ default: number;
1164
+ examples: number[];
1165
+ } & {
1166
+ type: "number";
1167
+ validator: (value: string) => number;
1168
+ } & {
1169
+ key: "RATE_LIMIT_DEFAULT_WINDOW_MS";
1170
+ };
1171
+ RATE_LIMIT_FAIL_CLOSED: {
1172
+ description: string;
1173
+ default: boolean;
1174
+ } & {
1175
+ type: "boolean";
1176
+ validator: (value: string) => boolean;
1177
+ } & {
1178
+ key: "RATE_LIMIT_FAIL_CLOSED";
1179
+ };
1180
+ SAFE_FETCH_BLOCK_PRIVATE_IPS: {
1181
+ description: string;
1182
+ default: boolean;
1183
+ } & {
1184
+ type: "boolean";
1185
+ validator: (value: string) => boolean;
1186
+ } & {
1187
+ key: "SAFE_FETCH_BLOCK_PRIVATE_IPS";
1188
+ };
825
1189
  }>;
826
1190
  /**
827
1191
  * Validated environment configuration
828
1192
  */
829
1193
  declare const env: _spfn_core_env.InferEnvType<{
830
- NODE_ENV: Omit<_spfn_core_env.EnvVarSchema<"production" | "local" | "development" | "test">, "key" | "type" | "validator"> & {
1194
+ NODE_ENV: Omit<_spfn_core_env.EnvVarSchema<"production" | "local" | "development" | "staging" | "test">, "key" | "type" | "validator"> & {
831
1195
  type: "enum";
832
- validator: (val: string) => "production" | "local" | "development" | "test";
1196
+ validator: (val: string) => "production" | "local" | "development" | "staging" | "test";
833
1197
  } & {
834
1198
  key: "NODE_ENV";
835
1199
  };
@@ -841,6 +1205,7 @@ declare const env: _spfn_core_env.InferEnvType<{
841
1205
  examples: string[];
842
1206
  } & {
843
1207
  type: "string";
1208
+ validator: (value: string) => string;
844
1209
  } & {
845
1210
  key: "DATABASE_URL";
846
1211
  };
@@ -852,6 +1217,7 @@ declare const env: _spfn_core_env.InferEnvType<{
852
1217
  examples: string[];
853
1218
  } & {
854
1219
  type: "string";
1220
+ validator: (value: string) => string;
855
1221
  } & {
856
1222
  key: "DATABASE_WRITE_URL";
857
1223
  };
@@ -863,6 +1229,7 @@ declare const env: _spfn_core_env.InferEnvType<{
863
1229
  examples: string[];
864
1230
  } & {
865
1231
  type: "string";
1232
+ validator: (value: string) => string;
866
1233
  } & {
867
1234
  key: "DATABASE_READ_URL";
868
1235
  };
@@ -876,6 +1243,16 @@ declare const env: _spfn_core_env.InferEnvType<{
876
1243
  } & {
877
1244
  key: "DB_POOL_MAX";
878
1245
  };
1246
+ DB_POOL_READ_MAX: {
1247
+ description: string;
1248
+ required: boolean;
1249
+ examples: number[];
1250
+ } & {
1251
+ type: "number";
1252
+ validator: (value: string) => number;
1253
+ } & {
1254
+ key: "DB_POOL_READ_MAX";
1255
+ };
879
1256
  DB_POOL_IDLE_TIMEOUT: {
880
1257
  description: string;
881
1258
  default: number;
@@ -1016,6 +1393,26 @@ declare const env: _spfn_core_env.InferEnvType<{
1016
1393
  } & {
1017
1394
  key: "TRANSACTION_TIMEOUT";
1018
1395
  };
1396
+ TRANSACTION_IDLE_TIMEOUT: {
1397
+ description: string;
1398
+ default: number;
1399
+ examples: number[];
1400
+ } & {
1401
+ type: "number";
1402
+ validator: (value: string) => number;
1403
+ } & {
1404
+ key: "TRANSACTION_IDLE_TIMEOUT";
1405
+ };
1406
+ JOB_POLLING_INTERVAL_SECONDS: {
1407
+ description: string;
1408
+ default: number;
1409
+ examples: number[];
1410
+ } & {
1411
+ type: "number";
1412
+ validator: (value: string) => number;
1413
+ } & {
1414
+ key: "JOB_POLLING_INTERVAL_SECONDS";
1415
+ };
1019
1416
  DB_DEBUG_TRACE: {
1020
1417
  description: string;
1021
1418
  default: boolean;
@@ -1026,6 +1423,16 @@ declare const env: _spfn_core_env.InferEnvType<{
1026
1423
  } & {
1027
1424
  key: "DB_DEBUG_TRACE";
1028
1425
  };
1426
+ SPFN_ALLOW_PENDING_MIGRATIONS: {
1427
+ description: string;
1428
+ default: boolean;
1429
+ examples: boolean[];
1430
+ } & {
1431
+ type: "boolean";
1432
+ validator: (value: string) => boolean;
1433
+ } & {
1434
+ key: "SPFN_ALLOW_PENDING_MIGRATIONS";
1435
+ };
1029
1436
  DRIZZLE_SCHEMA_PATH: {
1030
1437
  description: string;
1031
1438
  required: boolean;
@@ -1033,6 +1440,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1033
1440
  examples: string[];
1034
1441
  } & {
1035
1442
  type: "string";
1443
+ validator: (value: string) => string;
1036
1444
  } & {
1037
1445
  key: "DRIZZLE_SCHEMA_PATH";
1038
1446
  };
@@ -1043,6 +1451,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1043
1451
  examples: string[];
1044
1452
  } & {
1045
1453
  type: "string";
1454
+ validator: (value: string) => string;
1046
1455
  } & {
1047
1456
  key: "DRIZZLE_OUT_DIR";
1048
1457
  };
@@ -1060,6 +1469,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1060
1469
  examples: string[];
1061
1470
  } & {
1062
1471
  type: "string";
1472
+ validator: (value: string) => string;
1063
1473
  } & {
1064
1474
  key: "CACHE_URL";
1065
1475
  };
@@ -1071,6 +1481,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1071
1481
  examples: string[];
1072
1482
  } & {
1073
1483
  type: "string";
1484
+ validator: (value: string) => string;
1074
1485
  } & {
1075
1486
  key: "CACHE_WRITE_URL";
1076
1487
  };
@@ -1082,6 +1493,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1082
1493
  examples: string[];
1083
1494
  } & {
1084
1495
  type: "string";
1496
+ validator: (value: string) => string;
1085
1497
  } & {
1086
1498
  key: "CACHE_READ_URL";
1087
1499
  };
@@ -1091,6 +1503,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1091
1503
  examples: string[];
1092
1504
  } & {
1093
1505
  type: "string";
1506
+ validator: (value: string) => string;
1094
1507
  } & {
1095
1508
  key: "CACHE_SENTINEL_HOSTS";
1096
1509
  };
@@ -1100,6 +1513,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1100
1513
  examples: string[];
1101
1514
  } & {
1102
1515
  type: "string";
1516
+ validator: (value: string) => string;
1103
1517
  } & {
1104
1518
  key: "CACHE_CLUSTER_NODES";
1105
1519
  };
@@ -1109,6 +1523,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1109
1523
  examples: string[];
1110
1524
  } & {
1111
1525
  type: "string";
1526
+ validator: (value: string) => string;
1112
1527
  } & {
1113
1528
  key: "CACHE_MASTER_NAME";
1114
1529
  };
@@ -1119,6 +1534,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1119
1534
  examples: string[];
1120
1535
  } & {
1121
1536
  type: "string";
1537
+ validator: (value: string) => string;
1122
1538
  } & {
1123
1539
  key: "CACHE_PASSWORD";
1124
1540
  };
@@ -1132,7 +1548,7 @@ declare const env: _spfn_core_env.InferEnvType<{
1132
1548
  } & {
1133
1549
  key: "CACHE_TLS_REJECT_UNAUTHORIZED";
1134
1550
  };
1135
- PORT: {
1551
+ CACHE_MAX_RETRIES_PER_REQUEST: {
1136
1552
  description: string;
1137
1553
  default: number;
1138
1554
  examples: number[];
@@ -1140,17 +1556,27 @@ declare const env: _spfn_core_env.InferEnvType<{
1140
1556
  type: "number";
1141
1557
  validator: (value: string) => number;
1142
1558
  } & {
1143
- key: "PORT";
1559
+ key: "CACHE_MAX_RETRIES_PER_REQUEST";
1144
1560
  };
1145
- HOST: {
1561
+ CACHE_ENABLE_OFFLINE_QUEUE: {
1146
1562
  description: string;
1147
- default: string;
1148
- required: boolean;
1149
- examples: string[];
1563
+ default: boolean;
1564
+ examples: boolean[];
1150
1565
  } & {
1151
- type: "string";
1566
+ type: "boolean";
1567
+ validator: (value: string) => boolean;
1568
+ } & {
1569
+ key: "CACHE_ENABLE_OFFLINE_QUEUE";
1570
+ };
1571
+ DB_MAX_ROWS: {
1572
+ description: string;
1573
+ default: number;
1574
+ examples: number[];
1152
1575
  } & {
1153
- key: "HOST";
1576
+ type: "number";
1577
+ validator: (value: string) => number;
1578
+ } & {
1579
+ key: "DB_MAX_ROWS";
1154
1580
  };
1155
1581
  SERVER_TIMEOUT: {
1156
1582
  description: string;
@@ -1192,6 +1618,36 @@ declare const env: _spfn_core_env.InferEnvType<{
1192
1618
  } & {
1193
1619
  key: "SHUTDOWN_TIMEOUT";
1194
1620
  };
1621
+ FETCH_CONNECT_TIMEOUT: {
1622
+ description: string;
1623
+ default: number;
1624
+ examples: number[];
1625
+ } & {
1626
+ type: "number";
1627
+ validator: (value: string) => number;
1628
+ } & {
1629
+ key: "FETCH_CONNECT_TIMEOUT";
1630
+ };
1631
+ FETCH_HEADERS_TIMEOUT: {
1632
+ description: string;
1633
+ default: number;
1634
+ examples: number[];
1635
+ } & {
1636
+ type: "number";
1637
+ validator: (value: string) => number;
1638
+ } & {
1639
+ key: "FETCH_HEADERS_TIMEOUT";
1640
+ };
1641
+ FETCH_BODY_TIMEOUT: {
1642
+ description: string;
1643
+ default: number;
1644
+ examples: number[];
1645
+ } & {
1646
+ type: "number";
1647
+ validator: (value: string) => number;
1648
+ } & {
1649
+ key: "FETCH_BODY_TIMEOUT";
1650
+ };
1195
1651
  SPFN_API_URL: {
1196
1652
  description: string;
1197
1653
  required: boolean;
@@ -1222,6 +1678,96 @@ declare const env: _spfn_core_env.InferEnvType<{
1222
1678
  } & {
1223
1679
  key: "SPFN_APP_URL";
1224
1680
  };
1681
+ RPC_PROXY_TIMEOUT: {
1682
+ description: string;
1683
+ default: number;
1684
+ nextjs: boolean;
1685
+ examples: number[];
1686
+ } & {
1687
+ type: "number";
1688
+ validator: (value: string) => number;
1689
+ } & {
1690
+ key: "RPC_PROXY_TIMEOUT";
1691
+ };
1692
+ SPFN_PROXY_SECRET: {
1693
+ description: string;
1694
+ required: boolean;
1695
+ sensitive: boolean;
1696
+ nextjs: boolean;
1697
+ examples: string[];
1698
+ } & {
1699
+ type: "string";
1700
+ validator: (value: string) => string;
1701
+ } & {
1702
+ key: "SPFN_PROXY_SECRET";
1703
+ };
1704
+ SPFN_PROXY_SECRET_PREVIOUS: {
1705
+ description: string;
1706
+ required: boolean;
1707
+ sensitive: boolean;
1708
+ nextjs: boolean;
1709
+ examples: string[];
1710
+ } & {
1711
+ type: "string";
1712
+ validator: (value: string) => string;
1713
+ } & {
1714
+ key: "SPFN_PROXY_SECRET_PREVIOUS";
1715
+ };
1716
+ TRUSTED_PROXY_HOPS: {
1717
+ description: string;
1718
+ default: number;
1719
+ nextjs: boolean;
1720
+ examples: number[];
1721
+ } & {
1722
+ type: "number";
1723
+ validator: (value: string) => number;
1724
+ } & {
1725
+ key: "TRUSTED_PROXY_HOPS";
1726
+ };
1727
+ RATE_LIMIT_MODE: Omit<_spfn_core_env.EnvVarSchema<"off" | "on">, "key" | "type" | "validator"> & {
1728
+ type: "enum";
1729
+ validator: (val: string) => "off" | "on";
1730
+ } & {
1731
+ key: "RATE_LIMIT_MODE";
1732
+ };
1733
+ RATE_LIMIT_DEFAULT_LIMIT: {
1734
+ description: string;
1735
+ default: number;
1736
+ examples: number[];
1737
+ } & {
1738
+ type: "number";
1739
+ validator: (value: string) => number;
1740
+ } & {
1741
+ key: "RATE_LIMIT_DEFAULT_LIMIT";
1742
+ };
1743
+ RATE_LIMIT_DEFAULT_WINDOW_MS: {
1744
+ description: string;
1745
+ default: number;
1746
+ examples: number[];
1747
+ } & {
1748
+ type: "number";
1749
+ validator: (value: string) => number;
1750
+ } & {
1751
+ key: "RATE_LIMIT_DEFAULT_WINDOW_MS";
1752
+ };
1753
+ RATE_LIMIT_FAIL_CLOSED: {
1754
+ description: string;
1755
+ default: boolean;
1756
+ } & {
1757
+ type: "boolean";
1758
+ validator: (value: string) => boolean;
1759
+ } & {
1760
+ key: "RATE_LIMIT_FAIL_CLOSED";
1761
+ };
1762
+ SAFE_FETCH_BLOCK_PRIVATE_IPS: {
1763
+ description: string;
1764
+ default: boolean;
1765
+ } & {
1766
+ type: "boolean";
1767
+ validator: (value: string) => boolean;
1768
+ } & {
1769
+ key: "SAFE_FETCH_BLOCK_PRIVATE_IPS";
1770
+ };
1225
1771
  }>;
1226
1772
 
1227
1773
  export { env, coreEnvSchema as envSchema, registry };