@forklaunch/core 1.5.1 → 1.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/lib/cache/{index.d.mts → cacheKey.d.ts} +2 -6
  2. package/lib/cache/cacheKey.d.ts.map +1 -0
  3. package/lib/cache/index.d.ts +4 -15
  4. package/lib/cache/index.d.ts.map +1 -0
  5. package/lib/{ttlCache.interface-B3xaLT00.d.ts → cache/interfaces/ttlCache.interface.d.ts} +3 -5
  6. package/lib/cache/interfaces/ttlCache.interface.d.ts.map +1 -0
  7. package/lib/{ttlCacheRecord.types-oX0ti5SP.d.mts → cache/types/ttlCacheRecord.types.d.ts} +3 -4
  8. package/lib/cache/types/ttlCacheRecord.types.d.ts.map +1 -0
  9. package/lib/controllers/index.d.ts +2 -13
  10. package/lib/controllers/index.d.ts.map +1 -0
  11. package/lib/controllers/{index.d.mts → interfaces/controller.interface.d.ts} +2 -3
  12. package/lib/controllers/interfaces/controller.interface.d.ts.map +1 -0
  13. package/lib/environment/index.d.ts +2 -28
  14. package/lib/environment/index.d.ts.map +1 -0
  15. package/lib/environment/{index.d.mts → loadCascadingEnv.d.ts} +4 -5
  16. package/lib/environment/loadCascadingEnv.d.ts.map +1 -0
  17. package/lib/http/application/expressLikeApplication.d.ts +34 -0
  18. package/lib/http/application/expressLikeApplication.d.ts.map +1 -0
  19. package/lib/http/bootstrap/listen.d.ts +2 -0
  20. package/lib/http/bootstrap/listen.d.ts.map +1 -0
  21. package/lib/http/cluster/cluster.types.d.ts +17 -0
  22. package/lib/http/cluster/cluster.types.d.ts.map +1 -0
  23. package/lib/http/cluster/isPortBound.d.ts +2 -0
  24. package/lib/http/cluster/isPortBound.d.ts.map +1 -0
  25. package/lib/http/createHmacToken.d.ts +19 -0
  26. package/lib/http/createHmacToken.d.ts.map +1 -0
  27. package/lib/http/discriminateAuthMethod.d.ts +85 -0
  28. package/lib/http/discriminateAuthMethod.d.ts.map +1 -0
  29. package/lib/http/generateHmacAuthHeaders.d.ts +31 -0
  30. package/lib/http/generateHmacAuthHeaders.d.ts.map +1 -0
  31. package/lib/http/guards/hasFeatureChecks.d.ts +2 -0
  32. package/lib/http/guards/hasFeatureChecks.d.ts.map +1 -0
  33. package/lib/http/guards/hasPermissionChecks.d.ts +2 -0
  34. package/lib/http/guards/hasPermissionChecks.d.ts.map +1 -0
  35. package/lib/http/guards/hasRoleChecks.d.ts +2 -0
  36. package/lib/http/guards/hasRoleChecks.d.ts.map +1 -0
  37. package/lib/http/guards/hasScopeChecks.d.ts +2 -0
  38. package/lib/http/guards/hasScopeChecks.d.ts.map +1 -0
  39. package/lib/http/guards/hasSend.d.ts +17 -0
  40. package/lib/http/guards/hasSend.d.ts.map +1 -0
  41. package/lib/http/guards/hasSubscriptionChecks.d.ts +2 -0
  42. package/lib/http/guards/hasSubscriptionChecks.d.ts.map +1 -0
  43. package/lib/http/guards/hasVersionedSchema.d.ts +2 -0
  44. package/lib/http/guards/hasVersionedSchema.d.ts.map +1 -0
  45. package/lib/http/guards/isBasicAuthMethod.d.ts +3 -0
  46. package/lib/http/guards/isBasicAuthMethod.d.ts.map +1 -0
  47. package/lib/http/guards/isConstrainedForklaunchRouter.d.ts +21 -0
  48. package/lib/http/guards/isConstrainedForklaunchRouter.d.ts.map +1 -0
  49. package/lib/http/guards/isExpressLikeSchemaHandler.d.ts +32 -0
  50. package/lib/http/guards/isExpressLikeSchemaHandler.d.ts.map +1 -0
  51. package/lib/http/guards/isForklaunchExpressLikeRouter.d.ts +28 -0
  52. package/lib/http/guards/isForklaunchExpressLikeRouter.d.ts.map +1 -0
  53. package/lib/http/guards/isForklaunchRequest.d.ts +26 -0
  54. package/lib/http/guards/isForklaunchRequest.d.ts.map +1 -0
  55. package/lib/http/guards/isForklaunchResponse.d.ts +23 -0
  56. package/lib/http/guards/isForklaunchResponse.d.ts.map +1 -0
  57. package/lib/http/guards/isForklaunchRouter.d.ts +21 -0
  58. package/lib/http/guards/isForklaunchRouter.d.ts.map +1 -0
  59. package/lib/http/guards/isHmacMethod.d.ts +9 -0
  60. package/lib/http/guards/isHmacMethod.d.ts.map +1 -0
  61. package/lib/http/guards/isHttpContractDetails.d.ts +29 -0
  62. package/lib/http/guards/isHttpContractDetails.d.ts.map +1 -0
  63. package/lib/http/guards/isJwtAuthMethod.d.ts +3 -0
  64. package/lib/http/guards/isJwtAuthMethod.d.ts.map +1 -0
  65. package/lib/http/guards/isLoggerMeta.d.ts +3 -0
  66. package/lib/http/guards/isLoggerMeta.d.ts.map +1 -0
  67. package/lib/http/guards/isPath.d.ts +2 -0
  68. package/lib/http/guards/isPath.d.ts.map +1 -0
  69. package/lib/http/guards/isPathParamContractDetails.d.ts +4 -0
  70. package/lib/http/guards/isPathParamContractDetails.d.ts.map +1 -0
  71. package/lib/http/guards/isRequestShape.d.ts +3 -0
  72. package/lib/http/guards/isRequestShape.d.ts.map +1 -0
  73. package/lib/http/guards/isResponseCompiledSchema.d.ts +3 -0
  74. package/lib/http/guards/isResponseCompiledSchema.d.ts.map +1 -0
  75. package/lib/http/guards/isSdkHandler.d.ts +9 -0
  76. package/lib/http/guards/isSdkHandler.d.ts.map +1 -0
  77. package/lib/http/guards/isSdkRouter.d.ts +9 -0
  78. package/lib/http/guards/isSdkRouter.d.ts.map +1 -0
  79. package/lib/http/guards/isTypedHandler.d.ts +5 -0
  80. package/lib/http/guards/isTypedHandler.d.ts.map +1 -0
  81. package/lib/http/guards/isVersionedInputSchema.d.ts +3 -0
  82. package/lib/http/guards/isVersionedInputSchema.d.ts.map +1 -0
  83. package/lib/http/handlers/delete.d.ts +5 -0
  84. package/lib/http/handlers/delete.d.ts.map +1 -0
  85. package/lib/http/handlers/get.d.ts +5 -0
  86. package/lib/http/handlers/get.d.ts.map +1 -0
  87. package/lib/http/handlers/head.d.ts +5 -0
  88. package/lib/http/handlers/head.d.ts.map +1 -0
  89. package/lib/http/handlers/middleware.d.ts +10 -0
  90. package/lib/http/handlers/middleware.d.ts.map +1 -0
  91. package/lib/http/handlers/options.d.ts +5 -0
  92. package/lib/http/handlers/options.d.ts.map +1 -0
  93. package/lib/http/handlers/patch.d.ts +5 -0
  94. package/lib/http/handlers/patch.d.ts.map +1 -0
  95. package/lib/http/handlers/post.d.ts +5 -0
  96. package/lib/http/handlers/post.d.ts.map +1 -0
  97. package/lib/http/handlers/put.d.ts +5 -0
  98. package/lib/http/handlers/put.d.ts.map +1 -0
  99. package/lib/http/handlers/trace.d.ts +5 -0
  100. package/lib/http/handlers/trace.d.ts.map +1 -0
  101. package/lib/http/handlers/typedAuthHandler.d.ts +5 -0
  102. package/lib/http/handlers/typedAuthHandler.d.ts.map +1 -0
  103. package/lib/http/handlers/typedHandler.d.ts +14 -0
  104. package/lib/http/handlers/typedHandler.d.ts.map +1 -0
  105. package/lib/http/httpStatusCodes.d.ts +75 -0
  106. package/lib/http/httpStatusCodes.d.ts.map +1 -0
  107. package/lib/http/index.d.ts +47 -1244
  108. package/lib/http/index.d.ts.map +1 -0
  109. package/lib/http/index.js +445 -410
  110. package/lib/http/index.js.map +1 -1
  111. package/lib/http/index.mjs +439 -407
  112. package/lib/http/index.mjs.map +1 -1
  113. package/lib/http/interfaces/expressLikeRouter.interface.d.ts +25 -0
  114. package/lib/http/interfaces/expressLikeRouter.interface.d.ts.map +1 -0
  115. package/lib/http/mcpGenerator/mcpGenerator.d.ts +17 -0
  116. package/lib/http/mcpGenerator/mcpGenerator.d.ts.map +1 -0
  117. package/lib/http/middleware/request/auth.middleware.d.ts +16 -0
  118. package/lib/http/middleware/request/auth.middleware.d.ts.map +1 -0
  119. package/lib/http/middleware/request/cors.middleware.d.ts +13 -0
  120. package/lib/http/middleware/request/cors.middleware.d.ts.map +1 -0
  121. package/lib/http/middleware/request/createContext.middleware.d.ts +15 -0
  122. package/lib/http/middleware/request/createContext.middleware.d.ts.map +1 -0
  123. package/lib/http/middleware/request/enrichDetails.middleware.d.ts +18 -0
  124. package/lib/http/middleware/request/enrichDetails.middleware.d.ts.map +1 -0
  125. package/lib/http/middleware/request/parse.middleware.d.ts +17 -0
  126. package/lib/http/middleware/request/parse.middleware.d.ts.map +1 -0
  127. package/lib/http/middleware/request/tenantContext.middleware.d.ts +41 -0
  128. package/lib/http/middleware/request/tenantContext.middleware.d.ts.map +1 -0
  129. package/lib/http/middleware/response/enrichExpressLikeSend.middleware.d.ts +32 -0
  130. package/lib/http/middleware/response/enrichExpressLikeSend.middleware.d.ts.map +1 -0
  131. package/lib/http/middleware/response/parse.middleware.d.ts +31 -0
  132. package/lib/http/middleware/response/parse.middleware.d.ts.map +1 -0
  133. package/lib/http/openApiV3Generator/openApiV3Generator.d.ts +17 -0
  134. package/lib/http/openApiV3Generator/openApiV3Generator.d.ts.map +1 -0
  135. package/lib/http/rateLimit/index.d.ts +2 -0
  136. package/lib/http/rateLimit/index.d.ts.map +1 -0
  137. package/lib/http/rateLimit/rateLimiter.d.ts +66 -0
  138. package/lib/http/rateLimit/rateLimiter.d.ts.map +1 -0
  139. package/lib/http/router/discriminateBody.d.ts +43 -0
  140. package/lib/http/router/discriminateBody.d.ts.map +1 -0
  141. package/lib/http/router/expressLikeRouter.d.ts +240 -0
  142. package/lib/http/router/expressLikeRouter.d.ts.map +1 -0
  143. package/lib/http/router/routerSharedLogic.d.ts +50 -0
  144. package/lib/http/router/routerSharedLogic.d.ts.map +1 -0
  145. package/lib/http/router/unpackRouters.d.ts +7 -0
  146. package/lib/http/router/unpackRouters.d.ts.map +1 -0
  147. package/lib/http/telemetry/auditLogger.d.ts +21 -0
  148. package/lib/http/telemetry/auditLogger.d.ts.map +1 -0
  149. package/lib/http/telemetry/constants.d.ts +6 -0
  150. package/lib/http/telemetry/constants.d.ts.map +1 -0
  151. package/lib/http/telemetry/evaluateTelemetryOptions.d.ts +11 -0
  152. package/lib/http/telemetry/evaluateTelemetryOptions.d.ts.map +1 -0
  153. package/lib/http/telemetry/metricsDefinition.d.ts +3 -0
  154. package/lib/http/telemetry/metricsDefinition.d.ts.map +1 -0
  155. package/lib/http/telemetry/openTelemetryCollector.d.ts +53 -0
  156. package/lib/http/telemetry/openTelemetryCollector.d.ts.map +1 -0
  157. package/lib/http/telemetry/pinoLogger.d.ts +20 -0
  158. package/lib/http/telemetry/pinoLogger.d.ts.map +1 -0
  159. package/lib/http/telemetry/recordMetric.d.ts +5 -0
  160. package/lib/http/telemetry/recordMetric.d.ts.map +1 -0
  161. package/lib/http/types/apiDefinition.types.d.ts +471 -0
  162. package/lib/http/types/apiDefinition.types.d.ts.map +1 -0
  163. package/lib/http/types/contractDetails.types.d.ts +404 -0
  164. package/lib/http/types/contractDetails.types.d.ts.map +1 -0
  165. package/lib/http/types/docsConfiguration.types.d.ts +7 -0
  166. package/lib/http/types/docsConfiguration.types.d.ts.map +1 -0
  167. package/lib/http/types/expressLikeOptions.d.ts +224 -0
  168. package/lib/http/types/expressLikeOptions.d.ts.map +1 -0
  169. package/lib/http/types/expressLikeRouter.types.d.ts +127 -0
  170. package/lib/http/types/expressLikeRouter.types.d.ts.map +1 -0
  171. package/lib/http/types/openTelemetryCollector.types.d.ts +21 -0
  172. package/lib/http/types/openTelemetryCollector.types.d.ts.map +1 -0
  173. package/lib/http/types/router.types.d.ts +52 -0
  174. package/lib/http/types/router.types.d.ts.map +1 -0
  175. package/lib/http/types/sdk.types.d.ts +259 -0
  176. package/lib/http/types/sdk.types.d.ts.map +1 -0
  177. package/lib/http/types/typedHandler.types.d.ts +18 -0
  178. package/lib/http/types/typedHandler.types.d.ts.map +1 -0
  179. package/lib/mappers/guards/isSchemaResolutionFunction.d.ts +10 -0
  180. package/lib/mappers/guards/isSchemaResolutionFunction.d.ts.map +1 -0
  181. package/lib/mappers/index.d.ts +3 -68
  182. package/lib/mappers/index.d.ts.map +1 -0
  183. package/lib/mappers/mapServiceSchemas.d.ts +33 -0
  184. package/lib/mappers/mapServiceSchemas.d.ts.map +1 -0
  185. package/lib/mappers/mapper.d.ts +26 -0
  186. package/lib/mappers/mapper.d.ts.map +1 -0
  187. package/lib/mappers/types/schemaResolution.types.d.ts +9 -0
  188. package/lib/mappers/types/schemaResolution.types.d.ts.map +1 -0
  189. package/lib/objectstore/index.d.ts +3 -71
  190. package/lib/objectstore/index.d.ts.map +1 -0
  191. package/lib/objectstore/{index.d.mts → interfaces/objectstore.interface.d.ts} +3 -16
  192. package/lib/objectstore/interfaces/objectstore.interface.d.ts.map +1 -0
  193. package/lib/objectstore/objectstoreKey.d.ts +11 -0
  194. package/lib/objectstore/objectstoreKey.d.ts.map +1 -0
  195. package/lib/persistence/complianceEventSubscriber.d.ts +13 -0
  196. package/lib/persistence/complianceEventSubscriber.d.ts.map +1 -0
  197. package/lib/persistence/compliancePropertyBuilder.d.ts +26 -0
  198. package/lib/persistence/compliancePropertyBuilder.d.ts.map +1 -0
  199. package/lib/persistence/complianceTypes.d.ts +64 -0
  200. package/lib/persistence/complianceTypes.d.ts.map +1 -0
  201. package/lib/persistence/defineComplianceEntity.d.ts +19 -0
  202. package/lib/persistence/defineComplianceEntity.d.ts.map +1 -0
  203. package/lib/persistence/encryptedType.d.ts +85 -0
  204. package/lib/persistence/encryptedType.d.ts.map +1 -0
  205. package/lib/persistence/fieldEncryptor.d.ts +48 -0
  206. package/lib/persistence/fieldEncryptor.d.ts.map +1 -0
  207. package/lib/persistence/index.d.ts +10 -403
  208. package/lib/persistence/index.d.ts.map +1 -0
  209. package/lib/persistence/index.js.map +1 -1
  210. package/lib/persistence/index.mjs.map +1 -1
  211. package/lib/persistence/rls.d.ts +56 -0
  212. package/lib/persistence/rls.d.ts.map +1 -0
  213. package/lib/persistence/tenantEm.d.ts +60 -0
  214. package/lib/persistence/tenantEm.d.ts.map +1 -0
  215. package/lib/persistence/tenantFilter.d.ts +47 -0
  216. package/lib/persistence/tenantFilter.d.ts.map +1 -0
  217. package/lib/secrets/index.d.ts +2 -0
  218. package/lib/secrets/index.d.ts.map +1 -0
  219. package/lib/secrets/secretsAccessor.d.ts +17 -0
  220. package/lib/secrets/secretsAccessor.d.ts.map +1 -0
  221. package/lib/services/complianceDataService.d.ts +47 -0
  222. package/lib/services/complianceDataService.d.ts.map +1 -0
  223. package/lib/services/configInjector.d.ts +43 -0
  224. package/lib/services/configInjector.d.ts.map +1 -0
  225. package/lib/services/guards/isConstructed.d.ts +3 -0
  226. package/lib/services/guards/isConstructed.d.ts.map +1 -0
  227. package/lib/services/guards/isConstructedSingleton.d.ts +3 -0
  228. package/lib/services/guards/isConstructedSingleton.d.ts.map +1 -0
  229. package/lib/services/guards/isConstructor.d.ts +3 -0
  230. package/lib/services/guards/isConstructor.d.ts.map +1 -0
  231. package/lib/services/index.d.ts +10 -184
  232. package/lib/services/index.d.ts.map +1 -0
  233. package/lib/services/retentionService.d.ts +31 -0
  234. package/lib/services/retentionService.d.ts.map +1 -0
  235. package/lib/services/runRetentionEnforcement.d.ts +19 -0
  236. package/lib/services/runRetentionEnforcement.d.ts.map +1 -0
  237. package/lib/services/types/configInjector.types.d.ts +39 -0
  238. package/lib/services/types/configInjector.types.d.ts.map +1 -0
  239. package/lib/services/types/entityManager.types.d.ts +4 -0
  240. package/lib/services/types/entityManager.types.d.ts.map +1 -0
  241. package/lib/services/types/service.types.d.ts +5 -0
  242. package/lib/services/types/service.types.d.ts.map +1 -0
  243. package/lib/ws/asyncApiV3Generator/asyncApiV3Generator.d.ts +12 -0
  244. package/lib/ws/asyncApiV3Generator/asyncApiV3Generator.d.ts.map +1 -0
  245. package/lib/ws/index.d.ts +4 -67
  246. package/lib/ws/index.d.ts.map +1 -0
  247. package/lib/ws/index.js.map +1 -1
  248. package/lib/ws/index.mjs.map +1 -1
  249. package/lib/ws/types/eventSchema.types.d.ts +28 -0
  250. package/lib/ws/types/eventSchema.types.d.ts.map +1 -0
  251. package/lib/ws/webSocketLike.d.ts +18 -0
  252. package/lib/ws/webSocketLike.d.ts.map +1 -0
  253. package/package.json +47 -46
  254. package/LICENSE +0 -21
  255. package/lib/apiDefinition.types-DF_crhB0.d.mts +0 -1092
  256. package/lib/apiDefinition.types-DW4lfZqy.d.ts +0 -1092
  257. package/lib/http/index.d.mts +0 -1244
  258. package/lib/mappers/index.d.mts +0 -68
  259. package/lib/openTelemetryCollector-BS-ej09T.d.mts +0 -70
  260. package/lib/openTelemetryCollector-BS-ej09T.d.ts +0 -70
  261. package/lib/persistence/index.d.mts +0 -403
  262. package/lib/services/index.d.mts +0 -185
  263. package/lib/ttlCache.interface-CEOkrt8d.d.mts +0 -77
  264. package/lib/ttlCacheRecord.types-oX0ti5SP.d.ts +0 -25
  265. package/lib/ws/index.d.mts +0 -67
