@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.
- package/README.md +25 -20
- package/dist/src/ai/tools/core.d.ts +6 -1
- package/dist/src/ai/tools/core.d.ts.map +1 -1
- package/dist/src/ai/tools/core.test.d.ts +2 -0
- package/dist/src/ai/tools/core.test.d.ts.map +1 -0
- package/dist/src/analyzeQuery/costLimit.d.ts +30 -0
- package/dist/src/analyzeQuery/costLimit.d.ts.map +1 -0
- package/dist/src/analyzeQuery/costLimit.test.d.ts +2 -0
- package/dist/src/analyzeQuery/costLimit.test.d.ts.map +1 -0
- package/dist/src/analyzeQuery/depthLimit.d.ts.map +1 -1
- package/dist/src/analyzeQuery/fragments.d.ts +6 -0
- package/dist/src/analyzeQuery/fragments.d.ts.map +1 -0
- package/dist/src/config/types/ai.d.ts +0 -6
- package/dist/src/config/types/ai.d.ts.map +1 -1
- package/dist/src/config/types/auth.d.ts +8 -29
- package/dist/src/config/types/auth.d.ts.map +1 -1
- package/dist/src/config/types/cron.d.ts +0 -94
- package/dist/src/config/types/cron.d.ts.map +1 -1
- package/dist/src/config/types/db.d.ts +2 -87
- package/dist/src/config/types/db.d.ts.map +1 -1
- package/dist/src/config/types/operation.d.ts +4 -0
- package/dist/src/config/types/operation.d.ts.map +1 -1
- package/dist/src/config/types/operation.test.d.ts +2 -0
- package/dist/src/config/types/operation.test.d.ts.map +1 -0
- package/dist/src/config/types/queue.d.ts +0 -47
- package/dist/src/config/types/queue.d.ts.map +1 -1
- package/dist/src/config/types/remote-rest.d.ts +0 -9
- package/dist/src/config/types/remote-rest.d.ts.map +1 -1
- package/dist/src/config/types/remote-schema.d.ts +0 -10
- package/dist/src/config/types/remote-schema.d.ts.map +1 -1
- package/dist/src/configuration/crossReferences.d.ts +27 -0
- package/dist/src/configuration/crossReferences.d.ts.map +1 -0
- package/dist/src/configuration/crossReferences.test.d.ts +2 -0
- package/dist/src/configuration/crossReferences.test.d.ts.map +1 -0
- package/dist/src/configuration/getSchemas/index.d.ts +70 -4
- package/dist/src/configuration/getSchemas/index.d.ts.map +1 -1
- package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts +3 -0
- package/dist/src/configuration/getSchemas/mergeEntities/index.d.ts.map +1 -1
- package/dist/src/configuration/gql/handleGraphQLRequestFactory.d.ts +32 -2
- package/dist/src/configuration/gql/handleGraphQLRequestFactory.d.ts.map +1 -1
- package/dist/src/configuration/gql/handleGraphQLSubscriptionFactory.d.ts.map +1 -1
- package/dist/src/configuration/index.d.ts +41 -2
- package/dist/src/configuration/index.d.ts.map +1 -1
- package/dist/src/configuration/rest/handleRESTRequestFactory.d.ts.map +1 -1
- package/dist/src/configuration/rest/index.d.ts.map +1 -1
- package/dist/src/console/api.d.ts +7 -5
- package/dist/src/console/api.d.ts.map +1 -1
- package/dist/src/console/session.d.ts +21 -0
- package/dist/src/console/session.d.ts.map +1 -0
- package/dist/src/console/session.test.d.ts +2 -0
- package/dist/src/console/session.test.d.ts.map +1 -0
- package/dist/src/cron/index.d.ts +1 -1
- package/dist/src/cron/index.d.ts.map +1 -1
- package/dist/src/cron/index.test.d.ts +2 -0
- package/dist/src/cron/index.test.d.ts.map +1 -0
- package/dist/src/databases/common.d.ts +12 -4
- package/dist/src/databases/common.d.ts.map +1 -1
- package/dist/src/databases/core/executor.d.ts +6 -2
- package/dist/src/databases/core/executor.d.ts.map +1 -1
- package/dist/src/databases/core/function-mapping.d.ts +4 -3
- package/dist/src/databases/core/function-mapping.d.ts.map +1 -1
- package/dist/src/databases/core/query-builder.d.ts +7 -1
- package/dist/src/databases/core/query-builder.d.ts.map +1 -1
- package/dist/src/databases/engines/mssql/connection.d.ts +29 -6
- package/dist/src/databases/engines/mssql/connection.d.ts.map +1 -1
- package/dist/src/databases/engines/mssql/connection.test.d.ts +2 -0
- package/dist/src/databases/engines/mssql/connection.test.d.ts.map +1 -0
- package/dist/src/databases/engines/mssql/format.d.ts +2 -1
- package/dist/src/databases/engines/mssql/format.d.ts.map +1 -1
- package/dist/src/databases/engines/mssql/query/index.d.ts +3 -2
- package/dist/src/databases/engines/mssql/query/index.d.ts.map +1 -1
- package/dist/src/databases/engines/mysql/connection.d.ts +16 -0
- package/dist/src/databases/engines/mysql/connection.d.ts.map +1 -1
- package/dist/src/databases/engines/mysql/connection.test.d.ts +2 -0
- package/dist/src/databases/engines/mysql/connection.test.d.ts.map +1 -0
- package/dist/src/databases/engines/mysql/format.d.ts +2 -1
- package/dist/src/databases/engines/mysql/format.d.ts.map +1 -1
- package/dist/src/databases/engines/mysql/query/index.d.ts +3 -2
- package/dist/src/databases/engines/mysql/query/index.d.ts.map +1 -1
- package/dist/src/databases/engines/postgresql/connection.d.ts +25 -6
- package/dist/src/databases/engines/postgresql/connection.d.ts.map +1 -1
- package/dist/src/databases/engines/postgresql/connection.test.d.ts +2 -0
- package/dist/src/databases/engines/postgresql/connection.test.d.ts.map +1 -0
- package/dist/src/databases/engines/postgresql/format.d.ts +2 -1
- package/dist/src/databases/engines/postgresql/format.d.ts.map +1 -1
- package/dist/src/databases/engines/postgresql/query/index.d.ts +3 -2
- package/dist/src/databases/engines/postgresql/query/index.d.ts.map +1 -1
- package/dist/src/databases/high-level-operations.d.ts +2 -0
- package/dist/src/databases/high-level-operations.d.ts.map +1 -1
- package/dist/src/databases/transformers/data-transformers.d.ts +2 -0
- package/dist/src/databases/transformers/data-transformers.d.ts.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/singletons/env.d.ts +19 -0
- package/dist/src/singletons/env.d.ts.map +1 -1
- package/dist/src/singletons/queryTimeout.d.ts +3 -0
- package/dist/src/singletons/queryTimeout.d.ts.map +1 -0
- package/dist/src/subscriptions/strategies/database.d.ts.map +1 -1
- package/dist/src/subscriptions/strategies/database.test.d.ts +2 -0
- package/dist/src/subscriptions/strategies/database.test.d.ts.map +1 -0
- package/dist/src/subscriptions/types.d.ts +4 -1
- package/dist/src/subscriptions/types.d.ts.map +1 -1
- package/dist/src/subscriptions/utils/polling.d.ts.map +1 -1
- package/dist/src/types/env.d.ts +73 -0
- package/dist/src/types/env.d.ts.map +1 -1
- package/dist/src/types/zod/auth.d.ts +12 -0
- package/dist/src/types/zod/auth.d.ts.map +1 -1
- package/dist/src/types/zod/configuration.d.ts +28 -0
- package/dist/src/types/zod/configuration.d.ts.map +1 -1
- package/dist/src/utils/rateLimit.d.ts +65 -0
- package/dist/src/utils/rateLimit.d.ts.map +1 -0
- package/dist/src/utils/rateLimit.test.d.ts +2 -0
- package/dist/src/utils/rateLimit.test.d.ts.map +1 -0
- package/dist/src/utils/responses.d.ts +3 -0
- package/dist/src/utils/responses.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -13
- package/playgrounds/console/index.html +7 -7
- package/playgrounds/graphiql/index.html +535 -536
- package/playgrounds/scalar/index.html +1 -1
- package/src/ai/tools/core.ts +30 -6
- package/src/analyzeQuery/costLimit.ts +236 -0
- package/src/analyzeQuery/depthLimit.ts +4 -23
- package/src/analyzeQuery/fragments.ts +18 -0
- package/src/config/types/auth.ts +7 -0
- package/src/config/types/db.ts +7 -0
- package/src/config/types/operation.ts +4 -0
- package/src/configuration/crossReferences.ts +340 -0
- package/src/configuration/getSchemas/type-definition-generator/index.ts +1 -1
- package/src/configuration/gql/buildExecute.ts +1 -1
- package/src/configuration/gql/handleGraphQLRequestFactory.ts +80 -10
- package/src/configuration/gql/handleGraphQLSubscriptionFactory.ts +22 -2
- package/src/configuration/index.ts +24 -6
- package/src/configuration/rest/handleRESTRequestFactory.ts +6 -4
- package/src/configuration/rest/index.ts +11 -2
- package/src/console/api.ts +51 -10
- package/src/console/session.ts +125 -0
- package/src/cron/index.ts +6 -2
- package/src/databases/common.ts +55 -10
- package/src/databases/core/executor.ts +12 -2
- package/src/databases/core/function-mapping.ts +5 -0
- package/src/databases/core/query-builder.ts +7 -0
- package/src/databases/engines/mssql/connection.ts +66 -14
- package/src/databases/engines/mssql/format.ts +3 -1
- package/src/databases/engines/mssql/query/index.ts +12 -2
- package/src/databases/engines/mysql/connection.ts +30 -13
- package/src/databases/engines/mysql/format.ts +3 -1
- package/src/databases/engines/mysql/query/index.ts +25 -4
- package/src/databases/engines/postgresql/connection.ts +76 -15
- package/src/databases/engines/postgresql/format.ts +3 -1
- package/src/databases/engines/postgresql/query/index.ts +12 -3
- package/src/databases/high-level-operations.ts +13 -2
- package/src/index.ts +82 -13
- package/src/singletons/queryTimeout.ts +20 -0
- package/src/subscriptions/strategies/database.ts +19 -3
- package/src/subscriptions/types.ts +4 -1
- package/src/subscriptions/utils/polling.ts +6 -3
- package/src/types/env.ts +21 -1
- package/src/utils/rateLimit.ts +209 -0
- package/src/utils/responses.ts +10 -0
- package/src/ai/README.md +0 -257
package/dist/src/types/env.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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 @@
|
|
|
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"}
|