@graphoria/server 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +25 -20
  2. package/dist/src/ai/tools/core.d.ts +6 -1
  3. package/dist/src/ai/tools/core.d.ts.map +1 -1
  4. package/dist/src/ai/tools/core.test.d.ts +2 -0
  5. package/dist/src/ai/tools/core.test.d.ts.map +1 -0
  6. package/dist/src/analyzeQuery/costLimit.d.ts +30 -0
  7. package/dist/src/analyzeQuery/costLimit.d.ts.map +1 -0
  8. package/dist/src/analyzeQuery/costLimit.test.d.ts +2 -0
  9. package/dist/src/analyzeQuery/costLimit.test.d.ts.map +1 -0
  10. package/dist/src/analyzeQuery/depthLimit.d.ts.map +1 -1
  11. package/dist/src/analyzeQuery/fragments.d.ts +6 -0
  12. package/dist/src/analyzeQuery/fragments.d.ts.map +1 -0
  13. package/dist/src/config/types/ai.d.ts +0 -6
  14. package/dist/src/config/types/ai.d.ts.map +1 -1
  15. package/dist/src/config/types/auth.d.ts +8 -29
  16. package/dist/src/config/types/auth.d.ts.map +1 -1
  17. package/dist/src/config/types/cron.d.ts +0 -94
  18. package/dist/src/config/types/cron.d.ts.map +1 -1
  19. package/dist/src/config/types/db.d.ts +2 -87
  20. package/dist/src/config/types/db.d.ts.map +1 -1
  21. package/dist/src/config/types/operation.d.ts +4 -0
  22. package/dist/src/config/types/operation.d.ts.map +1 -1
  23. package/dist/src/config/types/operation.test.d.ts +2 -0
  24. package/dist/src/config/types/operation.test.d.ts.map +1 -0
  25. package/dist/src/config/types/queue.d.ts +0 -47
  26. package/dist/src/config/types/queue.d.ts.map +1 -1
  27. package/dist/src/config/types/remote-rest.d.ts +0 -9
  28. package/dist/src/config/types/remote-rest.d.ts.map +1 -1
  29. package/dist/src/config/types/remote-schema.d.ts +0 -10
  30. package/dist/src/config/types/remote-schema.d.ts.map +1 -1
  31. package/dist/src/configuration/crossReferences.d.ts +27 -0
  32. package/dist/src/configuration/crossReferences.d.ts.map +1 -0
  33. package/dist/src/configuration/crossReferences.test.d.ts +2 -0
  34. package/dist/src/configuration/crossReferences.test.d.ts.map +1 -0
  35. package/dist/src/configuration/getSchemas/index.d.ts +70 -4
  36. package/dist/src/configuration/getSchemas/index.d.ts.map +1 -1
  37. package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts +3 -0
  38. package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts.map +1 -1
  39. package/dist/src/configuration/gql/handleGraphQLRequestFactory.d.ts +32 -2
  40. package/dist/src/configuration/gql/handleGraphQLRequestFactory.d.ts.map +1 -1
  41. package/dist/src/configuration/gql/handleGraphQLSubscriptionFactory.d.ts.map +1 -1
  42. package/dist/src/configuration/index.d.ts +41 -2
  43. package/dist/src/configuration/index.d.ts.map +1 -1
  44. package/dist/src/configuration/rest/handleRESTRequestFactory.d.ts.map +1 -1
  45. package/dist/src/configuration/rest/index.d.ts.map +1 -1
  46. package/dist/src/console/api.d.ts +7 -5
  47. package/dist/src/console/api.d.ts.map +1 -1
  48. package/dist/src/console/session.d.ts +21 -0
  49. package/dist/src/console/session.d.ts.map +1 -0
  50. package/dist/src/console/session.test.d.ts +2 -0
  51. package/dist/src/console/session.test.d.ts.map +1 -0
  52. package/dist/src/cron/index.d.ts +1 -1
  53. package/dist/src/cron/index.d.ts.map +1 -1
  54. package/dist/src/cron/index.test.d.ts +2 -0
  55. package/dist/src/cron/index.test.d.ts.map +1 -0
  56. package/dist/src/databases/common.d.ts +12 -4
  57. package/dist/src/databases/common.d.ts.map +1 -1
  58. package/dist/src/databases/core/executor.d.ts +6 -2
  59. package/dist/src/databases/core/executor.d.ts.map +1 -1
  60. package/dist/src/databases/core/function-mapping.d.ts +4 -3
  61. package/dist/src/databases/core/function-mapping.d.ts.map +1 -1
  62. package/dist/src/databases/core/query-builder.d.ts +7 -1
  63. package/dist/src/databases/core/query-builder.d.ts.map +1 -1
  64. package/dist/src/databases/engines/mssql/connection.d.ts +29 -6
  65. package/dist/src/databases/engines/mssql/connection.d.ts.map +1 -1
  66. package/dist/src/databases/engines/mssql/connection.test.d.ts +2 -0
  67. package/dist/src/databases/engines/mssql/connection.test.d.ts.map +1 -0
  68. package/dist/src/databases/engines/mssql/format.d.ts +2 -1
  69. package/dist/src/databases/engines/mssql/format.d.ts.map +1 -1
  70. package/dist/src/databases/engines/mssql/query/index.d.ts +3 -2
  71. package/dist/src/databases/engines/mssql/query/index.d.ts.map +1 -1
  72. package/dist/src/databases/engines/mysql/connection.d.ts +16 -0
  73. package/dist/src/databases/engines/mysql/connection.d.ts.map +1 -1
  74. package/dist/src/databases/engines/mysql/connection.test.d.ts +2 -0
  75. package/dist/src/databases/engines/mysql/connection.test.d.ts.map +1 -0
  76. package/dist/src/databases/engines/mysql/format.d.ts +2 -1
  77. package/dist/src/databases/engines/mysql/format.d.ts.map +1 -1
  78. package/dist/src/databases/engines/mysql/query/index.d.ts +3 -2
  79. package/dist/src/databases/engines/mysql/query/index.d.ts.map +1 -1
  80. package/dist/src/databases/engines/postgresql/connection.d.ts +25 -6
  81. package/dist/src/databases/engines/postgresql/connection.d.ts.map +1 -1
  82. package/dist/src/databases/engines/postgresql/connection.test.d.ts +2 -0
  83. package/dist/src/databases/engines/postgresql/connection.test.d.ts.map +1 -0
  84. package/dist/src/databases/engines/postgresql/format.d.ts +2 -1
  85. package/dist/src/databases/engines/postgresql/format.d.ts.map +1 -1
  86. package/dist/src/databases/engines/postgresql/query/index.d.ts +3 -2
  87. package/dist/src/databases/engines/postgresql/query/index.d.ts.map +1 -1
  88. package/dist/src/databases/high-level-operations.d.ts +2 -0
  89. package/dist/src/databases/high-level-operations.d.ts.map +1 -1
  90. package/dist/src/databases/transformers/data-transformers.d.ts +2 -0
  91. package/dist/src/databases/transformers/data-transformers.d.ts.map +1 -1
  92. package/dist/src/index.d.ts.map +1 -1
  93. package/dist/src/singletons/env.d.ts +19 -0
  94. package/dist/src/singletons/env.d.ts.map +1 -1
  95. package/dist/src/singletons/queryTimeout.d.ts +3 -0
  96. package/dist/src/singletons/queryTimeout.d.ts.map +1 -0
  97. package/dist/src/subscriptions/strategies/database.d.ts.map +1 -1
  98. package/dist/src/subscriptions/strategies/database.test.d.ts +2 -0
  99. package/dist/src/subscriptions/strategies/database.test.d.ts.map +1 -0
  100. package/dist/src/subscriptions/types.d.ts +4 -1
  101. package/dist/src/subscriptions/types.d.ts.map +1 -1
  102. package/dist/src/subscriptions/utils/polling.d.ts.map +1 -1
  103. package/dist/src/types/env.d.ts +73 -0
  104. package/dist/src/types/env.d.ts.map +1 -1
  105. package/dist/src/types/zod/auth.d.ts +12 -0
  106. package/dist/src/types/zod/auth.d.ts.map +1 -1
  107. package/dist/src/types/zod/configuration.d.ts +28 -0
  108. package/dist/src/types/zod/configuration.d.ts.map +1 -1
  109. package/dist/src/utils/rateLimit.d.ts +65 -0
  110. package/dist/src/utils/rateLimit.d.ts.map +1 -0
  111. package/dist/src/utils/rateLimit.test.d.ts +2 -0
  112. package/dist/src/utils/rateLimit.test.d.ts.map +1 -0
  113. package/dist/src/utils/responses.d.ts +3 -0
  114. package/dist/src/utils/responses.d.ts.map +1 -1
  115. package/dist/tsconfig.tsbuildinfo +1 -1
  116. package/package.json +13 -13
  117. package/playgrounds/console/index.html +7 -7
  118. package/playgrounds/graphiql/index.html +535 -536
  119. package/playgrounds/scalar/index.html +1 -1
  120. package/src/ai/tools/core.ts +30 -6
  121. package/src/analyzeQuery/costLimit.ts +236 -0
  122. package/src/analyzeQuery/depthLimit.ts +4 -23
  123. package/src/analyzeQuery/fragments.ts +18 -0
  124. package/src/config/types/auth.ts +7 -0
  125. package/src/config/types/db.ts +7 -0
  126. package/src/config/types/operation.ts +4 -0
  127. package/src/configuration/crossReferences.ts +340 -0
  128. package/src/configuration/getSchemas/type-definition-generator/index.ts +1 -1
  129. package/src/configuration/gql/buildExecute.ts +1 -1
  130. package/src/configuration/gql/handleGraphQLRequestFactory.ts +80 -10
  131. package/src/configuration/gql/handleGraphQLSubscriptionFactory.ts +22 -2
  132. package/src/configuration/index.ts +24 -6
  133. package/src/configuration/rest/handleRESTRequestFactory.ts +6 -4
  134. package/src/configuration/rest/index.ts +11 -2
  135. package/src/console/api.ts +51 -10
  136. package/src/console/session.ts +125 -0
  137. package/src/cron/index.ts +6 -2
  138. package/src/databases/common.ts +55 -10
  139. package/src/databases/core/executor.ts +12 -2
  140. package/src/databases/core/function-mapping.ts +5 -0
  141. package/src/databases/core/query-builder.ts +7 -0
  142. package/src/databases/engines/mssql/connection.ts +66 -14
  143. package/src/databases/engines/mssql/format.ts +3 -1
  144. package/src/databases/engines/mssql/query/index.ts +12 -2
  145. package/src/databases/engines/mysql/connection.ts +30 -13
  146. package/src/databases/engines/mysql/format.ts +3 -1
  147. package/src/databases/engines/mysql/query/index.ts +25 -4
  148. package/src/databases/engines/postgresql/connection.ts +76 -15
  149. package/src/databases/engines/postgresql/format.ts +3 -1
  150. package/src/databases/engines/postgresql/query/index.ts +12 -3
  151. package/src/databases/high-level-operations.ts +13 -2
  152. package/src/index.ts +82 -13
  153. package/src/singletons/queryTimeout.ts +20 -0
  154. package/src/subscriptions/strategies/database.ts +19 -3
  155. package/src/subscriptions/types.ts +4 -1
  156. package/src/subscriptions/utils/polling.ts +6 -3
  157. package/src/types/env.ts +21 -1
  158. package/src/utils/rateLimit.ts +209 -0
  159. package/src/utils/responses.ts +10 -0
  160. package/src/ai/README.md +0 -257
