@breadstone/archipel-mcp 0.0.15 → 0.0.16

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 (652) hide show
  1. package/data/guides/ai-text-generation.md +385 -0
  2. package/data/guides/analytics-and-error-tracking.md +189 -0
  3. package/data/guides/authentication-and-authorization.md +657 -0
  4. package/data/guides/blob-storage.md +268 -0
  5. package/data/guides/caching.md +255 -0
  6. package/data/guides/configuration.md +242 -0
  7. package/data/guides/cryptography-and-otp.md +240 -0
  8. package/data/guides/database-setup.md +546 -0
  9. package/data/guides/document-generation.md +174 -0
  10. package/data/guides/email-delivery.md +233 -0
  11. package/data/guides/esigning-integration.md +247 -0
  12. package/data/guides/getting-started.md +354 -0
  13. package/data/guides/implementing-ports.md +317 -0
  14. package/data/guides/index.md +63 -0
  15. package/data/guides/mcp-server.md +222 -0
  16. package/data/guides/openapi-and-feature-discovery.md +266 -0
  17. package/data/guides/payments-and-feature-gating.md +260 -0
  18. package/data/guides/resource-management.md +352 -0
  19. package/data/guides/telemetry-and-observability.md +190 -0
  20. package/data/guides/testing.md +319 -0
  21. package/data/guides/tsdoc-guidelines.md +45 -0
  22. package/data/packages/index.md +8 -0
  23. package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +141 -0
  24. package/data/packages/platform-analytics/api/Class.AnalyticsModule.md +47 -0
  25. package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +169 -0
  26. package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +169 -0
  27. package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +161 -0
  28. package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +169 -0
  29. package/data/packages/platform-analytics/api/Interface.IAnalyticsBreadcrumb.md +58 -0
  30. package/data/packages/platform-analytics/api/Interface.IAnalyticsModuleOptions.md +47 -0
  31. package/data/packages/platform-analytics/api/Interface.IAnalyticsUser.md +58 -0
  32. package/data/packages/platform-analytics/api/TypeAlias.AnalyticsLevel.md +14 -0
  33. package/data/packages/platform-analytics/api/Variable.APPINSIGHTS_CONFIG_ENTRIES.md +14 -0
  34. package/data/packages/platform-analytics/api/Variable.APPLICATIONINSIGHTS_CONNECTION_STRING.md +14 -0
  35. package/data/packages/platform-analytics/api/Variable.DATADOG_CONFIG_ENTRIES.md +14 -0
  36. package/data/packages/platform-analytics/api/Variable.DD_ENV.md +14 -0
  37. package/data/packages/platform-analytics/api/Variable.DD_SERVICE.md +14 -0
  38. package/data/packages/platform-analytics/api/Variable.SENTRY_CONFIG_ENTRIES.md +14 -0
  39. package/data/packages/platform-analytics/api/Variable.SENTRY_DSN.md +14 -0
  40. package/data/packages/platform-analytics/api/Variable.SENTRY_ENVIRONMENT.md +14 -0
  41. package/data/packages/platform-analytics/api/index.md +44 -0
  42. package/data/packages/platform-analytics/index.md +170 -0
  43. package/data/packages/platform-authentication/api/Class.AnonymousAuthGuard.md +40 -0
  44. package/data/packages/platform-authentication/api/Class.AppleConnector.md +86 -0
  45. package/data/packages/platform-authentication/api/Class.AuthModule.md +76 -0
  46. package/data/packages/platform-authentication/api/Class.AuthSubjectPort.md +95 -0
  47. package/data/packages/platform-authentication/api/Class.AuthTokenService.md +59 -0
  48. package/data/packages/platform-authentication/api/Class.ChallengeService.md +135 -0
  49. package/data/packages/platform-authentication/api/Class.ChallengeStorePort.md +95 -0
  50. package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +40 -0
  51. package/data/packages/platform-authentication/api/Class.GithubConnector.md +78 -0
  52. package/data/packages/platform-authentication/api/Class.GoogleConnector.md +84 -0
  53. package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +40 -0
  54. package/data/packages/platform-authentication/api/Class.JwtPayloadBase.md +136 -0
  55. package/data/packages/platform-authentication/api/Class.LastActiveMiddleware.md +71 -0
  56. package/data/packages/platform-authentication/api/Class.LocalAuthGuard.md +40 -0
  57. package/data/packages/platform-authentication/api/Class.MfaService.md +252 -0
  58. package/data/packages/platform-authentication/api/Class.MfaSubjectPort.md +70 -0
  59. package/data/packages/platform-authentication/api/Class.MicrosoftConnector.md +84 -0
  60. package/data/packages/platform-authentication/api/Class.RolesGuard.md +60 -0
  61. package/data/packages/platform-authentication/api/Class.SessionMappingProfile.md +60 -0
  62. package/data/packages/platform-authentication/api/Class.SessionPersistencePort.md +165 -0
  63. package/data/packages/platform-authentication/api/Class.SessionResponse.md +152 -0
  64. package/data/packages/platform-authentication/api/Class.SessionService.md +162 -0
  65. package/data/packages/platform-authentication/api/Class.SocialAuthGuard.md +61 -0
  66. package/data/packages/platform-authentication/api/Class.SocialAuthPort.md +48 -0
  67. package/data/packages/platform-authentication/api/Class.TokenEnricherPort.md +47 -0
  68. package/data/packages/platform-authentication/api/Class.TotpMfaChannel.md +144 -0
  69. package/data/packages/platform-authentication/api/Class.VerificationService.md +154 -0
  70. package/data/packages/platform-authentication/api/Class.VerificationSubjectPort.md +116 -0
  71. package/data/packages/platform-authentication/api/Function.Token.md +18 -0
  72. package/data/packages/platform-authentication/api/Function.UseRoles.md +24 -0
  73. package/data/packages/platform-authentication/api/Function.socialAuthGuardFactory.md +22 -0
  74. package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +157 -0
  75. package/data/packages/platform-authentication/api/Interface.IAuthSubject.md +107 -0
  76. package/data/packages/platform-authentication/api/Interface.IMfaChallengePayload.md +82 -0
  77. package/data/packages/platform-authentication/api/Interface.IMfaChallengeState.md +118 -0
  78. package/data/packages/platform-authentication/api/Interface.IMfaConfirmation.md +22 -0
  79. package/data/packages/platform-authentication/api/Interface.IMfaSetup.md +58 -0
  80. package/data/packages/platform-authentication/api/Interface.IMfaSubject.md +131 -0
  81. package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +91 -0
  82. package/data/packages/platform-authentication/api/Interface.ISessionRecord.md +160 -0
  83. package/data/packages/platform-authentication/api/Interface.ISignInResult.md +82 -0
  84. package/data/packages/platform-authentication/api/Interface.ISocialProfile.md +58 -0
  85. package/data/packages/platform-authentication/api/Interface.IStoreSessionArgs.md +70 -0
  86. package/data/packages/platform-authentication/api/Interface.IVerifiableSubject.md +71 -0
  87. package/data/packages/platform-authentication/api/Variable.APPLE_AUTH_CONFIG_ENTRIES.md +14 -0
  88. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CALLBACK_URL.md +14 -0
  89. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CLIENT_ID.md +14 -0
  90. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_KEY_ID.md +14 -0
  91. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_PRIVATE_KEY.md +14 -0
  92. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_SCOPE.md +14 -0
  93. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_STATE.md +16 -0
  94. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_TEAM_ID.md +14 -0
  95. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CALLBACK_URL.md +14 -0
  96. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_ID.md +14 -0
  97. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_SECRET.md +14 -0
  98. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_SCOPE.md +14 -0
  99. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_STATE.md +16 -0
  100. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CALLBACK_URL.md +14 -0
  101. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_ID.md +14 -0
  102. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_SECRET.md +14 -0
  103. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_SCOPE.md +14 -0
  104. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_STATE.md +16 -0
  105. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_EXPIRES_IN.md +14 -0
  106. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_SECRET.md +14 -0
  107. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_CHALLENGE_EXPIRES_IN.md +14 -0
  108. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_CODE_TTL.md +14 -0
  109. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_MIN_RESEND.md +14 -0
  110. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ENCRYPTION_KEY.md +14 -0
  111. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ISSUER.md +14 -0
  112. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_MAX_ATTEMPTS.md +14 -0
  113. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_CODE_TTL.md +14 -0
  114. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_MIN_RESEND.md +14 -0
  115. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_CODE_TTL.md +14 -0
  116. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_MIN_RESEND.md +14 -0
  117. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CALLBACK_URL.md +14 -0
  118. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_ID.md +14 -0
  119. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_SECRET.md +14 -0
  120. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_SCOPE.md +14 -0
  121. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_STATE.md +16 -0
  122. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_TENANT.md +14 -0
  123. package/data/packages/platform-authentication/api/Variable.AUTH_VERIFY_JWT_EXPIRES_IN.md +14 -0
  124. package/data/packages/platform-authentication/api/Variable.GITHUB_AUTH_CONFIG_ENTRIES.md +14 -0
  125. package/data/packages/platform-authentication/api/Variable.GOOGLE_AUTH_CONFIG_ENTRIES.md +14 -0
  126. package/data/packages/platform-authentication/api/Variable.MICROSOFT_AUTH_CONFIG_ENTRIES.md +14 -0
  127. package/data/packages/platform-authentication/api/Variable.PLATFORM_AUTHENTICATION_CONFIG_ENTRIES.md +14 -0
  128. package/data/packages/platform-authentication/api/Variable.ROLES_KEY.md +14 -0
  129. package/data/packages/platform-authentication/api/Variable.SEED_ANONYMOUS_USERNAME.md +14 -0
  130. package/data/packages/platform-authentication/api/Variable.SESSION_LIST_MAPPING_KEY.md +14 -0
  131. package/data/packages/platform-authentication/api/Variable.SESSION_MAPPING_KEY.md +14 -0
  132. package/data/packages/platform-authentication/api/Variable.TOTP_MFA_PROVIDERS.md +29 -0
  133. package/data/packages/platform-authentication/api/Variable.User.md +24 -0
  134. package/data/packages/platform-authentication/api/index.md +117 -0
  135. package/data/packages/platform-authentication/index.md +691 -0
  136. package/data/packages/platform-blob-storage/api/Class.AwsS3BlobProvider.md +196 -0
  137. package/data/packages/platform-blob-storage/api/Class.AzureBlobProvider.md +196 -0
  138. package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +79 -0
  139. package/data/packages/platform-blob-storage/api/Class.BlobModule.md +49 -0
  140. package/data/packages/platform-blob-storage/api/Class.BlobObjectPersistencePort.md +75 -0
  141. package/data/packages/platform-blob-storage/api/Class.BlobService.md +248 -0
  142. package/data/packages/platform-blob-storage/api/Class.BlobVariantPersistencePort.md +51 -0
  143. package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +197 -0
  144. package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +28 -0
  145. package/data/packages/platform-blob-storage/api/Interface.IAwsS3ProviderOptions.md +68 -0
  146. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderOptions.md +48 -0
  147. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +28 -0
  148. package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +38 -0
  149. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +48 -0
  150. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +64 -0
  151. package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +48 -0
  152. package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +138 -0
  153. package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +114 -0
  154. package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +48 -0
  155. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +98 -0
  156. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +28 -0
  157. package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +28 -0
  158. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +80 -0
  159. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +28 -0
  160. package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +12 -0
  161. package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +12 -0
  162. package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +16 -0
  163. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +12 -0
  164. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +12 -0
  165. package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +12 -0
  166. package/data/packages/platform-blob-storage/api/Variable.BlobDownloadResponseTypes.md +26 -0
  167. package/data/packages/platform-blob-storage/api/Variable.BlobProviderKinds.md +26 -0
  168. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +12 -0
  169. package/data/packages/platform-blob-storage/api/index.md +59 -0
  170. package/data/packages/platform-blob-storage/index.md +353 -0
  171. package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +258 -0
  172. package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +157 -0
  173. package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +295 -0
  174. package/data/packages/platform-caching/api/Interface.ICacheMetricsRecorder.md +121 -0
  175. package/data/packages/platform-caching/api/Interface.ICacheStats.md +70 -0
  176. package/data/packages/platform-caching/api/Interface.ILayeredCache.md +198 -0
  177. package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +75 -0
  178. package/data/packages/platform-caching/api/Interface.IRedisLayeredCacheOptions.md +121 -0
  179. package/data/packages/platform-caching/api/index.md +24 -0
  180. package/data/packages/platform-caching/index.md +116 -0
  181. package/data/packages/platform-configuration/api/Class.ConfigKeyNotFoundError.md +89 -0
  182. package/data/packages/platform-configuration/api/Class.ConfigModule.md +74 -0
  183. package/data/packages/platform-configuration/api/Class.ConfigRegistry.md +115 -0
  184. package/data/packages/platform-configuration/api/Class.ConfigService.md +137 -0
  185. package/data/packages/platform-configuration/api/Class.ConfigStrategyBase.md +125 -0
  186. package/data/packages/platform-configuration/api/Class.EnvironmentConfigStrategy.md +141 -0
  187. package/data/packages/platform-configuration/api/Class.FileConfigStrategy.md +147 -0
  188. package/data/packages/platform-configuration/api/Function.createConfigKey.md +58 -0
  189. package/data/packages/platform-configuration/api/Interface.IConfigKey.md +63 -0
  190. package/data/packages/platform-configuration/api/Interface.IConfigModuleOptions.md +40 -0
  191. package/data/packages/platform-configuration/api/Interface.IConfigRegistryEntry.md +79 -0
  192. package/data/packages/platform-configuration/api/index.md +32 -0
  193. package/data/packages/platform-configuration/index.md +224 -0
  194. package/data/packages/platform-core/api/Class.AppHealthIndicator.md +50 -0
  195. package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +195 -0
  196. package/data/packages/platform-core/api/Class.BooleanUtils.md +82 -0
  197. package/data/packages/platform-core/api/Class.CUIDGenerator.md +120 -0
  198. package/data/packages/platform-core/api/Class.CasingInterceptor.md +93 -0
  199. package/data/packages/platform-core/api/Class.CatchUtils.md +93 -0
  200. package/data/packages/platform-core/api/Class.ContentTemplateEngine.md +63 -0
  201. package/data/packages/platform-core/api/Class.DateTimeUtils.md +101 -0
  202. package/data/packages/platform-core/api/Class.DeviceParserService.md +52 -0
  203. package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +215 -0
  204. package/data/packages/platform-core/api/Class.ErrorTemplateService.md +109 -0
  205. package/data/packages/platform-core/api/Class.EventHub.md +163 -0
  206. package/data/packages/platform-core/api/Class.EventModule.md +22 -0
  207. package/data/packages/platform-core/api/Class.FileResourceStrategy.md +192 -0
  208. package/data/packages/platform-core/api/Class.GUIDGenerator.md +85 -0
  209. package/data/packages/platform-core/api/Class.GlobalExceptionFilter.md +66 -0
  210. package/data/packages/platform-core/api/Class.HealthModule.md +42 -0
  211. package/data/packages/platform-core/api/Class.HealthOrchestrator.md +64 -0
  212. package/data/packages/platform-core/api/Class.HostModule.md +31 -0
  213. package/data/packages/platform-core/api/Class.HostService.md +149 -0
  214. package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +59 -0
  215. package/data/packages/platform-core/api/Class.IdGeneratorBase.md +87 -0
  216. package/data/packages/platform-core/api/Class.IdentifierModule.md +40 -0
  217. package/data/packages/platform-core/api/Class.LimitRequestSizeMiddleware.md +59 -0
  218. package/data/packages/platform-core/api/Class.LocalizedTextRequest.md +42 -0
  219. package/data/packages/platform-core/api/Class.LocalizedTextResponse.md +42 -0
  220. package/data/packages/platform-core/api/Class.MappingBuilder.md +110 -0
  221. package/data/packages/platform-core/api/Class.MappingModule.md +46 -0
  222. package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +56 -0
  223. package/data/packages/platform-core/api/Class.MappingProfileBase.md +52 -0
  224. package/data/packages/platform-core/api/Class.MappingService.md +284 -0
  225. package/data/packages/platform-core/api/Class.NormalizedUtils.md +148 -0
  226. package/data/packages/platform-core/api/Class.PageableRequest.md +42 -0
  227. package/data/packages/platform-core/api/Class.PageableResponse.md +62 -0
  228. package/data/packages/platform-core/api/Class.ProblemDetailException.md +61 -0
  229. package/data/packages/platform-core/api/Class.ProblemDetailExceptionFilter.md +94 -0
  230. package/data/packages/platform-core/api/Class.QuantityResponse.md +42 -0
  231. package/data/packages/platform-core/api/Class.ResourceManager.md +565 -0
  232. package/data/packages/platform-core/api/Class.ResourceModule.md +46 -0
  233. package/data/packages/platform-core/api/Class.ResponseReturn.md +502 -0
  234. package/data/packages/platform-core/api/Class.SseHub.md +183 -0
  235. package/data/packages/platform-core/api/Class.SseModule.md +42 -0
  236. package/data/packages/platform-core/api/Class.TimeStampResponse.md +42 -0
  237. package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +57 -0
  238. package/data/packages/platform-core/api/Class.UUIDGenerator.md +85 -0
  239. package/data/packages/platform-core/api/Class.UserAvatarGeneratorService.md +52 -0
  240. package/data/packages/platform-core/api/Class.UserNameGeneratorService.md +64 -0
  241. package/data/packages/platform-core/api/Function.Public.md +18 -0
  242. package/data/packages/platform-core/api/Function.createEventKey.md +33 -0
  243. package/data/packages/platform-core/api/Function.createMappingKey.md +39 -0
  244. package/data/packages/platform-core/api/Function.env.md +28 -0
  245. package/data/packages/platform-core/api/Function.getMimeTypeByFileNameOrExtension.md +26 -0
  246. package/data/packages/platform-core/api/ISseEventData.Function.isActionId.md +27 -0
  247. package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +28 -0
  248. package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +40 -0
  249. package/data/packages/platform-core/api/Interface.IDeviceInfo.md +80 -0
  250. package/data/packages/platform-core/api/Interface.IErrorPageParams.md +153 -0
  251. package/data/packages/platform-core/api/Interface.IEventKey.md +57 -0
  252. package/data/packages/platform-core/api/Interface.IEventMap.md +16 -0
  253. package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +72 -0
  254. package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +46 -0
  255. package/data/packages/platform-core/api/Interface.IHealthIndicator.md +41 -0
  256. package/data/packages/platform-core/api/Interface.IHostContentParams.md +232 -0
  257. package/data/packages/platform-core/api/Interface.IIdGenerator.md +57 -0
  258. package/data/packages/platform-core/api/Interface.IMappingBuilder.md +76 -0
  259. package/data/packages/platform-core/api/Interface.IMappingKey.md +58 -0
  260. package/data/packages/platform-core/api/Interface.IMappingProfile.md +32 -0
  261. package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +89 -0
  262. package/data/packages/platform-core/api/Interface.IResourceMetadata.md +94 -0
  263. package/data/packages/platform-core/api/Interface.IResourceResult.md +34 -0
  264. package/data/packages/platform-core/api/Interface.IResourceStrategy.md +134 -0
  265. package/data/packages/platform-core/api/Interface.ISseEventData.md +36 -0
  266. package/data/packages/platform-core/api/Interface.ISseHub.md +91 -0
  267. package/data/packages/platform-core/api/Namespace.ISseEventData.md +14 -0
  268. package/data/packages/platform-core/api/TypeAlias.CamelCase.md +18 -0
  269. package/data/packages/platform-core/api/TypeAlias.ProblemDetail.md +28 -0
  270. package/data/packages/platform-core/api/TypeAlias.ProblemDetailTypeUrlResolver.md +25 -0
  271. package/data/packages/platform-core/api/TypeAlias.SetOptional.md +21 -0
  272. package/data/packages/platform-core/api/TypeAlias.StringValue.md +15 -0
  273. package/data/packages/platform-core/api/Variable.APP_NAME.md +14 -0
  274. package/data/packages/platform-core/api/Variable.APP_PORT.md +14 -0
  275. package/data/packages/platform-core/api/Variable.APP_URL.md +14 -0
  276. package/data/packages/platform-core/api/Variable.APP_VERSION.md +14 -0
  277. package/data/packages/platform-core/api/Variable.GIT_COMMIT.md +14 -0
  278. package/data/packages/platform-core/api/Variable.HEALTH_INDICATORS_TOKEN.md +14 -0
  279. package/data/packages/platform-core/api/Variable.ID_GENERATOR_TOKEN.md +14 -0
  280. package/data/packages/platform-core/api/Variable.IS_PUBLIC_KEY.md +12 -0
  281. package/data/packages/platform-core/api/Variable.IpAddress.md +31 -0
  282. package/data/packages/platform-core/api/Variable.Lang.md +29 -0
  283. package/data/packages/platform-core/api/Variable.NODE_ENV.md +14 -0
  284. package/data/packages/platform-core/api/Variable.PLATFORM_CORE_CONFIG_ENTRIES.md +14 -0
  285. package/data/packages/platform-core/api/Variable.UserAgent.md +24 -0
  286. package/data/packages/platform-core/api/index.md +127 -0
  287. package/data/packages/platform-core/index.md +487 -0
  288. package/data/packages/platform-cryptography/api/Class.BcryptService.md +95 -0
  289. package/data/packages/platform-cryptography/api/Class.CryptoService.md +51 -0
  290. package/data/packages/platform-cryptography/api/Class.CryptographyError.md +56 -0
  291. package/data/packages/platform-cryptography/api/Class.InvalidOtpError.md +52 -0
  292. package/data/packages/platform-cryptography/api/Class.OtpService.md +155 -0
  293. package/data/packages/platform-cryptography/api/Class.WeakPasswordError.md +52 -0
  294. package/data/packages/platform-cryptography/api/Interface.IBcryptOptions.md +45 -0
  295. package/data/packages/platform-cryptography/api/Interface.IOtpOptions.md +31 -0
  296. package/data/packages/platform-cryptography/api/Interface.IOtpService.md +113 -0
  297. package/data/packages/platform-cryptography/api/Interface.IOtpUriOptions.md +46 -0
  298. package/data/packages/platform-cryptography/api/Variable.BCRYPT_OPTIONS.md +14 -0
  299. package/data/packages/platform-cryptography/api/Variable.MAX_BCRYPT_PASSWORD_BYTES.md +14 -0
  300. package/data/packages/platform-cryptography/api/Variable.MIN_BCRYPT_ROUNDS.md +14 -0
  301. package/data/packages/platform-cryptography/api/Variable.OTP_OPTIONS.md +14 -0
  302. package/data/packages/platform-cryptography/api/Variable.OTP_SERVICE_TOKEN.md +14 -0
  303. package/data/packages/platform-cryptography/api/Variable.TOTP_EPOCH_TOLERANCE.md +23 -0
  304. package/data/packages/platform-cryptography/api/index.md +37 -0
  305. package/data/packages/platform-cryptography/index.md +132 -0
  306. package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +75 -0
  307. package/data/packages/platform-database/api/Class.DatabaseModule.md +68 -0
  308. package/data/packages/platform-database/api/Class.DatabaseService.md +143 -0
  309. package/data/packages/platform-database/api/Class.PrismaService.md +98 -0
  310. package/data/packages/platform-database/api/Class.RepositoryBase.md +590 -0
  311. package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +55 -0
  312. package/data/packages/platform-database/api/Function.cursorPaginator.md +26 -0
  313. package/data/packages/platform-database/api/Function.pageable.md +35 -0
  314. package/data/packages/platform-database/api/Function.paginator.md +22 -0
  315. package/data/packages/platform-database/api/Function.query.md +34 -0
  316. package/data/packages/platform-database/api/Function.skip.md +33 -0
  317. package/data/packages/platform-database/api/Function.transactionalQuery.md +31 -0
  318. package/data/packages/platform-database/api/Interface.ICursorPaginateOptions.md +40 -0
  319. package/data/packages/platform-database/api/Interface.ICursorPaginatedResult.md +65 -0
  320. package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +35 -0
  321. package/data/packages/platform-database/api/Interface.IPaginateOptions.md +28 -0
  322. package/data/packages/platform-database/api/Interface.IPaginatedResult.md +77 -0
  323. package/data/packages/platform-database/api/Interface.IPrismaServiceOptions.md +23 -0
  324. package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +51 -0
  325. package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +50 -0
  326. package/data/packages/platform-database/api/TypeAlias.CursorPaginateFunction.md +33 -0
  327. package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +18 -0
  328. package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +18 -0
  329. package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +31 -0
  330. package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +27 -0
  331. package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +26 -0
  332. package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +14 -0
  333. package/data/packages/platform-database/api/Variable.DB_AUTO_CONNECTION.md +14 -0
  334. package/data/packages/platform-database/api/Variable.PLATFORM_DATABASE_CONFIG_ENTRIES.md +14 -0
  335. package/data/packages/platform-database/api/index.md +60 -0
  336. package/data/packages/platform-database/index.md +323 -0
  337. package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +277 -0
  338. package/data/packages/platform-documents/api/Class.DocumentEngine.md +80 -0
  339. package/data/packages/platform-documents/api/Class.DocumentModule.md +47 -0
  340. package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +131 -0
  341. package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +94 -0
  342. package/data/packages/platform-documents/api/Interface.IDocumentPlaceholderDetail.md +70 -0
  343. package/data/packages/platform-documents/api/Interface.IDocumentProbeReport.md +118 -0
  344. package/data/packages/platform-documents/api/Interface.IDocumentRenderer.md +47 -0
  345. package/data/packages/platform-documents/api/Interface.IImagePayload.md +58 -0
  346. package/data/packages/platform-documents/api/Interface.IImageProcessor.md +95 -0
  347. package/data/packages/platform-documents/api/Interface.IRenderOptions.md +64 -0
  348. package/data/packages/platform-documents/api/Interface.IRenderResult.md +58 -0
  349. package/data/packages/platform-documents/api/TypeAlias.DocumentFormat.md +14 -0
  350. package/data/packages/platform-documents/api/TypeAlias.EngineType.md +14 -0
  351. package/data/packages/platform-documents/api/TypeAlias.ImageMimeType.md +14 -0
  352. package/data/packages/platform-documents/api/TypeAlias.TemplateFormat.md +14 -0
  353. package/data/packages/platform-documents/api/TypeAlias.TemplateType.md +14 -0
  354. package/data/packages/platform-documents/api/Variable.DOCUMENT_MODULE_OPTIONS.md +14 -0
  355. package/data/packages/platform-documents/api/Variable.DOCUMENT_PARSER_TOKEN.md +14 -0
  356. package/data/packages/platform-documents/api/Variable.DOCUMENT_RENDERER_TOKEN.md +14 -0
  357. package/data/packages/platform-documents/api/Variable.IMAGE_PROCESSOR_TOKEN.md +14 -0
  358. package/data/packages/platform-documents/api/index.md +47 -0
  359. package/data/packages/platform-documents/index.md +219 -0
  360. package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +188 -0
  361. package/data/packages/platform-esigning/api/Class.EsigningError.md +65 -0
  362. package/data/packages/platform-esigning/api/Class.EsigningModule.md +48 -0
  363. package/data/packages/platform-esigning/api/Class.EsigningPersistencePort.md +90 -0
  364. package/data/packages/platform-esigning/api/Class.EsigningService.md +202 -0
  365. package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +253 -0
  366. package/data/packages/platform-esigning/api/Class.SigningProviderError.md +101 -0
  367. package/data/packages/platform-esigning/api/Class.SigningRequestNotFoundError.md +78 -0
  368. package/data/packages/platform-esigning/api/Class.WebhookVerificationError.md +60 -0
  369. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequest.md +94 -0
  370. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestDocument.md +58 -0
  371. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestSigner.md +58 -0
  372. package/data/packages/platform-esigning/api/Interface.ICreateSigningSessionRequest.md +46 -0
  373. package/data/packages/platform-esigning/api/Interface.IEsigningModuleOptions.md +60 -0
  374. package/data/packages/platform-esigning/api/Interface.IEsigningWebhookEvent.md +82 -0
  375. package/data/packages/platform-esigning/api/Interface.ISignedDocument.md +82 -0
  376. package/data/packages/platform-esigning/api/Interface.ISigner.md +82 -0
  377. package/data/packages/platform-esigning/api/Interface.ISigningDocument.md +82 -0
  378. package/data/packages/platform-esigning/api/Interface.ISigningField.md +142 -0
  379. package/data/packages/platform-esigning/api/Interface.ISigningRequest.md +142 -0
  380. package/data/packages/platform-esigning/api/Interface.ISigningSession.md +70 -0
  381. package/data/packages/platform-esigning/api/TypeAlias.SignerRole.md +14 -0
  382. package/data/packages/platform-esigning/api/TypeAlias.SignerStatus.md +14 -0
  383. package/data/packages/platform-esigning/api/TypeAlias.SigningFieldType.md +14 -0
  384. package/data/packages/platform-esigning/api/TypeAlias.SigningRequestStatus.md +14 -0
  385. package/data/packages/platform-esigning/api/TypeAlias.WebhookEventType.md +14 -0
  386. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_BASE_URL.md +14 -0
  387. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CLIENT_SECRET.md +14 -0
  388. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CONFIG_ENTRIES.md +14 -0
  389. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_INTEGRATION_KEY.md +14 -0
  390. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_WEBHOOK_CLIENT_ID.md +14 -0
  391. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_ACCOUNT_ID.md +14 -0
  392. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_BASE_URL.md +14 -0
  393. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_CONFIG_ENTRIES.md +14 -0
  394. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_INTEGRATION_KEY.md +14 -0
  395. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_SECRET_KEY.md +14 -0
  396. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_WEBHOOK_HMAC_KEY.md +14 -0
  397. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_API_KEY.md +14 -0
  398. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CLIENT_ID.md +14 -0
  399. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CONFIG_ENTRIES.md +14 -0
  400. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_WEBHOOK_SECRET.md +14 -0
  401. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_BASE_URL.md +14 -0
  402. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_KEY.md +14 -0
  403. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER.md +12 -0
  404. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER_OPTIONS.md +12 -0
  405. package/data/packages/platform-esigning/api/Variable.ESIGNING_WEBHOOK_SECRET.md +14 -0
  406. package/data/packages/platform-esigning/api/Variable.PLATFORM_ESIGNING_CONFIG_ENTRIES.md +14 -0
  407. package/data/packages/platform-esigning/api/Variable.SIGNNOW_API_KEY.md +14 -0
  408. package/data/packages/platform-esigning/api/Variable.SIGNNOW_BASE_URL.md +14 -0
  409. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_ID.md +14 -0
  410. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_SECRET.md +14 -0
  411. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CONFIG_ENTRIES.md +14 -0
  412. package/data/packages/platform-esigning/api/Variable.SIGNNOW_WEBHOOK_SECRET.md +14 -0
  413. package/data/packages/platform-esigning/api/Variable.SignerRoles.md +30 -0
  414. package/data/packages/platform-esigning/api/Variable.SignerStatuses.md +32 -0
  415. package/data/packages/platform-esigning/api/Variable.SigningFieldTypes.md +38 -0
  416. package/data/packages/platform-esigning/api/Variable.SigningRequestStatuses.md +36 -0
  417. package/data/packages/platform-esigning/api/Variable.WebhookEventTypes.md +38 -0
  418. package/data/packages/platform-esigning/api/index.md +84 -0
  419. package/data/packages/platform-esigning/index.md +701 -0
  420. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistrarBase.md +94 -0
  421. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistry.md +106 -0
  422. package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +22 -0
  423. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderError.md +79 -0
  424. package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +81 -0
  425. package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +26 -0
  426. package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +26 -0
  427. package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +26 -0
  428. package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +26 -0
  429. package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +26 -0
  430. package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +31 -0
  431. package/data/packages/platform-intelligence/api/Interface.IIntelligenceArtifact.md +34 -0
  432. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapability.md +71 -0
  433. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityMetadata.md +70 -0
  434. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityPayload.md +46 -0
  435. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityRegistry.md +78 -0
  436. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityResult.md +46 -0
  437. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +46 -0
  438. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContext.md +72 -0
  439. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContextBuilder.md +35 -0
  440. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationMessageSnapshot.md +70 -0
  441. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationSnapshot.md +58 -0
  442. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFollowUpQuestion.md +46 -0
  443. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntent.md +46 -0
  444. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntentEntity.md +34 -0
  445. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessageModel.md +70 -0
  446. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessagePayload.md +34 -0
  447. package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +34 -0
  448. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptMessage.md +34 -0
  449. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +94 -0
  450. package/data/packages/platform-intelligence/api/Interface.IIntelligenceResponseMessage.md +34 -0
  451. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +60 -0
  452. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +59 -0
  453. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +53 -0
  454. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceConversationMessageRole.md +14 -0
  455. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +24 -0
  456. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +14 -0
  457. package/data/packages/platform-intelligence/api/Variable.ANTHROPIC_API_KEY.md +14 -0
  458. package/data/packages/platform-intelligence/api/Variable.ANTHROPIC_BASE_URL.md +14 -0
  459. package/data/packages/platform-intelligence/api/Variable.GEMINI_API_KEY.md +14 -0
  460. package/data/packages/platform-intelligence/api/Variable.GOOGLE_API_KEY.md +14 -0
  461. package/data/packages/platform-intelligence/api/Variable.GOOGLE_BASE_URL.md +14 -0
  462. package/data/packages/platform-intelligence/api/Variable.GROK_API_KEY.md +14 -0
  463. package/data/packages/platform-intelligence/api/Variable.GROK_BASE_URL.md +14 -0
  464. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_API_KEY.md +14 -0
  465. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_BASE_URL.md +14 -0
  466. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +14 -0
  467. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MODEL.md +14 -0
  468. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_PROVIDER.md +14 -0
  469. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TEMPERATURE.md +14 -0
  470. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TOP_P.md +14 -0
  471. package/data/packages/platform-intelligence/api/Variable.IntelligenceConversationMessageRoles.md +26 -0
  472. package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +28 -0
  473. package/data/packages/platform-intelligence/api/Variable.OPENAI_API_KEY.md +14 -0
  474. package/data/packages/platform-intelligence/api/Variable.OPENAI_BASE_URL.md +14 -0
  475. package/data/packages/platform-intelligence/api/Variable.PLATFORM_INTELLIGENCE_CONFIG_ENTRIES.md +14 -0
  476. package/data/packages/platform-intelligence/api/Variable.XAI_API_KEY.md +14 -0
  477. package/data/packages/platform-intelligence/api/Variable.XAI_BASE_URL.md +14 -0
  478. package/data/packages/platform-intelligence/api/index.md +89 -0
  479. package/data/packages/platform-intelligence/index.md +155 -0
  480. package/data/packages/platform-logging/api/Class.LoggerModule.md +22 -0
  481. package/data/packages/platform-logging/api/Variable.APP_LOG_LEVEL.md +14 -0
  482. package/data/packages/platform-logging/api/Variable.PLATFORM_LOGGING_CONFIG_ENTRIES.md +14 -0
  483. package/data/packages/platform-logging/api/index.md +19 -0
  484. package/data/packages/platform-logging/index.md +92 -0
  485. package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +60 -0
  486. package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +68 -0
  487. package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +58 -0
  488. package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +71 -0
  489. package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +78 -0
  490. package/data/packages/platform-mailing/api/Class.MailModule.md +22 -0
  491. package/data/packages/platform-mailing/api/Class.MailService.md +98 -0
  492. package/data/packages/platform-mailing/api/Class.MailTemplateEngine.md +93 -0
  493. package/data/packages/platform-mailing/api/Class.MailVerificationService.md +92 -0
  494. package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +77 -0
  495. package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +77 -0
  496. package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +77 -0
  497. package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +77 -0
  498. package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +77 -0
  499. package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +53 -0
  500. package/data/packages/platform-mailing/api/Interface.IMailAttachment.md +46 -0
  501. package/data/packages/platform-mailing/api/Interface.IMailEvents.md +66 -0
  502. package/data/packages/platform-mailing/api/Interface.IMailTemplateVariants.md +30 -0
  503. package/data/packages/platform-mailing/api/TypeAlias.MailTemplateFormat.md +14 -0
  504. package/data/packages/platform-mailing/api/Variable.ALLOWED_ATTACHMENT_MIME_TYPES.md +14 -0
  505. package/data/packages/platform-mailing/api/Variable.MAILGUN_API_KEY.md +14 -0
  506. package/data/packages/platform-mailing/api/Variable.MAILGUN_CONFIG_ENTRIES.md +14 -0
  507. package/data/packages/platform-mailing/api/Variable.MAILGUN_DOMAIN.md +14 -0
  508. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY.md +14 -0
  509. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY_TOKEN.md +12 -0
  510. package/data/packages/platform-mailing/api/Variable.MAIL_HOST.md +14 -0
  511. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_API_KEY.md +14 -0
  512. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_DOMAIN.md +14 -0
  513. package/data/packages/platform-mailing/api/Variable.MAIL_PORT.md +14 -0
  514. package/data/packages/platform-mailing/api/Variable.MAIL_POSTMARK_API_KEY.md +14 -0
  515. package/data/packages/platform-mailing/api/Variable.MAIL_RESEND_API_KEY.md +14 -0
  516. package/data/packages/platform-mailing/api/Variable.MAIL_SENDER_EMAIL.md +14 -0
  517. package/data/packages/platform-mailing/api/Variable.MAIL_SENDGRID_API_KEY.md +14 -0
  518. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_HOST.md +14 -0
  519. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PASSWORD.md +14 -0
  520. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PORT.md +14 -0
  521. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_SECURE.md +14 -0
  522. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_USER.md +14 -0
  523. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_ENGINE_FORMAT.md +14 -0
  524. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_FETCH_STRATEGY_TOKEN.md +16 -0
  525. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_STRATEGY.md +14 -0
  526. package/data/packages/platform-mailing/api/Variable.MAIL_USER.md +14 -0
  527. package/data/packages/platform-mailing/api/Variable.MAX_ATTACHMENT_SIZE_BYTES.md +14 -0
  528. package/data/packages/platform-mailing/api/Variable.PLATFORM_MAILING_CONFIG_ENTRIES.md +14 -0
  529. package/data/packages/platform-mailing/api/Variable.POSTMARK_API_KEY.md +14 -0
  530. package/data/packages/platform-mailing/api/Variable.POSTMARK_CONFIG_ENTRIES.md +14 -0
  531. package/data/packages/platform-mailing/api/Variable.RESEND_API_KEY.md +14 -0
  532. package/data/packages/platform-mailing/api/Variable.RESEND_CONFIG_ENTRIES.md +14 -0
  533. package/data/packages/platform-mailing/api/Variable.SENDGRID_API_KEY.md +14 -0
  534. package/data/packages/platform-mailing/api/Variable.SENDGRID_CONFIG_ENTRIES.md +14 -0
  535. package/data/packages/platform-mailing/api/Variable.SEND_MAIL_EVENT_KEY.md +14 -0
  536. package/data/packages/platform-mailing/api/index.md +77 -0
  537. package/data/packages/platform-mailing/index.md +383 -0
  538. package/data/packages/platform-mcp/api/Class.McpDiscoveryService.md +64 -0
  539. package/data/packages/platform-mcp/api/Class.McpModule.md +82 -0
  540. package/data/packages/platform-mcp/api/Class.McpRegistryService.md +146 -0
  541. package/data/packages/platform-mcp/api/Class.McpServerService.md +196 -0
  542. package/data/packages/platform-mcp/api/Function.McpPrompt.md +28 -0
  543. package/data/packages/platform-mcp/api/Function.McpResource.md +28 -0
  544. package/data/packages/platform-mcp/api/Function.McpTool.md +28 -0
  545. package/data/packages/platform-mcp/api/Interface.IMcpHandlerMetadata.md +46 -0
  546. package/data/packages/platform-mcp/api/Interface.IMcpModuleAsyncOptions.md +75 -0
  547. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptions.md +125 -0
  548. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptionsFactory.md +27 -0
  549. package/data/packages/platform-mcp/api/Interface.IMcpPromptMetadata.md +58 -0
  550. package/data/packages/platform-mcp/api/Interface.IMcpResourceMetadata.md +72 -0
  551. package/data/packages/platform-mcp/api/Interface.IMcpToolMetadata.md +94 -0
  552. package/data/packages/platform-mcp/api/Interface.IRegisteredPrompt.md +40 -0
  553. package/data/packages/platform-mcp/api/Interface.IRegisteredResource.md +40 -0
  554. package/data/packages/platform-mcp/api/Interface.IRegisteredTool.md +40 -0
  555. package/data/packages/platform-mcp/api/Interface.ISseTransportOptions.md +22 -0
  556. package/data/packages/platform-mcp/api/Interface.IStreamableHttpTransportOptions.md +38 -0
  557. package/data/packages/platform-mcp/api/Variable.MCP_MODULE_OPTIONS.md +14 -0
  558. package/data/packages/platform-mcp/api/index.md +46 -0
  559. package/data/packages/platform-mcp/index.md +299 -0
  560. package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +70 -0
  561. package/data/packages/platform-openapi/api/Class.SwaggerFeatureRegistry.md +83 -0
  562. package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +77 -0
  563. package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +46 -0
  564. package/data/packages/platform-openapi/api/Function.Api.md +35 -0
  565. package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +42 -0
  566. package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +18 -0
  567. package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +27 -0
  568. package/data/packages/platform-openapi/api/Interface.IFeatureSwaggerConfig.md +68 -0
  569. package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +68 -0
  570. package/data/packages/platform-openapi/api/Variable.APP_VERSION.md +14 -0
  571. package/data/packages/platform-openapi/api/Variable.PLATFORM_OPENAPI_CONFIG_ENTRIES.md +14 -0
  572. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_EMAIL.md +14 -0
  573. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_NAME.md +14 -0
  574. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_URL.md +14 -0
  575. package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +12 -0
  576. package/data/packages/platform-openapi/api/index.md +42 -0
  577. package/data/packages/platform-openapi/index.md +170 -0
  578. package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +74 -0
  579. package/data/packages/platform-payments/api/Class.FeatureGuard.md +68 -0
  580. package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +69 -0
  581. package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +163 -0
  582. package/data/packages/platform-payments/api/Class.MollieClient.md +166 -0
  583. package/data/packages/platform-payments/api/Class.PaddleClient.md +163 -0
  584. package/data/packages/platform-payments/api/Class.PaymentClientPort.md +142 -0
  585. package/data/packages/platform-payments/api/Class.PaymentModule.md +48 -0
  586. package/data/packages/platform-payments/api/Class.StripeClient.md +163 -0
  587. package/data/packages/platform-payments/api/Function.RequiresFeature.md +25 -0
  588. package/data/packages/platform-payments/api/Interface.IFeatureAccessResult.md +70 -0
  589. package/data/packages/platform-payments/api/Interface.INormalizedCheckoutSession.md +70 -0
  590. package/data/packages/platform-payments/api/Interface.INormalizedPrice.md +80 -0
  591. package/data/packages/platform-payments/api/Interface.INormalizedSubscription.md +100 -0
  592. package/data/packages/platform-payments/api/Interface.INormalizedWebhookEvent.md +84 -0
  593. package/data/packages/platform-payments/api/Interface.IPaymentModuleOptions.md +60 -0
  594. package/data/packages/platform-payments/api/TypeAlias.SubscriptionStatus.md +22 -0
  595. package/data/packages/platform-payments/api/Variable.FEATURE_KEY_METADATA.md +12 -0
  596. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_API_KEY.md +14 -0
  597. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_CONFIG_ENTRIES.md +14 -0
  598. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_STORE_ID.md +14 -0
  599. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_WEBHOOK_SECRET.md +14 -0
  600. package/data/packages/platform-payments/api/Variable.MOLLIE_API_KEY.md +14 -0
  601. package/data/packages/platform-payments/api/Variable.MOLLIE_CONFIG_ENTRIES.md +14 -0
  602. package/data/packages/platform-payments/api/Variable.MOLLIE_WEBHOOK_SECRET.md +14 -0
  603. package/data/packages/platform-payments/api/Variable.PADDLE_API_KEY.md +14 -0
  604. package/data/packages/platform-payments/api/Variable.PADDLE_CONFIG_ENTRIES.md +14 -0
  605. package/data/packages/platform-payments/api/Variable.PADDLE_ENVIRONMENT.md +14 -0
  606. package/data/packages/platform-payments/api/Variable.PADDLE_WEBHOOK_SECRET.md +14 -0
  607. package/data/packages/platform-payments/api/Variable.STRIPE_API_KEY.md +14 -0
  608. package/data/packages/platform-payments/api/Variable.STRIPE_CONFIG_ENTRIES.md +14 -0
  609. package/data/packages/platform-payments/api/Variable.STRIPE_WEBHOOK_SECRET.md +14 -0
  610. package/data/packages/platform-payments/api/index.md +63 -0
  611. package/data/packages/platform-payments/index.md +534 -0
  612. package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +56 -0
  613. package/data/packages/platform-reporting/api/Class.ReportingDatasetNotFoundError.md +40 -0
  614. package/data/packages/platform-reporting/api/Class.ReportingExecutionError.md +67 -0
  615. package/data/packages/platform-reporting/api/Class.ReportingFacade.md +84 -0
  616. package/data/packages/platform-reporting/api/Class.ReportingModule.md +22 -0
  617. package/data/packages/platform-reporting/api/Class.ReportingQueryValidationError.md +51 -0
  618. package/data/packages/platform-reporting/api/Interface.IReportingContributor.md +61 -0
  619. package/data/packages/platform-reporting/api/Interface.IReportingDataset.md +82 -0
  620. package/data/packages/platform-reporting/api/Interface.IReportingDatasetField.md +70 -0
  621. package/data/packages/platform-reporting/api/Interface.IReportingQuery.md +60 -0
  622. package/data/packages/platform-reporting/api/Interface.IReportingQueryFilter.md +40 -0
  623. package/data/packages/platform-reporting/api/Interface.IReportingQueryResult.md +60 -0
  624. package/data/packages/platform-reporting/api/Interface.IReportingQuerySort.md +30 -0
  625. package/data/packages/platform-reporting/api/TypeAlias.ReportingFieldType.md +12 -0
  626. package/data/packages/platform-reporting/api/TypeAlias.ReportingFilterOperator.md +12 -0
  627. package/data/packages/platform-reporting/api/TypeAlias.ReportingQueryResultRow.md +14 -0
  628. package/data/packages/platform-reporting/api/Variable.ReportingFieldTypes.md +30 -0
  629. package/data/packages/platform-reporting/api/Variable.ReportingFilterOperators.md +28 -0
  630. package/data/packages/platform-reporting/api/index.md +44 -0
  631. package/data/packages/platform-reporting/index.md +229 -0
  632. package/data/packages/platform-telemetry/api/Class.MetricsService.md +40 -0
  633. package/data/packages/platform-telemetry/api/Class.NoopTelemetryFacade.md +113 -0
  634. package/data/packages/platform-telemetry/api/Class.OtelSdkHolder.md +73 -0
  635. package/data/packages/platform-telemetry/api/Class.TelemetryCacheMetricsRecorder.md +175 -0
  636. package/data/packages/platform-telemetry/api/Class.TelemetryFacade.md +135 -0
  637. package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +226 -0
  638. package/data/packages/platform-telemetry/api/Class.TelemetryModule.md +40 -0
  639. package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +49 -0
  640. package/data/packages/platform-telemetry/api/Function.validateTelemetryOptions.md +24 -0
  641. package/data/packages/platform-telemetry/api/Interface.IMetricInstruments.md +38 -0
  642. package/data/packages/platform-telemetry/api/Interface.ITelemetryFacade.md +85 -0
  643. package/data/packages/platform-telemetry/api/Interface.ITelemetryMetricsOptions.md +38 -0
  644. package/data/packages/platform-telemetry/api/Interface.ITelemetryOptions.md +136 -0
  645. package/data/packages/platform-telemetry/api/Interface.ITelemetryTracesOptions.md +38 -0
  646. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_ENABLED.md +12 -0
  647. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_FACADE.md +12 -0
  648. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_OPTIONS.md +12 -0
  649. package/data/packages/platform-telemetry/api/Variable.defaultTelemetryOptions.md +12 -0
  650. package/data/packages/platform-telemetry/api/index.md +44 -0
  651. package/data/packages/platform-telemetry/index.md +234 -0
  652. package/package.json +1 -1