@@ -0,0 +1,224 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { CorsOptions } from 'cors';
3
+ import { FastMCP } from 'fastmcp';
4
+ import http from 'http';
5
+ import { JWTPayload } from 'jose';
6
+ import { ForklaunchRequest, MapSessionSchema } from './apiDefinition.types';
7
+ import { SessionObject } from './contractDetails.types';
8
+ import { DocsConfiguration } from './docsConfiguration.types';
9
+ /**
10
+ * Default subscription data structure.
11
+ * Applications can override this with their own subscription type.
12
+ */
13
+ export type DefaultSubscriptionData = {
14
+ subscriptionId: string;
15
+ planId: string;
16
+ planName: string;
17
+ status: string;
18
+ currentPeriodEnd: Date;
19
+ } | null;
20
+ /**
21
+ * Options for global authentication in Express-like applications.
22
+ *
23
+ * @template SV - The schema validator type.
24
+ * @template SessionSchema - The session schema type.
25
+ * @template SubscriptionData - The subscription data type (defaults to DefaultSubscriptionData, must extend Record<string, unknown> | null).
26
+ *
27
+ * Can be `false` to disable authentication, or an object specifying session schema and
28
+ * functions to surface scopes, permissions, roles, subscription, and features from the JWT/session.
29
+ */
30
+ export type ExpressLikeGlobalAuthOptions<SV extends AnySchemaValidator, SessionSchema extends Record<string, unknown>, SubscriptionData extends Record<string, unknown> | null = DefaultSubscriptionData> = false | {
31
+ /**
32
+ * Optional session schema for the authentication context.
33
+ */
34
+ sessionSchema?: SessionSchema;
35
+ /**
36
+ * Optional array describing the scope hierarchy for authorization.
37
+ */
38
+ scopeHeirarchy?: string[];
39
+ /**
40
+ * Function to extract a set of scopes from the JWT payload and request.
41
+ */
42
+ surfaceScopes?: (payload: JWTPayload & SessionSchema, req?: ForklaunchRequest<SV, Record<string, string>, Record<string, unknown>, Record<string, unknown>, Record<string, unknown>, string, SessionSchema>) => Set<string> | Promise<Set<string>>;
43
+ /**
44
+ * Function to extract a set of permissions from the JWT payload and request.
45
+ */
46
+ surfacePermissions?: (payload: JWTPayload & SessionSchema, req?: ForklaunchRequest<SV, Record<string, string>, Record<string, unknown>, Record<string, unknown>, Record<string, unknown>, string, SessionSchema>) => Set<string> | Promise<Set<string>>;
47
+ /**
48
+ * Function to extract a set of roles from the JWT payload and request.
49
+ */
50
+ surfaceRoles?: (payload: JWTPayload & SessionSchema, req?: ForklaunchRequest<SV, Record<string, string>, Record<string, unknown>, Record<string, unknown>, Record<string, unknown>, string, SessionSchema>) => Set<string> | Promise<Set<string>>;
51
+ /**
52
+ * Function to extract subscription data from the JWT payload and request.
53
+ * Returns subscription information (status, plan, etc.) or null if no subscription.
54
+ */
55
+ surfaceSubscription?: (payload: JWTPayload & SessionSchema, req?: ForklaunchRequest<SV, Record<string, string>, Record<string, unknown>, Record<string, unknown>, Record<string, unknown>, string, SessionSchema>) => SubscriptionData | Promise<SubscriptionData>;
56
+ /**
57
+ * Function to extract a set of feature flags from the JWT payload and request.
58
+ * Returns features available to the organization based on their billing plan.
59
+ */
60
+ surfaceFeatures?: (payload: JWTPayload & SessionSchema, req?: ForklaunchRequest<SV, Record<string, string>, Record<string, unknown>, Record<string, unknown>, Record<string, unknown>, string, SessionSchema>) => Set<string> | Promise<Set<string>>;
61
+ };
62
+ /**
63
+ * Schema-aware version of ExpressLikeGlobalAuthOptions.
64
+ *
65
+ * @template SV - The schema validator type.
66
+ * @template SessionSchema - The session object type.
67
+ * @template SubscriptionData - The subscription data type.
68
+ */
69
+ export type ExpressLikeSchemaGlobalAuthOptions<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>, SubscriptionData extends Record<string, unknown> | null = DefaultSubscriptionData> = ExpressLikeGlobalAuthOptions<SV, MapSessionSchema<SV, SessionSchema>, SubscriptionData>;
70
+ /**
71
+ * Options for configuring an Express-like router.
72
+ *
73
+ * @template SV - The schema validator type.
74
+ * @template SessionSchema - The session object type.
75
+ * @template SubscriptionData - The subscription data type.
76
+ */
77
+ export type ExpressLikeRouterOptions<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>, SubscriptionData extends Record<string, unknown> | null = DefaultSubscriptionData> = {
78
+ /**
79
+ * Authentication options for the router.
80
+ */
81
+ auth?: ExpressLikeSchemaGlobalAuthOptions<SV, SessionSchema, SubscriptionData>;
82
+ /**
83
+ * Validation options for request and response.
84
+ * Can be `false` to disable validation, or an object to configure request/response validation levels.
85
+ */
86
+ validation?: false | {
87
+ /**
88
+ * Request validation mode: 'none', 'warning', or 'error'.
89
+ */
90
+ request?: 'none' | 'warning' | 'error';
91
+ /**
92
+ * Response validation mode: 'none', 'warning', or 'error'.
93
+ */
94
+ response?: 'none' | 'warning' | 'error';
95
+ };
96
+ /**
97
+ * OpenAPI documentation options.
98
+ */
99
+ openapi?: boolean;
100
+ /**
101
+ * MCP options.
102
+ */
103
+ mcp?: boolean;
104
+ };
105
+ /**
106
+ * Options for configuring an Express-like application.
107
+ *
108
+ * @template SV - The schema validator type.
109
+ * @template SessionSchema - The session object type.
110
+ * @template SubscriptionData - The subscription data type.
111
+ */
112
+ export type ExpressLikeApplicationOptions<SV extends AnySchemaValidator, SessionSchema extends SessionObject<SV>, SubscriptionData extends Record<string, unknown> | null = DefaultSubscriptionData> = Omit<ExpressLikeRouterOptions<SV, SessionSchema, SubscriptionData>, 'openapi' | 'mcp'> & {
113
+ /**
114
+ * Documentation configuration.
115
+ */
116
+ docs?: DocsConfiguration;
117
+ /**
118
+ * Hosting/server options.
119
+ */
120
+ hosting?: {
121
+ /**
122
+ * SSL configuration or boolean to enable/disable SSL.
123
+ */
124
+ ssl?: {
125
+ /**
126
+ * SSL certificate as a string.
127
+ */
128
+ certFile: string;
129
+ /**
130
+ * SSL key as a string.
131
+ */
132
+ keyFile: string;
133
+ /**
134
+ * SSL CA as a string.
135
+ */
136
+ caFile: string;
137
+ };
138
+ /**
139
+ * Number of worker processes to spawn.
140
+ */
141
+ workerCount?: number;
142
+ /**
143
+ * Routing strategy to use.
144
+ */
145
+ routingStrategy?: 'round-robin' | 'sticky' | 'random';
146
+ };
147
+ /**
148
+ * FastMCP (management/control plane) options.
149
+ * Can be `false` to disable, or an object to configure.
150
+ */
151
+ mcp?: false | {
152
+ /**
153
+ * Port for the MCP server.
154
+ */
155
+ port?: number;
156
+ /**
157
+ * Endpoint for the MCP server.
158
+ */
159
+ path?: `/${string}`;
160
+ /**
161
+ * Additional options for FastMCP.
162
+ */
163
+ options?: ConstructorParameters<typeof FastMCP>[0];
164
+ /**
165
+ * Optional authentication callback for validating MCP requests.
166
+ * Called by FastMCP for each request to verify the session token.
167
+ * Return user info object if authenticated, undefined otherwise.
168
+ * Example: { email: 'user@example.com', name: 'User' }
169
+ */
170
+ authenticate?: (request: http.IncomingMessage) => Promise<Record<string, unknown> | undefined>;
171
+ /**
172
+ * Additional tools to register with the MCP server.
173
+ */
174
+ additionalTools?: (mcpServer: FastMCP) => void;
175
+ /**
176
+ * Content type mapping for the MCP server.
177
+ */
178
+ contentTypeMapping?: Record<string, string>;
179
+ /**
180
+ * Version of the MCP server.
181
+ */
182
+ version?: `${number}.${number}.${number}`;
183
+ };
184
+ /**
185
+ * OpenAPI documentation options.
186
+ * Can be `false` to disable, or an object to configure.
187
+ */
188
+ openapi?: false | {
189
+ /**
190
+ * Path to serve the OpenAPI docs (e.g., '/openapi').
191
+ */
192
+ path?: `/${string}`;
193
+ /**
194
+ * Title for the OpenAPI documentation.
195
+ */
196
+ title?: string;
197
+ /**
198
+ * Description for the OpenAPI documentation.
199
+ */
200
+ description?: string;
201
+ /**
202
+ * Contact information for the API.
203
+ */
204
+ contact?: {
205
+ /**
206
+ * Contact name.
207
+ */
208
+ name?: string;
209
+ /**
210
+ * Contact email.
211
+ */
212
+ email?: string;
213
+ };
214
+ /**
215
+ * Whether to enable discrete versioning for OpenAPI docs.
216
+ */
217
+ discreteVersions?: boolean;
218
+ };
219
+ /**
220
+ * CORS configuration options.
221
+ */
222
+ cors?: CorsOptions;
223
+ };
224
+ //# sourceMappingURL=expressLikeOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressLikeOptions.d.ts","sourceRoot":"","sources":["../../../src/http/types/expressLikeOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ import { Prettify, PrettyCamelCase, SanitizePathSlashes } from '@forklaunch/common';
2
+ import { AnySchemaValidator } from '@forklaunch/validator';
3
+ import { ExpressLikeRouter } from '../interfaces/expressLikeRouter.interface';
4
+ import { ExpressLikeSchemaHandler, LiveSdkFunction, LiveTypeFunction, PathMatch } from './apiDefinition.types';
5
+ import { Body, ContractDetails, HeadersObject, Method, ParamsObject, QueryObject, ResolvedSessionObject, ResponsesObject, SchemaAuthMethods, SessionObject, VersionSchema } from './contractDetails.types';
6
+ import { ConstrainedForklaunchRouter } from './router.types';
7
+ import { TypedHandler } from './typedHandler.types';
8
+ export interface LiveTypeRouteDefinition<SV extends AnySchemaValidator, BasePath extends `/${string}`, ContractMethod extends Method, RouterHandler, Internal extends ExpressLikeRouter<RouterHandler, Internal>, Session extends SessionObject<SV>, BaseRequest, BaseResponse, NextFunction, ChainableRouter extends {
9
+ _fetchMap: object;
10
+ sdk: object;
11
+ }> {
12
+ <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>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, BaseRequest>>(path: Path, contractDetails: ContractDetails<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, BaseRequest, Auth>, ...middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter & {
13
+ _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>>>>;
14
+ sdk: Prettify<ChainableRouter['sdk'] & Record<PrettyCamelCase<Name>, LiveSdkFunction<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Auth>>>;
15
+ };
16
+ <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>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
17
+ ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>[],
18
+ TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>
19
+ ]): ChainableRouter & {
20
+ _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>>>>;
21
+ sdk: Prettify<ChainableRouter['sdk'] & Record<PrettyCamelCase<Name>, LiveSdkFunction<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Auth>>>;
22
+ };
23
+ <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>, const Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, typedHandler: TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter & {
24
+ _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>>>>;
25
+ sdk: Prettify<ChainableRouter['sdk'] & Record<PrettyCamelCase<Name>, LiveSdkFunction<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, Auth>>>;
26
+ };
27
+ }
28
+ export interface TypedMiddlewareDefinition<ChainableRouter, SV extends AnySchemaValidator, Session extends SessionObject<SV>, BaseRequest, BaseResponse, NextFunction, RouterHandler> {
29
+ <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, BaseRequest>>(contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, BaseRequest, Auth>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>, ...middlewares: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter;
30
+ <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>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, BaseRequest>>(path: Path, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, BaseRequest, Auth>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>, ...middlewares: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, SessionSchema, BaseRequest, BaseResponse, NextFunction>[]): ChainableRouter;
31
+ (middleware: RouterHandler, ...otherMiddleware: RouterHandler[]): ChainableRouter;
32
+ <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, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
33
+ ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>[],
34
+ TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>
35
+ ]): ChainableRouter;
36
+ <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, BaseRequest>>(middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>, ...middlewareAndTypedHandler: [
37
+ ...ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, Session>, BaseRequest, BaseResponse, NextFunction>[],
38
+ TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>
39
+ ]): ChainableRouter;
40
+ <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, BaseRequest>>(path: PathMatch<SuppliedPath, Path>, typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter;
41
+ <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, BaseRequest>>(typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter;
42
+ }
43
+ export interface TypedNestableMiddlewareDefinition<ChainableRouter extends {
44
+ _fetchMap: object;
45
+ basePath: `/${string}`;
46
+ sdk: Record<string, unknown>;
47
+ }, RouterHandler, Internal extends ExpressLikeRouter<RouterHandler, Internal>, SV extends AnySchemaValidator, Session extends SessionObject<SV>, BaseRequest, BaseResponse, NextFunction> extends TypedMiddlewareDefinition<ChainableRouter, SV, Session, BaseRequest, BaseResponse, NextFunction, RouterHandler> {
48
+ (middleware: RouterHandler, ...otherMiddleware: RouterHandler[]): ChainableRouter;
49
+ <Router extends ConstrainedForklaunchRouter<SV, RouterHandler>>(router: Router): ChainableRouter & {
50
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
51
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
52
+ }>;
53
+ sdk: Prettify<ChainableRouter['sdk'] & {
54
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
55
+ }>;
56
+ };
57
+ <Router extends ConstrainedForklaunchRouter<SV, RouterHandler>>(middlewareOrRouter: RouterHandler | Router, ...otherMiddlewareOrRouters: [...(RouterHandler | Router)[]]): ChainableRouter & {
58
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
59
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
60
+ }>;
61
+ sdk: Prettify<ChainableRouter['sdk'] & {
62
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
63
+ }>;
64
+ };
65
+ <Router extends ConstrainedForklaunchRouter<SV, RouterHandler>>(path: Router['basePath'], router: Router): ChainableRouter & {
66
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
67
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
68
+ }>;
69
+ sdk: Prettify<ChainableRouter['sdk'] & {
70
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
71
+ }>;
72
+ };
73
+ <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, BaseRequest>>(contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, 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 & {
74
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
75
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
76
+ }>;
77
+ sdk: Prettify<ChainableRouter['sdk'] & {
78
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
79
+ }>;
80
+ };
81
+ <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, BaseRequest>>(middleware: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router, ...middlewareAndTypedHandler: [
82
+ ...(ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, Session, BaseRequest, BaseResponse, NextFunction> | Router)[],
83
+ TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>
84
+ ]): ChainableRouter & {
85
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
86
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
87
+ }>;
88
+ sdk: Prettify<ChainableRouter['sdk'] & {
89
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
90
+ }>;
91
+ };
92
+ <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, BaseRequest>>(path: `/${string}` extends Router['basePath'] ? Path : PathMatch<Path, Router['basePath']>, contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, 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 & {
93
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
94
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
95
+ }>;
96
+ sdk: Prettify<ChainableRouter['sdk'] & {
97
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
98
+ }>;
99
+ };
100
+ <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, BaseRequest>>(contractDetails: ContractDetails<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, 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 & {
101
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
102
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
103
+ }>;
104
+ sdk: Prettify<ChainableRouter['sdk'] & {
105
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
106
+ }>;
107
+ };
108
+ <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, 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, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter & {
109
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
110
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
111
+ }>;
112
+ sdk: Prettify<ChainableRouter['sdk'] & {
113
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
114
+ }>;
115
+ };
116
+ <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, BaseRequest>>(typedHandler: TypedHandler<SV, Name, 'middleware', Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>): ChainableRouter & {
117
+ _fetchMap: Prettify<ChainableRouter['_fetchMap'] & {
118
+ [Key in keyof Router['_fetchMap'] as Key extends string ? SanitizePathSlashes<`${ChainableRouter['basePath']}${Key}`> : never]: Router['_fetchMap'][Key];
119
+ }>;
120
+ sdk: Prettify<ChainableRouter['sdk'] & {
121
+ [K in PrettyCamelCase<Router['sdkName'] extends string ? Router['sdkName'] : Router['basePath']>]: Prettify<Router['sdk']>;
122
+ }>;
123
+ };
124
+ }
125
+ export 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>, BaseRequest, BaseResponse, NextFunction, BaseSession extends SessionObject<SV>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, BaseRequest>> = ContractDetails<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, VersionedApi, BaseRequest, Auth> | ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, BaseSession>, BaseRequest, BaseResponse, NextFunction> | TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>;
126
+ export 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>, BaseRequest, BaseResponse, NextFunction, BaseSession extends SessionObject<SV>, Auth extends SchemaAuthMethods<SV, P, ReqBody, ReqQuery, ReqHeaders, VersionedApi, BaseRequest>> = ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, ResolvedSessionObject<SV, Auth, BaseSession>, BaseRequest, BaseResponse, NextFunction> | TypedHandler<SV, Name, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj, VersionedApi, BaseRequest, BaseResponse, NextFunction, Auth>;
127
+ //# sourceMappingURL=expressLikeRouter.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expressLikeRouter.types.d.ts","sourceRoot":"","sources":["../../../src/http/types/expressLikeRouter.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Counter, Gauge, Histogram, ObservableCounter, ObservableGauge, ObservableUpDownCounter, UpDownCounter } from '@opentelemetry/api';
2
+ import { LevelWithSilentOrString } from 'pino';
3
+ export type MetricType<T extends string> = T extends 'counter' ? Counter : T extends 'gauge' ? Gauge : T extends 'histogram' ? Histogram : T extends 'upDownCounter' ? UpDownCounter : T extends 'observableCounter' ? ObservableCounter : T extends 'observableGauge' ? ObservableGauge : T extends 'observableUpDownCounter' ? ObservableUpDownCounter : undefined;
4
+ export type MetricsDefinition = Record<string, 'counter' | 'gauge' | 'histogram' | 'upDownCounter' | 'observableCounter' | 'observableGauge' | 'observableUpDownCounter'>;
5
+ export type LoggerMeta = Record<string, unknown> & {
6
+ _meta: true;
7
+ };
8
+ export interface LogFn {
9
+ <T extends object>(obj: T | LoggerMeta, msg?: string | LoggerMeta, ...args: unknown[]): void;
10
+ (obj: unknown | LoggerMeta, msg?: string | LoggerMeta, ...args: unknown[]): void;
11
+ (msg: string | LoggerMeta, ...args: unknown[]): void;
12
+ }
13
+ export interface TelemetryOptions {
14
+ enabled: boolean | {
15
+ metrics?: boolean;
16
+ tracing?: boolean;
17
+ logging?: boolean;
18
+ };
19
+ level: LevelWithSilentOrString;
20
+ }
21
+ //# sourceMappingURL=openTelemetryCollector.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openTelemetryCollector.types.d.ts","sourceRoot":"","sources":["../../../src/http/types/openTelemetryCollector.types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,EACL,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,MAAM,CAAC;AAE/C,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,SAAS,GAC1D,OAAO,GACP,CAAC,SAAS,OAAO,GACf,KAAK,GACL,CAAC,SAAS,WAAW,GACnB,SAAS,GACT,CAAC,SAAS,eAAe,GACvB,aAAa,GACb,CAAC,SAAS,mBAAmB,GAC3B,iBAAiB,GACjB,CAAC,SAAS,iBAAiB,GACzB,eAAe,GACf,CAAC,SAAS,yBAAyB,GACjC,uBAAuB,GACvB,SAAS,CAAC;AAE1B,MAAM,MAAM,iBAAiB,GAAG,MAAM,CACpC,MAAM,EACJ,SAAS,GACT,OAAO,GACP,WAAW,GACX,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,yBAAyB,CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,KAAK;IACpB,CAAC,CAAC,SAAS,MAAM,EACf,GAAG,EAAE,CAAC,GAAG,UAAU,EACnB,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,EACzB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAAC;IACR,CACE,GAAG,EAAE,OAAO,GAAG,UAAU,EACzB,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,EACzB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAAC;IACR,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EACH,OAAO,GACP;QACE,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACN,KAAK,EAAE,uBAAuB,CAAC;CAChC"}
@@ -0,0 +1,52 @@
1
+ import { AnySchemaValidator } from '@forklaunch/validator';
2
+ import { HttpContractDetails, Method, PathParamHttpContractDetails, SessionObject } from './contractDetails.types';
3
+ import { ExpressLikeRouterOptions } from './expressLikeOptions';
4
+ export interface ConstrainedForklaunchRouter<SV extends AnySchemaValidator, RequestHandler> extends ForklaunchRouter<SV> {
5
+ requestHandler: RequestHandler;
6
+ }
7
+ /**
8
+ * Interface representing a Forklaunch router.
9
+ *
10
+ * @template SV - A type that extends AnySchemaValidator.
11
+ */
12
+ export interface ForklaunchRouter<SV extends AnySchemaValidator> {
13
+ /** The base path for the router */
14
+ basePath: `/${string}`;
15
+ /** The routes associated with the router */
16
+ routes: ForklaunchRoute<SV>[];
17
+ /** Nested routers */
18
+ routers: ForklaunchRouter<SV>[];
19
+ /** Nested route map */
20
+ _fetchMap: Record<string, unknown>;
21
+ /** The SDK for the router */
22
+ sdk: Record<string, unknown>;
23
+ /** The name of the SDK for the router */
24
+ sdkName?: string;
25
+ /** The SDK paths for the router */
26
+ sdkPaths: Record<string, string>;
27
+ /** Options for the router */
28
+ routerOptions?: ExpressLikeRouterOptions<SV, SessionObject<SV>>;
29
+ /** Insert the SDK path into the router */
30
+ insertIntoRouterSdkPaths?: (params: {
31
+ sdkPath: string;
32
+ path: string;
33
+ method: string;
34
+ name: string;
35
+ }) => void;
36
+ }
37
+ /**
38
+ * Interface representing a Forklaunch route.
39
+ *
40
+ * @template SV - A type that extends AnySchemaValidator.
41
+ */
42
+ export interface ForklaunchRoute<SV extends AnySchemaValidator> {
43
+ /** The base path for the route */
44
+ basePath: string;
45
+ /** The path for the route, which can be a string, RegExp, or an array of strings or RegExps */
46
+ path: `/${string}`;
47
+ /** The HTTP method for the route */
48
+ method: Method;
49
+ /** The contract details for the route */
50
+ contractDetails: PathParamHttpContractDetails<SV> | HttpContractDetails<SV>;
51
+ }
52
+ //# sourceMappingURL=router.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.types.d.ts","sourceRoot":"","sources":["../../../src/http/types/router.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,MAAM,EACN,4BAA4B,EAC5B,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,2BAA2B,CAC1C,EAAE,SAAS,kBAAkB,EAC7B,cAAc,CACd,SAAQ,gBAAgB,CAAC,EAAE,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,kBAAkB;IAC7D,mCAAmC;IACnC,QAAQ,EAAE,IAAI,MAAM,EAAE,CAAC;IACvB,4CAA4C;IAC5C,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9B,qBAAqB;IACrB,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;IAChC,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,6BAA6B;IAC7B,aAAa,CAAC,EAAE,wBAAwB,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,0CAA0C;IAC1C,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,CAAC;CACZ;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,EAAE,SAAS,kBAAkB;IAC5D,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;IACnB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,eAAe,EAAE,4BAA4B,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;CAC7E"}