@@ -80,6 +80,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
80
80
  max: z.ZodDefault<z.ZodNumber>;
81
81
  min: z.ZodDefault<z.ZodNumber>;
82
82
  idleTimeout: z.ZodDefault<z.ZodNumber>;
83
+ acquireTimeout: z.ZodDefault<z.ZodNumber>;
83
84
  }, z.core.$strict>>;
84
85
  connectionTimeout: z.ZodDefault<z.ZodNumber>;
85
86
  requestTimeout: z.ZodDefault<z.ZodNumber>;
@@ -458,6 +459,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
458
459
  updateAgeOnHas: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
459
460
  ttlAutopurge: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
460
461
  }, z.core.$strict>>;
462
+ timeout: z.ZodOptional<z.ZodNumber>;
461
463
  }, z.core.$strict>>>>;
462
464
  auth: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodObject<{
463
465
  enabled: z.ZodBoolean;
@@ -485,6 +487,10 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
485
487
  operations: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
486
488
  remoteSchemas: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
487
489
  remoteREST: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
490
+ rateLimit: z.ZodOptional<z.ZodObject<{
491
+ max: z.ZodNumber;
492
+ windowMs: z.ZodOptional<z.ZodNumber>;
493
+ }, z.core.$strict>>;
488
494
  }, z.core.$strict>>>>>;