@@ -0,0 +1,691 @@
1
+ ---
2
+ title: platform-authentication
3
+ description: JWT, OAuth, MFA, sessions, and email verification with full Ports & Adapters decoupling.
4
+ order: 2
5
+ tags: [authentication, jwt, oauth, mfa, sessions, verification, ports-and-adapters]
6
+ package: '@breadstone/archipel-platform-authentication'
7
+ ---
8
+
9
+ # platform-authentication
10
+
11
+ Full-featured authentication library supporting JWT tokens, OAuth social login (GitHub, Google, Microsoft, Apple), multi-factor authentication (TOTP, SMS, Email OTP, Push), session management, and email verification. Fully decoupled from user storage via 6 abstract ports.
12
+
13
+ **Package:** `@breadstone/archipel-platform-authentication`
14
+
15
+ ## Quick Start
16
+
17
+ ```typescript
18
+ import { Module } from '@nestjs/common';
19
+ import { AuthModule } from '@breadstone/archipel-platform-authentication';
20
+
21
+ @Module({
22
+ imports: [
23
+ AuthModule.register({
24
+ authSubject: PrismaAuthSubjectAdapter,
25
+ mfaSubject: PrismaMfaSubjectAdapter,
26
+ sessionPersistence: PrismaSessionAdapter,
27
+ verificationSubject: PrismaVerificationAdapter,
28
+ socialAuth: PrismaSocialAuthAdapter, // optional — enables OAuth
29
+ tokenEnricher: AppTokenEnricherAdapter, // optional — enriches JWT claims
30
+ }),
31
+ ],
32
+ })
33
+ export class AppModule {}
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Module Configuration
39
+
40
+ ### IAuthModuleOptions
41
+
42
+ | Property | Type | Required | Description |
43
+ | --------------------- | ------------------------------- | -------- | ---------------------------------------------------------------------------------------------------- |
44
+ | `authSubject` | `Type<AuthSubjectPort>` | Yes | User lookup for JWT, Local, and Anonymous strategies |
45
+ | `mfaSubject` | `Type<MfaSubjectPort>` | Yes | MFA state persistence (secrets, channels, backup codes) |
46
+ | `sessionPersistence` | `Type<SessionPersistencePort>` | Yes | Session storage, querying, and invalidation |
47
+ | `verificationSubject` | `Type<VerificationSubjectPort>` | Yes | Email/PIN verification lifecycle |
48
+ | `challengeStore` | `Type<ChallengeStorePort>` | No | MFA challenge state persistence. Defaults to in-memory. Use Redis for multi-instance deployments. |
49
+ | `socialAuth` | `Type<SocialAuthPort>` | No | OAuth user creation/linking. When provided, GitHub/Google/Microsoft/Apple strategies are registered. |
50
+ | `tokenEnricher` | `Type<TokenEnricherPort>` | No | Custom JWT claim injection. When provided, additional claims are merged into access tokens. |
51
+
52
+ ### Environment Variables
53
+
54
+ | Variable | Description | Required |
55
+ | ------------------------------ | ----------------------------------------------- | --------------------------- |
56
+ | `AUTH_JWT_SECRET` | JWT signing secret | Yes |
57
+ | `AUTH_JWT_EXPIRES_IN` | Token expiration (e.g. `'15m'`, `'1h'`, `'7d'`) | Yes |
58
+ | `AUTH_GITHUB_CLIENT_ID` | GitHub OAuth client ID | If using GitHub OAuth |
59
+ | `AUTH_GITHUB_CLIENT_SECRET` | GitHub OAuth client secret | If using GitHub OAuth |
60
+ | `AUTH_GOOGLE_CLIENT_ID` | Google OAuth client ID | If using Google OAuth |
61
+ | `AUTH_GOOGLE_CLIENT_SECRET` | Google OAuth client secret | If using Google OAuth |
62
+ | `AUTH_MICROSOFT_CLIENT_ID` | Microsoft OAuth client ID | If using Microsoft OAuth |
63
+ | `AUTH_MICROSOFT_CLIENT_SECRET` | Microsoft OAuth client secret | If using Microsoft OAuth |
64
+ | `AUTH_APPLE_CLIENT_ID` | Apple OAuth client ID | If using Apple OAuth |
65
+ | `AUTH_APPLE_TEAM_ID` | Apple team ID | If using Apple OAuth |
66
+ | `AUTH_APPLE_KEY_ID` | Apple key ID | If using Apple OAuth |
67
+ | `AUTH_APPLE_PRIVATE_KEY` | Apple private key (PEM) | If using Apple OAuth |
68
+ | `SEED_ANONYMOUS_USERNAME` | Username for anonymous/seed user | If using Anonymous strategy |
69
+
70
+ ---
71
+
72
+ ## Ports (Contracts)
73
+
74
+ ### AuthSubjectPort
75
+
76
+ Resolves authentication subjects for JWT validation, local login, and anonymous access.
77
+
78
+ ```typescript
79
+ abstract class AuthSubjectPort {
80
+ abstract findById(id: string): Promise<IAuthSubject | null>;
81
+ abstract findByLogin(login: string): Promise<IAuthSubject | null>;
82
+ abstract findAnonymous(userName: string): Promise<IAuthSubject | null>;
83
+ }
84
+ ```
85
+
86
+ **IAuthSubject Interface:**
87
+
88
+ ```typescript
89
+ interface IAuthSubject {
90
+ readonly id: string;
91
+ readonly userName: string | null;
92
+ readonly email: string | null;
93
+ readonly password: string | null;
94
+ readonly isVerified: boolean;
95
+ readonly isAnonymous: boolean;
96
+ readonly roles: ReadonlyArray<string>;
97
+ readonly mfaEnabled: boolean;
98
+ }
99
+ ```
100
+
101
+ #### Real-World Adapter: Prisma
102
+
103
+ ```typescript
104
+ @Injectable()
105
+ export class PrismaAuthSubjectAdapter extends AuthSubjectPort {
106
+ private readonly _prisma: PrismaService;
107
+
108
+ constructor(prisma: PrismaService) {
109
+ super();
110
+ this._prisma = prisma;
111
+ }
112
+
113
+ public async findById(id: string): Promise<IAuthSubject | null> {
114
+ return this._prisma.user.findUnique({
115
+ where: { id },
116
+ select: {
117
+ id: true,
118
+ userName: true,
119
+ email: true,
120
+ password: true,
121
+ isVerified: true,
122
+ isAnonymous: true,
123
+ roles: true,
124
+ mfaEnabled: true,
125
+ },
126
+ });
127
+ }
128
+
129
+ public async findByLogin(login: string): Promise<IAuthSubject | null> {
130
+ return this._prisma.user.findFirst({
131
+ where: { OR: [{ userName: login }, { email: login }] },
132
+ select: {
133
+ id: true,
134
+ userName: true,
135
+ email: true,
136
+ password: true,
137
+ isVerified: true,
138
+ isAnonymous: true,
139
+ roles: true,
140
+ mfaEnabled: true,
141
+ },
142
+ });
143
+ }
144
+
145
+ public async findAnonymous(userName: string): Promise<IAuthSubject | null> {
146
+ return this._prisma.user.findFirst({
147
+ where: { userName, isAnonymous: true },
148
+ select: {
149
+ id: true,
150
+ userName: true,
151
+ email: true,
152
+ password: true,
153
+ isVerified: true,
154
+ isAnonymous: true,
155
+ roles: true,
156
+ mfaEnabled: true,
157
+ },
158
+ });
159
+ }
160
+ }
161
+ ```
162
+
163
+ ---
164
+
165
+ ### SessionPersistencePort
166
+
167
+ Persists and queries user sessions.
168
+
169
+ ```typescript
170
+ abstract class SessionPersistencePort {
171
+ abstract store(args: IStoreSessionArgs): Promise<void>;
172
+ abstract findByToken(token: string): Promise<ISessionRecord | null>;
173
+ abstract findAllByUserId(userId: string): Promise<ReadonlyArray<ISessionRecord>>;
174
+ abstract updateLastActive(token: string, date: Date): Promise<void>;
175
+ abstract invalidate(token: string): Promise<boolean>;
176
+ abstract invalidateById(id: string, userId: string): Promise<boolean>;
177
+ }
178
+ ```
179
+
180
+ **IStoreSessionArgs:**
181
+
182
+ ```typescript
183
+ interface IStoreSessionArgs {
184
+ readonly token: string;
185
+ readonly userId: string;
186
+ readonly ipAddress: string;
187
+ readonly deviceInfo?: IDeviceInfo;
188
+ readonly location?: string;
189
+ readonly clientName?: string;
190
+ }
191
+ ```
192
+
193
+ **ISessionRecord:**
194
+
195
+ ```typescript
196
+ interface ISessionRecord {
197
+ readonly id: string;
198
+ readonly token: string;
199
+ readonly userId: string;
200
+ readonly ipAddress: string;
201
+ readonly deviceType: string | null;
202
+ readonly deviceName: string | null;
203
+ readonly deviceOs: string | null;
204
+ readonly browser: string | null;
205
+ readonly location: string | null;
206
+ readonly clientName: string | null;
207
+ readonly lastActive: Date;
208
+ readonly createdAt: Date;
209
+ }
210
+ ```
211
+
212
+ #### Real-World Adapter: Prisma
213
+
214
+ ```typescript
215
+ @Injectable()
216
+ export class PrismaSessionAdapter extends SessionPersistencePort {
217
+ private readonly _prisma: PrismaService;
218
+
219
+ constructor(prisma: PrismaService) {
220
+ super();
221
+ this._prisma = prisma;
222
+ }
223
+
224
+ public async store(args: IStoreSessionArgs): Promise<void> {
225
+ await this._prisma.session.upsert({
226
+ where: { token: args.token },
227
+ update: { lastActive: new Date() },
228
+ create: {
229
+ token: args.token,
230
+ userId: args.userId,
231
+ ipAddress: args.ipAddress,
232
+ deviceType: args.deviceInfo?.deviceType ?? null,
233
+ deviceName: args.deviceInfo?.deviceName ?? null,
234
+ deviceOs: args.deviceInfo?.os ?? null,
235
+ browser: args.deviceInfo?.browser ?? null,
236
+ location: args.location ?? null,
237
+ clientName: args.clientName ?? null,
238
+ lastActive: new Date(),
239
+ },
240
+ });
241
+ }
242
+
243
+ public async findByToken(token: string): Promise<ISessionRecord | null> {
244
+ return this._prisma.session.findUnique({ where: { token } });
245
+ }
246
+
247
+ public async findAllByUserId(userId: string): Promise<ReadonlyArray<ISessionRecord>> {
248
+ return this._prisma.session.findMany({
249
+ where: { userId },
250
+ orderBy: { lastActive: 'desc' },
251
+ });
252
+ }
253
+
254
+ public async updateLastActive(token: string, date: Date): Promise<void> {
255
+ await this._prisma.session.update({
256
+ where: { token },
257
+ data: { lastActive: date },
258
+ });
259
+ }
260
+
261
+ public async invalidate(token: string): Promise<boolean> {
262
+ const result = await this._prisma.session.deleteMany({ where: { token } });
263
+ return result.count > 0;
264
+ }
265
+
266
+ public async invalidateById(id: string, userId: string): Promise<boolean> {
267
+ const result = await this._prisma.session.deleteMany({ where: { id, userId } });
268
+ return result.count > 0;
269
+ }
270
+ }
271
+ ```
272
+
273
+ ---
274
+
275
+ ### MfaSubjectPort
276
+
277
+ MFA state persistence for managing secrets, channels, and backup codes.
278
+
279
+ ```typescript
280
+ abstract class MfaSubjectPort {
281
+ abstract findById(id: string): Promise<IMfaSubject | null>;
282
+ abstract updateMfaState(id: string, update: IMfaSubjectUpdate): Promise<void>;
283
+ }
284
+ ```
285
+
286
+ **IMfaSubject:**
287
+
288
+ ```typescript
289
+ interface IMfaSubject {
290
+ readonly id: string;
291
+ readonly email: string | null;
292
+ readonly userName: string | null;
293
+ readonly mfaEnabled: boolean;
294
+ readonly mfaSecret: string | null;
295
+ readonly mfaBackupCodes: unknown;
296
+ readonly mfaPreferredMethod: string | null;
297
+ readonly mfaVerifiedAt: Date | null;
298
+ readonly mfaChannels: unknown;
299
+ readonly phoneNumber: string | null;
300
+ }
301
+ ```
302
+
303
+ **IMfaSubjectUpdate:**
304
+
305
+ ```typescript
306
+ interface IMfaSubjectUpdate {
307
+ readonly mfaChannels?: unknown;
308
+ readonly mfaEnabled?: boolean;
309
+ readonly mfaPreferredMethod?: string | null;
310
+ readonly mfaBackupCodes?: unknown;
311
+ readonly mfaVerifiedAt?: Date | null;
312
+ readonly mfaUpdatedAt?: Date | null;
313
+ readonly mfaSecret?: string | null;
314
+ readonly phoneNumber?: string | null;
315
+ }
316
+ ```
317
+
318
+ ---
319
+
320
+ ### VerificationSubjectPort
321
+
322
+ Email and PIN verification lifecycle.
323
+
324
+ ```typescript
325
+ abstract class VerificationSubjectPort {
326
+ abstract findByLogin(login: string): Promise<IVerifiableSubject | null>;
327
+ abstract findByVerificationToken(token: string): Promise<IVerifiableSubject | null>;
328
+ abstract setVerificationToken(id: string, token: string | null): Promise<void>;
329
+ abstract markVerified(id: string): Promise<void>;
330
+ }
331
+ ```
332
+
333
+ **IVerifiableSubject:**
334
+
335
+ ```typescript
336
+ interface IVerifiableSubject {
337
+ readonly id: string;
338
+ readonly email: string | null;
339
+ readonly userName: string | null;
340
+ readonly isVerified: boolean;
341
+ readonly verificationToken: string | null;
342
+ }
343
+ ```
344
+
345
+ ---
346
+
347
+ ### ChallengeStorePort (Optional)
348
+
349
+ Persists MFA challenge state. The default implementation stores challenges in-memory (single instance only). For multi-instance deployments, provide a Redis-backed or database-backed implementation via `IAuthModuleOptions.challengeStore`.
350
+
351
+ ```typescript
352
+ abstract class ChallengeStorePort {
353
+ abstract set(id: string, challenge: IMfaChallengeState): Promise<void>;
354
+ abstract get(id: string): Promise<IMfaChallengeState | undefined>;
355
+ abstract delete(id: string): Promise<void>;
356
+ }
357
+ ```
358
+
359
+ **IMfaChallengeState:**
360
+
361
+ ```typescript
362
+ interface IMfaChallengeState {
363
+ readonly userId: string;
364
+ readonly method: string;
365
+ readonly code?: string;
366
+ readonly issuedAt: Date;
367
+ readonly expiresAt: Date;
368
+ }
369
+ ```
370
+
371
+ #### Redis Adapter Example
372
+
373
+ ```typescript
374
+ @Injectable()
375
+ export class RedisChallengeStore extends ChallengeStorePort {
376
+ private readonly _redis: RedisClient;
377
+
378
+ constructor(redis: RedisClient) {
379
+ super();
380
+ this._redis = redis;
381
+ }
382
+
383
+ public async set(id: string, challenge: IMfaChallengeState): Promise<void> {
384
+ const ttl = Math.ceil((challenge.expiresAt.getTime() - Date.now()) / 1000);
385
+ await this._redis.set(`mfa:challenge:${id}`, JSON.stringify(challenge), 'EX', ttl);
386
+ }
387
+
388
+ public async get(id: string): Promise<IMfaChallengeState | undefined> {
389
+ const raw = await this._redis.get(`mfa:challenge:${id}`);
390
+ return raw ? JSON.parse(raw) : undefined;
391
+ }
392
+
393
+ public async delete(id: string): Promise<void> {
394
+ await this._redis.del(`mfa:challenge:${id}`);
395
+ }
396
+ }
397
+ ```
398
+
399
+ ---
400
+
401
+ ### SocialAuthPort (Optional)
402
+
403
+ OAuth user creation and linking for social login providers.
404
+
405
+ ```typescript
406
+ abstract class SocialAuthPort {
407
+ abstract findOrCreateByProfile(profile: ISocialProfile): Promise<IAuthSubject>;
408
+ }
409
+ ```
410
+
411
+ **ISocialProfile:**
412
+
413
+ ```typescript
414
+ interface ISocialProfile {
415
+ readonly provider: string; // e.g. 'github', 'google', 'microsoft', 'apple'
416
+ readonly userName: string | null;
417
+ readonly email: string | null;
418
+ readonly displayName: string | null;
419
+ }
420
+ ```
421
+
422
+ #### Real-World Adapter
423
+
424
+ ```typescript
425
+ @Injectable()
426
+ export class PrismaSocialAuthAdapter extends SocialAuthPort {
427
+ private readonly _prisma: PrismaService;
428
+
429
+ constructor(prisma: PrismaService) {
430
+ super();
431
+ this._prisma = prisma;
432
+ }
433
+
434
+ public async findOrCreateByProfile(profile: ISocialProfile): Promise<IAuthSubject> {
435
+ // Try to find existing user by email
436
+ let user = await this._prisma.user.findFirst({
437
+ where: { email: profile.email },
438
+ });
439
+
440
+ if (!user) {
441
+ // Create new user from social profile
442
+ user = await this._prisma.user.create({
443
+ data: {
444
+ email: profile.email,
445
+ userName: profile.userName ?? profile.displayName,
446
+ isVerified: true, // Social accounts are pre-verified
447
+ isAnonymous: false,
448
+ roles: ['user'],
449
+ authProviders: {
450
+ create: { provider: profile.provider },
451
+ },
452
+ },
453
+ });
454
+ }
455
+
456
+ return {
457
+ id: user.id,
458
+ userName: user.userName,
459
+ email: user.email,
460
+ password: null,
461
+ isVerified: user.isVerified,
462
+ isAnonymous: false,
463
+ roles: user.roles,
464
+ mfaEnabled: user.mfaEnabled ?? false,
465
+ };
466
+ }
467
+ }
468
+ ```
469
+
470
+ ---
471
+
472
+ ### TokenEnricherPort (Optional)
473
+
474
+ Injects additional claims into JWT access tokens.
475
+
476
+ ```typescript
477
+ abstract class TokenEnricherPort {
478
+ abstract enrichClaims(subject: IAuthSubject): Promise<Record<string, unknown>>;
479
+ }
480
+ ```
481
+
482
+ #### Real-World Adapter
483
+
484
+ ```typescript
485
+ @Injectable()
486
+ export class AppTokenEnricherAdapter extends TokenEnricherPort {
487
+ private readonly _prisma: PrismaService;
488
+
489
+ constructor(prisma: PrismaService) {
490
+ super();
491
+ this._prisma = prisma;
492
+ }
493
+
494
+ public async enrichClaims(subject: IAuthSubject): Promise<Record<string, unknown>> {
495
+ const subscription = await this._prisma.subscription.findFirst({
496
+ where: { userId: subject.id, status: 'active' },
497
+ select: { tier: true, expiresAt: true },
498
+ });
499
+
500
+ return {
501
+ tier: subscription?.tier ?? 'free',
502
+ subscriptionActive: subscription !== null,
503
+ };
504
+ }
505
+ }
506
+ ```
507
+
508
+ ---
509
+
510
+ ## Services
511
+
512
+ ### AuthTokenService
513
+
514
+ Creates JWT access tokens with base claims and optional enrichment.
515
+
516
+ ```typescript
517
+ import { AuthTokenService } from '@breadstone/archipel-platform-authentication';
518
+
519
+ @Controller('auth')
520
+ export class AuthController {
521
+ constructor(private readonly _authToken: AuthTokenService) {}
522
+
523
+ @Post('login')
524
+ public async login(@Body() body: LoginDto): Promise<{ accessToken: string }> {
525
+ const subject: IAuthSubject = /* validated subject */;
526
+ const accessToken = await this._authToken.createAccessToken(subject);
527
+ return { accessToken };
528
+ }
529
+ }
530
+ ```
531
+
532
+ The token payload includes `id`, `email`, `roles`, `iat`, `exp`, plus any claims from `TokenEnricherPort`.
533
+
534
+ ### SessionService
535
+
536
+ Manages user sessions — creation, listing, activity tracking, and invalidation.
537
+
538
+ ```typescript
539
+ import { SessionService } from '@breadstone/archipel-platform-authentication';
540
+
541
+ @Controller('sessions')
542
+ export class SessionController {
543
+ constructor(private readonly _sessions: SessionService) {}
544
+
545
+ @Get()
546
+ public async listSessions(@Req() req: Request): Promise<ISessionRecord[]> {
547
+ return this._sessions.listSessions(req.user.id);
548
+ }
549
+
550
+ @Delete(':id')
551
+ public async revokeSession(@Param('id') id: string, @Req() req: Request): Promise<boolean> {
552
+ return this._sessions.invalidateById(id, req.user.id);
553
+ }
554
+ }
555
+ ```
556
+
557
+ ### VerificationService
558
+
559
+ Handles email verification via token or PIN.
560
+
561
+ ```typescript
562
+ import { VerificationService } from '@breadstone/archipel-platform-authentication';
563
+
564
+ // Token-based verification (email link)
565
+ const verified = await verificationService.verifyToken(token);
566
+
567
+ // PIN-based verification (6-digit code)
568
+ const verified = await verificationService.verifyPin(email, pin);
569
+ ```
570
+
571
+ ### MfaService
572
+
573
+ Orchestrates multi-factor authentication across all channels.
574
+
575
+ ```typescript
576
+ import { MfaService } from '@breadstone/archipel-platform-authentication';
577
+
578
+ // Initiate MFA setup (returns QR code URI for TOTP)
579
+ const setup = await mfaService.initSetup(userId, 'totp');
580
+
581
+ // Verify and enable MFA
582
+ const confirmed = await mfaService.verifyAndEnable(userId, 'totp', code);
583
+
584
+ // Issue challenge during login
585
+ const challenge = await mfaService.issueChallenge(userId, 'totp');
586
+
587
+ // Verify challenge response
588
+ const valid = await mfaService.verifyChallenge(userId, 'totp', code);
589
+ ```
590
+
591
+ ### ChallengeService
592
+
593
+ Manages authentication challenge flows (e.g., during login when MFA is required).
594
+
595
+ ---
596
+
597
+ ## Guards
598
+
599
+ | Guard | Strategy | Description |
600
+ | -------------------- | --------- | ---------------------------------------------- |
601
+ | `JwtAuthGuard` | JWT | Validates Bearer token in Authorization header |
602
+ | `LocalAuthGuard` | Local | Username/password authentication |
603
+ | `AnonymousAuthGuard` | Anonymous | Seed/anonymous user access |
604
+ | `GithubAuthGuard` | GitHub | GitHub OAuth redirect |
605
+ | `RolesGuard` | — | RBAC guard checking `IAuthSubject.roles` |
606
+
607
+ ### Using Guards
608
+
609
+ ```typescript
610
+ import { JwtAuthGuard, RolesGuard } from '@breadstone/archipel-platform-authentication';
611
+ import { UseGuards } from '@nestjs/common';
612
+
613
+ @Controller('admin')
614
+ @UseGuards(JwtAuthGuard, RolesGuard)
615
+ export class AdminController {
616
+ @Get('dashboard')
617
+ @Roles('admin')
618
+ public async getDashboard(): Promise<DashboardResponse> {
619
+ // Only accessible with valid JWT containing 'admin' role
620
+ }
621
+ }
622
+ ```
623
+
624
+ ---
625
+
626
+ ## MFA Channels
627
+
628
+ The MFA system supports four channels, all orchestrated by `MfaService`:
629
+
630
+ | Channel | Class | Description |
631
+ | --------- | -------------------- | ---------------------------------------------------------- |
632
+ | TOTP | `TotpMfaChannel` | Time-based one-time password (Google Authenticator, Authy) |
633
+ | SMS | `SmsMfaChannel` | One-time code via SMS |
634
+ | Email OTP | `EmailOtpMfaChannel` | One-time code via email |
635
+ | Push | `PushMfaChannel` | Push notification approval |
636
+
637
+ All channels use the `MfaSubjectPort` for state persistence and `MfaEncryptionService` for secret encryption at rest.
638
+
639
+ ---
640
+
641
+ ## Authentication Strategies
642
+
643
+ | Strategy | Trigger | Port Used |
644
+ | ------------------- | --------------------------- | ---------------------------------------- |
645
+ | `JwtStrategy` | Bearer token in header | `AuthSubjectPort.findById()` |
646
+ | `LocalStrategy` | Username + password in body | `AuthSubjectPort.findByLogin()` |
647
+ | `AnonymousStrategy` | Anonymous access endpoint | `AuthSubjectPort.findAnonymous()` |
648
+ | `GithubStrategy` | GitHub OAuth callback | `SocialAuthPort.findOrCreateByProfile()` |
649
+ | `GoogleStrategy` | Google OAuth callback | `SocialAuthPort.findOrCreateByProfile()` |
650
+ | `MicrosoftStrategy` | Microsoft OAuth callback | `SocialAuthPort.findOrCreateByProfile()` |
651
+ | `AppleStrategy` | Apple OAuth callback | `SocialAuthPort.findOrCreateByProfile()` |
652
+
653
+ ---
654
+
655
+ ## JwtPayloadBase
656
+
657
+ Abstract base class for JWT payloads. Provides `toJSON()` / `fromJSON()` serialization and a `DefaultJwtPayload` subclass.
658
+
659
+ ```typescript
660
+ import { JwtPayloadBase } from '@breadstone/archipel-platform-authentication';
661
+
662
+ // Decoding a JWT
663
+ const payload = JwtPayloadBase.fromJSON(decodedToken);
664
+ console.log(payload.id, payload.email, payload.roles);
665
+ ```
666
+
667
+ ---
668
+
669
+ ## Exports Summary
670
+
671
+ | Export | Type | Description |
672
+ | ------------------------- | ------------- | ----------------------------- |
673
+ | `AuthModule` | NestJS Module | Main module with `register()` |
674
+ | `AuthSubjectPort` | Port | User lookup |
675
+ | `MfaSubjectPort` | Port | MFA state |
676
+ | `SessionPersistencePort` | Port | Session storage |
677
+ | `VerificationSubjectPort` | Port | Verification lifecycle |
678
+ | `SocialAuthPort` | Port | OAuth user linking |
679
+ | `TokenEnricherPort` | Port | JWT claim enrichment |
680
+ | `ChallengeStorePort` | Port | MFA challenge persistence |
681
+ | `AuthTokenService` | Service | Token creation |
682
+ | `SessionService` | Service | Session management |
683
+ | `VerificationService` | Service | Email/PIN verification |
684
+ | `MfaService` | Service | MFA orchestration |
685
+ | `ChallengeService` | Service | Auth challenge flows |
686
+ | `JwtAuthGuard` | Guard | JWT validation |
687
+ | `LocalAuthGuard` | Guard | Local login |
688
+ | `AnonymousAuthGuard` | Guard | Anonymous access |
689
+ | `RolesGuard` | Guard | RBAC enforcement |
690
+ | `SessionMappingProfile` | Mapper | Session entity → response |
691
+ | `JwtPayloadBase` | Model | JWT payload abstraction |