@forklaunch/core 1.5.2 → 1.5.4
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/lib/cache/{index.d.mts → cacheKey.d.ts} +2 -6
- package/lib/cache/cacheKey.d.ts.map +1 -0
- package/lib/cache/index.d.ts +4 -15
- package/lib/cache/index.d.ts.map +1 -0
- package/lib/{ttlCache.interface-B3xaLT00.d.ts → cache/interfaces/ttlCache.interface.d.ts} +3 -5
- package/lib/cache/interfaces/ttlCache.interface.d.ts.map +1 -0
- package/lib/{ttlCacheRecord.types-oX0ti5SP.d.mts → cache/types/ttlCacheRecord.types.d.ts} +3 -4
- package/lib/cache/types/ttlCacheRecord.types.d.ts.map +1 -0
- package/lib/controllers/index.d.ts +2 -13
- package/lib/controllers/index.d.ts.map +1 -0
- package/lib/controllers/{index.d.mts → interfaces/controller.interface.d.ts} +2 -3
- package/lib/controllers/interfaces/controller.interface.d.ts.map +1 -0
- package/lib/environment/index.d.ts +2 -28
- package/lib/environment/index.d.ts.map +1 -0
- package/lib/environment/{index.d.mts → loadCascadingEnv.d.ts} +4 -5
- package/lib/environment/loadCascadingEnv.d.ts.map +1 -0
- package/lib/http/application/expressLikeApplication.d.ts +34 -0
- package/lib/http/application/expressLikeApplication.d.ts.map +1 -0
- package/lib/http/bootstrap/listen.d.ts +2 -0
- package/lib/http/bootstrap/listen.d.ts.map +1 -0
- package/lib/http/cluster/cluster.types.d.ts +17 -0
- package/lib/http/cluster/cluster.types.d.ts.map +1 -0
- package/lib/http/cluster/isPortBound.d.ts +2 -0
- package/lib/http/cluster/isPortBound.d.ts.map +1 -0
- package/lib/http/createHmacToken.d.ts +19 -0
- package/lib/http/createHmacToken.d.ts.map +1 -0
- package/lib/http/discriminateAuthMethod.d.ts +85 -0
- package/lib/http/discriminateAuthMethod.d.ts.map +1 -0
- package/lib/http/generateHmacAuthHeaders.d.ts +31 -0
- package/lib/http/generateHmacAuthHeaders.d.ts.map +1 -0
- package/lib/http/guards/hasFeatureChecks.d.ts +2 -0
- package/lib/http/guards/hasFeatureChecks.d.ts.map +1 -0
- package/lib/http/guards/hasPermissionChecks.d.ts +2 -0
- package/lib/http/guards/hasPermissionChecks.d.ts.map +1 -0
- package/lib/http/guards/hasRoleChecks.d.ts +2 -0
- package/lib/http/guards/hasRoleChecks.d.ts.map +1 -0
- package/lib/http/guards/hasScopeChecks.d.ts +2 -0
- package/lib/http/guards/hasScopeChecks.d.ts.map +1 -0
- package/lib/http/guards/hasSend.d.ts +17 -0
- package/lib/http/guards/hasSend.d.ts.map +1 -0
- package/lib/http/guards/hasSubscriptionChecks.d.ts +2 -0
- package/lib/http/guards/hasSubscriptionChecks.d.ts.map +1 -0
- package/lib/http/guards/hasVersionedSchema.d.ts +2 -0
- package/lib/http/guards/hasVersionedSchema.d.ts.map +1 -0
- package/lib/http/guards/isBasicAuthMethod.d.ts +3 -0
- package/lib/http/guards/isBasicAuthMethod.d.ts.map +1 -0
- package/lib/http/guards/isConstrainedForklaunchRouter.d.ts +21 -0
- package/lib/http/guards/isConstrainedForklaunchRouter.d.ts.map +1 -0
- package/lib/http/guards/isExpressLikeSchemaHandler.d.ts +32 -0
- package/lib/http/guards/isExpressLikeSchemaHandler.d.ts.map +1 -0
- package/lib/http/guards/isForklaunchExpressLikeRouter.d.ts +28 -0
- package/lib/http/guards/isForklaunchExpressLikeRouter.d.ts.map +1 -0
- package/lib/http/guards/isForklaunchRequest.d.ts +26 -0
- package/lib/http/guards/isForklaunchRequest.d.ts.map +1 -0
- package/lib/http/guards/isForklaunchResponse.d.ts +23 -0
- package/lib/http/guards/isForklaunchResponse.d.ts.map +1 -0
- package/lib/http/guards/isForklaunchRouter.d.ts +21 -0
- package/lib/http/guards/isForklaunchRouter.d.ts.map +1 -0
- package/lib/http/guards/isHmacMethod.d.ts +9 -0
- package/lib/http/guards/isHmacMethod.d.ts.map +1 -0
- package/lib/http/guards/isHttpContractDetails.d.ts +29 -0
- package/lib/http/guards/isHttpContractDetails.d.ts.map +1 -0
- package/lib/http/guards/isJwtAuthMethod.d.ts +3 -0
- package/lib/http/guards/isJwtAuthMethod.d.ts.map +1 -0
- package/lib/http/guards/isLoggerMeta.d.ts +3 -0
- package/lib/http/guards/isLoggerMeta.d.ts.map +1 -0
- package/lib/http/guards/isPath.d.ts +2 -0
- package/lib/http/guards/isPath.d.ts.map +1 -0
- package/lib/http/guards/isPathParamContractDetails.d.ts +4 -0
- package/lib/http/guards/isPathParamContractDetails.d.ts.map +1 -0
- package/lib/http/guards/isRequestShape.d.ts +3 -0
- package/lib/http/guards/isRequestShape.d.ts.map +1 -0
- package/lib/http/guards/isResponseCompiledSchema.d.ts +3 -0
- package/lib/http/guards/isResponseCompiledSchema.d.ts.map +1 -0
- package/lib/http/guards/isSdkHandler.d.ts +9 -0
- package/lib/http/guards/isSdkHandler.d.ts.map +1 -0
- package/lib/http/guards/isSdkRouter.d.ts +9 -0
- package/lib/http/guards/isSdkRouter.d.ts.map +1 -0
- package/lib/http/guards/isTypedHandler.d.ts +5 -0
- package/lib/http/guards/isTypedHandler.d.ts.map +1 -0
- package/lib/http/guards/isVersionedInputSchema.d.ts +3 -0
- package/lib/http/guards/isVersionedInputSchema.d.ts.map +1 -0
- package/lib/http/handlers/delete.d.ts +5 -0
- package/lib/http/handlers/delete.d.ts.map +1 -0
- package/lib/http/handlers/get.d.ts +5 -0
- package/lib/http/handlers/get.d.ts.map +1 -0
- package/lib/http/handlers/head.d.ts +5 -0
- package/lib/http/handlers/head.d.ts.map +1 -0
- package/lib/http/handlers/middleware.d.ts +10 -0
- package/lib/http/handlers/middleware.d.ts.map +1 -0
- package/lib/http/handlers/options.d.ts +5 -0
- package/lib/http/handlers/options.d.ts.map +1 -0
- package/lib/http/handlers/patch.d.ts +5 -0
- package/lib/http/handlers/patch.d.ts.map +1 -0
- package/lib/http/handlers/post.d.ts +5 -0
- package/lib/http/handlers/post.d.ts.map +1 -0
- package/lib/http/handlers/put.d.ts +5 -0
- package/lib/http/handlers/put.d.ts.map +1 -0
- package/lib/http/handlers/trace.d.ts +5 -0
- package/lib/http/handlers/trace.d.ts.map +1 -0
- package/lib/http/handlers/typedAuthHandler.d.ts +5 -0
- package/lib/http/handlers/typedAuthHandler.d.ts.map +1 -0
- package/lib/http/handlers/typedHandler.d.ts +14 -0
- package/lib/http/handlers/typedHandler.d.ts.map +1 -0
- package/lib/http/httpStatusCodes.d.ts +75 -0
- package/lib/http/httpStatusCodes.d.ts.map +1 -0
- package/lib/http/index.d.ts +47 -1244
- package/lib/http/index.d.ts.map +1 -0
- package/lib/http/index.js +445 -410
- package/lib/http/index.js.map +1 -1
- package/lib/http/index.mjs +439 -407
- package/lib/http/index.mjs.map +1 -1
- package/lib/http/interfaces/expressLikeRouter.interface.d.ts +25 -0
- package/lib/http/interfaces/expressLikeRouter.interface.d.ts.map +1 -0
- package/lib/http/mcpGenerator/mcpGenerator.d.ts +17 -0
- package/lib/http/mcpGenerator/mcpGenerator.d.ts.map +1 -0
- package/lib/http/middleware/request/auth.middleware.d.ts +16 -0
- package/lib/http/middleware/request/auth.middleware.d.ts.map +1 -0
- package/lib/http/middleware/request/cors.middleware.d.ts +13 -0
- package/lib/http/middleware/request/cors.middleware.d.ts.map +1 -0
- package/lib/http/middleware/request/createContext.middleware.d.ts +15 -0
- package/lib/http/middleware/request/createContext.middleware.d.ts.map +1 -0
- package/lib/http/middleware/request/enrichDetails.middleware.d.ts +18 -0
- package/lib/http/middleware/request/enrichDetails.middleware.d.ts.map +1 -0
- package/lib/http/middleware/request/parse.middleware.d.ts +17 -0
- package/lib/http/middleware/request/parse.middleware.d.ts.map +1 -0
- package/lib/http/middleware/request/tenantContext.middleware.d.ts +41 -0
- package/lib/http/middleware/request/tenantContext.middleware.d.ts.map +1 -0
- package/lib/http/middleware/response/enrichExpressLikeSend.middleware.d.ts +32 -0
- package/lib/http/middleware/response/enrichExpressLikeSend.middleware.d.ts.map +1 -0
- package/lib/http/middleware/response/parse.middleware.d.ts +31 -0
- package/lib/http/middleware/response/parse.middleware.d.ts.map +1 -0
- package/lib/http/openApiV3Generator/openApiV3Generator.d.ts +17 -0
- package/lib/http/openApiV3Generator/openApiV3Generator.d.ts.map +1 -0
- package/lib/http/rateLimit/index.d.ts +2 -0
- package/lib/http/rateLimit/index.d.ts.map +1 -0
- package/lib/http/rateLimit/rateLimiter.d.ts +66 -0
- package/lib/http/rateLimit/rateLimiter.d.ts.map +1 -0
- package/lib/http/router/discriminateBody.d.ts +43 -0
- package/lib/http/router/discriminateBody.d.ts.map +1 -0
- package/lib/http/router/expressLikeRouter.d.ts +240 -0
- package/lib/http/router/expressLikeRouter.d.ts.map +1 -0
- package/lib/http/router/routerSharedLogic.d.ts +50 -0
- package/lib/http/router/routerSharedLogic.d.ts.map +1 -0
- package/lib/http/router/unpackRouters.d.ts +7 -0
- package/lib/http/router/unpackRouters.d.ts.map +1 -0
- package/lib/http/telemetry/auditLogger.d.ts +21 -0
- package/lib/http/telemetry/auditLogger.d.ts.map +1 -0
- package/lib/http/telemetry/constants.d.ts +6 -0
- package/lib/http/telemetry/constants.d.ts.map +1 -0
- package/lib/http/telemetry/evaluateTelemetryOptions.d.ts +11 -0
- package/lib/http/telemetry/evaluateTelemetryOptions.d.ts.map +1 -0
- package/lib/http/telemetry/metricsDefinition.d.ts +3 -0
- package/lib/http/telemetry/metricsDefinition.d.ts.map +1 -0
- package/lib/http/telemetry/openTelemetryCollector.d.ts +53 -0
- package/lib/http/telemetry/openTelemetryCollector.d.ts.map +1 -0
- package/lib/http/telemetry/pinoLogger.d.ts +20 -0
- package/lib/http/telemetry/pinoLogger.d.ts.map +1 -0
- package/lib/http/telemetry/recordMetric.d.ts +5 -0
- package/lib/http/telemetry/recordMetric.d.ts.map +1 -0
- package/lib/http/types/apiDefinition.types.d.ts +471 -0
- package/lib/http/types/apiDefinition.types.d.ts.map +1 -0
- package/lib/http/types/contractDetails.types.d.ts +404 -0
- package/lib/http/types/contractDetails.types.d.ts.map +1 -0
- package/lib/http/types/docsConfiguration.types.d.ts +7 -0
- package/lib/http/types/docsConfiguration.types.d.ts.map +1 -0
- package/lib/http/types/expressLikeOptions.d.ts +224 -0
- package/lib/http/types/expressLikeOptions.d.ts.map +1 -0
- package/lib/http/types/expressLikeRouter.types.d.ts +127 -0
- package/lib/http/types/expressLikeRouter.types.d.ts.map +1 -0
- package/lib/http/types/openTelemetryCollector.types.d.ts +21 -0
- package/lib/http/types/openTelemetryCollector.types.d.ts.map +1 -0
- package/lib/http/types/router.types.d.ts +52 -0
- package/lib/http/types/router.types.d.ts.map +1 -0
- package/lib/http/types/sdk.types.d.ts +259 -0
- package/lib/http/types/sdk.types.d.ts.map +1 -0
- package/lib/http/types/typedHandler.types.d.ts +18 -0
- package/lib/http/types/typedHandler.types.d.ts.map +1 -0
- package/lib/mappers/guards/isSchemaResolutionFunction.d.ts +10 -0
- package/lib/mappers/guards/isSchemaResolutionFunction.d.ts.map +1 -0
- package/lib/mappers/index.d.ts +3 -68
- package/lib/mappers/index.d.ts.map +1 -0
- package/lib/mappers/mapServiceSchemas.d.ts +33 -0
- package/lib/mappers/mapServiceSchemas.d.ts.map +1 -0
- package/lib/mappers/mapper.d.ts +26 -0
- package/lib/mappers/mapper.d.ts.map +1 -0
- package/lib/mappers/types/schemaResolution.types.d.ts +9 -0
- package/lib/mappers/types/schemaResolution.types.d.ts.map +1 -0
- package/lib/objectstore/index.d.ts +3 -71
- package/lib/objectstore/index.d.ts.map +1 -0
- package/lib/objectstore/{index.d.mts → interfaces/objectstore.interface.d.ts} +3 -16
- package/lib/objectstore/interfaces/objectstore.interface.d.ts.map +1 -0
- package/lib/objectstore/objectstoreKey.d.ts +11 -0
- package/lib/objectstore/objectstoreKey.d.ts.map +1 -0
- package/lib/persistence/complianceEventSubscriber.d.ts +13 -0
- package/lib/persistence/complianceEventSubscriber.d.ts.map +1 -0
- package/lib/persistence/compliancePropertyBuilder.d.ts +26 -0
- package/lib/persistence/compliancePropertyBuilder.d.ts.map +1 -0
- package/lib/persistence/complianceTypes.d.ts +64 -0
- package/lib/persistence/complianceTypes.d.ts.map +1 -0
- package/lib/persistence/defineComplianceEntity.d.ts +19 -0
- package/lib/persistence/defineComplianceEntity.d.ts.map +1 -0
- package/lib/persistence/encryptedType.d.ts +85 -0
- package/lib/persistence/encryptedType.d.ts.map +1 -0
- package/lib/persistence/fieldEncryptor.d.ts +48 -0
- package/lib/persistence/fieldEncryptor.d.ts.map +1 -0
- package/lib/persistence/index.d.ts +10 -403
- package/lib/persistence/index.d.ts.map +1 -0
- package/lib/persistence/index.js.map +1 -1
- package/lib/persistence/index.mjs.map +1 -1
- package/lib/persistence/rls.d.ts +56 -0
- package/lib/persistence/rls.d.ts.map +1 -0
- package/lib/persistence/tenantEm.d.ts +60 -0
- package/lib/persistence/tenantEm.d.ts.map +1 -0
- package/lib/persistence/tenantFilter.d.ts +47 -0
- package/lib/persistence/tenantFilter.d.ts.map +1 -0
- package/lib/secrets/index.d.ts +2 -0
- package/lib/secrets/index.d.ts.map +1 -0
- package/lib/secrets/secretsAccessor.d.ts +17 -0
- package/lib/secrets/secretsAccessor.d.ts.map +1 -0
- package/lib/services/complianceDataService.d.ts +47 -0
- package/lib/services/complianceDataService.d.ts.map +1 -0
- package/lib/services/configInjector.d.ts +43 -0
- package/lib/services/configInjector.d.ts.map +1 -0
- package/lib/services/guards/isConstructed.d.ts +3 -0
- package/lib/services/guards/isConstructed.d.ts.map +1 -0
- package/lib/services/guards/isConstructedSingleton.d.ts +3 -0
- package/lib/services/guards/isConstructedSingleton.d.ts.map +1 -0
- package/lib/services/guards/isConstructor.d.ts +3 -0
- package/lib/services/guards/isConstructor.d.ts.map +1 -0
- package/lib/services/index.d.ts +10 -184
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/retentionService.d.ts +31 -0
- package/lib/services/retentionService.d.ts.map +1 -0
- package/lib/services/runRetentionEnforcement.d.ts +19 -0
- package/lib/services/runRetentionEnforcement.d.ts.map +1 -0
- package/lib/services/types/configInjector.types.d.ts +39 -0
- package/lib/services/types/configInjector.types.d.ts.map +1 -0
- package/lib/services/types/entityManager.types.d.ts +4 -0
- package/lib/services/types/entityManager.types.d.ts.map +1 -0
- package/lib/services/types/service.types.d.ts +5 -0
- package/lib/services/types/service.types.d.ts.map +1 -0
- package/lib/ws/asyncApiV3Generator/asyncApiV3Generator.d.ts +12 -0
- package/lib/ws/asyncApiV3Generator/asyncApiV3Generator.d.ts.map +1 -0
- package/lib/ws/index.d.ts +4 -67
- package/lib/ws/index.d.ts.map +1 -0
- package/lib/ws/index.js.map +1 -1
- package/lib/ws/index.mjs.map +1 -1
- package/lib/ws/types/eventSchema.types.d.ts +28 -0
- package/lib/ws/types/eventSchema.types.d.ts.map +1 -0
- package/lib/ws/webSocketLike.d.ts +18 -0
- package/lib/ws/webSocketLike.d.ts.map +1 -0
- package/package.json +33 -33
- package/lib/apiDefinition.types-DF_crhB0.d.mts +0 -1092
- package/lib/apiDefinition.types-DW4lfZqy.d.ts +0 -1092
- package/lib/http/index.d.mts +0 -1244
- package/lib/mappers/index.d.mts +0 -68
- package/lib/openTelemetryCollector-BS-ej09T.d.mts +0 -70
- package/lib/openTelemetryCollector-BS-ej09T.d.ts +0 -70
- package/lib/persistence/index.d.mts +0 -403
- package/lib/services/index.d.mts +0 -185
- package/lib/ttlCache.interface-CEOkrt8d.d.mts +0 -77
- package/lib/ttlCacheRecord.types-oX0ti5SP.d.ts +0 -25
- package/lib/ws/index.d.mts +0 -67
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import { StringWithoutSlash, TypeSafeFunction, UnionToIntersection } from '@forklaunch/common';
|
|
2
|
+
import { AnySchemaValidator, IdiomaticSchema, Schema, UnboxedObjectSchema } from '@forklaunch/validator';
|
|
3
|
+
import { JWK, JWTPayload } from 'jose';
|
|
4
|
+
import { ExpressLikeAuthMapper, ExpressLikeSchemaAuthMapper, VersionedRequests } from './apiDefinition.types';
|
|
5
|
+
/**
|
|
6
|
+
* Dictionary type for URL parameters.
|
|
7
|
+
*/
|
|
8
|
+
export type ParamsDictionary = {
|
|
9
|
+
[key: string]: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Type representing an object with only string keys.
|
|
13
|
+
*
|
|
14
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
15
|
+
*/
|
|
16
|
+
export type StringOnlyObject<SV extends AnySchemaValidator> = Omit<UnboxedObjectSchema<SV>, number | symbol>;
|
|
17
|
+
/**
|
|
18
|
+
* Type representing an object with only number keys.
|
|
19
|
+
*
|
|
20
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
21
|
+
*/
|
|
22
|
+
export type NumberOnlyObject<SV extends AnySchemaValidator> = Omit<UnboxedObjectSchema<SV>, string | symbol>;
|
|
23
|
+
/**
|
|
24
|
+
* Type representing the body object in a request.
|
|
25
|
+
*
|
|
26
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
27
|
+
*/
|
|
28
|
+
export type BodyObject<SV extends AnySchemaValidator> = StringOnlyObject<SV>;
|
|
29
|
+
/**
|
|
30
|
+
* Type representing the parameters object in a request.
|
|
31
|
+
*
|
|
32
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
33
|
+
*/
|
|
34
|
+
export type ParamsObject<SV extends AnySchemaValidator> = StringOnlyObject<SV>;
|
|
35
|
+
/**
|
|
36
|
+
* Type representing the query object in a request.
|
|
37
|
+
*
|
|
38
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
39
|
+
*/
|
|
40
|
+
export type QueryObject<SV extends AnySchemaValidator> = StringOnlyObject<SV>;
|
|
41
|
+
/**
|
|
42
|
+
* Type representing the headers object in a request.
|
|
43
|
+
*
|
|
44
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
45
|
+
*/
|
|
46
|
+
export type HeadersObject<SV extends AnySchemaValidator> = StringOnlyObject<SV>;
|
|
47
|
+
export type RawTypedResponseBody<SV extends AnySchemaValidator> = TextBody<SV> | JsonBody<SV> | FileBody<SV> | ServerSentEventBody<SV> | UnknownResponseBody<SV>;
|
|
48
|
+
type ExclusiveResponseBodyBase<SV extends AnySchemaValidator> = {
|
|
49
|
+
[K in keyof UnionToIntersection<RawTypedResponseBody<SV>>]?: undefined;
|
|
50
|
+
};
|
|
51
|
+
type ExclusiveSchemaCatchall<SV extends AnySchemaValidator> = {
|
|
52
|
+
[K in keyof SV['_SchemaCatchall'] as string extends K ? never : number extends K ? never : symbol extends K ? never : K]?: undefined;
|
|
53
|
+
};
|
|
54
|
+
export type TypedResponseBody<SV extends AnySchemaValidator> = {
|
|
55
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveResponseBodyBase<SV>)]?: K extends keyof TextBody<SV> ? TextBody<SV>[K] : undefined;
|
|
56
|
+
} | {
|
|
57
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveResponseBodyBase<SV>)]?: K extends keyof JsonBody<SV> ? JsonBody<SV>[K] : undefined;
|
|
58
|
+
} | {
|
|
59
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveResponseBodyBase<SV>)]?: K extends keyof FileBody<SV> ? FileBody<SV>[K] : undefined;
|
|
60
|
+
} | {
|
|
61
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveResponseBodyBase<SV>)]?: K extends keyof ServerSentEventBody<SV> ? ServerSentEventBody<SV>[K] : undefined;
|
|
62
|
+
} | {
|
|
63
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveResponseBodyBase<SV>)]?: K extends keyof UnknownResponseBody<SV> ? UnknownResponseBody<SV>[K] : undefined;
|
|
64
|
+
};
|
|
65
|
+
export type ResponseBody<SV extends AnySchemaValidator> = TypedResponseBody<SV> | (ExclusiveResponseBodyBase<SV> & SV['_ValidSchemaObject']) | (ExclusiveResponseBodyBase<SV> & UnboxedObjectSchema<SV>) | (ExclusiveResponseBodyBase<SV> & SV['string']) | (ExclusiveResponseBodyBase<SV> & SV['number']) | (ExclusiveResponseBodyBase<SV> & SV['boolean']) | (ExclusiveResponseBodyBase<SV> & SV['date']) | (ExclusiveResponseBodyBase<SV> & SV['array']) | (ExclusiveResponseBodyBase<SV> & SV['file']);
|
|
66
|
+
/**
|
|
67
|
+
* Type representing the responses object in a request.
|
|
68
|
+
*
|
|
69
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
70
|
+
*/
|
|
71
|
+
export type ResponsesObject<SV extends AnySchemaValidator> = {
|
|
72
|
+
[K: number]: ResponseBody<SV>;
|
|
73
|
+
};
|
|
74
|
+
export type JsonBody<SV extends AnySchemaValidator> = {
|
|
75
|
+
contentType?: 'application/json' | string;
|
|
76
|
+
json: BodyObject<SV> | SV['_ValidSchemaObject'] | SV['_SchemaCatchall'];
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Type representing the body in a request.
|
|
80
|
+
*
|
|
81
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
82
|
+
*/
|
|
83
|
+
export type TextBody<SV extends AnySchemaValidator> = {
|
|
84
|
+
contentType?: 'application/xml' | 'text/plain' | 'text/html' | 'text/css' | 'text/javascript' | 'text/csv' | 'text/markdown' | 'text/xml' | 'text/rtf' | 'text/x-yaml' | 'text/yaml' | string;
|
|
85
|
+
text: SV['string'];
|
|
86
|
+
};
|
|
87
|
+
export type FileBody<SV extends AnySchemaValidator> = {
|
|
88
|
+
contentType?: 'application/octet-stream' | 'application/pdf' | 'application/vnd.ms-excel' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' | 'application/msword' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' | 'application/zip' | 'image/jpeg' | 'image/png' | 'image/gif' | 'audio/mpeg' | 'audio/wav' | 'video/mp4' | string;
|
|
89
|
+
file: SV['file'];
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Type representing the body in a request.
|
|
93
|
+
*
|
|
94
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
95
|
+
*/
|
|
96
|
+
export type MultipartForm<SV extends AnySchemaValidator> = {
|
|
97
|
+
contentType?: 'multipart/form-data' | 'multipart/mixed' | 'multipart/alternative' | 'multipart/related' | 'multipart/signed' | 'multipart/encrypted' | string;
|
|
98
|
+
multipartForm: BodyObject<SV>;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Type representing the body in a request.
|
|
102
|
+
*
|
|
103
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
104
|
+
*/
|
|
105
|
+
export type UrlEncodedForm<SV extends AnySchemaValidator> = {
|
|
106
|
+
contentType?: 'application/x-www-form-urlencoded' | 'application/x-url-encoded' | 'application/x-www-url-encoded' | 'application/x-urlencode' | string;
|
|
107
|
+
urlEncodedForm: BodyObject<SV>;
|
|
108
|
+
};
|
|
109
|
+
export type ServerSentEventBody<SV extends AnySchemaValidator> = {
|
|
110
|
+
contentType?: 'text/event-stream' | string;
|
|
111
|
+
event: {
|
|
112
|
+
id: SV['string'];
|
|
113
|
+
data: SV['string'] | BodyObject<SV>;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
export type UnknownBody<SV extends AnySchemaValidator> = {
|
|
117
|
+
contentType?: string;
|
|
118
|
+
schema: BodyObject<SV> | SV['_ValidSchemaObject'] | SV['_SchemaCatchall'];
|
|
119
|
+
};
|
|
120
|
+
export type UnknownResponseBody<SV extends AnySchemaValidator> = {
|
|
121
|
+
contentType?: string;
|
|
122
|
+
schema: BodyObject<SV> | SV['_ValidSchemaObject'] | SV['_SchemaCatchall'];
|
|
123
|
+
};
|
|
124
|
+
type ExclusiveRequestBodyBase<SV extends AnySchemaValidator> = {
|
|
125
|
+
[K in keyof UnionToIntersection<TypedBody<SV>>]?: undefined;
|
|
126
|
+
};
|
|
127
|
+
export type TypedRequestBody<SV extends AnySchemaValidator> = {
|
|
128
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveRequestBodyBase<SV>)]?: K extends keyof TextBody<SV> ? TextBody<SV>[K] : undefined;
|
|
129
|
+
} | {
|
|
130
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveRequestBodyBase<SV>)]?: K extends keyof JsonBody<SV> ? JsonBody<SV>[K] : undefined;
|
|
131
|
+
} | {
|
|
132
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveRequestBodyBase<SV>)]?: K extends keyof FileBody<SV> ? FileBody<SV>[K] : undefined;
|
|
133
|
+
} | {
|
|
134
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveRequestBodyBase<SV>)]?: K extends keyof MultipartForm<SV> ? MultipartForm<SV>[K] : undefined;
|
|
135
|
+
} | {
|
|
136
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveRequestBodyBase<SV>)]?: K extends keyof UrlEncodedForm<SV> ? UrlEncodedForm<SV>[K] : undefined;
|
|
137
|
+
} | {
|
|
138
|
+
[K in keyof (ExclusiveSchemaCatchall<SV> & ExclusiveRequestBodyBase<SV>)]?: K extends keyof UnknownBody<SV> ? UnknownBody<SV>[K] : undefined;
|
|
139
|
+
};
|
|
140
|
+
export type TypedBody<SV extends AnySchemaValidator> = JsonBody<SV> | TextBody<SV> | FileBody<SV> | MultipartForm<SV> | UrlEncodedForm<SV> | UnknownBody<SV>;
|
|
141
|
+
export type Body<SV extends AnySchemaValidator> = TypedRequestBody<SV> | (ExclusiveRequestBodyBase<SV> & SV['_ValidSchemaObject']) | (ExclusiveRequestBodyBase<SV> & UnboxedObjectSchema<SV>) | (ExclusiveRequestBodyBase<SV> & SV['string']) | (ExclusiveRequestBodyBase<SV> & SV['number']) | (ExclusiveRequestBodyBase<SV> & SV['boolean']) | (ExclusiveRequestBodyBase<SV> & SV['date']) | (ExclusiveRequestBodyBase<SV> & SV['array']) | (ExclusiveRequestBodyBase<SV> & SV['file']) | (ExclusiveRequestBodyBase<SV> & SV['any']) | (ExclusiveRequestBodyBase<SV> & SV['unknown']) | (ExclusiveRequestBodyBase<SV> & SV['binary']) | (ExclusiveRequestBodyBase<SV> & (SV['type'] extends TypeSafeFunction ? ReturnType<SV['type']> : never));
|
|
142
|
+
export type SessionObject<SV extends AnySchemaValidator> = StringOnlyObject<SV>;
|
|
143
|
+
export type BasicAuthMethods = {
|
|
144
|
+
readonly basic: {
|
|
145
|
+
readonly login: (username: string, password: string) => boolean;
|
|
146
|
+
};
|
|
147
|
+
readonly jwt?: never;
|
|
148
|
+
readonly hmac?: never;
|
|
149
|
+
};
|
|
150
|
+
export type JwtAuthMethods = {
|
|
151
|
+
jwt: {
|
|
152
|
+
readonly jwksPublicKey: JWK;
|
|
153
|
+
} | {
|
|
154
|
+
readonly jwksPublicKeyUrl: string;
|
|
155
|
+
} | {
|
|
156
|
+
readonly signatureKey: string;
|
|
157
|
+
};
|
|
158
|
+
readonly basic?: never;
|
|
159
|
+
readonly hmac?: never;
|
|
160
|
+
};
|
|
161
|
+
export type HmacMethods = {
|
|
162
|
+
readonly hmac: {
|
|
163
|
+
readonly secretKeys: Record<string, string>;
|
|
164
|
+
};
|
|
165
|
+
readonly sessionSchema?: never;
|
|
166
|
+
readonly basic?: never;
|
|
167
|
+
readonly jwt?: never;
|
|
168
|
+
};
|
|
169
|
+
type TokenOptions = {
|
|
170
|
+
readonly tokenPrefix?: string;
|
|
171
|
+
readonly headerName?: string;
|
|
172
|
+
};
|
|
173
|
+
export type DecodeResource = (token: string) => JWTPayload | Promise<JWTPayload>;
|
|
174
|
+
export type PermissionSet = {
|
|
175
|
+
readonly allowedPermissions: Set<string>;
|
|
176
|
+
} | {
|
|
177
|
+
readonly forbiddenPermissions: Set<string>;
|
|
178
|
+
};
|
|
179
|
+
export type RoleSet = {
|
|
180
|
+
readonly allowedRoles: Set<string>;
|
|
181
|
+
} | {
|
|
182
|
+
readonly forbiddenRoles: Set<string>;
|
|
183
|
+
};
|
|
184
|
+
/** Constraints that forbid RBAC fields on authenticated routes. */
|
|
185
|
+
type NoRbacConstraint = {
|
|
186
|
+
readonly allowedPermissions?: never;
|
|
187
|
+
readonly forbiddenPermissions?: never;
|
|
188
|
+
readonly allowedRoles?: never;
|
|
189
|
+
readonly forbiddenRoles?: never;
|
|
190
|
+
};
|
|
191
|
+
export type AuthMethodsBase = TokenOptions & (HmacMethods | ({
|
|
192
|
+
readonly decodeResource?: DecodeResource;
|
|
193
|
+
} & (BasicAuthMethods | JwtAuthMethods)));
|
|
194
|
+
/**
|
|
195
|
+
* Route access level — determines authentication and authorization requirements.
|
|
196
|
+
*
|
|
197
|
+
* - `'public'` — No authentication required. `auth` must not be provided.
|
|
198
|
+
* - `'authenticated'` — JWT or Basic auth required, any valid user. RBAC not allowed.
|
|
199
|
+
* - `'protected'` — JWT or Basic auth required. Must declare roles, permissions, or scope.
|
|
200
|
+
* - `'internal'` — HMAC auth required (inter-service communication).
|
|
201
|
+
*/
|
|
202
|
+
export type AccessLevel = 'public' | 'authenticated' | 'protected' | 'internal';
|
|
203
|
+
/**
|
|
204
|
+
* Discriminated union that narrows the `auth` type based on the `access` level.
|
|
205
|
+
* - `public`: auth not allowed
|
|
206
|
+
* - `authenticated`: JWT/Basic auth required, RBAC fields disallowed
|
|
207
|
+
* - `protected`: auth required, must include at least one RBAC declaration
|
|
208
|
+
* (surfacing functions are optional here — they can be provided at router/app level)
|
|
209
|
+
* - `internal`: auth required, must be HMAC
|
|
210
|
+
*/
|
|
211
|
+
type AccessAuth<Auth> = {
|
|
212
|
+
readonly access: 'public';
|
|
213
|
+
readonly auth?: never;
|
|
214
|
+
} | {
|
|
215
|
+
readonly access: 'authenticated';
|
|
216
|
+
readonly auth?: Auth & NoRbacConstraint;
|
|
217
|
+
} | {
|
|
218
|
+
readonly access: 'protected';
|
|
219
|
+
readonly auth: Auth & ({
|
|
220
|
+
readonly allowedPermissions: Set<string>;
|
|
221
|
+
} | {
|
|
222
|
+
readonly forbiddenPermissions: Set<string>;
|
|
223
|
+
} | {
|
|
224
|
+
readonly allowedRoles: Set<string>;
|
|
225
|
+
} | {
|
|
226
|
+
readonly forbiddenRoles: Set<string>;
|
|
227
|
+
} | {
|
|
228
|
+
readonly requiredScope: string;
|
|
229
|
+
});
|
|
230
|
+
} | {
|
|
231
|
+
readonly access: 'internal';
|
|
232
|
+
readonly auth: Auth & HmacMethods;
|
|
233
|
+
};
|
|
234
|
+
/**
|
|
235
|
+
* Type representing the authentication methods.
|
|
236
|
+
*/
|
|
237
|
+
export type SchemaAuthMethods<SV extends AnySchemaValidator, ParamsSchema extends ParamsObject<SV>, ReqBody extends Body<SV>, QuerySchema extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, VersionedApi extends VersionSchema<SV, Method>, BaseRequest> = AuthMethodsBase & {
|
|
238
|
+
readonly sessionSchema?: SessionObject<SV>;
|
|
239
|
+
readonly requiredScope?: string;
|
|
240
|
+
readonly scopeHeirarchy?: string[];
|
|
241
|
+
readonly surfaceScopes?: ExpressLikeSchemaAuthMapper<SV, ParamsSchema, ReqBody, QuerySchema, ReqHeaders, VersionedApi, SessionObject<SV>, BaseRequest>;
|
|
242
|
+
readonly surfacePermissions?: ExpressLikeSchemaAuthMapper<SV, ParamsSchema, ReqBody, QuerySchema, ReqHeaders, VersionedApi, SessionObject<SV>, BaseRequest>;
|
|
243
|
+
readonly surfaceRoles?: ExpressLikeSchemaAuthMapper<SV, ParamsSchema, ReqBody, QuerySchema, ReqHeaders, VersionedApi, SessionObject<SV>, BaseRequest>;
|
|
244
|
+
readonly requiredFeatures?: string[];
|
|
245
|
+
readonly requireActiveSubscription?: boolean;
|
|
246
|
+
};
|
|
247
|
+
export type AuthMethods<SV extends AnySchemaValidator, P extends ParamsDictionary, ReqBody extends Record<string, unknown>, ReqQuery extends Record<string, unknown>, ReqHeaders extends Record<string, string>, VersionedReqs extends VersionedRequests, BaseRequest> = AuthMethodsBase & {
|
|
248
|
+
readonly sessionSchema?: SessionObject<SV>;
|
|
249
|
+
readonly requiredScope?: string;
|
|
250
|
+
readonly scopeHeirarchy?: string[];
|
|
251
|
+
readonly surfaceScopes?: ExpressLikeAuthMapper<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedReqs, SessionObject<SV>, BaseRequest>;
|
|
252
|
+
readonly surfacePermissions?: ExpressLikeAuthMapper<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedReqs, SessionObject<SV>, BaseRequest>;
|
|
253
|
+
readonly surfaceRoles?: ExpressLikeAuthMapper<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedReqs, SessionObject<SV>, BaseRequest>;
|
|
254
|
+
readonly allowedPermissions?: Set<string>;
|
|
255
|
+
readonly forbiddenPermissions?: Set<string>;
|
|
256
|
+
readonly allowedRoles?: Set<string>;
|
|
257
|
+
readonly forbiddenRoles?: Set<string>;
|
|
258
|
+
readonly requiredFeatures?: string[];
|
|
259
|
+
readonly requireActiveSubscription?: boolean;
|
|
260
|
+
};
|
|
261
|
+
/**
|
|
262
|
+
* Type representing a mapped schema.
|
|
263
|
+
*s ParamsDictionary,
|
|
264
|
+
// ReqBody extends Record<string, unknown>,
|
|
265
|
+
//
|
|
266
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
267
|
+
* @template T - A type that extends IdiomaticSchema or a valid schema object.
|
|
268
|
+
*/
|
|
269
|
+
export type MapSchema<SV extends AnySchemaValidator, T extends IdiomaticSchema<SV> | SV['_ValidSchemaObject']> = Schema<T, SV> extends infer U ? T extends SV['_SchemaCatchall'] ? U : T extends U ? unknown : U : never;
|
|
270
|
+
/**
|
|
271
|
+
* Type representing the parameters in a request.
|
|
272
|
+
*/
|
|
273
|
+
type ExtractParams<Path extends `/${string}`> = Path extends `${string}/:${infer Param}/${infer Rest}` ? Param | ExtractParams<`/${Rest}`> : Path extends `${string}/:${infer Param}` ? Param : never;
|
|
274
|
+
/**
|
|
275
|
+
* Type representing the parameters in a request.
|
|
276
|
+
*/
|
|
277
|
+
export type ExtractedParamsObject<Path extends `/${string}`> = Record<ExtractParams<Path>, unknown>;
|
|
278
|
+
/**
|
|
279
|
+
* Represents the path parameter methods.
|
|
280
|
+
*/
|
|
281
|
+
export type PathParamMethod = 'get' | 'delete' | 'options' | 'head' | 'trace';
|
|
282
|
+
/**
|
|
283
|
+
* Represents the body parameter methods.
|
|
284
|
+
*/
|
|
285
|
+
export type HttpMethod = 'post' | 'patch' | 'put';
|
|
286
|
+
/**
|
|
287
|
+
* Represents all supported typed methods.
|
|
288
|
+
*/
|
|
289
|
+
export type Method = PathParamMethod | HttpMethod | 'middleware';
|
|
290
|
+
/**
|
|
291
|
+
* Interface representing a compiled schema for a response.
|
|
292
|
+
*/
|
|
293
|
+
export type ResponseCompiledSchema = {
|
|
294
|
+
headers?: unknown;
|
|
295
|
+
responses: Record<number, unknown>;
|
|
296
|
+
};
|
|
297
|
+
type BasePathParamHttpContractDetailsIO<SV extends AnySchemaValidator, BodySchema extends Body<SV> | undefined = Body<SV>, ResponseSchemas extends ResponsesObject<SV> = ResponsesObject<SV>, QuerySchema extends QueryObject<SV> | undefined = QueryObject<SV>, ReqHeaders extends HeadersObject<SV> | undefined = HeadersObject<SV>, ResHeaders extends HeadersObject<SV> | undefined = HeadersObject<SV>> = {
|
|
298
|
+
/** Optional body for the contract */
|
|
299
|
+
readonly body?: BodySchema;
|
|
300
|
+
/** Response schemas for the contract */
|
|
301
|
+
readonly responses: ResponseSchemas;
|
|
302
|
+
/** Optional request headers for the contract */
|
|
303
|
+
readonly requestHeaders?: ReqHeaders;
|
|
304
|
+
/** Optional response headers for the contract */
|
|
305
|
+
readonly responseHeaders?: ResHeaders;
|
|
306
|
+
/** Optional query schemas for the contract */
|
|
307
|
+
readonly query?: QuerySchema;
|
|
308
|
+
};
|
|
309
|
+
type VersionedBasePathParamHttpContractDetailsIO<SV extends AnySchemaValidator, VersionedApi extends VersionSchema<SV, PathParamMethod>> = {
|
|
310
|
+
readonly versions: VersionedApi;
|
|
311
|
+
};
|
|
312
|
+
type BasePathParamHttpContractDetails<SV extends AnySchemaValidator, Name extends string = string, Path extends `/${string}` = `/${string}`, ParamsSchema extends ParamsObject<SV> = ParamsObject<SV>> = {
|
|
313
|
+
/** Name of the contract */
|
|
314
|
+
readonly name: StringWithoutSlash<Name>;
|
|
315
|
+
/** Summary of the contract */
|
|
316
|
+
readonly summary: string;
|
|
317
|
+
/** Options for the contract */
|
|
318
|
+
readonly options?: {
|
|
319
|
+
/** Optional request validation for the contract */
|
|
320
|
+
readonly requestValidation?: 'error' | 'warning' | 'none';
|
|
321
|
+
/** Optional response validation for the contract */
|
|
322
|
+
readonly responseValidation?: 'error' | 'warning' | 'none';
|
|
323
|
+
/** Optional MCP details for the contract */
|
|
324
|
+
readonly mcp?: boolean;
|
|
325
|
+
/** Optional OpenAPI details for the contract */
|
|
326
|
+
readonly openapi?: boolean;
|
|
327
|
+
};
|
|
328
|
+
} & (string | number | symbol extends ExtractedParamsObject<Path> ? {
|
|
329
|
+
/** Optional parameters for the contract */
|
|
330
|
+
readonly params?: ParamsSchema;
|
|
331
|
+
} : {
|
|
332
|
+
/** Required parameters for the contract */
|
|
333
|
+
readonly params: {
|
|
334
|
+
[K in keyof ExtractedParamsObject<Path>]: ParamsSchema[K];
|
|
335
|
+
};
|
|
336
|
+
});
|
|
337
|
+
/**
|
|
338
|
+
* Interface representing HTTP contract details for path parameters.
|
|
339
|
+
*
|
|
340
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
341
|
+
* @template ParamsSchema - A type for parameter schemas, defaulting to ParamsObject.
|
|
342
|
+
* @template ResponseSchemas - A type for response schemas, defaulting to ResponsesObject.
|
|
343
|
+
* @template QuerySchema - A type for query schemas, defaulting to QueryObject.
|
|
344
|
+
*/
|
|
345
|
+
export type PathParamHttpContractDetails<SV extends AnySchemaValidator, Name extends string = string, Path extends `/${string}` = `/${string}`, ParamsSchema extends ParamsObject<SV> = ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV> = ResponsesObject<SV>, BodySchema extends Body<SV> = Body<SV>, QuerySchema extends QueryObject<SV> = QueryObject<SV>, ReqHeaders extends HeadersObject<SV> = HeadersObject<SV>, ResHeaders extends HeadersObject<SV> = HeadersObject<SV>, VersionedApi extends VersionSchema<SV, Method> = VersionSchema<SV, PathParamMethod>, BaseRequest = unknown, Auth extends SchemaAuthMethods<SV, ParamsSchema, BodySchema, QuerySchema, ReqHeaders, VersionedApi, BaseRequest> = SchemaAuthMethods<SV, ParamsSchema, BodySchema, QuerySchema, ReqHeaders, VersionedApi, BaseRequest>> = BasePathParamHttpContractDetails<SV, Name, Path, ParamsSchema> & ((BasePathParamHttpContractDetailsIO<SV, never, ResponseSchemas, QuerySchema, ReqHeaders, ResHeaders> & {
|
|
346
|
+
readonly versions?: never;
|
|
347
|
+
}) | (VersionedBasePathParamHttpContractDetailsIO<SV, VersionedApi> & {
|
|
348
|
+
readonly query?: never;
|
|
349
|
+
readonly requestHeaders?: never;
|
|
350
|
+
readonly responseHeaders?: never;
|
|
351
|
+
readonly responses?: never;
|
|
352
|
+
})) & AccessAuth<Auth>;
|
|
353
|
+
type VersionedHttpContractDetailsIO<SV extends AnySchemaValidator, VersionedApi extends VersionSchema<SV, HttpMethod>> = {
|
|
354
|
+
readonly versions: VersionedApi;
|
|
355
|
+
};
|
|
356
|
+
/**
|
|
357
|
+
* Interface representing HTTP contract details.
|
|
358
|
+
*
|
|
359
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
360
|
+
* @template ParamsSchema - A type for parameter schemas, defaulting to ParamsObject.
|
|
361
|
+
* @template ResponseSchemas - A type for response schemas, defaulting to ResponsesObject.
|
|
362
|
+
* @template BodySchema - A type for the body schema, defaulting to Body.
|
|
363
|
+
* @template QuerySchema - A type for query schemas, defaulting to QueryObject.
|
|
364
|
+
*/
|
|
365
|
+
export type HttpContractDetails<SV extends AnySchemaValidator, Name extends string = string, Path extends `/${string}` = `/${string}`, ParamsSchema extends ParamsObject<SV> = ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV> = ResponsesObject<SV>, BodySchema extends Body<SV> = Body<SV>, QuerySchema extends QueryObject<SV> = QueryObject<SV>, ReqHeaders extends HeadersObject<SV> = HeadersObject<SV>, ResHeaders extends HeadersObject<SV> = HeadersObject<SV>, VersionedApi extends VersionSchema<SV, Method> = VersionSchema<SV, HttpMethod>, BaseRequest = unknown, Auth extends SchemaAuthMethods<SV, ParamsSchema, BodySchema, QuerySchema, ReqHeaders, VersionedApi, BaseRequest> = SchemaAuthMethods<SV, ParamsSchema, BodySchema, QuerySchema, ReqHeaders, VersionedApi, BaseRequest>> = BasePathParamHttpContractDetails<SV, Name, Path, ParamsSchema> & ((BasePathParamHttpContractDetailsIO<SV, BodySchema, ResponseSchemas, QuerySchema, ReqHeaders, ResHeaders> & {
|
|
366
|
+
readonly versions?: never;
|
|
367
|
+
}) | (VersionedHttpContractDetailsIO<SV, VersionedApi> & {
|
|
368
|
+
readonly query?: never;
|
|
369
|
+
readonly requestHeaders?: never;
|
|
370
|
+
readonly responseHeaders?: never;
|
|
371
|
+
readonly body?: never;
|
|
372
|
+
readonly responses?: never;
|
|
373
|
+
})) & AccessAuth<Auth>;
|
|
374
|
+
/**
|
|
375
|
+
* Interface representing HTTP contract details for middleware.
|
|
376
|
+
*
|
|
377
|
+
* @template SV - A type that extends AnySchemaValidator.
|
|
378
|
+
* @template ParamsSchema - A type for parameter schemas, defaulting to ParamsObject.
|
|
379
|
+
* @template ResponseSchemas - A type for response schemas, defaulting to ResponsesObject.
|
|
380
|
+
* @template QuerySchema - A type for query schemas, defaulting to QueryObject.
|
|
381
|
+
* @template ReqHeaders - A type for request headers, defaulting to HeadersObject.
|
|
382
|
+
* @template ResHeaders - A type for response headers, defaulting to HeadersObject.
|
|
383
|
+
*/
|
|
384
|
+
export type MiddlewareContractDetails<SV extends AnySchemaValidator, Name extends string = string, Path extends `/${string}` = `/${string}`, ParamsSchema extends ParamsObject<SV> = ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV> = ResponsesObject<SV>, BodySchema extends Body<SV> = Body<SV>, QuerySchema extends QueryObject<SV> = QueryObject<SV>, ReqHeaders extends HeadersObject<SV> = HeadersObject<SV>, ResHeaders extends HeadersObject<SV> = HeadersObject<SV>, VersionedApi extends VersionSchema<SV, Method> = VersionSchema<SV, 'middleware'>, BaseRequest = unknown, Auth extends SchemaAuthMethods<SV, ParamsSchema, BodySchema, QuerySchema, ReqHeaders, VersionedApi, BaseRequest> = SchemaAuthMethods<SV, ParamsSchema, BodySchema, QuerySchema, ReqHeaders, VersionedApi, BaseRequest>> = Omit<Partial<HttpContractDetails<SV, Name, Path, ParamsSchema, ResponseSchemas, BodySchema, QuerySchema, ReqHeaders, ResHeaders, VersionedApi, BaseRequest, Auth>>, 'responses'>;
|
|
385
|
+
export type VersionSchema<SV extends AnySchemaValidator, ContractMethod extends Method> = Record<string, BasePathParamHttpContractDetailsIO<SV, ContractMethod extends PathParamMethod ? never : Body<SV>, ResponsesObject<SV>, QueryObject<SV>, HeadersObject<SV>, HeadersObject<SV>>>;
|
|
386
|
+
/**
|
|
387
|
+
* Utility for different Contract Detail types
|
|
388
|
+
*/
|
|
389
|
+
export type ContractDetails<SV extends AnySchemaValidator, Name extends string, ContractMethod extends Method, Path extends `/${string}`, ParamsSchema extends ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV>, BodySchema extends Body<SV>, QuerySchema extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, VersionedApi extends VersionSchema<SV, ContractMethod>, BaseRequest, Auth extends SchemaAuthMethods<SV, ParamsSchema, BodySchema, QuerySchema, ReqHeaders, VersionedApi, BaseRequest>> = ContractMethod extends PathParamMethod ? PathParamHttpContractDetails<SV, Name, Path, ParamsSchema, ResponseSchemas, BodySchema, QuerySchema, ReqHeaders, ResHeaders, VersionedApi, BaseRequest, Auth> : ContractMethod extends HttpMethod ? HttpContractDetails<SV, Name, Path, ParamsSchema, ResponseSchemas, BodySchema, QuerySchema, ReqHeaders, ResHeaders, VersionedApi, BaseRequest, Auth> : ContractMethod extends 'middleware' ? MiddlewareContractDetails<SV, Name, Path, ParamsSchema, ResponseSchemas, BodySchema, QuerySchema, ReqHeaders, ResHeaders, VersionedApi, BaseRequest, Auth> : never;
|
|
390
|
+
/**
|
|
391
|
+
* Resolves the session object type to use for authentication.
|
|
392
|
+
*
|
|
393
|
+
* If `AuthSession` is provided and extends `SessionObject<SV>`, it is used as the session type.
|
|
394
|
+
* Otherwise, the `FallbackSession` type is used.
|
|
395
|
+
*
|
|
396
|
+
* @template SV - The schema validator type.
|
|
397
|
+
* @template AuthSession - The session object type provided by the authentication method, or undefined.
|
|
398
|
+
* @template FallbackSession - The fallback session object type to use if `AuthSession` is not provided.
|
|
399
|
+
*/
|
|
400
|
+
export type ResolvedSessionObject<SV extends AnySchemaValidator, AuthSession extends SessionObject<SV> | undefined, FallbackSession extends SessionObject<SV>> = AuthSession extends {
|
|
401
|
+
readonly sessionSchema?: infer ResolvedSessionSchema | undefined;
|
|
402
|
+
} | undefined ? ResolvedSessionSchema extends SessionObject<SV> ? ResolvedSessionSchema : FallbackSession : FallbackSession;
|
|
403
|
+
export {};
|
|
404
|
+
//# sourceMappingURL=contractDetails.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contractDetails.types.d.ts","sourceRoot":"","sources":["../../../src/http/types/contractDetails.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ApiReferenceConfiguration } from '@scalar/express-api-reference';
|
|
2
|
+
export type DocsConfiguration = ({
|
|
3
|
+
type: 'scalar';
|
|
4
|
+
} & Partial<Omit<ApiReferenceConfiguration, 'spec'>>) | {
|
|
5
|
+
type: 'swagger';
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=docsConfiguration.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docsConfiguration.types.d.ts","sourceRoot":"","sources":["../../../src/http/types/docsConfiguration.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,MAAM,iBAAiB,GACzB,CAAC;IACC,IAAI,EAAE,QAAQ,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC,GACrD;IACE,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC"}
|