489
495
  }, z.core.$strict>>>, z.ZodTransform<{
490
496
  enabled: boolean;
@@ -498,6 +504,10 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
498
504
  operations: "ALL" | string[];
499
505
  remoteSchemas: "ALL" | string[];
500
506
  remoteREST: "ALL" | string[];
507
+ rateLimit?: {
508
+ max: number;
509
+ windowMs?: number | undefined;
510
+ } | undefined;
501
511
  tables: "ALL" | {
502
512
  [x: string]: {
503
513
  columns: "ALL" | string[];
@@ -524,6 +534,10 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
524
534
  operations: "ALL" | string[];
525
535
  remoteSchemas: "ALL" | string[];
526
536
  remoteREST: "ALL" | string[];
537
+ rateLimit?: {
538
+ max: number;
539
+ windowMs?: number | undefined;
540
+ } | undefined;
527
541
  }>;
528
542
  }>>;
529
543
  remoteSchemas: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -620,6 +634,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
620
634
  max: number;
621
635
  min: number;
622
636
  idleTimeout: number;
637
+ acquireTimeout: number;
623
638
  };
624
639
  connectionTimeout: number;
625
640
  requestTimeout: number;
@@ -820,6 +835,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
820
835
  updateAgeOnHas: boolean;
821
836
  ttlAutopurge: boolean;
822
837
  } | undefined;
838
+ timeout?: number | undefined;
823
839
  }>;
