@forklaunch/core 0.13.0 → 0.13.2

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.
@@ -231,28 +231,35 @@ type BasicAuthMethods = {
231
231
  readonly basic: {
232
232
  readonly login: (username: string, password: string) => boolean;
233
233
  };
234
+ readonly jwt?: never;
235
+ readonly hmac?: never;
234
236
  };
235
237
  type JwtAuthMethods = {
236
- readonly jwt?: {
237
- readonly decodeResource?: (token: string) => string;
238
- } & ({
238
+ jwt: {
239
239
  readonly jwksPublicKey: JWK;
240
240
  } | {
241
241
  readonly jwksPublicKeyUrl: string;
242
242
  } | {
243
- readonly privateKey: string;
244
- });
243
+ readonly signatureKey: string;
244
+ };
245
+ readonly basic?: never;
246
+ readonly hmac?: never;
245
247
  };
246
- type SystemAuthMethods = {
247
- readonly secretKey: string;
248
- readonly headerName?: string;
249
- readonly tokenPrefix?: string;
248
+ type HmacMethods = {
249
+ readonly hmac: {
250
+ readonly secretKeys: Record<string, string>;
251
+ };
252
+ readonly basic?: never;
253
+ readonly jwt?: never;
250
254
  };
251
- type AuthMethodsBase = {
255
+ type TokenOptions = {
252
256
  readonly tokenPrefix?: string;
253
257
  readonly headerName?: string;
254
- readonly decodeResource?: (token: string) => JWTPayload | Promise<JWTPayload>;
255
- } & (BasicAuthMethods | JwtAuthMethods);
258
+ };
259
+ type DecodeResource = (token: string) => JWTPayload | Promise<JWTPayload>;
260
+ type AuthMethodsBase = TokenOptions & (HmacMethods | ({
261
+ readonly decodeResource?: DecodeResource;
262
+ } & (BasicAuthMethods | JwtAuthMethods)));
256
263
  type PermissionSet = {
257
264
  readonly allowedPermissions: Set<string>;
258
265
  } | {
@@ -266,7 +273,7 @@ type RoleSet = {
266
273
  /**
267
274
  * Type representing the authentication methods.
268
275
  */
269
- 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>, SessionSchema extends SessionObject<SV>, BaseRequest> = (AuthMethodsBase & (({
276
+ 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>, SessionSchema extends SessionObject<SV>, BaseRequest> = AuthMethodsBase & (({
270
277
  readonly surfacePermissions?: ExpressLikeSchemaAuthMapper<SV, ParamsSchema, ReqBody, QuerySchema, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>;
271
278
  } & PermissionSet) | ({
272
279
  readonly surfaceRoles?: ExpressLikeSchemaAuthMapper<SV, ParamsSchema, ReqBody, QuerySchema, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>;
@@ -275,8 +282,8 @@ type SchemaAuthMethods<SV extends AnySchemaValidator, ParamsSchema extends Param
275
282
  readonly requiredScope?: string;
276
283
  readonly scopeHeirarchy?: string[];
277
284
  readonly surfaceScopes?: ExpressLikeSchemaAuthMapper<SV, ParamsSchema, ReqBody, QuerySchema, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>;
278
- }) | SystemAuthMethods;
279
- 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, SessionSchema extends Record<string, unknown>, BaseRequest> = (AuthMethodsBase & (({
285
+ };
286
+ 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, SessionSchema extends Record<string, unknown>, BaseRequest> = AuthMethodsBase & (({
280
287
  readonly surfacePermissions?: ExpressLikeAuthMapper<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedReqs, SessionSchema, BaseRequest>;
281
288
  } & PermissionSet) | ({
282
289
  readonly surfaceRoles?: ExpressLikeAuthMapper<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedReqs, SessionSchema, BaseRequest>;
@@ -285,7 +292,7 @@ type AuthMethods<SV extends AnySchemaValidator, P extends ParamsDictionary, ReqB
285
292
  readonly requiredScope?: string;
286
293
  readonly scopeHeirarchy?: string[];
287
294
  readonly surfaceScopes?: ExpressLikeAuthMapper<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedReqs, SessionSchema, BaseRequest>;
288
- }) | SystemAuthMethods;
295
+ };
289
296
  /**
290
297
  * Type representing a mapped schema.
291
298
  *s ParamsDictionary,
@@ -920,19 +927,20 @@ type ExpressLikeSchemaHandler<SV extends AnySchemaValidator, P extends ParamsObj
920
927
  */
921
928
  type ExpressLikeSchemaAuthMapper<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, VersionedReqs extends VersionSchema<SV, Method>, SessionSchema extends SessionObject<SV>, BaseRequest> = ExpressLikeAuthMapper<SV, P extends infer UnmappedParams ? UnmappedParams extends ParamsObject<SV> ? MapParamsSchema<SV, UnmappedParams> : never : never, ReqBody extends infer UnmappedReqBody ? UnmappedReqBody extends Body<SV> ? MapReqBodySchema<SV, UnmappedReqBody> : never : never, ReqQuery extends infer UnmappedReqQuery ? UnmappedReqQuery extends QueryObject<SV> ? MapReqQuerySchema<SV, UnmappedReqQuery> : never : never, ReqHeaders extends infer UnmappedReqHeaders ? UnmappedReqHeaders extends HeadersObject<SV> ? MapReqHeadersSchema<SV, UnmappedReqHeaders> : never : never, VersionedReqs extends infer UnmappedVersionedReqs ? UnmappedVersionedReqs extends VersionSchema<SV, Method> ? MapVersionedReqsSchema<SV, UnmappedVersionedReqs> : never : never, SessionSchema extends infer UnmappedSessionSchema ? UnmappedSessionSchema extends Record<string, unknown> ? MapSessionSchema<SV, UnmappedSessionSchema> : never : never, BaseRequest>;
922
929
  type ExpressLikeAuthMapper<SV extends AnySchemaValidator, P extends ParamsDictionary, ReqBody extends Record<string, unknown>, ReqQuery extends Record<string, unknown>, ReqHeaders extends Record<string, string>, VersionedReqs extends VersionedRequests, SessionSchema extends Record<string, unknown>, BaseRequest> = (payload: JWTPayload & SessionSchema, req?: ResolvedForklaunchRequest<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedReqs, SessionSchema, BaseRequest>) => Set<string> | Promise<Set<string>>;
923
- type TokenPrefix<Auth extends AuthMethodsBase> = undefined extends Auth['tokenPrefix'] ? Auth extends BasicAuthMethods ? 'Basic ' : 'Bearer ' : `${Auth['tokenPrefix']} `;
930
+ type TokenPrefix<Auth extends AuthMethodsBase> = undefined extends Auth['tokenPrefix'] ? Auth extends BasicAuthMethods ? 'Basic ' : Auth extends HmacMethods ? 'HMAC ' : 'Bearer ' : `${Auth['tokenPrefix']} `;
924
931
  type AuthHeaders<Auth extends AuthMethodsBase> = undefined extends Auth['headerName'] ? {
925
- authorization: `${TokenPrefix<Auth>}${string}`;
932
+ authorization: Auth extends HmacMethods ? `${TokenPrefix<Auth>}keyId=${string} ts=${string} nonce=${string} signature=${string}` : `${TokenPrefix<Auth>}${string}`;
926
933
  } : {
927
934
  [K in NonNullable<Auth['headerName']>]: `${TokenPrefix<Auth>}${string}`;
928
935
  };
936
+ type AuthCollapse<Auth extends AuthMethodsBase> = undefined extends Auth['jwt'] ? undefined extends Auth['basic'] ? undefined extends Auth['hmac'] ? true : false : false : false;
929
937
  type LiveTypeFunctionRequestInit<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ReqBody extends Body<SV> | undefined, ReqQuery extends QueryObject<SV> | undefined, ReqHeaders extends HeadersObject<SV> | undefined, Auth extends AuthMethodsBase> = MakePropertyOptionalIfChildrenOptional<(Body<SV> extends ReqBody ? unknown : {
930
938
  body: MapSchema<SV, ReqBody>;
931
939
  }) & (QueryObject<SV> extends ReqQuery ? unknown : {
932
940
  query: MapSchema<SV, ReqQuery>;
933
- }) & (HeadersObject<SV> extends ReqHeaders ? AuthHeaders<AuthMethodsBase> extends AuthHeaders<Auth> ? unknown : {
941
+ }) & (HeadersObject<SV> extends ReqHeaders ? true extends AuthCollapse<Auth> ? unknown : {
934
942
  headers: AuthHeaders<Auth>;
935
- } : AuthHeaders<AuthMethodsBase> extends AuthHeaders<Auth> ? {
943
+ } : true extends AuthCollapse<Auth> ? {
936
944
  headers: MapSchema<SV, ReqHeaders>;
937
945
  } : {
938
946
  headers: MapSchema<SV, ReqHeaders> & AuthHeaders<Auth>;
@@ -1127,36 +1135,36 @@ interface LiveTypeRouteDefinition<SV extends AnySchemaValidator, BasePath extend
1127
1135
  _fetchMap: object;
1128
1136
  sdk: object;
1129
1137
  }> {
1130
- <Name extends string, Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, ContractMethod>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, typedHandler: TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter & {
1138
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, ContractMethod>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(path: Path, contractDetails: ContractDetails<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, ResolvedSession, BaseRequest, Auth>, ...middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter & {
1131
1139
  _fetchMap: Prettify<ChainableRouter['_fetchMap'] extends Record<SanitizePathSlashes<`${BasePath}${Path}`>, unknown> ? ChainableRouter['_fetchMap'] & Record<SanitizePathSlashes<`${BasePath}${Path}`>, ChainableRouter['_fetchMap'][SanitizePathSlashes<`${BasePath}${Path}`>] & Record<Uppercase<ContractMethod>, LiveTypeFunction<SV, SanitizePathSlashes<`${BasePath}${Path}`>, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, ContractMethod, VersionedApi, Auth>>> : ChainableRouter['_fetchMap'] & Record<SanitizePathSlashes<`${BasePath}${Path}`>, Record<Uppercase<ContractMethod>, LiveTypeFunction<SV, SanitizePathSlashes<`${BasePath}${Path}`>, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, ContractMethod, VersionedApi, Auth>>>>;
1132
1140
  sdk: Prettify<ChainableRouter['sdk'] & Record<PrettyCamelCase<Name>, LiveSdkFunction<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Auth>>>;
1133
1141
  };
1134
- <Name extends string, Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, ContractMethod>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
1135
- ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>[],
1136
- TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>
1142
+ <Name extends string, Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, ContractMethod>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
1143
+ ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>[],
1144
+ TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction, Auth>
1137
1145
  ]): ChainableRouter & {
1138
1146
  _fetchMap: Prettify<ChainableRouter['_fetchMap'] extends Record<SanitizePathSlashes<`${BasePath}${Path}`>, unknown> ? ChainableRouter['_fetchMap'] & Record<SanitizePathSlashes<`${BasePath}${Path}`>, ChainableRouter['_fetchMap'][SanitizePathSlashes<`${BasePath}${Path}`>] & Record<Uppercase<ContractMethod>, LiveTypeFunction<SV, SanitizePathSlashes<`${BasePath}${Path}`>, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, ContractMethod, VersionedApi, Auth>>> : ChainableRouter['_fetchMap'] & Record<SanitizePathSlashes<`${BasePath}${Path}`>, Record<Uppercase<ContractMethod>, LiveTypeFunction<SV, SanitizePathSlashes<`${BasePath}${Path}`>, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, ContractMethod, VersionedApi, Auth>>>>;
1139
1147
  sdk: Prettify<ChainableRouter['sdk'] & Record<PrettyCamelCase<Name>, LiveSdkFunction<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Auth>>>;
1140
1148
  };
1141
- <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, ContractMethod>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(path: Path, contractDetails: ContractDetails<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Session, BaseRequest, Auth>, ...middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter & {
1149
+ <Name extends string, Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, ContractMethod>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, typedHandler: TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter & {
1142
1150
  _fetchMap: Prettify<ChainableRouter['_fetchMap'] extends Record<SanitizePathSlashes<`${BasePath}${Path}`>, unknown> ? ChainableRouter['_fetchMap'] & Record<SanitizePathSlashes<`${BasePath}${Path}`>, ChainableRouter['_fetchMap'][SanitizePathSlashes<`${BasePath}${Path}`>] & Record<Uppercase<ContractMethod>, LiveTypeFunction<SV, SanitizePathSlashes<`${BasePath}${Path}`>, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, ContractMethod, VersionedApi, Auth>>> : ChainableRouter['_fetchMap'] & Record<SanitizePathSlashes<`${BasePath}${Path}`>, Record<Uppercase<ContractMethod>, LiveTypeFunction<SV, SanitizePathSlashes<`${BasePath}${Path}`>, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, ContractMethod, VersionedApi, Auth>>>>;
1143
1151
  sdk: Prettify<ChainableRouter['sdk'] & Record<PrettyCamelCase<Name>, LiveSdkFunction<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Auth>>>;
1144
1152
  };
1145
1153
  }
1146
1154
  interface TypedMiddlewareDefinition<ChainableRouter, SV extends AnySchemaValidator, Session extends SessionObject<SV>, BaseRequest, BaseResponse, NextFunction, RouterHandler> {
1155
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, ResolvedSession, BaseRequest, Auth>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>, ...middlewares: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter;
1156
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, ResolvedSession, BaseRequest, Auth>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>, ...middlewares: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter;
1147
1157
  (middleware: RouterHandler, ...otherMiddleware: RouterHandler[]): ChainableRouter;
1148
- <Name extends string, Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter;
1149
- <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter;
1150
- <Name extends string, Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
1151
- ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>[],
1152
- TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>
1158
+ <Name extends string, Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
1159
+ ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>[],
1160
+ TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction, Auth>
1153
1161
  ]): ChainableRouter;
1154
- <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
1155
- ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>[],
1156
- TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>
1162
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
1163
+ ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction>[],
1164
+ TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction, Auth>
1157
1165
  ]): ChainableRouter;
1158
- <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Session, BaseRequest, Auth>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>, ...middlewares: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter;
1159
- <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Session, BaseRequest, Auth>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>, ...middlewares: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter;
1166
+ <Name extends string, Path extends `/${string}`, SuppliedPath extends Path, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter;
1167
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, SessionSchema extends SessionObject<SV>, ResolvedSession extends SessionObject<SV> extends SessionSchema ? Session : SessionSchema, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, ResolvedSession, BaseRequest>>(typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSession, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter;
1160
1168
  }
1161
1169
  interface TypedNestableMiddlewareDefinition<ChainableRouter extends {
1162
1170
  _fetchMap: object;
@@ -1188,10 +1196,7 @@ interface TypedNestableMiddlewareDefinition<ChainableRouter extends {
1188
1196
  [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
1189
1197
  }>;
1190
1198
  };
1191
- <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, Router extends ConstrainedForklaunchRouter<SV, RouterHandler>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(path: `/${string}` extends Router['basePath'] ? Path : PathMatch<Path, Router['basePath']>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router, ...middlewareAndTypedHandler: [
1192
- ...(ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router)[],
1193
- TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>
1194
- ]): ChainableRouter & {
1199
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, Router extends ConstrainedForklaunchRouter<SV, RouterHandler>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Session, BaseRequest, Auth>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router, ...middlewares: (ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router)[]): ChainableRouter & {
1195
1200
  _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
1196
1201
  [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
1197
1202
  }>;
@@ -1199,7 +1204,7 @@ interface TypedNestableMiddlewareDefinition<ChainableRouter extends {
1199
1204
  [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
1200
1205
  }>;
1201
1206
  };
1202
- <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, 'middleware'>, Router extends ConstrainedForklaunchRouter<SV, RouterHandler>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router, ...middlewareAndTypedHandler: [
1207
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, Router extends ConstrainedForklaunchRouter<SV, RouterHandler>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router, ...middlewareAndTypedHandler: [
1203
1208
  ...(ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router)[],
1204
1209
  TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>
1205
1210
  ]): ChainableRouter & {
@@ -1226,6 +1231,22 @@ interface TypedNestableMiddlewareDefinition<ChainableRouter extends {
1226
1231
  [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
1227
1232
  }>;
1228
1233
  };
1234
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, Router extends ConstrainedForklaunchRouter<SV, RouterHandler>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(path: `/${string}` extends Router['basePath'] ? Path : PathMatch<Path, Router['basePath']>, typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter & {
1235
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
1236
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
1237
+ }>;
1238
+ sdk: Prettify<ChainableRouter['sdk'] & {
1239
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
1240
+ }>;
1241
+ };
1242
+ <Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, Router extends ConstrainedForklaunchRouter<SV, RouterHandler>, VersionedApi extends VersionSchema<SV, 'middleware'>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>>(typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter & {
1243
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
1244
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
1245
+ }>;
1246
+ sdk: Prettify<ChainableRouter['sdk'] & {
1247
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
1248
+ }>;
1249
+ };
1229
1250
  }
1230
1251
  type ContractDetailsOrMiddlewareOrTypedHandler<SV extends AnySchemaValidator, Name extends string, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, ContractMethod>, Session extends SessionObject<SV>, BaseRequest, BaseResponse, NextFunction, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>> = ContractDetails<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Session, BaseRequest, Auth> | ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>;
1231
1252
  type MiddlewareOrMiddlewareWithTypedHandler<SV extends AnySchemaValidator, Name extends string, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, VersionedApi extends VersionSchema<SV, ContractMethod>, Session extends SessionObject<SV>, BaseRequest, BaseResponse, NextFunction, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, Session, BaseRequest>> = ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction, Auth>;
@@ -1552,21 +1573,21 @@ type ToFetchMap<T extends Record<string, SdkHandler>, SV extends AnySchemaValida
1552
1573
  /**
1553
1574
  * A class that represents an Express-like router.
1554
1575
  */
1555
- declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePath extends `/${string}`, RouterHandler, Internal extends ExpressLikeRouter<RouterHandler, Internal>, BaseRequest, BaseResponse, NextFunction, SessionSchema extends SessionObject<SV>, FetchMap extends Record<string, unknown> = EmptyObject, Sdk extends Record<string, unknown> = EmptyObject> implements ConstrainedForklaunchRouter<SV, RouterHandler> {
1576
+ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePath extends `/${string}`, RouterHandler, Internal extends ExpressLikeRouter<RouterHandler, Internal>, BaseRequest, BaseResponse, NextFunction, RouterSession extends SessionObject<SV>, FetchMap extends Record<string, unknown> = EmptyObject, Sdk extends Record<string, unknown> = EmptyObject> implements ConstrainedForklaunchRouter<SV, RouterHandler> {
1556
1577
  #private;
1557
1578
  readonly basePath: BasePath;
1558
1579
  readonly schemaValidator: SV;
1559
1580
  readonly internal: Internal;
1560
1581
  readonly postEnrichMiddleware: RouterHandler[];
1561
1582
  readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
1562
- readonly routerOptions?: ExpressLikeRouterOptions<SV, SessionSchema> | undefined;
1583
+ readonly routerOptions?: ExpressLikeRouterOptions<SV, RouterSession> | undefined;
1563
1584
  requestHandler: RouterHandler;
1564
1585
  routers: ForklaunchRouter<SV>[];
1565
1586
  routes: ForklaunchRoute<SV>[];
1566
1587
  _fetchMap: FetchMap;
1567
1588
  sdk: Sdk;
1568
1589
  sdkPaths: Record<string, string>;
1569
- constructor(basePath: BasePath, schemaValidator: SV, internal: Internal, postEnrichMiddleware: RouterHandler[], openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, routerOptions?: ExpressLikeRouterOptions<SV, SessionSchema> | undefined);
1590
+ constructor(basePath: BasePath, schemaValidator: SV, internal: Internal, postEnrichMiddleware: RouterHandler[], openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, routerOptions?: ExpressLikeRouterOptions<SV, RouterSession> | undefined);
1570
1591
  /**
1571
1592
  * Fetches a route from the route map and executes it with the given parameters.
1572
1593
  *
@@ -1576,16 +1597,16 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1576
1597
  * @returns {Promise<ReturnType<_fetchMap[Path]>>} - The result of executing the route handler.
1577
1598
  */
1578
1599
  fetch: FetchFunction<this['_fetchMap']>;
1579
- registerRoute<Name extends string, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, ContractMethod>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>>(method: ContractMethod, path: Path, registrationMethod: PathBasedHandler<RouterHandler>, contractDetailsOrMiddlewareOrTypedHandler: ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth>, ...middlewareOrMiddlewareAndTypedHandler: MiddlewareOrMiddlewareWithTypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth>[]): this & {
1600
+ registerRoute<Name extends string, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, ContractMethod>, SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>>(method: ContractMethod, path: Path, registrationMethod: PathBasedHandler<RouterHandler>, contractDetailsOrMiddlewareOrTypedHandler: ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth>, ...middlewareOrMiddlewareAndTypedHandler: MiddlewareOrMiddlewareWithTypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth>[]): this & {
1580
1601
  _fetchMap: Prettify<FetchMap extends Record<SanitizePathSlashes<`${BasePath}${Path}`>, unknown> ? FetchMap & Record<SanitizePathSlashes<`${BasePath}${Path}`>, FetchMap[SanitizePathSlashes<`${BasePath}${Path}`>] & Record<Uppercase<ContractMethod>, LiveTypeFunction<SV, SanitizePathSlashes<`${BasePath}${Path}`>, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, ContractMethod, VersionedApi, Auth>>> : FetchMap & Record<SanitizePathSlashes<`${BasePath}${Path}`>, Record<Uppercase<ContractMethod>, LiveTypeFunction<SV, SanitizePathSlashes<`${BasePath}${Path}`>, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, ContractMethod, VersionedApi, Auth>>>>;
1581
1602
  sdk: Prettify<Sdk & Record<PrettyCamelCase<Name extends string ? Name : SanitizePathSlashes<`${BasePath}${Path}`>>, LiveSdkFunction<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Auth>>>;
1582
1603
  };
1583
- registerMiddlewareHandler<Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, 'middleware'>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>>(registrationMethod: PathOrMiddlewareBasedHandler<RouterHandler>, pathOrContractDetailsOrMiddlewareOrTypedHandler: Path | ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | RouterHandler, contractDetailsOrMiddlewareOrTypedHandler?: ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | RouterHandler, ...middlewareOrMiddlewareWithTypedHandler: (MiddlewareOrMiddlewareWithTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | RouterHandler)[]): this;
1604
+ registerMiddlewareHandler<Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, 'middleware'>, SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>>(registrationMethod: PathOrMiddlewareBasedHandler<RouterHandler>, pathOrContractDetailsOrMiddlewareOrTypedHandler: Path | ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | RouterHandler, contractDetailsOrMiddlewareOrTypedHandler?: ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | RouterHandler, ...middlewareOrMiddlewareWithTypedHandler: (MiddlewareOrMiddlewareWithTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | RouterHandler)[]): this;
1584
1605
  private addRouterToSdk;
1585
- registerNestableMiddlewareHandler<Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, 'middleware'>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>>(registrationMethod: NestableRouterBasedHandler<RouterHandler, Internal>, pathOrContractDetailsOrMiddlewareOrTypedHandler: Path | ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | ConstrainedForklaunchRouter<SV, RouterHandler>, contractDetailsOrMiddlewareOrTypedHandler?: ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | ConstrainedForklaunchRouter<SV, RouterHandler>, ...middlewareOrMiddlewareWithTypedHandler: (MiddlewareOrMiddlewareWithTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | ConstrainedForklaunchRouter<SV, RouterHandler>)[]): this;
1586
- use: TypedNestableMiddlewareDefinition<this, RouterHandler, Internal, SV, SessionSchema, BaseRequest, BaseResponse, NextFunction>;
1587
- all: TypedMiddlewareDefinition<this, SV, SessionSchema, BaseRequest, BaseResponse, NextFunction, RouterHandler>;
1588
- connect: TypedMiddlewareDefinition<this, SV, SessionSchema, BaseRequest, BaseResponse, NextFunction, RouterHandler>;
1606
+ registerNestableMiddlewareHandler<Name extends string, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>, const VersionedApi extends VersionSchema<SV, 'middleware'>, const SessionSchema extends SessionObject<SV>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, SessionSchema, BaseRequest>>(registrationMethod: NestableRouterBasedHandler<RouterHandler, Internal>, pathOrContractDetailsOrMiddlewareOrTypedHandler: Path | ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | ConstrainedForklaunchRouter<SV, RouterHandler>, contractDetailsOrMiddlewareOrTypedHandler?: ContractDetailsOrMiddlewareOrTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | ConstrainedForklaunchRouter<SV, RouterHandler>, ...middlewareOrMiddlewareWithTypedHandler: (MiddlewareOrMiddlewareWithTypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction, Auth> | ConstrainedForklaunchRouter<SV, RouterHandler>)[]): this;
1607
+ use: TypedNestableMiddlewareDefinition<this, RouterHandler, Internal, SV, RouterSession, BaseRequest, BaseResponse, NextFunction>;
1608
+ all: TypedMiddlewareDefinition<this, SV, RouterSession, BaseRequest, BaseResponse, NextFunction, RouterHandler>;
1609
+ connect: TypedMiddlewareDefinition<this, SV, RouterSession, BaseRequest, BaseResponse, NextFunction, RouterHandler>;
1589
1610
  /**
1590
1611
  * Registers a GET route with the specified contract details and handler handlers.
1591
1612
  *
@@ -1599,7 +1620,7 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1599
1620
  * @param {...SchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} handlers - The handler handlers.
1600
1621
  * @returns {ExpressRouter} - The Express router.
1601
1622
  */
1602
- get: LiveTypeRouteDefinition<SV, BasePath, 'get', RouterHandler, Internal, SessionSchema, BaseRequest, BaseResponse, NextFunction, this>;
1623
+ get: LiveTypeRouteDefinition<SV, BasePath, 'get', RouterHandler, Internal, RouterSession, BaseRequest, BaseResponse, NextFunction, this>;
1603
1624
  /**
1604
1625
  * Registers a POST route with the specified contract details and handler handlers.
1605
1626
  *
@@ -1613,7 +1634,7 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1613
1634
  * @param {...SchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} handlers - The handler handlers.
1614
1635
  * @returns {ExpressRouter} - The Expxwress router.
1615
1636
  */
1616
- post: LiveTypeRouteDefinition<SV, BasePath, 'post', RouterHandler, Internal, SessionSchema, BaseRequest, BaseResponse, NextFunction, this>;
1637
+ post: LiveTypeRouteDefinition<SV, BasePath, 'post', RouterHandler, Internal, RouterSession, BaseRequest, BaseResponse, NextFunction, this>;
1617
1638
  /**
1618
1639
  * Registers a PUT route with the specified contract details and handler handlers.
1619
1640
  *
@@ -1627,7 +1648,7 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1627
1648
  * @param {...SchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} handlers - The handler handlers.
1628
1649
  * @returns {ExpressRouter} - The Express router.
1629
1650
  */
1630
- put: LiveTypeRouteDefinition<SV, BasePath, 'put', RouterHandler, Internal, SessionSchema, BaseRequest, BaseResponse, NextFunction, this>;
1651
+ put: LiveTypeRouteDefinition<SV, BasePath, 'put', RouterHandler, Internal, RouterSession, BaseRequest, BaseResponse, NextFunction, this>;
1631
1652
  /**
1632
1653
  * Registers a PATCH route with the specified contract details and handler handlers.
1633
1654
  *
@@ -1641,7 +1662,7 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1641
1662
  * @param {...SchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} handlers - The handler handlers.
1642
1663
  * @returns {ExpressRouter} - The Express router.
1643
1664
  */
1644
- patch: LiveTypeRouteDefinition<SV, BasePath, 'patch', RouterHandler, Internal, SessionSchema, BaseRequest, BaseResponse, NextFunction, this>;
1665
+ patch: LiveTypeRouteDefinition<SV, BasePath, 'patch', RouterHandler, Internal, RouterSession, BaseRequest, BaseResponse, NextFunction, this>;
1645
1666
  /**
1646
1667
  * Registers a DELETE route with the specified contract details and handler handlers.
1647
1668
  *
@@ -1655,7 +1676,7 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1655
1676
  * @param {...SchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} handlers - The handler handlers.
1656
1677
  * @returns {ExpressRouter} - The Express router.
1657
1678
  */
1658
- delete: LiveTypeRouteDefinition<SV, BasePath, 'delete', RouterHandler, Internal, SessionSchema, BaseRequest, BaseResponse, NextFunction, this>;
1679
+ delete: LiveTypeRouteDefinition<SV, BasePath, 'delete', RouterHandler, Internal, RouterSession, BaseRequest, BaseResponse, NextFunction, this>;
1659
1680
  /**
1660
1681
  * Registers a OPTIONS route with the specified contract details and handler handlers.
1661
1682
  *
@@ -1669,7 +1690,7 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1669
1690
  * @param {...SchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} handlers - The handler handlers.
1670
1691
  * @returns {ExpressRouter} - The Express router.
1671
1692
  */
1672
- options: LiveTypeRouteDefinition<SV, BasePath, 'options', RouterHandler, Internal, SessionSchema, BaseRequest, BaseResponse, NextFunction, this>;
1693
+ options: LiveTypeRouteDefinition<SV, BasePath, 'options', RouterHandler, Internal, RouterSession, BaseRequest, BaseResponse, NextFunction, this>;
1673
1694
  /**
1674
1695
  * Registers a HEAD route with the specified contract details and handler handlers.
1675
1696
  *
@@ -1683,7 +1704,7 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1683
1704
  * @param {...SchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} handlers - The handler handlers.
1684
1705
  * @returns {ExpressRouter} - The Express router.
1685
1706
  */
1686
- head: LiveTypeRouteDefinition<SV, BasePath, 'head', RouterHandler, Internal, SessionSchema, BaseRequest, BaseResponse, NextFunction, this>;
1707
+ head: LiveTypeRouteDefinition<SV, BasePath, 'head', RouterHandler, Internal, RouterSession, BaseRequest, BaseResponse, NextFunction, this>;
1687
1708
  /**
1688
1709
  * Registers a TRACE route with the specified contract details and handler handlers.
1689
1710
  *
@@ -1697,7 +1718,7 @@ declare class ForklaunchExpressLikeRouter<SV extends AnySchemaValidator, BasePat
1697
1718
  * @param {...SchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, LocalsObj>[]} handlers - The handler handlers.
1698
1719
  * @returns {ExpressRouter} - The Express router.
1699
1720
  */
1700
- trace: LiveTypeRouteDefinition<SV, BasePath, 'trace', RouterHandler, Internal, SessionSchema, BaseRequest, BaseResponse, NextFunction, this>;
1721
+ trace: LiveTypeRouteDefinition<SV, BasePath, 'trace', RouterHandler, Internal, RouterSession, BaseRequest, BaseResponse, NextFunction, this>;
1701
1722
  protected cloneInternals(clone: this): void;
1702
1723
  clone(): this;
1703
1724
  }
@@ -2145,4 +2166,4 @@ declare function logger(level: LevelWithSilentOrString, meta?: AnyValueMap): Pin
2145
2166
 
2146
2167
  declare function recordMetric<SV extends AnySchemaValidator, P extends ParamsDictionary, ReqBody extends Record<string, unknown>, ReqQuery extends ParsedQs, ResBodyMap extends Record<string, unknown>, ReqHeaders extends Record<string, string>, ResHeaders extends Record<string, unknown>, LocalsObj extends Record<string, unknown>, VersionedReqs extends VersionedRequests, SessionSchema extends Record<string, unknown>>(req: ForklaunchRequest<SV, P, ReqBody, ReqQuery, ReqHeaders, Extract<keyof VersionedReqs, string>, SessionSchema>, res: ForklaunchResponse<unknown, ResBodyMap, ResHeaders, LocalsObj, Extract<keyof VersionedReqs, string>>): void;
2147
2168
 
2148
- export { ATTR_API_NAME, ATTR_CORRELATION_ID, type AuthMethods, type AuthMethodsBase, type BasicAuthMethods, type Body, type BodyObject, type ClusterConfig, type ConstrainedForklaunchRouter, type ContractDetails, type ContractDetailsExpressLikeSchemaHandler, type ContractDetailsOrMiddlewareOrTypedHandler, type DocsConfiguration, type ErrorContainer, type ExpressLikeApplicationOptions, type ExpressLikeAuthMapper, type ExpressLikeGlobalAuthOptions, type ExpressLikeHandler, type ExpressLikeRouter, type ExpressLikeRouterOptions, type ExpressLikeSchemaAuthMapper, type ExpressLikeSchemaGlobalAuthOptions, type ExpressLikeSchemaHandler, type ExpressLikeTypedHandler, type ExtractBody, type ExtractContentType, type ExtractLiveTypeFn, type ExtractResponseBody, type ExtractedParamsObject, type FetchFunction, type FileBody, type ForklaunchBaseRequest, ForklaunchExpressLikeApplication, ForklaunchExpressLikeRouter, type ForklaunchNextFunction, type ForklaunchRequest, type ForklaunchResErrors, type ForklaunchResHeaders, type ForklaunchResponse, type ForklaunchRoute, type ForklaunchRouter, type ForklaunchSendableData, type ForklaunchStatusResponse, HTTPStatuses, type HeadersObject, type HttpContractDetails, type HttpMethod, type JsonBody, type JwtAuthMethods, type LiveSdkFunction, type LiveTypeFunction, type LiveTypeFunctionRequestInit, type LiveTypeRouteDefinition, type LogFn, type LoggerMeta, type MapControllerToSdk, type MapParamsSchema, type MapReqBodySchema, type MapReqHeadersSchema, type MapReqQuerySchema, type MapResBodyMapSchema, type MapResHeadersSchema, type MapSchema, type MapSessionSchema, type MapToFetch, type MapToSdk, type MapVersionedReqsSchema, type MapVersionedRespsSchema, type Method, type MetricType, type MetricsDefinition, type MiddlewareContractDetails, type MiddlewareOrMiddlewareWithTypedHandler, type MultipartForm, type NestableRouterBasedHandler, type NumberOnlyObject, OPENAPI_DEFAULT_VERSION, OpenTelemetryCollector, type ParamsDictionary, type ParamsObject, type PathBasedHandler, type PathMatch, type PathOrMiddlewareBasedHandler, type PathParamHttpContractDetails, type PathParamMethod, type QueryObject, type RawTypedResponseBody, type RequestContext, type ResolvedForklaunchAuthRequest, type ResolvedForklaunchRequest, type ResolvedForklaunchResponse, type ResponseBody, type ResponseCompiledSchema, type ResponseShape, type ResponsesObject, type RouterMap, type RoutingStrategy, type SchemaAuthMethods, type SdkHandler, type SdkRouter, type ServerSentEventBody, type SessionObject, type StatusCode, type StringOnlyObject, type SystemAuthMethods, type TelemetryOptions, type TextBody, type ToFetchMap, type TypedBody, type TypedHandler, type TypedMiddlewareDefinition, type TypedNestableMiddlewareDefinition, type TypedRequestBody, type TypedResponseBody, type UnknownBody, type UnknownResponseBody, type UrlEncodedForm, type VersionSchema, type VersionedRequests, type VersionedResponses, delete_, discriminateBody, discriminateResponseBodies, enrichExpressLikeSend, evaluateTelemetryOptions, generateMcpServer, generateOpenApiSpecs, get, getCodeForStatus, head, httpRequestsTotalCounter, httpServerDurationHistogram, isClientError, isForklaunchRequest, isForklaunchRouter, isInformational, isPortBound, isRedirection, isServerError, isSuccessful, isValidStatusCode, logger, meta, metricsDefinitions, middleware, options, patch, post, put, recordMetric, sdkClient, sdkRouter, trace, typedAuthHandler, typedHandler };
2169
+ export { ATTR_API_NAME, ATTR_CORRELATION_ID, type AuthMethods, type AuthMethodsBase, type BasicAuthMethods, type Body, type BodyObject, type ClusterConfig, type ConstrainedForklaunchRouter, type ContractDetails, type ContractDetailsExpressLikeSchemaHandler, type ContractDetailsOrMiddlewareOrTypedHandler, type DecodeResource, type DocsConfiguration, type ErrorContainer, type ExpressLikeApplicationOptions, type ExpressLikeAuthMapper, type ExpressLikeGlobalAuthOptions, type ExpressLikeHandler, type ExpressLikeRouter, type ExpressLikeRouterOptions, type ExpressLikeSchemaAuthMapper, type ExpressLikeSchemaGlobalAuthOptions, type ExpressLikeSchemaHandler, type ExpressLikeTypedHandler, type ExtractBody, type ExtractContentType, type ExtractLiveTypeFn, type ExtractResponseBody, type ExtractedParamsObject, type FetchFunction, type FileBody, type ForklaunchBaseRequest, ForklaunchExpressLikeApplication, ForklaunchExpressLikeRouter, type ForklaunchNextFunction, type ForklaunchRequest, type ForklaunchResErrors, type ForklaunchResHeaders, type ForklaunchResponse, type ForklaunchRoute, type ForklaunchRouter, type ForklaunchSendableData, type ForklaunchStatusResponse, HTTPStatuses, type HeadersObject, type HmacMethods, type HttpContractDetails, type HttpMethod, type JsonBody, type JwtAuthMethods, type LiveSdkFunction, type LiveTypeFunction, type LiveTypeFunctionRequestInit, type LiveTypeRouteDefinition, type LogFn, type LoggerMeta, type MapControllerToSdk, type MapParamsSchema, type MapReqBodySchema, type MapReqHeadersSchema, type MapReqQuerySchema, type MapResBodyMapSchema, type MapResHeadersSchema, type MapSchema, type MapSessionSchema, type MapToFetch, type MapToSdk, type MapVersionedReqsSchema, type MapVersionedRespsSchema, type Method, type MetricType, type MetricsDefinition, type MiddlewareContractDetails, type MiddlewareOrMiddlewareWithTypedHandler, type MultipartForm, type NestableRouterBasedHandler, type NumberOnlyObject, OPENAPI_DEFAULT_VERSION, OpenTelemetryCollector, type ParamsDictionary, type ParamsObject, type PathBasedHandler, type PathMatch, type PathOrMiddlewareBasedHandler, type PathParamHttpContractDetails, type PathParamMethod, type QueryObject, type RawTypedResponseBody, type RequestContext, type ResolvedForklaunchAuthRequest, type ResolvedForklaunchRequest, type ResolvedForklaunchResponse, type ResponseBody, type ResponseCompiledSchema, type ResponseShape, type ResponsesObject, type RouterMap, type RoutingStrategy, type SchemaAuthMethods, type SdkHandler, type SdkRouter, type ServerSentEventBody, type SessionObject, type StatusCode, type StringOnlyObject, type TelemetryOptions, type TextBody, type ToFetchMap, type TypedBody, type TypedHandler, type TypedMiddlewareDefinition, type TypedNestableMiddlewareDefinition, type TypedRequestBody, type TypedResponseBody, type UnknownBody, type UnknownResponseBody, type UrlEncodedForm, type VersionSchema, type VersionedRequests, type VersionedResponses, delete_, discriminateBody, discriminateResponseBodies, enrichExpressLikeSend, evaluateTelemetryOptions, generateMcpServer, generateOpenApiSpecs, get, getCodeForStatus, head, httpRequestsTotalCounter, httpServerDurationHistogram, isClientError, isForklaunchRequest, isForklaunchRouter, isInformational, isPortBound, isRedirection, isServerError, isSuccessful, isValidStatusCode, logger, meta, metricsDefinitions, middleware, options, patch, post, put, recordMetric, sdkClient, sdkRouter, trace, typedAuthHandler, typedHandler };