@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,242 @@
1
+ ---
2
+ title: Configuration Management
3
+ description: Type-safe, strategy-based configuration for NestJS modules with centralized discovery.
4
+ order: 2
5
+ ---
6
+
7
+ # Configuration Management
8
+
9
+ This guide covers the `platform-configuration` package — the type-safe configuration system that all other Archipel packages depend on.
10
+
11
+ > **Migration Note:** Configuration was extracted from `platform-core` into its own package. Re-exports are still available from `platform-core` for backward compatibility. New code should import directly from `@breadstone/archipel-platform-configuration`.
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ yarn add @breadstone/archipel-platform-configuration
17
+ ```
18
+
19
+ ---
20
+
21
+ ## Core Concepts
22
+
23
+ ### 1. Typed Config Keys
24
+
25
+ Instead of scattering `process.env['SOME_KEY']` across your codebase, you define typed config keys once:
26
+
27
+ ```typescript
28
+ import { createConfigKey } from '@breadstone/archipel-platform-configuration';
29
+
30
+ export const DATABASE_URL = createConfigKey<string>('DATABASE_URL');
31
+ export const CACHE_TTL = createConfigKey<number>('CACHE_TTL');
32
+ export const FEATURE_ENABLED = createConfigKey<boolean>('FEATURE_ENABLED');
33
+ ```
34
+
35
+ Each key carries its expected value type at compile time. The runtime shape is minimal — just a `{ key: string }` object.
36
+
37
+ ### 2. Strategy Pattern
38
+
39
+ Configuration values are resolved through a strategy. The package ships two strategies:
40
+
41
+ - **`EnvironmentConfigStrategy`** — reads from `process.env`
42
+ - **`FileConfigStrategy`** — reads from a `.env` file via dotenv
43
+
44
+ You can create custom strategies by extending `ConfigStrategyBase` (e.g. Azure App Configuration, AWS Parameter Store, HashiCorp Vault).
45
+
46
+ ### 3. Central Registry
47
+
48
+ Every library registers the configuration it depends on. The `ConfigRegistry` collects all entries globally, enabling:
49
+
50
+ - Startup validation (fail fast on missing required keys)
51
+ - Discovery (list every env var the application needs)
52
+ - Documentation generation
53
+
54
+ ---
55
+
56
+ ## Bootstrap (Application Root)
57
+
58
+ Call `ConfigModule.forRoot()` once in your root module to create the global `ConfigService`:
59
+
60
+ ```typescript
61
+ import { Module } from '@nestjs/common';
62
+ import { ConfigModule, EnvironmentConfigStrategy } from '@breadstone/archipel-platform-configuration';
63
+
64
+ @Module({
65
+ imports: [
66
+ ConfigModule.forRoot({
67
+ strategyFactory: () => new EnvironmentConfigStrategy(),
68
+ }),
69
+ ],
70
+ })
71
+ export class AppModule {}
72
+ ```
73
+
74
+ ### Static Overrides
75
+
76
+ You can inject compile-time values that override or supplement the strategy:
77
+
78
+ ```typescript
79
+ ConfigModule.forRoot({
80
+ strategyFactory: () => new EnvironmentConfigStrategy(),
81
+ statics: {
82
+ APP_VERSION: '2.1.0',
83
+ BUILD_SHA: 'abc123',
84
+ },
85
+ });
86
+ ```
87
+
88
+ ---
89
+
90
+ ## Library Registration
91
+
92
+ Each library module declares the configuration it depends on via `ConfigModule.register()`:
93
+
94
+ ```typescript
95
+ import { Module } from '@nestjs/common';
96
+ import { ConfigModule, createConfigKey, type IConfigRegistryEntry } from '@breadstone/archipel-platform-configuration';
97
+
98
+ const SMTP_HOST = createConfigKey<string>('SMTP_HOST');
99
+ const SMTP_PORT = createConfigKey<number>('SMTP_PORT');
100
+ const SMTP_SECURE = createConfigKey<boolean>('SMTP_SECURE');
101
+
102
+ export const MAIL_CONFIG_ENTRIES: ReadonlyArray<IConfigRegistryEntry> = [
103
+ { key: SMTP_HOST, module: 'mailing', required: true, description: 'SMTP server hostname' },
104
+ { key: SMTP_PORT, module: 'mailing', required: false, defaultValue: 587, description: 'SMTP port' },
105
+ { key: SMTP_SECURE, module: 'mailing', required: false, defaultValue: true, description: 'Use TLS' },
106
+ ];
107
+
108
+ @Module({
109
+ imports: [ConfigModule.register('mailing', MAIL_CONFIG_ENTRIES)],
110
+ })
111
+ export class MailModule {}
112
+ ```
113
+
114
+ This makes the entries visible in the global `ConfigRegistry` for validation and documentation.
115
+
116
+ ---
117
+
118
+ ## Using ConfigService
119
+
120
+ Inject `ConfigService` anywhere to read configuration values:
121
+
122
+ ```typescript
123
+ import { Injectable } from '@nestjs/common';
124
+ import { ConfigService } from '@breadstone/archipel-platform-configuration';
125
+
126
+ @Injectable()
127
+ export class SmtpClient {
128
+ private readonly _host: string;
129
+ private readonly _port: number;
130
+
131
+ constructor(configService: ConfigService) {
132
+ this._host = configService.get<string>('SMTP_HOST'); // throws if missing
133
+ this._port = configService.tryGet<number>('SMTP_PORT', 587); // returns fallback if missing
134
+ }
135
+ }
136
+ ```
137
+
138
+ The service automatically parses string values into the appropriate types (numbers, booleans, null).
139
+
140
+ ---
141
+
142
+ ## Custom Strategies
143
+
144
+ Extend `ConfigStrategyBase` for custom configuration sources:
145
+
146
+ ```typescript
147
+ import { ConfigStrategyBase } from '@breadstone/archipel-platform-configuration';
148
+
149
+ export class VaultConfigStrategy extends ConfigStrategyBase {
150
+ private _cache: Map<string, string>;
151
+
152
+ public constructor(private readonly _vaultUrl: string) {
153
+ super();
154
+ this._cache = new Map();
155
+ }
156
+
157
+ public initialize(): void {
158
+ // Fetch all secrets from Vault at startup
159
+ }
160
+
161
+ public resolve<T>(key: string): T {
162
+ const value = this._cache.get(key);
163
+ if (value === undefined) {
164
+ throw new ConfigKeyNotFoundError(key, 'vault');
165
+ }
166
+ return value as T;
167
+ }
168
+
169
+ public tryResolve<T>(key: string, fallback: T): T {
170
+ return (this._cache.get(key) as T) ?? fallback;
171
+ }
172
+
173
+ public has(key: string): boolean {
174
+ return this._cache.has(key);
175
+ }
176
+ }
177
+ ```
178
+
179
+ Register it:
180
+
181
+ ```typescript
182
+ ConfigModule.forRoot({
183
+ strategyFactory: () => new VaultConfigStrategy('https://vault.example.com'),
184
+ });
185
+ ```
186
+
187
+ ---
188
+
189
+ ## File-Based Configuration
190
+
191
+ For local development, use `FileConfigStrategy` to load from a `.env` file:
192
+
193
+ ```typescript
194
+ import { FileConfigStrategy } from '@breadstone/archipel-platform-configuration';
195
+
196
+ ConfigModule.forRoot({
197
+ strategyFactory: () => new FileConfigStrategy('.env'),
198
+ });
199
+ ```
200
+
201
+ The strategy reads and parses the file using dotenv. If the file does not exist, the strategy initializes with an empty config (subsequent `get()` calls will throw `ConfigKeyNotFoundError`).
202
+
203
+ ---
204
+
205
+ ## Discovery & Validation
206
+
207
+ Use `ConfigRegistry` to inspect all registered configuration at startup:
208
+
209
+ ```typescript
210
+ import { ConfigRegistry } from '@breadstone/archipel-platform-configuration';
211
+
212
+ // List all entries grouped by module
213
+ const grouped = ConfigRegistry.getByModule();
214
+ for (const [module, entries] of grouped) {
215
+ console.log(`Module: ${module}`);
216
+ for (const entry of entries) {
217
+ console.log(` ${entry.key.key} — ${entry.required ? 'required' : 'optional'}`);
218
+ }
219
+ }
220
+ ```
221
+
222
+ This is useful for:
223
+
224
+ - **Health checks** — verify all required config exists before accepting traffic
225
+ - **Documentation** — auto-generate `.env.example` files
226
+ - **CI/CD** — validate that deployment configs match what the application expects
227
+
228
+ ---
229
+
230
+ ## Migration from platform-core
231
+
232
+ If you previously imported configuration from `platform-core`:
233
+
234
+ ```typescript
235
+ // Before
236
+ import { ConfigModule, ConfigService, createConfigKey } from '@breadstone/archipel-platform-core';
237
+
238
+ // After
239
+ import { ConfigModule, ConfigService, createConfigKey } from '@breadstone/archipel-platform-configuration';
240
+ ```
241
+
242
+ Re-exports from `platform-core` continue to work for backward compatibility, but new code should use the dedicated package.
@@ -0,0 +1,240 @@
1
+ ---
2
+ title: Cryptography & OTP
3
+ description: Hash passwords with bcrypt, generate prefixed UUIDs, and implement TOTP-based multi-factor authentication with QR code enrollment.
4
+ order: 17
5
+ ---
6
+
7
+ # Cryptography & OTP
8
+
9
+ This guide covers cryptographic utilities provided by `platform-cryptography`: password hashing with bcrypt, prefixed UUID generation, and TOTP-based one-time password flows for multi-factor authentication.
10
+
11
+ ---
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ yarn add @breadstone/archipel-platform-cryptography
17
+ ```
18
+
19
+ ---
20
+
21
+ ## Password Hashing with Bcrypt
22
+
23
+ `BcryptService` wraps the `bcrypt` library to hash and verify passwords securely. It generates a unique salt per hash automatically.
24
+
25
+ ### Hashing a Password
26
+
27
+ ```typescript
28
+ import { Injectable } from '@nestjs/common';
29
+ import { BcryptService } from '@breadstone/archipel-platform-cryptography';
30
+
31
+ @Injectable()
32
+ export class UserService {
33
+ private readonly _bcrypt: BcryptService;
34
+
35
+ constructor(bcrypt: BcryptService) {
36
+ this._bcrypt = bcrypt;
37
+ }
38
+
39
+ public async createUser(email: string, password: string): Promise<void> {
40
+ const hashedPassword = await this._bcrypt.hash(password);
41
+ // Store hashedPassword in the database — never the plain password
42
+ await this._userRepository.create({ email, password: hashedPassword });
43
+ }
44
+ }
45
+ ```
46
+
47
+ ### Verifying a Password
48
+
49
+ ```typescript
50
+ public async authenticate(email: string, password: string): Promise<boolean> {
51
+ const user = await this._userRepository.findByEmail(email);
52
+ if (!user) {
53
+ return false;
54
+ }
55
+
56
+ return this._bcrypt.compare(password, user.password);
57
+ }
58
+ ```
59
+
60
+ `compare()` returns `true` if the plain-text password matches the stored hash.
61
+
62
+ ---
63
+
64
+ ## Generating Prefixed UUIDs
65
+
66
+ `CryptoService` generates UUIDs with a configurable prefix. This is useful for creating human-readable identifiers that indicate their resource type.
67
+
68
+ ```typescript
69
+ import { Injectable } from '@nestjs/common';
70
+ import { CryptoService } from '@breadstone/archipel-platform-cryptography';
71
+
72
+ @Injectable()
73
+ export class OrderService {
74
+ private readonly _crypto: CryptoService;
75
+
76
+ constructor(crypto: CryptoService) {
77
+ this._crypto = crypto;
78
+ }
79
+
80
+ public createOrderId(): string {
81
+ return this._crypto.getRandomGuid('ord');
82
+ // Example: "ord-a1b2c3d4-e5f6-7890-abcd-ef1234567890"
83
+ }
84
+ }
85
+ ```
86
+
87
+ The prefix is required and must be a non-empty string. Use short, descriptive prefixes that represent the resource type:
88
+
89
+ | Resource | Prefix | Example |
90
+ | ------------ | ------ | ------------------------------------------ |
91
+ | Order | `ord` | `ord-550e8400-e29b-41d4-a716-446655440000` |
92
+ | Invoice | `inv` | `inv-6ba7b810-9dad-11d1-80b4-00c04fd430c8` |
93
+ | Subscription | `sub` | `sub-f47ac10b-58cc-4372-a567-0e02b2c3d479` |
94
+ | User | `usr` | `usr-7c9e6679-7425-40de-944b-e07fc1f90ae7` |
95
+
96
+ ---
97
+
98
+ ## TOTP Multi-Factor Authentication
99
+
100
+ `OtpService` implements TOTP (Time-Based One-Time Password) as defined in [RFC 6238](https://datatracker.ietf.org/doc/html/rfc6238). It supports QR code enrollment and token verification.
101
+
102
+ ### Injecting OtpService
103
+
104
+ `OtpService` is provided behind the `OTP_SERVICE_TOKEN` injection token so consumers depend on the `IOtpService` interface:
105
+
106
+ ```typescript
107
+ import { Module } from '@nestjs/common';
108
+ import { OtpService, OTP_SERVICE_TOKEN } from '@breadstone/archipel-platform-cryptography';
109
+
110
+ @Module({
111
+ providers: [
112
+ {
113
+ provide: OTP_SERVICE_TOKEN,
114
+ useClass: OtpService,
115
+ },
116
+ ],
117
+ exports: [OTP_SERVICE_TOKEN],
118
+ })
119
+ export class SecurityModule {}
120
+ ```
121
+
122
+ ### Enrolling a User
123
+
124
+ Generate a secret and a QR code URI for the user's authenticator app:
125
+
126
+ ```typescript
127
+ import { Inject, Injectable } from '@nestjs/common';
128
+ import { OTP_SERVICE_TOKEN, type IOtpService } from '@breadstone/archipel-platform-cryptography';
129
+
130
+ @Injectable()
131
+ export class MfaService {
132
+ private readonly _otp: IOtpService;
133
+
134
+ constructor(@Inject(OTP_SERVICE_TOKEN) otp: IOtpService) {
135
+ this._otp = otp;
136
+ }
137
+
138
+ public async enroll(userId: string, email: string): Promise<{ secret: string; uri: string }> {
139
+ const secret = this._otp.generateSecret();
140
+ const uri = this._otp.generateUri({
141
+ issuer: 'MyApp',
142
+ label: email,
143
+ secret: secret,
144
+ });
145
+
146
+ // Store the secret securely alongside the user record
147
+ await this._userRepository.updateMfaSecret(userId, secret);
148
+
149
+ return { secret, uri };
150
+ // The URI can be encoded as a QR code for scanning with Google Authenticator, Authy, etc.
151
+ }
152
+ }
153
+ ```
154
+
155
+ ### Verifying a Token
156
+
157
+ Verify a 6-digit TOTP code entered by the user:
158
+
159
+ ```typescript
160
+ public verifyToken(token: string, secret: string): boolean {
161
+ return this._otp.verify(token, secret);
162
+ }
163
+ ```
164
+
165
+ Verification uses a configurable tolerance window (`TOTP_EPOCH_TOLERANCE`). The default tolerance is **30 seconds** (±1 time step), meaning the current code and the immediately preceding/following codes are accepted. This compensates for minor clock drift between the server and the user's device.
166
+
167
+ ### Tolerance Configuration
168
+
169
+ The `TOTP_EPOCH_TOLERANCE` constant controls the verification window:
170
+
171
+ | `TOTP_EPOCH_TOLERANCE` | Accepted range |
172
+ | ---------------------- | ----------------- |
173
+ | `0` | Current step only |
174
+ | `30` | ±1 step (±30 s) |
175
+ | `60` | ±2 steps (±60 s) |
176
+ | `90` | ±3 steps (±90 s) |
177
+
178
+ The default value is `30` (±1 step).
179
+
180
+ ---
181
+
182
+ ## Combining Services
183
+
184
+ A typical MFA login flow uses all three services:
185
+
186
+ ```typescript
187
+ @Injectable()
188
+ export class AuthService {
189
+ private readonly _bcrypt: BcryptService;
190
+ private readonly _otp: IOtpService;
191
+ private readonly _crypto: CryptoService;
192
+
193
+ constructor(bcrypt: BcryptService, @Inject(OTP_SERVICE_TOKEN) otp: IOtpService, crypto: CryptoService) {
194
+ this._bcrypt = bcrypt;
195
+ this._otp = otp;
196
+ this._crypto = crypto;
197
+ }
198
+
199
+ public async login(email: string, password: string, totpCode?: string): Promise<IAuthResult> {
200
+ const user = await this._userRepository.findByEmail(email);
201
+ if (!user) {
202
+ throw new UnauthorizedException();
203
+ }
204
+
205
+ // Step 1: Verify password
206
+ const validPassword = await this._bcrypt.compare(password, user.password);
207
+ if (!validPassword) {
208
+ throw new UnauthorizedException();
209
+ }
210
+
211
+ // Step 2: Verify TOTP (if MFA is enabled)
212
+ if (user.mfaEnabled) {
213
+ if (!totpCode) {
214
+ return { status: 'mfa-required' };
215
+ }
216
+ const validTotp = this._otp.verify(totpCode, user.mfaSecret);
217
+ if (!validTotp) {
218
+ throw new UnauthorizedException('Invalid MFA code');
219
+ }
220
+ }
221
+
222
+ // Step 3: Issue session
223
+ const sessionId = this._crypto.getRandomGuid('ses');
224
+ return { status: 'authenticated', sessionId };
225
+ }
226
+ }
227
+ ```
228
+
229
+ ---
230
+
231
+ ## Security Best Practices
232
+
233
+ | Practice | Why |
234
+ | ----------------------------------- | --------------------------------------------------------- |
235
+ | Never store plain-text passwords | Always use `BcryptService.hash()` before persisting |
236
+ | Store MFA secrets encrypted at rest | The TOTP secret is equivalent to a password |
237
+ | Use rate limiting on verification | Prevents brute-force attacks on 6-digit TOTP codes |
238
+ | Generate backup codes on enrollment | Users may lose access to their authenticator device |
239
+ | Log MFA events, not secrets | Never log secrets, tokens, or plain-text passwords |
240
+ | Use `OTP_SERVICE_TOKEN` for DI | Depend on `IOtpService` interface, not the concrete class |