824
840
  remoteSchemas: {
825
841
  name: string;
@@ -911,6 +927,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
911
927
  max: number;
912
928
  min: number;
913
929
  idleTimeout: number;
930
+ acquireTimeout: number;
914
931
  };
915
932
  connectionTimeout: number;
916
933
  requestTimeout: number;
@@ -932,6 +949,10 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
932
949
  operations: "ALL" | string[];
933
950
  remoteSchemas: "ALL" | string[];
934
951
  remoteREST: "ALL" | string[];
952
+ rateLimit?: {
953
+ max: number;
954
+ windowMs?: number | undefined;
955
+ } | undefined;
935
956
  tables: "ALL" | {
936
957
  [x: string]: {
937
958
  columns: "ALL" | string[];
@@ -998,6 +1019,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
998
1019
  max: number;
999
1020
  min: number;
1000
1021
  idleTimeout: number;
1022
+ acquireTimeout: number;
1001
1023
  };
1002
1024
  connectionTimeout: number;
1003
1025
  requestTimeout: number;
@@ -1071,6 +1093,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1071
1093
  max: number;
1072
1094
  min: number;
1073
1095
  idleTimeout: number;
1096
+ acquireTimeout: number;
1074
1097
  };
1075
1098
  connectionTimeout: number;
1076
1099
  requestTimeout: number;
@@ -1271,6 +1294,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1271
1294
  updateAgeOnHas: boolean;
1272
1295
  ttlAutopurge: boolean;
1273
1296
  } | undefined;
1297
+ timeout?: number | undefined;
1274
1298
  }>;
1275
1299
  auth: {
1276
1300
  enabled: boolean;
@@ -1284,6 +1308,10 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1284
1308
  operations: "ALL" | string[];
1285
1309
  remoteSchemas: "ALL" | string[];
1286
1310
  remoteREST: "ALL" | string[];
1311
+ rateLimit?: {
1312
+ max: number;
1313
+ windowMs?: number | undefined;
1314
+ } | undefined;
1287
1315
  tables: "ALL" | {
1288
1316
  [x: string]: {
1289
1317
  columns: "ALL" | string[];
@@ -1351,12 +1379,21 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1351
1379
  SUPERADMIN_ROLE: z.ZodDefault<z.ZodString>;
1352
1380
  CONSOLE_ENABLED: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
1353
1381
  CONSOLE_ENDPOINT: z.ZodDefault<z.ZodString>;
1382
+ CONSOLE_SESSION_EXPIRES_IN: z.ZodDefault<z.ZodString>;
1354
1383
  PREFIX: z.ZodDefault<z.ZodString>;
1355
1384
  CORS_ENABLED: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
1356
1385
  PRINT_SCHEMAS: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
1357
1386
  SCHEMAS_OUTPUT_DIR: z.ZodDefault<z.ZodString>;
1358
1387
  QUERY_ON_RESPONSE: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
1359
1388
  MAX_QUERY_DEPTH: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1389
+ DEFAULT_PAGE_SIZE: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1390
+ MAX_PAGE_SIZE: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1391
+ QUERY_TIMEOUT_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1392
+ MAX_QUERY_COST: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1393
+ RATE_LIMIT_MAX: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1394
+ RATE_LIMIT_ANONYMOUS_MAX: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1395
+ RATE_LIMIT_WINDOW_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1396
+ RATE_LIMIT_TRUST_PROXY: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
1360
1397
  AI_ENABLED: z.ZodOptional<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
1361
1398
  AI_GRAPHQL_ENABLED: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
1362
1399
  AI_REST_ENABLED: z.ZodDefault<z.ZodCodec<z.ZodString, z.ZodBoolean>>;
@@ -1436,6 +1473,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1436
1473
  max: number;
1437
1474
  min: number;
1438
1475
  idleTimeout: number;
1476
+ acquireTimeout: number;
1439
1477
  };
1440
1478
  connectionTimeout: number;
1441
1479
  requestTimeout: number;
@@ -1636,6 +1674,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1636
1674
  updateAgeOnHas: boolean;
1637
1675
  ttlAutopurge: boolean;
1638
1676
  } | undefined;
1677
+ timeout?: number | undefined;
1639
1678
  }>;
1640
1679
  remoteSchemas: {
1641
1680
  name: string;
@@ -1727,6 +1766,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1727
1766
  max: number;
1728
1767
  min: number;
1729
1768
  idleTimeout: number;
1769
+ acquireTimeout: number;
1730
1770
  };
1731
1771
  connectionTimeout: number;
1732
1772
  requestTimeout: number;
@@ -1748,6 +1788,10 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1748
1788
  operations: "ALL" | string[];
1749
1789
  remoteSchemas: "ALL" | string[];
1750
1790
  remoteREST: "ALL" | string[];
