@forklaunch/core 1.5.2 → 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 +45 -44
  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
@@ -1,185 +0,0 @@
1
- export { getEnvVar } from '@forklaunch/common';
2
- export { findApplicationRoot, getCascadingEnvPaths, loadCascadingEnv } from '../environment/index.mjs';
3
- import { AnySchemaValidator, IdiomaticSchema, Schema, ParseResult } from '@forklaunch/validator';
4
- import { Collection, MikroORM } from '@mikro-orm/core';
5
- import { O as OpenTelemetryCollector, M as MetricsDefinition } from '../openTelemetryCollector-BS-ej09T.mjs';
6
- import '@opentelemetry/api';
7
- import 'pino';
8
- import '@opentelemetry/api-logs';
9
-
10
- declare const Lifetime: {
11
- readonly Singleton: 0;
12
- readonly Transient: 1;
13
- readonly Scoped: 2;
14
- };
15
- type Lifetime = (typeof Lifetime)[keyof typeof Lifetime];
16
- type Singleton<Type, Args, Value> = {
17
- lifetime: typeof Lifetime.Singleton;
18
- type: Type;
19
- value: Value;
20
- } | ConstructedSingleton<Type, Args, Value>;
21
- type ConstructedSingleton<Type, Args, Return> = {
22
- lifetime: typeof Lifetime.Singleton;
23
- type: Type;
24
- factory: (args: Args, context: Record<string, unknown>, resolve: <T extends keyof Args>(token: T, context?: Record<string, unknown>) => Args[T]) => Return;
25
- };
26
- type Constructed<Type, Args, Return> = {
27
- lifetime: typeof Lifetime.Transient | typeof Lifetime.Scoped;
28
- type: Type;
29
- factory: (args: Args, context: Record<string, unknown>, resolve: <T extends keyof Args>(token: T, context?: Record<string, unknown>) => Args[T]) => Return;
30
- };
31
- type Constructor = new (...args: never[]) => unknown;
32
- type SchemaConstructor<SV extends AnySchemaValidator> = new (...args: unknown[]) => IdiomaticSchema<SV>;
33
- type Function = (...args: never[]) => unknown;
34
- type FunctionToConstructor = (...args: never[]) => new (...args: never[]) => unknown;
35
- type SchemaFunction<SV extends AnySchemaValidator> = (args: unknown) => IdiomaticSchema<SV>;
36
- type ConfigTypes<SV extends AnySchemaValidator> = Function | SchemaFunction<SV> | Constructor | SchemaConstructor<SV> | IdiomaticSchema<SV>;
37
- type ConfigValidator<SV extends AnySchemaValidator> = Record<string, ConfigTypes<SV> | Record<string, ConfigTypes<SV>>>;
38
- type ResolveConfigValue<SV extends AnySchemaValidator, T> = T extends SchemaConstructor<SV> ? Schema<InstanceType<T>, SV> : T extends SchemaFunction<SV> ? (...args: Parameters<T>) => Schema<ReturnType<T>, SV> : T extends FunctionToConstructor ? (...args: Parameters<T>) => InstanceType<ReturnType<T>> : T extends Function ? (...args: Parameters<T>) => ReturnType<T> : T extends Constructor ? InstanceType<T> : T extends IdiomaticSchema<SV> ? Schema<T, SV> : T extends Record<string, ConfigTypes<SV>> ? {
39
- [K in keyof T]: ResolveConfigValue<SV, T[K]>;
40
- } : Schema<T, SV>;
41
- type ResolvedConfigValidator<SV extends AnySchemaValidator, CV extends ConfigValidator<SV>> = {
42
- [M in keyof CV]: ResolveConfigValue<SV, CV[M]>;
43
- };
44
- type ScopedDependencyFactory<SV extends AnySchemaValidator, CV extends ConfigValidator<SV>, M extends keyof CV> = (scope?: ConfigInjector<SV, CV>) => ResolvedConfigValidator<SV, CV>[M];
45
-
46
- declare function createConfigInjector<SV extends AnySchemaValidator, CV extends ConfigValidator<SV>>(schemaValidator: SV, dependenciesDefinition: {
47
- [K in keyof CV]: Singleton<CV[K], Omit<ResolvedConfigValidator<SV, CV>, K>, ResolvedConfigValidator<SV, CV>[K]> | Constructed<CV[K], Omit<ResolvedConfigValidator<SV, CV>, K>, ResolvedConfigValidator<SV, CV>[K]>;
48
- }): ConfigInjector<SV, CV>;
49
- declare class ConfigInjector<SV extends AnySchemaValidator, CV extends ConfigValidator<SV>> {
50
- private schemaValidator;
51
- private dependenciesDefinition;
52
- instances: {
53
- [K in keyof CV]?: ResolvedConfigValidator<SV, CV>[K];
54
- };
55
- readonly configShapes: CV;
56
- load(inheritedScopeInstances?: {
57
- [K in keyof CV]?: ResolvedConfigValidator<SV, CV>[K];
58
- }): this;
59
- private resolveInstance;
60
- constructor(schemaValidator: SV, dependenciesDefinition: {
61
- [K in keyof CV]: (Singleton<CV[K], Omit<ResolvedConfigValidator<SV, CV>, K>, ResolvedConfigValidator<SV, CV>[K]> | Constructed<CV[K], Omit<ResolvedConfigValidator<SV, CV>, K>, ResolvedConfigValidator<SV, CV>[K]>) & {
62
- type: CV[K];
63
- };
64
- });
65
- safeValidateConfigSingletons(): ParseResult<ValidConfigInjector<SV, CV>>;
66
- validateConfigSingletons(configName: string): ValidConfigInjector<SV, CV>;
67
- resolve<T extends keyof CV>(token: T, context?: Record<string, unknown>, resolutionPath?: (keyof CV)[]): ResolvedConfigValidator<SV, CV>[T];
68
- scopedResolver<T extends keyof CV>(token: T, context?: Record<string, unknown>, resolutionPath?: (keyof CV)[]): (options?: {
69
- scope?: ConfigInjector<SV, CV>;
70
- context?: Record<string, unknown>;
71
- }) => ResolvedConfigValidator<SV, CV>[T];
72
- createScope(): ConfigInjector<SV, CV>;
73
- dispose(): void;
74
- chain<ChainedCV extends ConfigValidator<SV>>(dependenciesDefinition: {
75
- [K in keyof ChainedCV]: {
76
- type: ChainedCV[K];
77
- } & (Singleton<ChainedCV[K], Omit<ResolvedConfigValidator<SV, CV & ChainedCV>, K>, ResolvedConfigValidator<SV, ChainedCV>[K]> | Constructed<ChainedCV[K], Omit<ResolvedConfigValidator<SV, CV & ChainedCV>, K>, ResolvedConfigValidator<SV, ChainedCV>[K]>);
78
- }): ConfigInjector<SV, CV & ChainedCV>;
79
- tokens(): {
80
- [K in keyof CV]: K;
81
- };
82
- }
83
- declare class ValidConfigInjector<SV extends AnySchemaValidator, CV extends ConfigValidator<SV>> extends ConfigInjector<SV, CV> {
84
- validConfigInjector: void;
85
- }
86
-
87
- type EntityManager = {
88
- fork: <Options>(options?: Options) => EntityManager;
89
- };
90
-
91
- type MapNestedDtoArraysToCollections<Dto, Keys extends string> = Omit<Dto, Keys> & {
92
- [K in Keys]: Collection<object>;
93
- };
94
-
95
- interface EnforcementOptions {
96
- /** Filter to specific entity names (default: all with retention policies) */
97
- entities?: string[];
98
- /** Records per batch (default: 1000) */
99
- batchSize?: number;
100
- /** Log what would happen without mutating */
101
- dryRun?: boolean;
102
- }
103
- interface EnforcementResult {
104
- processed: number;
105
- deleted: number;
106
- anonymized: number;
107
- errors: number;
108
- byEntity: Record<string, {
109
- deleted: number;
110
- anonymized: number;
111
- errors: number;
112
- }>;
113
- durationMs: number;
114
- }
115
- declare class RetentionService {
116
- private readonly orm;
117
- private readonly otel;
118
- private readonly DEFAULT_BATCH_SIZE;
119
- constructor(orm: MikroORM, otel: OpenTelemetryCollector<any>);
120
- enforce(options?: EnforcementOptions): Promise<EnforcementResult>;
121
- private enforceEntity;
122
- }
123
-
124
- interface EraseResult {
125
- entitiesAffected: string[];
126
- recordsDeleted: number;
127
- }
128
- interface ExportResult {
129
- userId: string;
130
- entities: Record<string, unknown[]>;
131
- }
132
- /**
133
- * Per-entity userIdField overrides.
134
- * Keys are entity names, values are the field name linking records to a user.
135
- *
136
- * @example
137
- * {
138
- * User: 'id', // the User entity IS the user record
139
- * Subscription: 'partyId', // billing links via partyId
140
- * Account: 'userId', // default, can be omitted
141
- * }
142
- */
143
- type UserIdFieldOverrides = Record<string, string>;
144
- /**
145
- * Generic compliance data service that walks all compliance-registered entities
146
- * and erases or exports PII/PHI/PCI data for a given user.
147
- *
148
- * Resolution order for userIdField per entity:
149
- * 1. Constructor overrides (highest priority)
150
- * 2. defineComplianceEntity({ userIdField }) registry
151
- * 3. Optimistic search: first CANDIDATE_USER_FIELDS match in entity metadata
152
- * 4. Skip entity (no user link found)
153
- */
154
- declare class ComplianceDataService {
155
- private readonly orm;
156
- private readonly otel;
157
- private readonly userIdFieldOverrides;
158
- constructor(orm: MikroORM, otel: OpenTelemetryCollector<MetricsDefinition>, userIdFieldOverrides?: UserIdFieldOverrides);
159
- /**
160
- * Resolve the field linking an entity to a user.
161
- * Returns undefined if no link can be determined.
162
- */
163
- private resolveUserIdField;
164
- erase(userId: string): Promise<EraseResult>;
165
- export(userId: string): Promise<ExportResult>;
166
- }
167
-
168
- /**
169
- * Shared retention enforcement runner.
170
- * Designed to be called from a one-shot script (ECS RunTask / cron).
171
- *
172
- * @example
173
- * ```ts
174
- * import { ci, tokens } from '../bootstrapper';
175
- * import { runRetentionEnforcement } from '@myapp/core';
176
- *
177
- * runRetentionEnforcement(
178
- * ci.resolve(tokens.RetentionService),
179
- * ci.resolve(tokens.OtelCollector)
180
- * );
181
- * ```
182
- */
183
- declare function runRetentionEnforcement(retentionService: RetentionService, otel: OpenTelemetryCollector<any>): Promise<void>;
184
-
185
- export { ComplianceDataService, ConfigInjector, type ConfigTypes, type ConfigValidator, type Constructed, type ConstructedSingleton, type Constructor, type EnforcementOptions, type EnforcementResult, type EntityManager, type EraseResult, type ExportResult, type Function, type FunctionToConstructor, Lifetime, type MapNestedDtoArraysToCollections, type ResolvedConfigValidator, RetentionService, type SchemaConstructor, type SchemaFunction, type ScopedDependencyFactory, type Singleton, type UserIdFieldOverrides, ValidConfigInjector, createConfigInjector, runRetentionEnforcement };
@@ -1,77 +0,0 @@
1
- import { T as TtlCacheRecord, C as ComplianceContext } from './ttlCacheRecord.types-oX0ti5SP.mjs';
2
-
3
- /**
4
- * Interface representing a TTL (Time-To-Live) cache.
5
- *
6
- * Methods that read or write values accept an optional `compliance` parameter.
7
- * When provided, values are encrypted on write and decrypted on read using
8
- * the tenant ID for key derivation. When omitted, values are stored as plaintext.
9
- */
10
- interface TtlCache {
11
- /**
12
- * Puts a record into the cache.
13
- */
14
- putRecord<T>(cacheRecord: TtlCacheRecord<T>, compliance?: ComplianceContext): Promise<void>;
15
- /**
16
- * Puts a batch of records into the cache.
17
- */
18
- putBatchRecords<T>(cacheRecords: TtlCacheRecord<T>[], compliance?: ComplianceContext): Promise<void>;
19
- /**
20
- * Enqueues a record into a list.
21
- */
22
- enqueueRecord<T>(queueName: string, cacheRecord: T, compliance?: ComplianceContext): Promise<void>;
23
- /**
24
- * Enqueues a batch of records into a list.
25
- */
26
- enqueueBatchRecords<T>(queueName: string, cacheRecords: T[], compliance?: ComplianceContext): Promise<void>;
27
- /**
28
- * Deletes a record from the cache.
29
- */
30
- deleteRecord(cacheRecordKey: string): Promise<void>;
31
- /**
32
- * Deletes a batch of records from the cache.
33
- */
34
- deleteBatchRecords(cacheRecordKeys: string[]): Promise<void>;
35
- /**
36
- * Dequeues a record from a list.
37
- */
38
- dequeueRecord<T>(queueName: string, compliance?: ComplianceContext): Promise<T>;
39
- /**
40
- * Dequeues a batch of records from a list.
41
- */
42
- dequeueBatchRecords<T>(queueName: string, pageSize: number, compliance?: ComplianceContext): Promise<T[]>;
43
- /**
44
- * Reads a record from the cache.
45
- */
46
- readRecord<T>(cacheRecordKey: string, compliance?: ComplianceContext): Promise<TtlCacheRecord<T>>;
47
- /**
48
- * Reads a batch of records from the cache.
49
- */
50
- readBatchRecords<T>(cacheRecordKeysOrPrefix: string[] | string, compliance?: ComplianceContext): Promise<TtlCacheRecord<T>[]>;
51
- /**
52
- * Checks if a record exists in the cache.
53
- */
54
- peekRecord(cacheRecordKey: string): Promise<boolean>;
55
- /**
56
- * Checks if a batch of records exist in the cache.
57
- */
58
- peekBatchRecords(cacheRecordKeysOrPrefix: string[] | string): Promise<boolean[]>;
59
- /**
60
- * Peeks at the front of a queue without removing.
61
- */
62
- peekQueueRecord<T>(queueName: string, compliance?: ComplianceContext): Promise<T>;
63
- /**
64
- * Peeks at multiple records from a queue without removing.
65
- */
66
- peekQueueRecords<T>(queueName: string, pageSize: number, compliance?: ComplianceContext): Promise<T[]>;
67
- /**
68
- * Gets the default TTL in milliseconds.
69
- */
70
- getTtlMilliseconds(): number;
71
- /**
72
- * Lists keys matching a prefix.
73
- */
74
- listKeys(pattern_prefix: string): Promise<string[]>;
75
- }
76
-
77
- export type { TtlCache as T };
@@ -1,25 +0,0 @@
1
- /**
2
- * Type representing a TTL (Time-To-Live) cache record.
3
- *
4
- * @typedef {Object} TtlCacheRecord
5
- * @property {string} key - The key of the cache record.
6
- * @property {any} value - The value of the cache record.
7
- * @property {number} ttlMilliseconds - The time-to-live of the cache record in milliseconds.
8
- */
9
- type TtlCacheRecord<T> = {
10
- key: string;
11
- value: T;
12
- ttlMilliseconds: number;
13
- };
14
- /**
15
- * Optional compliance context for operations that require tenant-scoped encryption.
16
- * When provided, values are encrypted/decrypted using the tenantId for key derivation.
17
- * When omitted, values are stored/read as plaintext.
18
- *
19
- * Used by both TtlCache (Redis) and ObjectStore (S3).
20
- */
21
- interface ComplianceContext {
22
- tenantId: string;
23
- }
24
-
25
- export type { ComplianceContext as C, TtlCacheRecord as T };
@@ -1,67 +0,0 @@
1
- import { AsyncAPIObject } from '@asyncapi/parser/esm/spec-types/v3';
2
- import { AnySchemaValidator, IdiomaticSchema, SchemaValidator } from '@forklaunch/validator';
3
- import { S as StringOnlyObject } from '../apiDefinition.types-DF_crhB0.mjs';
4
- import '@forklaunch/common';
5
- import '@opentelemetry/api';
6
- import 'jose';
7
- import 'qs';
8
- import 'stream';
9
- import '../openTelemetryCollector-BS-ej09T.mjs';
10
- import 'pino';
11
- import '@opentelemetry/api-logs';
12
- import 'cors';
13
- import 'fastmcp';
14
- import 'http';
15
- import '@scalar/express-api-reference';
16
-
17
- type AsyncApiEnrichment = {
18
- channel?: string;
19
- channels?: string[];
20
- operation?: string;
21
- operations?: string[];
22
- };
23
- type EventSchemaEntry<SV extends AnySchemaValidator> = {
24
- shape: IdiomaticSchema<SV>;
25
- } & AsyncApiEnrichment;
26
- type EventSchema<SV extends AnySchemaValidator> = {
27
- ping?: EventSchemaEntry<SV>;
28
- pong?: EventSchemaEntry<SV>;
29
- clientMessages: Record<string, EventSchemaEntry<SV>>;
30
- serverMessages: Record<string, EventSchemaEntry<SV>>;
31
- errors?: Record<string, EventSchemaEntry<SV>>;
32
- closeReason?: Record<string, EventSchemaEntry<SV>>;
33
- context?: StringOnlyObject<SV>;
34
- userData?: StringOnlyObject<SV>;
35
- };
36
- type ServerEventSchema<SV extends AnySchemaValidator, ES extends EventSchema<SV>> = Omit<ES, 'serverMessages' | 'clientMessages'> & {
37
- serverMessages: ES['clientMessages'];
38
- clientMessages: ES['serverMessages'];
39
- };
40
- type ExtractSchemaFromEntry<SV extends AnySchemaValidator, Entry extends EventSchemaEntry<SV> | undefined> = Entry extends EventSchemaEntry<SV> ? Entry['shape'] : never;
41
- type ExtractSchemaFromRecord<SV extends AnySchemaValidator, RecordType extends Record<string, EventSchemaEntry<SV>> | undefined> = RecordType extends Record<string, EventSchemaEntry<SV>> ? RecordType[keyof RecordType]['shape'] : never;
42
-
43
- type AsyncApiDocument = AsyncAPIObject;
44
- declare function generateAsyncApi<SV extends AnySchemaValidator>(eventSchemas: EventSchema<SV>, options?: {
45
- title?: string;
46
- version?: string;
47
- description?: string;
48
- id?: AsyncApiDocument['id'];
49
- defaultContentType?: AsyncApiDocument['defaultContentType'];
50
- }): AsyncApiDocument;
51
-
52
- type SchemaRecord<SV extends AnySchemaValidator> = Record<string, EventSchemaEntry<SV>> | undefined;
53
- declare function buildUnionSchema<SV extends AnySchemaValidator>(schemaValidator: SchemaValidator, record: SchemaRecord<SV>): IdiomaticSchema<SV> | undefined;
54
- declare function parseSchemaValue<SV extends AnySchemaValidator>(schemaValidator: SchemaValidator, value: unknown, schema: IdiomaticSchema<SV> | undefined, context: string): unknown;
55
- declare function encodeSchemaValue<SV extends AnySchemaValidator>(schemaValidator: SchemaValidator, value: unknown, schema: IdiomaticSchema<SV> | undefined, context: string): unknown;
56
- declare function decodeSchemaValue<SV extends AnySchemaValidator>(schemaValidator: SchemaValidator, data: unknown, schema: IdiomaticSchema<SV> | undefined, context: string): unknown;
57
- declare function normalizeEncodedValue(encoded: unknown, context: string, allowUndefined?: boolean): Buffer | undefined;
58
- declare function createWebSocketSchemas<SV extends AnySchemaValidator, ES extends EventSchema<SV>>(schemaValidator: SchemaValidator, eventSchemas: ES): {
59
- clientMessagesSchema: IdiomaticSchema<SV> | undefined;
60
- serverMessagesSchema: IdiomaticSchema<SV> | undefined;
61
- errorsSchema: IdiomaticSchema<SV> | undefined;
62
- pingSchema: IdiomaticSchema<SV> | undefined;
63
- pongSchema: IdiomaticSchema<SV> | undefined;
64
- closeReasonSchema: IdiomaticSchema<SV> | undefined;
65
- };
66
-
67
- export { type AsyncApiDocument, type AsyncApiEnrichment, type EventSchema, type EventSchemaEntry, type ExtractSchemaFromEntry, type ExtractSchemaFromRecord, type ServerEventSchema, buildUnionSchema, createWebSocketSchemas, decodeSchemaValue, encodeSchemaValue, generateAsyncApi, normalizeEncodedValue, parseSchemaValue };