1791
+ rateLimit?: {
1792
+ max: number;
1793
+ windowMs?: number | undefined;
1794
+ } | undefined;
1751
1795
  tables: "ALL" | {
1752
1796
  [x: string]: {
1753
1797
  columns: "ALL" | string[];
@@ -1814,6 +1858,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1814
1858
  max: number;
1815
1859
  min: number;
1816
1860
  idleTimeout: number;
1861
+ acquireTimeout: number;
1817
1862
  };
1818
1863
  connectionTimeout: number;
1819
1864
  requestTimeout: number;
@@ -1837,6 +1882,10 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1837
1882
  authStrategy: "jwt" | "paseto_local" | "paseto_public" | undefined;
1838
1883
  queryOnResponse: boolean;
1839
1884
  maxQueryDepth: number;
1885
+ defaultPageSize: number;
1886
+ maxPageSize: number;
1887
+ queryTimeoutMs: number;
1888
+ maxQueryCost: number;
1840
1889
  admin: {
1841
1890
  secret: string;
1842
1891
  header: string;
@@ -1851,6 +1900,12 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1851
1900
  secretKey: string;
1852
1901
  publicKey: string;
1853
1902
  };
1903
+ rateLimit: {
1904
+ max: number;
1905
+ anonymousMax: number;
1906
+ windowMs: number;
1907
+ trustProxy: boolean;
1908
+ };
1854
1909
  cache: {
1855
1910
  store: "memory" | "redis";
1856
1911
  redisUrl: string;
@@ -1865,6 +1920,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1865
1920
  console: {
1866
1921
  enabled: boolean;
1867
1922
  endpoint: string;
1923
+ sessionExpiresIn: string;
1868
1924
  };
1869
1925
  ai: {
1870
1926
  enabled: boolean | undefined;
@@ -1949,6 +2005,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
1949
2005
  max: number;
1950
2006
  min: number;
1951
2007
  idleTimeout: number;
2008
+ acquireTimeout: number;
1952
2009
  };
1953
2010
  connectionTimeout: number;
1954
2011
  requestTimeout: number;
@@ -2149,6 +2206,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
2149
2206
  updateAgeOnHas: boolean;
2150
2207
  ttlAutopurge: boolean;
2151
2208
  } | undefined;
2209
+ timeout?: number | undefined;
2152
2210
  }>;
2153
2211
  remoteSchemas: {
2154
2212
  name: string;
@@ -2240,6 +2298,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
2240
2298
  max: number;
2241
2299
  min: number;
2242
2300
  idleTimeout: number;
2301
+ acquireTimeout: number;
2243
2302
  };
2244
2303
  connectionTimeout: number;
2245
2304
  requestTimeout: number;
@@ -2261,6 +2320,10 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
2261
2320
  operations: "ALL" | string[];
2262
2321
  remoteSchemas: "ALL" | string[];
2263
2322
  remoteREST: "ALL" | string[];
2323
+ rateLimit?: {
2324
+ max: number;
2325
+ windowMs?: number | undefined;
2326
+ } | undefined;
2264
2327
  tables: "ALL" | {
2265
2328
  [x: string]: {
2266
2329
  columns: "ALL" | string[];
@@ -2327,6 +2390,7 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
2327
2390
  max: number;
2328
2391
  min: number;
2329
2392
  idleTimeout: number;
2393
+ acquireTimeout: number;
2330
2394
  };
2331
2395
  connectionTimeout: number;
2332
2396
  requestTimeout: number;
@@ -2358,12 +2422,21 @@ export declare const EnvZod: z.ZodPipe<z.ZodObject<{
2358
2422
  SUPERADMIN_ROLE: string;
2359
2423
  CONSOLE_ENABLED: boolean;
2360
2424
  CONSOLE_ENDPOINT: string;
2425
+ CONSOLE_SESSION_EXPIRES_IN: string;
2361
2426
  PREFIX: string;
2362
2427
  CORS_ENABLED: boolean;
2363
2428
  PRINT_SCHEMAS: boolean;
2364
2429
  SCHEMAS_OUTPUT_DIR: string;
2365
2430
  QUERY_ON_RESPONSE: boolean;
2366
2431
  MAX_QUERY_DEPTH: number;
2432
+ DEFAULT_PAGE_SIZE: number;
2433
+ MAX_PAGE_SIZE: number;
2434
+ QUERY_TIMEOUT_MS: number;
2435
+ MAX_QUERY_COST: number;
2436
+ RATE_LIMIT_MAX: number;
2437
+ RATE_LIMIT_ANONYMOUS_MAX: number;
2438
+ RATE_LIMIT_WINDOW_MS: number;
2439
+ RATE_LIMIT_TRUST_PROXY: boolean;
2367
2440
  AI_ENABLED?: boolean | undefined;
2368
2441
  AI_GRAPHQL_ENABLED: boolean;
2369
2442
  AI_REST_ENABLED: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/types/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgEb,MAAM;QACN,MAAM;;;QAGN,MAAM;QACN,SAAS;QACT,WAAW;;;QAGX,QAAQ;QACR,SAAS;QACT,SAAS;;;QAGT,KAAK;QACL,QAAQ;;;QAGR,KAAK;QACL,SAAS;;;QAGT,IAAI;;;QAGJ,OAAO;QACP,QAAQ;;;QAGR,OAAO;QACP,cAAc;QACd,WAAW;QACX,GAAG;YACD,OAAO;YACP,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,aAAa;YAKb,iBAAiB;YAKjB,eAAe;;QAMjB,YAAY;QACZ,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAEf,CAAC;AAEN,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,GAAG;IACzC,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM,GAAG,OAAO,MAAM,EAAE,aAAa,CAAC;CAC/D,CAAC;AAEF,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,GAAI,SAAQ,QAAQ;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;CACF"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/types/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6Eb,MAAM;QACN,MAAM;;;QAGN,MAAM;QACN,SAAS;QACT,WAAW;;;QAGX,QAAQ;QACR,SAAS;QACT,SAAS;;;QAGT,GAAG;QACH,YAAY;QACZ,QAAQ;QACR,UAAU;;;QAGV,KAAK;QACL,QAAQ;;;QAGR,KAAK;QACL,SAAS;;;QAGT,IAAI;;;QAGJ,OAAO;QACP,QAAQ;QACR,gBAAgB;;;QAGhB,OAAO;QACP,cAAc;QACd,WAAW;QACX,GAAG;YACD,OAAO;YACP,QAAQ;YACR,kBAAkB;YAClB,aAAa;YACb,aAAa;YAKb,iBAAiB;YAKjB,eAAe;;QAMjB,YAAY;QACZ,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAEf,CAAC;AAEN,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,GAAG;IACzC,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM,GAAG,OAAO,MAAM,EAAE,aAAa,CAAC;CAC/D,CAAC;AAEF,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,GAAI,SAAQ,QAAQ;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;CACF"}
@@ -36,6 +36,10 @@ export declare const AuthZod: import("zod").ZodPipe<import("zod").ZodDefault<imp
36
36
  operations: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodArray<import("zod").ZodString>, import("zod").ZodLiteral<"ALL">]>>>;
37
37
  remoteSchemas: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodArray<import("zod").ZodString>, import("zod").ZodLiteral<"ALL">]>>>;
38
38
  remoteREST: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodArray<import("zod").ZodString>, import("zod").ZodLiteral<"ALL">]>>>;
39
+ rateLimit: import("zod").ZodOptional<import("zod").ZodObject<{
40
+ max: import("zod").ZodNumber;
41
+ windowMs: import("zod").ZodOptional<import("zod").ZodNumber>;
42
+ }, import("zod/v4/core").$strict>>;
39
43
  }, import("zod/v4/core").$strict>>>>>;
40
44
  }, import("zod/v4/core").$strict>>>, import("zod").ZodTransform<{
41
45
  enabled: boolean;
@@ -49,6 +53,10 @@ export declare const AuthZod: import("zod").ZodPipe<import("zod").ZodDefault<imp
49
53
  operations: "ALL" | string[];
50
54
  remoteSchemas: "ALL" | string[];
51
55
  remoteREST: "ALL" | string[];
56
+ rateLimit?: {
57
+ max: number;
58
+ windowMs?: number | undefined;
59
+ } | undefined;
52
60
  tables: "ALL" | TablePermissionsDictionary;
53
61
  };
54
62
  };
@@ -71,6 +79,10 @@ export declare const AuthZod: import("zod").ZodPipe<import("zod").ZodDefault<imp
71
79
  operations: "ALL" | string[];
72
80
  remoteSchemas: "ALL" | string[];
73
81
  remoteREST: "ALL" | string[];
82
+ rateLimit?: {
83
+ max: number;
84
+ windowMs?: number | undefined;
85
+ } | undefined;
74
86
  }>;
75
87
  }>>;
76
88
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/types/zod/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,YAAY,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,cAAc,CAAC;AAMtB,KAAK,0BAA0B,GAAG,MAAM,CACtC,MAAM,EACN;IACE,OAAO,EAAE,KAAK,GAAG,MAAM,EAAE,CAAC;CAC3B,GAAG,WAAW,CAChB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDlB,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/types/zod/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,YAAY,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,cAAc,CAAC;AAMtB,KAAK,0BAA0B,GAAG,MAAM,CACtC,MAAM,EACN;IACE,OAAO,EAAE,KAAK,GAAG,MAAM,EAAE,CAAC;CAC3B,GAAG,WAAW,CAChB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDlB,CAAC"}
@@ -76,6 +76,7 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
76
76
  max: z.ZodDefault<z.ZodNumber>;
77
77
  min: z.ZodDefault<z.ZodNumber>;
78
78
  idleTimeout: z.ZodDefault<z.ZodNumber>;
79
+ acquireTimeout: z.ZodDefault<z.ZodNumber>;
79
80
  }, z.core.$strict>>;
80
81
  connectionTimeout: z.ZodDefault<z.ZodNumber>;
81
82
  requestTimeout: z.ZodDefault<z.ZodNumber>;
@@ -454,6 +455,7 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
454
455
  updateAgeOnHas: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
455
456
  ttlAutopurge: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
456
457
  }, z.core.$strict>>;
458
+ timeout: z.ZodOptional<z.ZodNumber>;
457
459
  }, z.core.$strict>>>>;
458
460
  auth: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodObject<{
459
461
  enabled: z.ZodBoolean;
@@ -481,6 +483,10 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
481
483
  operations: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
482
484
  remoteSchemas: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
483
485
  remoteREST: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodLiteral<"ALL">]>>>;
486
+ rateLimit: z.ZodOptional<z.ZodObject<{
487
+ max: z.ZodNumber;
488
+ windowMs: z.ZodOptional<z.ZodNumber>;
489
+ }, z.core.$strict>>;
484
490
  }, z.core.$strict>>>>>;
485
491
  }, z.core.$strict>>>, z.ZodTransform<{
486
492
  enabled: boolean;
@@ -494,6 +500,10 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
494
500
  operations: "ALL" | string[];
495
501
  remoteSchemas: "ALL" | string[];
496
502
  remoteREST: "ALL" | string[];
503
+ rateLimit?: {
504
+ max: number;
505
+ windowMs?: number | undefined;
506
+ } | undefined;
497
507
  tables: "ALL" | {
498
508
  [x: string]: {
499
509
  columns: "ALL" | string[];
@@ -520,6 +530,10 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
520
530
  operations: "ALL" | string[];
521
531
  remoteSchemas: "ALL" | string[];
522
532
  remoteREST: "ALL" | string[];
533
+ rateLimit?: {
534
+ max: number;
535
+ windowMs?: number | undefined;
536
+ } | undefined;
523
537
  }>;
524
538
  }>>;
525
539
  remoteSchemas: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -616,6 +630,7 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
616
630
  max: number;
617
631
  min: number;
618
632
  idleTimeout: number;
633
+ acquireTimeout: number;
619
634
  };
620
635
  connectionTimeout: number;
621
636
  requestTimeout: number;
@@ -816,6 +831,7 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
816
831
  updateAgeOnHas: boolean;
817
832
  ttlAutopurge: boolean;
818
833
  } | undefined;
834
+ timeout?: number | undefined;
819
835
  }>;
820
836
  remoteSchemas: {
821
837
  name: string;
@@ -907,6 +923,7 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
907
923
  max: number;
908
924
  min: number;
909
925
  idleTimeout: number;
926
+ acquireTimeout: number;
910
927
  };
911
928
  connectionTimeout: number;
912
929
  requestTimeout: number;
@@ -928,6 +945,10 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
928
945
  operations: "ALL" | string[];
929
946
  remoteSchemas: "ALL" | string[];
930
947
  remoteREST: "ALL" | string[];
948
+ rateLimit?: {
949
+ max: number;
950
+ windowMs?: number | undefined;
951
+ } | undefined;
931
952
  tables: "ALL" | {
932
953
  [x: string]: {
933
954
  columns: "ALL" | string[];
@@ -994,6 +1015,7 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
994
1015
  max: number;
995
1016
  min: number;
996
1017
  idleTimeout: number;
1018
+ acquireTimeout: number;
997
1019
  };
998
1020
  connectionTimeout: number;
999
1021
  requestTimeout: number;
@@ -1067,6 +1089,7 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
1067
1089
  max: number;
1068
1090
  min: number;
1069
1091
  idleTimeout: number;
1092
+ acquireTimeout: number;
1070
1093
  };
1071
1094
  connectionTimeout: number;
1072
1095
  requestTimeout: number;
@@ -1267,6 +1290,7 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
1267
1290
  updateAgeOnHas: boolean;
1268
1291
  ttlAutopurge: boolean;
1269
1292
  } | undefined;
1293
+ timeout?: number | undefined;
1270
1294
  }>;
1271
1295
  auth: {
1272
1296
  enabled: boolean;
@@ -1280,6 +1304,10 @@ export declare const ConfigurationZod: z.ZodPipe<z.ZodObject<{
1280
1304
  operations: "ALL" | string[];
1281
1305
  remoteSchemas: "ALL" | string[];
1282
1306
  remoteREST: "ALL" | string[];
1307
+ rateLimit?: {
1308
+ max: number;
1309
+ windowMs?: number | undefined;
1310
+ } | undefined;
1283
1311
  tables: "ALL" | {
1284
1312
  [x: string]: {
1285
1313
  columns: "ALL" | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../../src/types/zod/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCxB,CAAC"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../../src/types/zod/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCxB,CAAC"}
@@ -0,0 +1,65 @@
1
+ export type ConsumeResult = {
2
+ allowed: boolean;
3
+ retryAfterMs: number;
4
+ };
5
+ /**
6
+ * One method, everything per call: a role with its own limit shares the store
7
+ * with every other role rather than needing an instance of its own.
8
+ */
9
+ export interface RateLimitStore {
10
+ consume(key: string, capacity: number, refillPerMs: number, ttlMs: number): Promise<ConsumeResult>;
11
+ }
12
+ export type MemoryRateLimitStoreOptions = {
13
+ now?: () => number;
14
+ maxKeys?: number;
15
+ };
16
+ export declare const createMemoryRateLimitStore: ({ now, maxKeys, }?: MemoryRateLimitStoreOptions) => RateLimitStore;
17
+ export type RateLimitRedisClient = {
18
+ send(command: string, args: string[]): Promise<unknown>;
19
+ };
20
+ type RateLimitLogger = {
21
+ warn(obj: object, msg: string): void;
22
+ };
23
+ export type RedisRateLimitStoreOptions = {
24
+ now?: () => number;
25
+ log?: RateLimitLogger;
26
+ };
27
+ export declare const createRedisRateLimitStore: (client: RateLimitRedisClient, { now, log }?: RedisRateLimitStoreOptions) => RateLimitStore;
28
+ export type RateLimitSettings = {
29
+ max: number;
30
+ anonymousMax: number;
31
+ windowMs: number;
32
+ trustProxy: boolean;
33
+ };
34
+ type RoleRateLimit = {
35
+ rateLimit?: {
36
+ max: number;
37
+ windowMs?: number;
38
+ } | undefined;
39
+ };
40
+ export type RateLimiter = {
41
+ check(session: {
42
+ role?: string | undefined;
43
+ sub?: string | undefined;
44
+ } | null, address: string | undefined): Promise<ConsumeResult>;
45
+ };
46
+ export type CreateRateLimiterOptions = {
47
+ settings: RateLimitSettings;
48
+ anonymousRole: string;
49
+ permissions?: Record<string, RoleRateLimit | undefined>;
50
+ /** A factory is only called once a limit is configured, so a disabled
51
+ * limiter never constructs a store — or a Redis client. */
52
+ store?: RateLimitStore | (() => RateLimitStore);
53
+ };
54
+ export declare const resolveClientAddress: (req: Request, server: {
55
+ requestIP(req: Request): {
56
+ address: string;
57
+ } | null;
58
+ } | undefined, trustProxy: boolean) => string | undefined;
59
+ /**
60
+ * `undefined` when nothing is configured, so the caller can skip the wrapper
61
+ * entirely and the shipped default costs nothing per request.
62
+ */
63
+ export declare const createRateLimiter: ({ settings, anonymousRole, permissions, store, }: CreateRateLimiterOptions) => RateLimiter | undefined;
64
+ export {};
65
+ //# sourceMappingURL=rateLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../../../src/utils/rateLimit.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CACL,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B;AAID,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,eAAO,MAAM,0BAA0B,uBAGpC,2BAA2B,KAAQ,cAuBrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD,CAAC;AAEF,KAAK,eAAe,GAAG;IAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB,CAAC;AAiBF,eAAO,MAAM,yBAAyB,WAC5B,oBAAoB,iBACoB,0BAA0B,KACzE,cAoCF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CACH,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,EACvE,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;IACxD;+DAC2D;IAC3D,KAAK,CAAC,EAAE,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC;CACjD,CAAC;AAMF,eAAO,MAAM,oBAAoB,QAC1B,OAAO,UACJ;IAAE,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,cAC/D,OAAO,KAClB,MAAM,GAAG,SAOX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,qDAK3B,wBAAwB,KAAG,WAAW,GAAG,SAkC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rateLimit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rateLimit.test.d.ts","sourceRoot":"","sources":["../../../src/utils/rateLimit.test.ts"],"names":[],"mappings":""}
@@ -13,6 +13,9 @@ export declare class S401 extends ClientResponse {
13
13
  export declare class S404 extends ClientResponse {
14
14
  constructor(body?: object | null, init?: ResponseInit);
15
15
  }
16
+ export declare class S429 extends ClientResponse {
17
+ constructor(retryAfterMs: number);
18
+ }
16
19
  export declare class S500 extends ClientResponse {
17
20
  constructor(body?: object | null, init?: ResponseInit);
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/utils/responses.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EASpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF"}
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/utils/responses.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EASpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,YAAY,EAAE,MAAM,EAM/B;CACF;AAED,qBAAa,IAAK,SAAQ,cAAc;IACtC,YAAY,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,YAAY,EAEpD;CACF"}