@breadstone/archipel-mcp 0.0.11 → 0.0.14

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 (604) hide show
  1. package/package.json +1 -1
  2. package/src/DocsLoader.js +2 -5
  3. package/src/GuidesLoader.js +2 -5
  4. package/data/guides/ai-text-generation.md +0 -361
  5. package/data/guides/analytics-and-error-tracking.md +0 -189
  6. package/data/guides/authentication-and-authorization.md +0 -657
  7. package/data/guides/blob-storage.md +0 -242
  8. package/data/guides/caching.md +0 -255
  9. package/data/guides/cryptography-and-otp.md +0 -240
  10. package/data/guides/document-generation.md +0 -174
  11. package/data/guides/email-delivery.md +0 -196
  12. package/data/guides/esigning-integration.md +0 -231
  13. package/data/guides/getting-started.md +0 -351
  14. package/data/guides/implementing-ports.md +0 -317
  15. package/data/guides/index.md +0 -61
  16. package/data/guides/mcp-server.md +0 -222
  17. package/data/guides/openapi-and-feature-discovery.md +0 -266
  18. package/data/guides/payments-and-feature-gating.md +0 -244
  19. package/data/guides/resource-management.md +0 -352
  20. package/data/guides/telemetry-and-observability.md +0 -190
  21. package/data/guides/testing.md +0 -319
  22. package/data/guides/tsdoc-guidelines.md +0 -45
  23. package/data/packages/index.md +0 -52
  24. package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +0 -141
  25. package/data/packages/platform-analytics/api/Class.AnalyticsModule.md +0 -47
  26. package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +0 -169
  27. package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +0 -169
  28. package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +0 -161
  29. package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +0 -169
  30. package/data/packages/platform-analytics/api/Interface.IAnalyticsBreadcrumb.md +0 -58
  31. package/data/packages/platform-analytics/api/Interface.IAnalyticsModuleOptions.md +0 -47
  32. package/data/packages/platform-analytics/api/Interface.IAnalyticsUser.md +0 -58
  33. package/data/packages/platform-analytics/api/TypeAlias.AnalyticsLevel.md +0 -14
  34. package/data/packages/platform-analytics/api/Variable.APPINSIGHTS_CONFIG_ENTRIES.md +0 -14
  35. package/data/packages/platform-analytics/api/Variable.APPLICATIONINSIGHTS_CONNECTION_STRING.md +0 -14
  36. package/data/packages/platform-analytics/api/Variable.DATADOG_CONFIG_ENTRIES.md +0 -14
  37. package/data/packages/platform-analytics/api/Variable.DD_ENV.md +0 -14
  38. package/data/packages/platform-analytics/api/Variable.DD_SERVICE.md +0 -14
  39. package/data/packages/platform-analytics/api/Variable.SENTRY_CONFIG_ENTRIES.md +0 -14
  40. package/data/packages/platform-analytics/api/Variable.SENTRY_DSN.md +0 -14
  41. package/data/packages/platform-analytics/api/Variable.SENTRY_ENVIRONMENT.md +0 -14
  42. package/data/packages/platform-analytics/api/index.md +0 -44
  43. package/data/packages/platform-analytics/index.md +0 -170
  44. package/data/packages/platform-authentication/api/Class.AnonymousAuthGuard.md +0 -40
  45. package/data/packages/platform-authentication/api/Class.AppleConnector.md +0 -86
  46. package/data/packages/platform-authentication/api/Class.AuthModule.md +0 -67
  47. package/data/packages/platform-authentication/api/Class.AuthSubjectPort.md +0 -95
  48. package/data/packages/platform-authentication/api/Class.AuthTokenService.md +0 -59
  49. package/data/packages/platform-authentication/api/Class.ChallengeService.md +0 -131
  50. package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +0 -40
  51. package/data/packages/platform-authentication/api/Class.GithubConnector.md +0 -78
  52. package/data/packages/platform-authentication/api/Class.GoogleConnector.md +0 -84
  53. package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +0 -40
  54. package/data/packages/platform-authentication/api/Class.JwtPayloadBase.md +0 -136
  55. package/data/packages/platform-authentication/api/Class.LastActiveMiddleware.md +0 -71
  56. package/data/packages/platform-authentication/api/Class.LocalAuthGuard.md +0 -40
  57. package/data/packages/platform-authentication/api/Class.MfaService.md +0 -252
  58. package/data/packages/platform-authentication/api/Class.MfaSubjectPort.md +0 -70
  59. package/data/packages/platform-authentication/api/Class.MicrosoftConnector.md +0 -84
  60. package/data/packages/platform-authentication/api/Class.RolesGuard.md +0 -60
  61. package/data/packages/platform-authentication/api/Class.SessionMappingProfile.md +0 -60
  62. package/data/packages/platform-authentication/api/Class.SessionPersistencePort.md +0 -165
  63. package/data/packages/platform-authentication/api/Class.SessionResponse.md +0 -152
  64. package/data/packages/platform-authentication/api/Class.SessionService.md +0 -162
  65. package/data/packages/platform-authentication/api/Class.SocialAuthGuard.md +0 -61
  66. package/data/packages/platform-authentication/api/Class.SocialAuthPort.md +0 -48
  67. package/data/packages/platform-authentication/api/Class.TokenEnricherPort.md +0 -47
  68. package/data/packages/platform-authentication/api/Class.TotpMfaChannel.md +0 -144
  69. package/data/packages/platform-authentication/api/Class.VerificationService.md +0 -154
  70. package/data/packages/platform-authentication/api/Class.VerificationSubjectPort.md +0 -116
  71. package/data/packages/platform-authentication/api/Function.Token.md +0 -18
  72. package/data/packages/platform-authentication/api/Function.UseRoles.md +0 -24
  73. package/data/packages/platform-authentication/api/Function.socialAuthGuardFactory.md +0 -22
  74. package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +0 -143
  75. package/data/packages/platform-authentication/api/Interface.IAuthSubject.md +0 -107
  76. package/data/packages/platform-authentication/api/Interface.IMfaChallengePayload.md +0 -82
  77. package/data/packages/platform-authentication/api/Interface.IMfaChallengeState.md +0 -118
  78. package/data/packages/platform-authentication/api/Interface.IMfaConfirmation.md +0 -22
  79. package/data/packages/platform-authentication/api/Interface.IMfaSetup.md +0 -58
  80. package/data/packages/platform-authentication/api/Interface.IMfaSubject.md +0 -131
  81. package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +0 -91
  82. package/data/packages/platform-authentication/api/Interface.ISessionRecord.md +0 -160
  83. package/data/packages/platform-authentication/api/Interface.ISignInResult.md +0 -82
  84. package/data/packages/platform-authentication/api/Interface.ISocialProfile.md +0 -58
  85. package/data/packages/platform-authentication/api/Interface.IStoreSessionArgs.md +0 -70
  86. package/data/packages/platform-authentication/api/Interface.IVerifiableSubject.md +0 -71
  87. package/data/packages/platform-authentication/api/Variable.APPLE_AUTH_CONFIG_ENTRIES.md +0 -14
  88. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CALLBACK_URL.md +0 -14
  89. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CLIENT_ID.md +0 -14
  90. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_KEY_ID.md +0 -14
  91. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_PRIVATE_KEY.md +0 -14
  92. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_SCOPE.md +0 -14
  93. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_TEAM_ID.md +0 -14
  94. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CALLBACK_URL.md +0 -14
  95. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_ID.md +0 -14
  96. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_SECRET.md +0 -14
  97. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_SCOPE.md +0 -14
  98. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CALLBACK_URL.md +0 -14
  99. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_ID.md +0 -14
  100. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_SECRET.md +0 -14
  101. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_SCOPE.md +0 -14
  102. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_EXPIRES_IN.md +0 -14
  103. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_SECRET.md +0 -14
  104. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_CHALLENGE_EXPIRES_IN.md +0 -14
  105. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_CODE_TTL.md +0 -14
  106. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_MIN_RESEND.md +0 -14
  107. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ENCRYPTION_KEY.md +0 -14
  108. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ISSUER.md +0 -14
  109. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_MAX_ATTEMPTS.md +0 -14
  110. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_CODE_TTL.md +0 -14
  111. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_MIN_RESEND.md +0 -14
  112. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_CODE_TTL.md +0 -14
  113. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_MIN_RESEND.md +0 -14
  114. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CALLBACK_URL.md +0 -14
  115. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_ID.md +0 -14
  116. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_SECRET.md +0 -14
  117. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_SCOPE.md +0 -14
  118. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_TENANT.md +0 -14
  119. package/data/packages/platform-authentication/api/Variable.AUTH_VERIFY_JWT_EXPIRES_IN.md +0 -14
  120. package/data/packages/platform-authentication/api/Variable.GITHUB_AUTH_CONFIG_ENTRIES.md +0 -14
  121. package/data/packages/platform-authentication/api/Variable.GOOGLE_AUTH_CONFIG_ENTRIES.md +0 -14
  122. package/data/packages/platform-authentication/api/Variable.MICROSOFT_AUTH_CONFIG_ENTRIES.md +0 -14
  123. package/data/packages/platform-authentication/api/Variable.PLATFORM_AUTHENTICATION_CONFIG_ENTRIES.md +0 -14
  124. package/data/packages/platform-authentication/api/Variable.ROLES_KEY.md +0 -14
  125. package/data/packages/platform-authentication/api/Variable.SEED_ANONYMOUS_USERNAME.md +0 -14
  126. package/data/packages/platform-authentication/api/Variable.SESSION_LIST_MAPPING_KEY.md +0 -14
  127. package/data/packages/platform-authentication/api/Variable.SESSION_MAPPING_KEY.md +0 -14
  128. package/data/packages/platform-authentication/api/Variable.TOTP_MFA_PROVIDERS.md +0 -29
  129. package/data/packages/platform-authentication/api/Variable.User.md +0 -24
  130. package/data/packages/platform-authentication/api/index.md +0 -112
  131. package/data/packages/platform-authentication/index.md +0 -635
  132. package/data/packages/platform-blob-storage/api/Class.AwsS3BlobProvider.md +0 -196
  133. package/data/packages/platform-blob-storage/api/Class.AzureBlobProvider.md +0 -196
  134. package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +0 -79
  135. package/data/packages/platform-blob-storage/api/Class.BlobModule.md +0 -49
  136. package/data/packages/platform-blob-storage/api/Class.BlobObjectPersistencePort.md +0 -75
  137. package/data/packages/platform-blob-storage/api/Class.BlobService.md +0 -248
  138. package/data/packages/platform-blob-storage/api/Class.BlobVariantPersistencePort.md +0 -51
  139. package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +0 -197
  140. package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +0 -28
  141. package/data/packages/platform-blob-storage/api/Interface.IAwsS3ProviderOptions.md +0 -68
  142. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderOptions.md +0 -38
  143. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +0 -28
  144. package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +0 -38
  145. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +0 -48
  146. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +0 -64
  147. package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +0 -48
  148. package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +0 -138
  149. package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +0 -114
  150. package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +0 -48
  151. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +0 -98
  152. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +0 -28
  153. package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +0 -28
  154. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +0 -68
  155. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +0 -28
  156. package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +0 -12
  157. package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +0 -12
  158. package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +0 -16
  159. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +0 -12
  160. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +0 -12
  161. package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +0 -12
  162. package/data/packages/platform-blob-storage/api/Variable.BlobDownloadResponseTypes.md +0 -26
  163. package/data/packages/platform-blob-storage/api/Variable.BlobProviderKinds.md +0 -26
  164. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +0 -12
  165. package/data/packages/platform-blob-storage/api/index.md +0 -59
  166. package/data/packages/platform-blob-storage/index.md +0 -335
  167. package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +0 -258
  168. package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +0 -157
  169. package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +0 -295
  170. package/data/packages/platform-caching/api/Interface.ICacheMetricsRecorder.md +0 -121
  171. package/data/packages/platform-caching/api/Interface.ICacheStats.md +0 -70
  172. package/data/packages/platform-caching/api/Interface.ILayeredCache.md +0 -198
  173. package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +0 -75
  174. package/data/packages/platform-caching/api/Interface.IRedisLayeredCacheOptions.md +0 -121
  175. package/data/packages/platform-caching/api/index.md +0 -24
  176. package/data/packages/platform-caching/index.md +0 -116
  177. package/data/packages/platform-core/api/Class.AppHealthIndicator.md +0 -50
  178. package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +0 -195
  179. package/data/packages/platform-core/api/Class.BooleanUtils.md +0 -82
  180. package/data/packages/platform-core/api/Class.CUIDGenerator.md +0 -120
  181. package/data/packages/platform-core/api/Class.CasingInterceptor.md +0 -83
  182. package/data/packages/platform-core/api/Class.CatchUtils.md +0 -93
  183. package/data/packages/platform-core/api/Class.ConfigKeyNotFoundError.md +0 -89
  184. package/data/packages/platform-core/api/Class.ConfigModule.md +0 -69
  185. package/data/packages/platform-core/api/Class.ConfigRegistry.md +0 -115
  186. package/data/packages/platform-core/api/Class.ConfigService.md +0 -137
  187. package/data/packages/platform-core/api/Class.ConfigStrategyBase.md +0 -125
  188. package/data/packages/platform-core/api/Class.ContentTemplateEngine.md +0 -63
  189. package/data/packages/platform-core/api/Class.DateTimeUtils.md +0 -101
  190. package/data/packages/platform-core/api/Class.DeviceParserService.md +0 -52
  191. package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +0 -215
  192. package/data/packages/platform-core/api/Class.EnvironmentConfigStrategy.md +0 -141
  193. package/data/packages/platform-core/api/Class.ErrorTemplateService.md +0 -109
  194. package/data/packages/platform-core/api/Class.EventHub.md +0 -163
  195. package/data/packages/platform-core/api/Class.EventModule.md +0 -22
  196. package/data/packages/platform-core/api/Class.FileConfigStrategy.md +0 -147
  197. package/data/packages/platform-core/api/Class.FileResourceStrategy.md +0 -192
  198. package/data/packages/platform-core/api/Class.GUIDGenerator.md +0 -85
  199. package/data/packages/platform-core/api/Class.GlobalExceptionFilter.md +0 -66
  200. package/data/packages/platform-core/api/Class.HealthModule.md +0 -42
  201. package/data/packages/platform-core/api/Class.HealthOrchestrator.md +0 -64
  202. package/data/packages/platform-core/api/Class.HostModule.md +0 -31
  203. package/data/packages/platform-core/api/Class.HostService.md +0 -149
  204. package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +0 -59
  205. package/data/packages/platform-core/api/Class.IdGeneratorBase.md +0 -87
  206. package/data/packages/platform-core/api/Class.IdentifierModule.md +0 -40
  207. package/data/packages/platform-core/api/Class.LimitRequestSizeMiddleware.md +0 -59
  208. package/data/packages/platform-core/api/Class.LocalizedTextRequest.md +0 -42
  209. package/data/packages/platform-core/api/Class.LocalizedTextResponse.md +0 -42
  210. package/data/packages/platform-core/api/Class.MappingBuilder.md +0 -110
  211. package/data/packages/platform-core/api/Class.MappingModule.md +0 -46
  212. package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +0 -56
  213. package/data/packages/platform-core/api/Class.MappingProfileBase.md +0 -52
  214. package/data/packages/platform-core/api/Class.MappingService.md +0 -284
  215. package/data/packages/platform-core/api/Class.NormalizedUtils.md +0 -148
  216. package/data/packages/platform-core/api/Class.PageableRequest.md +0 -42
  217. package/data/packages/platform-core/api/Class.PageableResponse.md +0 -62
  218. package/data/packages/platform-core/api/Class.ProblemDetailException.md +0 -61
  219. package/data/packages/platform-core/api/Class.ProblemDetailExceptionFilter.md +0 -94
  220. package/data/packages/platform-core/api/Class.QuantityResponse.md +0 -42
  221. package/data/packages/platform-core/api/Class.ResourceManager.md +0 -565
  222. package/data/packages/platform-core/api/Class.ResourceModule.md +0 -46
  223. package/data/packages/platform-core/api/Class.ResponseReturn.md +0 -502
  224. package/data/packages/platform-core/api/Class.SseHub.md +0 -183
  225. package/data/packages/platform-core/api/Class.SseModule.md +0 -42
  226. package/data/packages/platform-core/api/Class.TimeStampResponse.md +0 -42
  227. package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +0 -57
  228. package/data/packages/platform-core/api/Class.UUIDGenerator.md +0 -85
  229. package/data/packages/platform-core/api/Class.UserAvatarGeneratorService.md +0 -47
  230. package/data/packages/platform-core/api/Class.UserNameGeneratorService.md +0 -64
  231. package/data/packages/platform-core/api/Function.Public.md +0 -18
  232. package/data/packages/platform-core/api/Function.createConfigKey.md +0 -58
  233. package/data/packages/platform-core/api/Function.createEventKey.md +0 -33
  234. package/data/packages/platform-core/api/Function.createMappingKey.md +0 -39
  235. package/data/packages/platform-core/api/Function.env.md +0 -28
  236. package/data/packages/platform-core/api/Function.getMimeTypeByFileNameOrExtension.md +0 -26
  237. package/data/packages/platform-core/api/ISseEventData.Function.isActionId.md +0 -27
  238. package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +0 -28
  239. package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +0 -40
  240. package/data/packages/platform-core/api/Interface.IConfigKey.md +0 -63
  241. package/data/packages/platform-core/api/Interface.IConfigModuleOptions.md +0 -40
  242. package/data/packages/platform-core/api/Interface.IConfigRegistryEntry.md +0 -79
  243. package/data/packages/platform-core/api/Interface.IDeviceInfo.md +0 -80
  244. package/data/packages/platform-core/api/Interface.IErrorPageParams.md +0 -153
  245. package/data/packages/platform-core/api/Interface.IEventKey.md +0 -57
  246. package/data/packages/platform-core/api/Interface.IEventMap.md +0 -16
  247. package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +0 -72
  248. package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +0 -46
  249. package/data/packages/platform-core/api/Interface.IHealthIndicator.md +0 -41
  250. package/data/packages/platform-core/api/Interface.IHostContentParams.md +0 -232
  251. package/data/packages/platform-core/api/Interface.IIdGenerator.md +0 -57
  252. package/data/packages/platform-core/api/Interface.IMappingBuilder.md +0 -76
  253. package/data/packages/platform-core/api/Interface.IMappingKey.md +0 -58
  254. package/data/packages/platform-core/api/Interface.IMappingProfile.md +0 -32
  255. package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +0 -71
  256. package/data/packages/platform-core/api/Interface.IResourceMetadata.md +0 -94
  257. package/data/packages/platform-core/api/Interface.IResourceResult.md +0 -34
  258. package/data/packages/platform-core/api/Interface.IResourceStrategy.md +0 -134
  259. package/data/packages/platform-core/api/Interface.ISseEventData.md +0 -36
  260. package/data/packages/platform-core/api/Interface.ISseHub.md +0 -91
  261. package/data/packages/platform-core/api/Namespace.ISseEventData.md +0 -14
  262. package/data/packages/platform-core/api/TypeAlias.CamelCase.md +0 -18
  263. package/data/packages/platform-core/api/TypeAlias.ProblemDetail.md +0 -28
  264. package/data/packages/platform-core/api/TypeAlias.ProblemDetailTypeUrlResolver.md +0 -25
  265. package/data/packages/platform-core/api/TypeAlias.SetOptional.md +0 -21
  266. package/data/packages/platform-core/api/TypeAlias.StringValue.md +0 -15
  267. package/data/packages/platform-core/api/Variable.APP_NAME.md +0 -14
  268. package/data/packages/platform-core/api/Variable.APP_PORT.md +0 -14
  269. package/data/packages/platform-core/api/Variable.APP_URL.md +0 -14
  270. package/data/packages/platform-core/api/Variable.APP_VERSION.md +0 -14
  271. package/data/packages/platform-core/api/Variable.GIT_COMMIT.md +0 -14
  272. package/data/packages/platform-core/api/Variable.HEALTH_INDICATORS_TOKEN.md +0 -14
  273. package/data/packages/platform-core/api/Variable.ID_GENERATOR_TOKEN.md +0 -14
  274. package/data/packages/platform-core/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +0 -14
  275. package/data/packages/platform-core/api/Variable.INTELLIGENCE_MODEL.md +0 -14
  276. package/data/packages/platform-core/api/Variable.INTELLIGENCE_TEMPERATURE.md +0 -14
  277. package/data/packages/platform-core/api/Variable.INTELLIGENCE_TOP_P.md +0 -14
  278. package/data/packages/platform-core/api/Variable.IS_PUBLIC_KEY.md +0 -12
  279. package/data/packages/platform-core/api/Variable.IpAddress.md +0 -31
  280. package/data/packages/platform-core/api/Variable.Lang.md +0 -29
  281. package/data/packages/platform-core/api/Variable.NODE_ENV.md +0 -14
  282. package/data/packages/platform-core/api/Variable.PLATFORM_CORE_CONFIG_ENTRIES.md +0 -14
  283. package/data/packages/platform-core/api/Variable.UserAgent.md +0 -24
  284. package/data/packages/platform-core/api/index.md +0 -142
  285. package/data/packages/platform-core/index.md +0 -485
  286. package/data/packages/platform-cryptography/api/Class.BcryptService.md +0 -72
  287. package/data/packages/platform-cryptography/api/Class.CryptoService.md +0 -51
  288. package/data/packages/platform-cryptography/api/Class.OtpService.md +0 -109
  289. package/data/packages/platform-cryptography/api/Interface.IOtpService.md +0 -81
  290. package/data/packages/platform-cryptography/api/Interface.IOtpUriOptions.md +0 -46
  291. package/data/packages/platform-cryptography/api/Variable.OTP_SERVICE_TOKEN.md +0 -14
  292. package/data/packages/platform-cryptography/api/Variable.TOTP_EPOCH_TOLERANCE.md +0 -23
  293. package/data/packages/platform-cryptography/api/index.md +0 -28
  294. package/data/packages/platform-cryptography/index.md +0 -132
  295. package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +0 -75
  296. package/data/packages/platform-database/api/Class.DatabaseModule.md +0 -70
  297. package/data/packages/platform-database/api/Class.DatabaseService.md +0 -160
  298. package/data/packages/platform-database/api/Class.PrismaService.md +0 -111
  299. package/data/packages/platform-database/api/Class.RepositoryBase.md +0 -586
  300. package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +0 -55
  301. package/data/packages/platform-database/api/Function.pageable.md +0 -35
  302. package/data/packages/platform-database/api/Function.paginator.md +0 -22
  303. package/data/packages/platform-database/api/Function.query.md +0 -34
  304. package/data/packages/platform-database/api/Function.skip.md +0 -33
  305. package/data/packages/platform-database/api/Function.transactionalQuery.md +0 -31
  306. package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +0 -22
  307. package/data/packages/platform-database/api/Interface.IPaginateOptions.md +0 -28
  308. package/data/packages/platform-database/api/Interface.IPaginatedResult.md +0 -77
  309. package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +0 -51
  310. package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +0 -50
  311. package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +0 -18
  312. package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +0 -18
  313. package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +0 -31
  314. package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +0 -27
  315. package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +0 -26
  316. package/data/packages/platform-database/api/index.md +0 -47
  317. package/data/packages/platform-database/index.md +0 -300
  318. package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +0 -277
  319. package/data/packages/platform-documents/api/Class.DocumentEngine.md +0 -80
  320. package/data/packages/platform-documents/api/Class.DocumentModule.md +0 -47
  321. package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +0 -131
  322. package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +0 -94
  323. package/data/packages/platform-documents/api/Interface.IDocumentPlaceholderDetail.md +0 -70
  324. package/data/packages/platform-documents/api/Interface.IDocumentProbeReport.md +0 -118
  325. package/data/packages/platform-documents/api/Interface.IDocumentRenderer.md +0 -47
  326. package/data/packages/platform-documents/api/Interface.IImagePayload.md +0 -58
  327. package/data/packages/platform-documents/api/Interface.IImageProcessor.md +0 -95
  328. package/data/packages/platform-documents/api/Interface.IRenderOptions.md +0 -64
  329. package/data/packages/platform-documents/api/Interface.IRenderResult.md +0 -58
  330. package/data/packages/platform-documents/api/TypeAlias.DocumentFormat.md +0 -14
  331. package/data/packages/platform-documents/api/TypeAlias.EngineType.md +0 -14
  332. package/data/packages/platform-documents/api/TypeAlias.ImageMimeType.md +0 -14
  333. package/data/packages/platform-documents/api/TypeAlias.TemplateFormat.md +0 -14
  334. package/data/packages/platform-documents/api/TypeAlias.TemplateType.md +0 -14
  335. package/data/packages/platform-documents/api/Variable.DOCUMENT_MODULE_OPTIONS.md +0 -14
  336. package/data/packages/platform-documents/api/Variable.DOCUMENT_PARSER_TOKEN.md +0 -14
  337. package/data/packages/platform-documents/api/Variable.DOCUMENT_RENDERER_TOKEN.md +0 -14
  338. package/data/packages/platform-documents/api/Variable.IMAGE_PROCESSOR_TOKEN.md +0 -14
  339. package/data/packages/platform-documents/api/index.md +0 -47
  340. package/data/packages/platform-documents/index.md +0 -219
  341. package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +0 -184
  342. package/data/packages/platform-esigning/api/Class.EsigningError.md +0 -65
  343. package/data/packages/platform-esigning/api/Class.EsigningModule.md +0 -48
  344. package/data/packages/platform-esigning/api/Class.EsigningPersistencePort.md +0 -90
  345. package/data/packages/platform-esigning/api/Class.EsigningService.md +0 -198
  346. package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +0 -249
  347. package/data/packages/platform-esigning/api/Class.SigningProviderError.md +0 -101
  348. package/data/packages/platform-esigning/api/Class.SigningRequestNotFoundError.md +0 -78
  349. package/data/packages/platform-esigning/api/Class.WebhookVerificationError.md +0 -60
  350. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequest.md +0 -94
  351. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestDocument.md +0 -58
  352. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestSigner.md +0 -58
  353. package/data/packages/platform-esigning/api/Interface.ICreateSigningSessionRequest.md +0 -46
  354. package/data/packages/platform-esigning/api/Interface.IEsigningModuleOptions.md +0 -60
  355. package/data/packages/platform-esigning/api/Interface.IEsigningWebhookEvent.md +0 -82
  356. package/data/packages/platform-esigning/api/Interface.ISignedDocument.md +0 -82
  357. package/data/packages/platform-esigning/api/Interface.ISigner.md +0 -82
  358. package/data/packages/platform-esigning/api/Interface.ISigningDocument.md +0 -82
  359. package/data/packages/platform-esigning/api/Interface.ISigningField.md +0 -142
  360. package/data/packages/platform-esigning/api/Interface.ISigningRequest.md +0 -142
  361. package/data/packages/platform-esigning/api/Interface.ISigningSession.md +0 -70
  362. package/data/packages/platform-esigning/api/TypeAlias.SignerRole.md +0 -14
  363. package/data/packages/platform-esigning/api/TypeAlias.SignerStatus.md +0 -14
  364. package/data/packages/platform-esigning/api/TypeAlias.SigningFieldType.md +0 -14
  365. package/data/packages/platform-esigning/api/TypeAlias.SigningRequestStatus.md +0 -14
  366. package/data/packages/platform-esigning/api/TypeAlias.WebhookEventType.md +0 -14
  367. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_BASE_URL.md +0 -14
  368. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CLIENT_SECRET.md +0 -14
  369. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CONFIG_ENTRIES.md +0 -14
  370. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_INTEGRATION_KEY.md +0 -14
  371. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_WEBHOOK_CLIENT_ID.md +0 -14
  372. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_ACCOUNT_ID.md +0 -14
  373. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_BASE_URL.md +0 -14
  374. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_CONFIG_ENTRIES.md +0 -14
  375. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_INTEGRATION_KEY.md +0 -14
  376. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_SECRET_KEY.md +0 -14
  377. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_WEBHOOK_HMAC_KEY.md +0 -14
  378. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_API_KEY.md +0 -14
  379. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CLIENT_ID.md +0 -14
  380. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CONFIG_ENTRIES.md +0 -14
  381. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_WEBHOOK_SECRET.md +0 -14
  382. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_BASE_URL.md +0 -14
  383. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_KEY.md +0 -14
  384. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER.md +0 -12
  385. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER_OPTIONS.md +0 -12
  386. package/data/packages/platform-esigning/api/Variable.ESIGNING_WEBHOOK_SECRET.md +0 -14
  387. package/data/packages/platform-esigning/api/Variable.PLATFORM_ESIGNING_CONFIG_ENTRIES.md +0 -14
  388. package/data/packages/platform-esigning/api/Variable.SIGNNOW_API_KEY.md +0 -14
  389. package/data/packages/platform-esigning/api/Variable.SIGNNOW_BASE_URL.md +0 -14
  390. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_ID.md +0 -14
  391. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_SECRET.md +0 -14
  392. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CONFIG_ENTRIES.md +0 -14
  393. package/data/packages/platform-esigning/api/Variable.SIGNNOW_WEBHOOK_SECRET.md +0 -14
  394. package/data/packages/platform-esigning/api/Variable.SignerRoles.md +0 -30
  395. package/data/packages/platform-esigning/api/Variable.SignerStatuses.md +0 -32
  396. package/data/packages/platform-esigning/api/Variable.SigningFieldTypes.md +0 -38
  397. package/data/packages/platform-esigning/api/Variable.SigningRequestStatuses.md +0 -36
  398. package/data/packages/platform-esigning/api/Variable.WebhookEventTypes.md +0 -38
  399. package/data/packages/platform-esigning/api/index.md +0 -84
  400. package/data/packages/platform-esigning/index.md +0 -691
  401. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistrarBase.md +0 -94
  402. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistry.md +0 -106
  403. package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +0 -22
  404. package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +0 -81
  405. package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +0 -26
  406. package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +0 -26
  407. package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +0 -26
  408. package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +0 -26
  409. package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +0 -26
  410. package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +0 -31
  411. package/data/packages/platform-intelligence/api/Interface.IIntelligenceArtifact.md +0 -34
  412. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapability.md +0 -71
  413. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityMetadata.md +0 -70
  414. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityPayload.md +0 -46
  415. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityRegistry.md +0 -78
  416. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityResult.md +0 -46
  417. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +0 -46
  418. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContext.md +0 -72
  419. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContextBuilder.md +0 -35
  420. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationMessageSnapshot.md +0 -70
  421. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationSnapshot.md +0 -58
  422. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFollowUpQuestion.md +0 -46
  423. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntent.md +0 -46
  424. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntentEntity.md +0 -34
  425. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessageModel.md +0 -70
  426. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessagePayload.md +0 -34
  427. package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +0 -34
  428. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptMessage.md +0 -34
  429. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +0 -94
  430. package/data/packages/platform-intelligence/api/Interface.IIntelligenceResponseMessage.md +0 -34
  431. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +0 -60
  432. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +0 -46
  433. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +0 -53
  434. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceConversationMessageRole.md +0 -14
  435. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +0 -24
  436. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +0 -14
  437. package/data/packages/platform-intelligence/api/Variable.IntelligenceConversationMessageRoles.md +0 -26
  438. package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +0 -28
  439. package/data/packages/platform-intelligence/api/index.md +0 -69
  440. package/data/packages/platform-intelligence/index.md +0 -131
  441. package/data/packages/platform-logging/api/Class.LoggerModule.md +0 -20
  442. package/data/packages/platform-logging/api/Variable.APP_LOG_LEVEL.md +0 -14
  443. package/data/packages/platform-logging/api/Variable.PLATFORM_LOGGING_CONFIG_ENTRIES.md +0 -14
  444. package/data/packages/platform-logging/api/index.md +0 -19
  445. package/data/packages/platform-logging/index.md +0 -92
  446. package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +0 -60
  447. package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +0 -66
  448. package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +0 -58
  449. package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +0 -75
  450. package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +0 -78
  451. package/data/packages/platform-mailing/api/Class.MailModule.md +0 -22
  452. package/data/packages/platform-mailing/api/Class.MailService.md +0 -96
  453. package/data/packages/platform-mailing/api/Class.MailTemplateEngine.md +0 -93
  454. package/data/packages/platform-mailing/api/Class.MailVerificationService.md +0 -85
  455. package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +0 -75
  456. package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +0 -75
  457. package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +0 -75
  458. package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +0 -75
  459. package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +0 -75
  460. package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +0 -53
  461. package/data/packages/platform-mailing/api/Interface.IMailEvents.md +0 -66
  462. package/data/packages/platform-mailing/api/Interface.IMailTemplateVariants.md +0 -30
  463. package/data/packages/platform-mailing/api/TypeAlias.MailTemplateFormat.md +0 -14
  464. package/data/packages/platform-mailing/api/Variable.MAILGUN_API_KEY.md +0 -14
  465. package/data/packages/platform-mailing/api/Variable.MAILGUN_CONFIG_ENTRIES.md +0 -14
  466. package/data/packages/platform-mailing/api/Variable.MAILGUN_DOMAIN.md +0 -14
  467. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY.md +0 -14
  468. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY_TOKEN.md +0 -12
  469. package/data/packages/platform-mailing/api/Variable.MAIL_HOST.md +0 -14
  470. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_API_KEY.md +0 -14
  471. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_DOMAIN.md +0 -14
  472. package/data/packages/platform-mailing/api/Variable.MAIL_PORT.md +0 -14
  473. package/data/packages/platform-mailing/api/Variable.MAIL_POSTMARK_API_KEY.md +0 -14
  474. package/data/packages/platform-mailing/api/Variable.MAIL_RESEND_API_KEY.md +0 -14
  475. package/data/packages/platform-mailing/api/Variable.MAIL_SENDER_EMAIL.md +0 -14
  476. package/data/packages/platform-mailing/api/Variable.MAIL_SENDGRID_API_KEY.md +0 -14
  477. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_HOST.md +0 -14
  478. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PASSWORD.md +0 -14
  479. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PORT.md +0 -14
  480. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_SECURE.md +0 -14
  481. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_USER.md +0 -14
  482. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_ENGINE_FORMAT.md +0 -14
  483. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_FETCH_STRATEGY_TOKEN.md +0 -16
  484. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_STRATEGY.md +0 -14
  485. package/data/packages/platform-mailing/api/Variable.MAIL_USER.md +0 -14
  486. package/data/packages/platform-mailing/api/Variable.PLATFORM_MAILING_CONFIG_ENTRIES.md +0 -14
  487. package/data/packages/platform-mailing/api/Variable.POSTMARK_API_KEY.md +0 -14
  488. package/data/packages/platform-mailing/api/Variable.POSTMARK_CONFIG_ENTRIES.md +0 -14
  489. package/data/packages/platform-mailing/api/Variable.RESEND_API_KEY.md +0 -14
  490. package/data/packages/platform-mailing/api/Variable.RESEND_CONFIG_ENTRIES.md +0 -14
  491. package/data/packages/platform-mailing/api/Variable.SENDGRID_API_KEY.md +0 -14
  492. package/data/packages/platform-mailing/api/Variable.SENDGRID_CONFIG_ENTRIES.md +0 -14
  493. package/data/packages/platform-mailing/api/Variable.SEND_MAIL_EVENT_KEY.md +0 -14
  494. package/data/packages/platform-mailing/api/index.md +0 -74
  495. package/data/packages/platform-mailing/index.md +0 -335
  496. package/data/packages/platform-mcp/api/Class.McpDiscoveryService.md +0 -64
  497. package/data/packages/platform-mcp/api/Class.McpModule.md +0 -82
  498. package/data/packages/platform-mcp/api/Class.McpRegistryService.md +0 -146
  499. package/data/packages/platform-mcp/api/Class.McpServerService.md +0 -196
  500. package/data/packages/platform-mcp/api/Function.McpPrompt.md +0 -28
  501. package/data/packages/platform-mcp/api/Function.McpResource.md +0 -28
  502. package/data/packages/platform-mcp/api/Function.McpTool.md +0 -28
  503. package/data/packages/platform-mcp/api/Interface.IMcpHandlerMetadata.md +0 -46
  504. package/data/packages/platform-mcp/api/Interface.IMcpModuleAsyncOptions.md +0 -75
  505. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptions.md +0 -125
  506. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptionsFactory.md +0 -27
  507. package/data/packages/platform-mcp/api/Interface.IMcpPromptMetadata.md +0 -58
  508. package/data/packages/platform-mcp/api/Interface.IMcpResourceMetadata.md +0 -72
  509. package/data/packages/platform-mcp/api/Interface.IMcpToolMetadata.md +0 -82
  510. package/data/packages/platform-mcp/api/Interface.IRegisteredPrompt.md +0 -40
  511. package/data/packages/platform-mcp/api/Interface.IRegisteredResource.md +0 -40
  512. package/data/packages/platform-mcp/api/Interface.IRegisteredTool.md +0 -40
  513. package/data/packages/platform-mcp/api/Interface.ISseTransportOptions.md +0 -22
  514. package/data/packages/platform-mcp/api/Interface.IStreamableHttpTransportOptions.md +0 -38
  515. package/data/packages/platform-mcp/api/Variable.MCP_MODULE_OPTIONS.md +0 -14
  516. package/data/packages/platform-mcp/api/index.md +0 -46
  517. package/data/packages/platform-mcp/index.md +0 -299
  518. package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +0 -70
  519. package/data/packages/platform-openapi/api/Class.SwaggerFeatureRegistry.md +0 -99
  520. package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +0 -77
  521. package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +0 -46
  522. package/data/packages/platform-openapi/api/Function.Api.md +0 -35
  523. package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +0 -42
  524. package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +0 -18
  525. package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +0 -27
  526. package/data/packages/platform-openapi/api/Interface.IFeatureSwaggerConfig.md +0 -68
  527. package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +0 -68
  528. package/data/packages/platform-openapi/api/Variable.APP_VERSION.md +0 -14
  529. package/data/packages/platform-openapi/api/Variable.PLATFORM_OPENAPI_CONFIG_ENTRIES.md +0 -14
  530. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_EMAIL.md +0 -14
  531. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_NAME.md +0 -14
  532. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_URL.md +0 -14
  533. package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +0 -12
  534. package/data/packages/platform-openapi/api/index.md +0 -42
  535. package/data/packages/platform-openapi/index.md +0 -170
  536. package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +0 -74
  537. package/data/packages/platform-payments/api/Class.FeatureGuard.md +0 -68
  538. package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +0 -69
  539. package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +0 -163
  540. package/data/packages/platform-payments/api/Class.MollieClient.md +0 -163
  541. package/data/packages/platform-payments/api/Class.PaddleClient.md +0 -163
  542. package/data/packages/platform-payments/api/Class.PaymentClientPort.md +0 -142
  543. package/data/packages/platform-payments/api/Class.PaymentModule.md +0 -48
  544. package/data/packages/platform-payments/api/Class.StripeClient.md +0 -163
  545. package/data/packages/platform-payments/api/Function.RequiresFeature.md +0 -25
  546. package/data/packages/platform-payments/api/Interface.IFeatureAccessResult.md +0 -70
  547. package/data/packages/platform-payments/api/Interface.INormalizedCheckoutSession.md +0 -70
  548. package/data/packages/platform-payments/api/Interface.INormalizedPrice.md +0 -80
  549. package/data/packages/platform-payments/api/Interface.INormalizedSubscription.md +0 -100
  550. package/data/packages/platform-payments/api/Interface.INormalizedWebhookEvent.md +0 -84
  551. package/data/packages/platform-payments/api/Interface.IPaymentModuleOptions.md +0 -60
  552. package/data/packages/platform-payments/api/TypeAlias.SubscriptionStatus.md +0 -22
  553. package/data/packages/platform-payments/api/Variable.FEATURE_KEY_METADATA.md +0 -12
  554. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_API_KEY.md +0 -14
  555. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_CONFIG_ENTRIES.md +0 -14
  556. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_STORE_ID.md +0 -14
  557. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_WEBHOOK_SECRET.md +0 -14
  558. package/data/packages/platform-payments/api/Variable.MOLLIE_API_KEY.md +0 -14
  559. package/data/packages/platform-payments/api/Variable.MOLLIE_CONFIG_ENTRIES.md +0 -14
  560. package/data/packages/platform-payments/api/Variable.MOLLIE_WEBHOOK_SECRET.md +0 -14
  561. package/data/packages/platform-payments/api/Variable.PADDLE_API_KEY.md +0 -14
  562. package/data/packages/platform-payments/api/Variable.PADDLE_CONFIG_ENTRIES.md +0 -14
  563. package/data/packages/platform-payments/api/Variable.PADDLE_ENVIRONMENT.md +0 -14
  564. package/data/packages/platform-payments/api/Variable.PADDLE_WEBHOOK_SECRET.md +0 -14
  565. package/data/packages/platform-payments/api/Variable.STRIPE_API_KEY.md +0 -14
  566. package/data/packages/platform-payments/api/Variable.STRIPE_CONFIG_ENTRIES.md +0 -14
  567. package/data/packages/platform-payments/api/Variable.STRIPE_WEBHOOK_SECRET.md +0 -14
  568. package/data/packages/platform-payments/api/index.md +0 -63
  569. package/data/packages/platform-payments/index.md +0 -532
  570. package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +0 -56
  571. package/data/packages/platform-reporting/api/Class.ReportingDatasetNotFoundError.md +0 -40
  572. package/data/packages/platform-reporting/api/Class.ReportingFacade.md +0 -84
  573. package/data/packages/platform-reporting/api/Class.ReportingModule.md +0 -22
  574. package/data/packages/platform-reporting/api/Interface.IReportingContributor.md +0 -61
  575. package/data/packages/platform-reporting/api/Interface.IReportingDataset.md +0 -82
  576. package/data/packages/platform-reporting/api/Interface.IReportingDatasetField.md +0 -70
  577. package/data/packages/platform-reporting/api/Interface.IReportingQuery.md +0 -60
  578. package/data/packages/platform-reporting/api/Interface.IReportingQueryFilter.md +0 -40
  579. package/data/packages/platform-reporting/api/Interface.IReportingQueryResult.md +0 -60
  580. package/data/packages/platform-reporting/api/Interface.IReportingQuerySort.md +0 -30
  581. package/data/packages/platform-reporting/api/TypeAlias.ReportingFieldType.md +0 -12
  582. package/data/packages/platform-reporting/api/TypeAlias.ReportingFilterOperator.md +0 -12
  583. package/data/packages/platform-reporting/api/TypeAlias.ReportingQueryResultRow.md +0 -14
  584. package/data/packages/platform-reporting/api/Variable.ReportingFieldTypes.md +0 -30
  585. package/data/packages/platform-reporting/api/Variable.ReportingFilterOperators.md +0 -28
  586. package/data/packages/platform-reporting/api/index.md +0 -42
  587. package/data/packages/platform-reporting/index.md +0 -229
  588. package/data/packages/platform-telemetry/api/Class.NoopTelemetryFacade.md +0 -113
  589. package/data/packages/platform-telemetry/api/Class.TelemetryCacheMetricsRecorder.md +0 -175
  590. package/data/packages/platform-telemetry/api/Class.TelemetryFacade.md +0 -127
  591. package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +0 -226
  592. package/data/packages/platform-telemetry/api/Class.TelemetryModule.md +0 -40
  593. package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +0 -48
  594. package/data/packages/platform-telemetry/api/Interface.ITelemetryFacade.md +0 -85
  595. package/data/packages/platform-telemetry/api/Interface.ITelemetryMetricsOptions.md +0 -38
  596. package/data/packages/platform-telemetry/api/Interface.ITelemetryOptions.md +0 -136
  597. package/data/packages/platform-telemetry/api/Interface.ITelemetryTracesOptions.md +0 -38
  598. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_ENABLED.md +0 -12
  599. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_FACADE.md +0 -12
  600. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_OPTIONS.md +0 -12
  601. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_SHUTDOWN.md +0 -12
  602. package/data/packages/platform-telemetry/api/Variable.defaultTelemetryOptions.md +0 -12
  603. package/data/packages/platform-telemetry/api/index.md +0 -36
  604. package/data/packages/platform-telemetry/index.md +0 -234
@@ -1,657 +0,0 @@
1
- ---
2
- title: Authentication & Authorization
3
- description: Secure your NestJS application with JWT tokens, role-based access control, custom scopes, MFA, sessions, and OAuth social login.
4
- order: 6
5
- ---
6
-
7
- # Authentication & Authorization
8
-
9
- This guide covers everything you need to secure an Archipel-powered NestJS application: JWT-based authentication, role-based authorization, custom token claims (scopes), multi-factor authentication, session management, and social login via OAuth providers.
10
-
11
- If you haven't registered `AuthModule` yet, read the [Getting Started](/guides/getting-started) guide first.
12
-
13
- ---
14
-
15
- ## Overview
16
-
17
- `platform-authentication` provides:
18
-
19
- | Capability | What it does |
20
- | ------------------------ | --------------------------------------------------------------------------- |
21
- | **JWT Authentication** | Issues and validates signed access tokens via Passport |
22
- | **Role-Based Guards** | Restrict endpoints to specific roles using `@UseRoles()` |
23
- | **Token Enrichment** | Add custom claims (subscription tier, org ID, scopes) to every JWT |
24
- | **MFA** | TOTP, SMS, Email, and Push channels with backup codes |
25
- | **Session Management** | Track active sessions per user, with device info and last-active timestamps |
26
- | **Email Verification** | Issue and redeem time-limited verification tokens |
27
- | **OAuth / Social Login** | GitHub, Google, Microsoft, and Apple strategies with account linking |
28
- | **Anonymous Auth** | Allow guest access with limited capabilities |
29
-
30
- ---
31
-
32
- ## Protecting Routes with Guards
33
-
34
- ### JWT Guard
35
-
36
- The `JwtAuthGuard` is the primary guard. It validates the `Authorization: Bearer <token>` header, decodes the JWT, looks up the user via `AuthSubjectPort.findById()`, and attaches the subject to `request.user`.
37
-
38
- ```typescript
39
- import { Controller, Get, UseGuards } from '@nestjs/common';
40
- import { JwtAuthGuard, User, type IAuthSubject } from '@breadstone/archipel-platform-authentication';
41
-
42
- @Controller('profile')
43
- export class ProfileController {
44
- @Get()
45
- @UseGuards(JwtAuthGuard)
46
- public getProfile(@User() user: IAuthSubject): IAuthSubject {
47
- return user;
48
- }
49
- }
50
- ```
51
-
52
- The `@User()` decorator extracts the authenticated subject from the request. It returns the full `IAuthSubject` interface:
53
-
54
- ```typescript
55
- interface IAuthSubject {
56
- readonly id: string;
57
- readonly userName: string | null;
58
- readonly email: string | null;
59
- readonly password: string | null;
60
- readonly isVerified: boolean;
61
- readonly isAnonymous: boolean;
62
- readonly roles: ReadonlyArray<string>;
63
- readonly mfaEnabled: boolean;
64
- }
65
- ```
66
-
67
- ### Role-Based Access Control
68
-
69
- Use `@UseRoles()` together with `RolesGuard` to restrict endpoints to users with specific roles. Roles are string-based, so you can define them as constants in your application.
70
-
71
- ```typescript
72
- import { Controller, Get, UseGuards } from '@nestjs/common';
73
- import { JwtAuthGuard, RolesGuard, UseRoles } from '@breadstone/archipel-platform-authentication';
74
-
75
- @Controller('admin')
76
- @UseGuards(JwtAuthGuard, RolesGuard)
77
- export class AdminController {
78
- @Get('dashboard')
79
- @UseRoles('admin')
80
- public getDashboard(): string {
81
- return 'admin-only content';
82
- }
83
-
84
- @Get('reports')
85
- @UseRoles('admin', 'moderator')
86
- public getReports(): string {
87
- return 'admin or moderator content';
88
- }
89
- }
90
- ```
91
-
92
- `RolesGuard` reads the required roles from the `@UseRoles()` metadata and checks them against `request.user.roles`. If no roles are specified on a handler, the guard allows access (only JWT validity is enforced).
93
-
94
- **Best practice:** Define role constants in a shared file rather than using string literals:
95
-
96
- ```typescript
97
- // src/constants/roles.ts
98
- export const ROLE_ADMIN = 'admin';
99
- export const ROLE_MODERATOR = 'moderator';
100
- export const ROLE_USER = 'user';
101
- ```
102
-
103
- ```typescript
104
- import { ROLE_ADMIN, ROLE_MODERATOR } from '../constants/roles';
105
-
106
- @UseRoles(ROLE_ADMIN, ROLE_MODERATOR)
107
- public getReports(): string { ... }
108
- ```
109
-
110
- ### Anonymous Guard
111
-
112
- For routes that should accept unauthenticated users (e.g. guest checkout), use `AnonymousAuthGuard`. It creates or resolves an anonymous subject via `AuthSubjectPort.findAnonymous()`.
113
-
114
- ```typescript
115
- import { Controller, Post, UseGuards } from '@nestjs/common';
116
- import { AnonymousAuthGuard, User, type IAuthSubject } from '@breadstone/archipel-platform-authentication';
117
-
118
- @Controller('cart')
119
- export class CartController {
120
- @Post()
121
- @UseGuards(AnonymousAuthGuard)
122
- public addToCart(@User() user: IAuthSubject): void {
123
- // user.isAnonymous === true for guest users
124
- }
125
- }
126
- ```
127
-
128
- ---
129
-
130
- ## Accessing the Raw Token
131
-
132
- When you need the raw JWT string (e.g. to forward it to a downstream service), use the `@Token()` decorator:
133
-
134
- ```typescript
135
- import { Controller, Get, UseGuards } from '@nestjs/common';
136
- import { JwtAuthGuard, Token } from '@breadstone/archipel-platform-authentication';
137
-
138
- @Controller('proxy')
139
- export class ProxyController {
140
- @Get('downstream')
141
- @UseGuards(JwtAuthGuard)
142
- public forward(@Token() token: string): void {
143
- // token = the raw Bearer token string
144
- }
145
- }
146
- ```
147
-
148
- ---
149
-
150
- ## Custom Token Claims (Scopes)
151
-
152
- By default, JWTs contain base claims: `id`, `email`, and `roles`. To add application-specific claims — subscription tier, organization ID, feature scopes, permissions — implement the `TokenEnricherPort`.
153
-
154
- ### Step 1: Create the Enricher Adapter
155
-
156
- ```typescript
157
- // src/adapters/AppTokenEnricherAdapter.ts
158
- import { Injectable } from '@nestjs/common';
159
- import { TokenEnricherPort, type IAuthSubject } from '@breadstone/archipel-platform-authentication';
160
- import { SubscriptionRepository } from '../subscriptions/SubscriptionRepository';
161
-
162
- @Injectable()
163
- export class AppTokenEnricherAdapter extends TokenEnricherPort {
164
- private readonly _subscriptionRepository: SubscriptionRepository;
165
-
166
- constructor(subscriptionRepository: SubscriptionRepository) {
167
- super();
168
- this._subscriptionRepository = subscriptionRepository;
169
- }
170
-
171
- public async enrichClaims(subject: IAuthSubject): Promise<Record<string, unknown>> {
172
- const subscription = await this._subscriptionRepository.findByUserId(subject.id);
173
-
174
- return {
175
- subscriptionTier: subscription?.tier ?? 'free',
176
- organizationId: subscription?.organizationId ?? null,
177
- scopes: this.resolveScopes(subject.roles, subscription?.tier),
178
- };
179
- }
180
-
181
- private resolveScopes(roles: ReadonlyArray<string>, tier?: string): ReadonlyArray<string> {
182
- const scopes: Array<string> = ['read:profile'];
183
-
184
- if (roles.includes('admin')) {
185
- scopes.push('write:users', 'read:analytics', 'manage:settings');
186
- }
187
-
188
- if (tier === 'pro' || tier === 'enterprise') {
189
- scopes.push('export:reports', 'use:advanced-features');
190
- }
191
-
192
- return scopes;
193
- }
194
- }
195
- ```
196
-
197
- ### Step 2: Register the Enricher
198
-
199
- ```typescript
200
- AuthModule.register({
201
- authSubject: PrismaAuthSubjectAdapter,
202
- mfaSubject: PrismaMfaSubjectAdapter,
203
- sessionPersistence: PrismaSessionAdapter,
204
- verificationSubject: PrismaVerificationAdapter,
205
- tokenEnricher: AppTokenEnricherAdapter, // <-- register here
206
- }),
207
- ```
208
-
209
- ### Step 3: Read Custom Claims in Guards or Services
210
-
211
- The enriched claims are part of the decoded JWT. Create a custom guard to enforce scopes:
212
-
213
- ```typescript
214
- // src/guards/ScopesGuard.ts
215
- import { CanActivate, ExecutionContext, Injectable, ForbiddenException } from '@nestjs/common';
216
- import { Reflector } from '@nestjs/core';
217
- import { Request } from 'express';
218
-
219
- export const SCOPES_KEY = 'required_scopes';
220
-
221
- export function RequireScopes(...scopes: Array<string>): MethodDecorator & ClassDecorator {
222
- return SetMetadata(SCOPES_KEY, scopes);
223
- }
224
-
225
- @Injectable()
226
- export class ScopesGuard implements CanActivate {
227
- private readonly _reflector: Reflector;
228
-
229
- constructor(reflector: Reflector) {
230
- this._reflector = reflector;
231
- }
232
-
233
- public canActivate(context: ExecutionContext): boolean {
234
- const requiredScopes = this._reflector.getAllAndOverride<Array<string>>(SCOPES_KEY, [
235
- context.getHandler(),
236
- context.getClass(),
237
- ]);
238
-
239
- if (!requiredScopes || requiredScopes.length === 0) {
240
- return true;
241
- }
242
-
243
- const request = context.switchToHttp().getRequest<Request>();
244
- const user = request.user as Record<string, unknown>;
245
- const userScopes = (user['scopes'] as Array<string>) ?? [];
246
-
247
- const hasAllScopes = requiredScopes.every((scope) => userScopes.includes(scope));
248
-
249
- if (!hasAllScopes) {
250
- throw new ForbiddenException('Insufficient scopes');
251
- }
252
-
253
- return true;
254
- }
255
- }
256
- ```
257
-
258
- Use it on your endpoints:
259
-
260
- ```typescript
261
- import { Controller, Get, UseGuards } from '@nestjs/common';
262
- import { JwtAuthGuard } from '@breadstone/archipel-platform-authentication';
263
- import { ScopesGuard, RequireScopes } from '../guards/ScopesGuard';
264
-
265
- @Controller('reports')
266
- @UseGuards(JwtAuthGuard, ScopesGuard)
267
- export class ReportController {
268
- @Get()
269
- @RequireScopes('export:reports')
270
- public exportReport(): string {
271
- return 'report data';
272
- }
273
- }
274
- ```
275
-
276
- ---
277
-
278
- ## Extending the JWT Payload
279
-
280
- For type-safe access to custom claims, extend `JwtPayloadBase`:
281
-
282
- ```typescript
283
- // src/models/AppJwtPayload.ts
284
- import { JwtPayloadBase } from '@breadstone/archipel-platform-authentication';
285
-
286
- export class AppJwtPayload extends JwtPayloadBase {
287
- public readonly subscriptionTier: string;
288
- public readonly organizationId: string | null;
289
- public readonly scopes: ReadonlyArray<string>;
290
-
291
- constructor(
292
- id: string,
293
- email: string | null,
294
- roles: ReadonlyArray<string>,
295
- subscriptionTier: string,
296
- organizationId: string | null,
297
- scopes: ReadonlyArray<string>,
298
- ) {
299
- super(id, email, roles);
300
- this.subscriptionTier = subscriptionTier;
301
- this.organizationId = organizationId;
302
- this.scopes = scopes;
303
- }
304
-
305
- public override toJSON(): Record<string, unknown> {
306
- return {
307
- ...super.toJSON(),
308
- subscriptionTier: this.subscriptionTier,
309
- organizationId: this.organizationId,
310
- scopes: [...this.scopes],
311
- };
312
- }
313
-
314
- public static override fromJSON(raw: Record<string, unknown>): AppJwtPayload {
315
- return new AppJwtPayload(
316
- raw['id'] as string,
317
- (raw['email'] as string) ?? null,
318
- (raw['roles'] as string[]) ?? [],
319
- (raw['subscriptionTier'] as string) ?? 'free',
320
- (raw['organizationId'] as string) ?? null,
321
- (raw['scopes'] as string[]) ?? [],
322
- );
323
- }
324
- }
325
- ```
326
-
327
- ---
328
-
329
- ## Session Management
330
-
331
- `SessionService` tracks active sessions per user. Combined with `LastActiveMiddleware`, it automatically updates timestamps on every authenticated request.
332
-
333
- ### Storing a Session After Login
334
-
335
- Sessions are stored automatically when you use the built-in authentication flow. If you implement a custom login controller:
336
-
337
- ```typescript
338
- import { Controller, Post, UseGuards, Req, Ip } from '@nestjs/common';
339
- import {
340
- LocalAuthGuard,
341
- AuthTokenService,
342
- SessionService,
343
- User,
344
- type IAuthSubject,
345
- } from '@breadstone/archipel-platform-authentication';
346
- import { Request } from 'express';
347
-
348
- @Controller('auth')
349
- export class AuthController {
350
- private readonly _tokenService: AuthTokenService;
351
- private readonly _sessionService: SessionService;
352
-
353
- constructor(tokenService: AuthTokenService, sessionService: SessionService) {
354
- this._tokenService = tokenService;
355
- this._sessionService = sessionService;
356
- }
357
-
358
- @Post('login')
359
- @UseGuards(LocalAuthGuard)
360
- public async login(
361
- @User() user: IAuthSubject,
362
- @Req() req: Request,
363
- @Ip() ip: string,
364
- ): Promise<{ accessToken: string }> {
365
- const accessToken = await this._tokenService.createAccessToken(user);
366
-
367
- await this._sessionService.store(accessToken, user.id, ip);
368
-
369
- return { accessToken };
370
- }
371
- }
372
- ```
373
-
374
- ### Listing & Revoking Sessions
375
-
376
- ```typescript
377
- @Get('sessions')
378
- @UseGuards(JwtAuthGuard)
379
- public async listSessions(@User() user: IAuthSubject, @Token() token: string): Promise<Array<SessionResponse>> {
380
- return this._sessionService.listSessions(user.id, token);
381
- }
382
-
383
- @Delete('sessions/:token')
384
- @UseGuards(JwtAuthGuard)
385
- public async revokeSession(@Param('token') sessionToken: string): Promise<void> {
386
- await this._sessionService.revoke(sessionToken);
387
- }
388
- ```
389
-
390
- ### Last-Active Middleware
391
-
392
- `AuthModule` automatically registers `LastActiveMiddleware` on all routes. It extracts the Bearer token and updates the session's `lastActive` timestamp asynchronously — no blocking, no failure propagation.
393
-
394
- ---
395
-
396
- ## Multi-Factor Authentication (MFA)
397
-
398
- Archipel supports four MFA channels out of the box:
399
-
400
- | Channel | Method Key | How it works |
401
- | --------- | ---------- | ----------------------------------------------------------- |
402
- | **TOTP** | `totp` | Time-based one-time passwords (Google Authenticator, Authy) |
403
- | **SMS** | `sms` | OTP sent via SMS |
404
- | **Email** | `email` | OTP sent via email |
405
- | **Push** | `push` | Push notification approval |
406
-
407
- ### MFA Setup Flow
408
-
409
- 1. **Initiate setup** — Call `MfaService.initSetup(userId, method)` to get setup data (QR code URI for TOTP, etc.)
410
- 2. **Verify setup** — Call `MfaService.verifySetup(userId, method, code)` with the initial verification code
411
- 3. **Receive backup codes** — On successful verification, backup codes are generated and returned
412
-
413
- ```typescript
414
- import { Controller, Post, Body, UseGuards } from '@nestjs/common';
415
- import { JwtAuthGuard, MfaService, User, type IAuthSubject } from '@breadstone/archipel-platform-authentication';
416
-
417
- @Controller('mfa')
418
- @UseGuards(JwtAuthGuard)
419
- export class MfaController {
420
- private readonly _mfaService: MfaService;
421
-
422
- constructor(mfaService: MfaService) {
423
- this._mfaService = mfaService;
424
- }
425
-
426
- @Post('setup')
427
- public async initSetup(@User() user: IAuthSubject, @Body('method') method: string) {
428
- return this._mfaService.initSetup(user.id, method);
429
- }
430
-
431
- @Post('setup/verify')
432
- public async verifySetup(@User() user: IAuthSubject, @Body() body: { method: string; code: string }) {
433
- return this._mfaService.verifySetup(user.id, body.method, body.code);
434
- }
435
- }
436
- ```
437
-
438
- ### MFA Login Flow
439
-
440
- When a user with MFA enabled signs in, the `ISignInResult` indicates that a challenge is required:
441
-
442
- ```typescript
443
- interface ISignInResult {
444
- readonly mfaRequired: boolean;
445
- readonly verificationRequired?: boolean;
446
- readonly accessToken?: string;
447
- readonly challengeId?: string;
448
- }
449
- ```
450
-
451
- If `mfaRequired` is `true`, the client receives a `challengeId` instead of an `accessToken`. The client must:
452
-
453
- 1. Call the MFA verification endpoint with the `challengeId` and the code from their authenticator app (or SMS/email).
454
- 2. On success, the server issues the actual `accessToken`.
455
-
456
- ### MFA Configuration
457
-
458
- ```env
459
- AUTH_MFA_ENCRYPTION_KEY=<32-byte-hex-key>
460
- AUTH_MFA_CHALLENGE_EXPIRES_IN=5m
461
- AUTH_MFA_MAX_ATTEMPTS=5
462
- AUTH_MFA_SMS_CODE_TTL=10m
463
- AUTH_MFA_SMS_MIN_RESEND=30s
464
- AUTH_MFA_EMAIL_CODE_TTL=10m
465
- AUTH_MFA_EMAIL_MIN_RESEND=30s
466
- AUTH_MFA_PUSH_CODE_TTL=10m
467
- AUTH_MFA_PUSH_MIN_RESEND=30s
468
- ```
469
-
470
- ---
471
-
472
- ## Email Verification
473
-
474
- `VerificationService` handles token-based email verification:
475
-
476
- ```typescript
477
- import { VerificationService } from '@breadstone/archipel-platform-authentication';
478
-
479
- // Issue a verification token (e.g., after registration)
480
- const token = await verificationService.exhibitToken({ userId: user.id, email: user.email });
481
- // Send this token in a verification email link
482
-
483
- // Later, when the user clicks the link:
484
- const isValid = await verificationService.verifyToken(token);
485
- ```
486
-
487
- The token lifetime is controlled by `AUTH_VERIFY_JWT_EXPIRES_IN`.
488
-
489
- ---
490
-
491
- ## Social Login (OAuth)
492
-
493
- ### Step 1: Install Provider Strategies
494
-
495
- Import strategies from their sub-paths:
496
-
497
- ```typescript
498
- import { GoogleStrategy, GOOGLE_AUTH_CONFIG_ENTRIES } from '@breadstone/archipel-platform-authentication/google';
499
- import { GithubStrategy, GITHUB_AUTH_CONFIG_ENTRIES } from '@breadstone/archipel-platform-authentication/github';
500
- import {
501
- MicrosoftStrategy,
502
- MICROSOFT_AUTH_CONFIG_ENTRIES,
503
- } from '@breadstone/archipel-platform-authentication/microsoft';
504
- import { AppleStrategy, APPLE_AUTH_CONFIG_ENTRIES } from '@breadstone/archipel-platform-authentication/apple';
505
- ```
506
-
507
- ### Step 2: Implement the Social Auth Port
508
-
509
- ```typescript
510
- // src/adapters/PrismaSocialAuthAdapter.ts
511
- import { Injectable } from '@nestjs/common';
512
- import { SocialAuthPort, type IAuthSubject, type ISocialProfile } from '@breadstone/archipel-platform-authentication';
513
- import { PrismaService } from '@breadstone/archipel-platform-database';
514
-
515
- @Injectable()
516
- export class PrismaSocialAuthAdapter extends SocialAuthPort {
517
- private readonly _prisma: PrismaService;
518
-
519
- constructor(prisma: PrismaService) {
520
- super();
521
- this._prisma = prisma;
522
- }
523
-
524
- public async findOrCreateByProfile(profile: ISocialProfile): Promise<IAuthSubject> {
525
- // Look up by provider + email
526
- let user = await this._prisma.user.findFirst({
527
- where: { email: profile.email },
528
- });
529
-
530
- if (!user) {
531
- user = await this._prisma.user.create({
532
- data: {
533
- email: profile.email,
534
- userName: profile.userName ?? profile.displayName,
535
- isVerified: true, // OAuth emails are pre-verified
536
- isAnonymous: false,
537
- roles: ['user'],
538
- mfaEnabled: false,
539
- },
540
- });
541
- }
542
-
543
- return user as unknown as IAuthSubject;
544
- }
545
- }
546
- ```
547
-
548
- ### Step 3: Register with Additional Config
549
-
550
- ```typescript
551
- AuthModule.register({
552
- authSubject: PrismaAuthSubjectAdapter,
553
- mfaSubject: PrismaMfaSubjectAdapter,
554
- sessionPersistence: PrismaSessionAdapter,
555
- verificationSubject: PrismaVerificationAdapter,
556
- socialAuth: PrismaSocialAuthAdapter,
557
- socialStrategies: [GoogleStrategy, GithubStrategy],
558
- additionalConfigEntries: [
559
- ...GOOGLE_AUTH_CONFIG_ENTRIES,
560
- ...GITHUB_AUTH_CONFIG_ENTRIES,
561
- ],
562
- }),
563
- ```
564
-
565
- ### Step 4: Set Environment Variables
566
-
567
- ```env
568
- # Google
569
- AUTH_GOOGLE_CLIENT_ID=your-client-id
570
- AUTH_GOOGLE_CLIENT_SECRET=your-client-secret
571
- AUTH_GOOGLE_CALLBACK_URL=https://yourapp.com/auth/google/callback
572
- AUTH_GOOGLE_SCOPE=email,profile
573
-
574
- # GitHub
575
- AUTH_GITHUB_CLIENT_ID=your-client-id
576
- AUTH_GITHUB_CLIENT_SECRET=your-client-secret
577
- AUTH_GITHUB_CALLBACK_URL=https://yourapp.com/auth/github/callback
578
- AUTH_GITHUB_SCOPE=user:email
579
- ```
580
-
581
- ### Using the Social Auth Guard
582
-
583
- The `SocialAuthGuard` is a dynamic guard that routes to the correct Passport strategy based on a URL parameter:
584
-
585
- ```typescript
586
- import { Controller, Get, UseGuards, Req, Param } from '@nestjs/common';
587
- import { socialAuthGuardFactory, User, type IAuthSubject } from '@breadstone/archipel-platform-authentication';
588
-
589
- @Controller('auth')
590
- export class OAuthController {
591
- @Get(':provider')
592
- @UseGuards(socialAuthGuardFactory(':provider'))
593
- public initOAuth(): void {
594
- // Passport redirects to the provider
595
- }
596
-
597
- @Get(':provider/callback')
598
- @UseGuards(socialAuthGuardFactory(':provider'))
599
- public async handleCallback(@User() user: IAuthSubject): Promise<{ accessToken: string }> {
600
- const accessToken = await this._tokenService.createAccessToken(user);
601
- return { accessToken };
602
- }
603
- }
604
- ```
605
-
606
- Supported providers: `github`, `google`, `microsoft`, `apple`.
607
-
608
- ---
609
-
610
- ## Environment Variables Reference
611
-
612
- | Variable | Required | Default | Description |
613
- | ------------------------------- | -------- | ------- | ---------------------------------------- |
614
- | `AUTH_JWT_SECRET` | Yes | — | Secret for signing JWTs |
615
- | `AUTH_JWT_EXPIRES_IN` | Yes | — | Access token lifetime (e.g. `15m`, `1h`) |
616
- | `AUTH_VERIFY_JWT_EXPIRES_IN` | No | — | Verification token lifetime |
617
- | `AUTH_MFA_ENCRYPTION_KEY` | No\* | — | AES key for encrypting MFA secrets |
618
- | `AUTH_MFA_CHALLENGE_EXPIRES_IN` | No | `5m` | MFA challenge TTL |
619
- | `AUTH_MFA_MAX_ATTEMPTS` | No | `5` | Max failed MFA attempts before lockout |
620
- | `AUTH_GOOGLE_CLIENT_ID` | No\* | — | Google OAuth client ID |
621
- | `AUTH_GOOGLE_CLIENT_SECRET` | No\* | — | Google OAuth client secret |
622
- | `AUTH_GOOGLE_CALLBACK_URL` | No\* | — | Google OAuth callback URL |
623
- | `AUTH_GOOGLE_SCOPE` | No | — | Google OAuth scopes (comma-separated) |
624
- | `AUTH_GITHUB_CLIENT_ID` | No\* | — | GitHub OAuth client ID |
625
- | `AUTH_GITHUB_CLIENT_SECRET` | No\* | — | GitHub OAuth client secret |
626
- | `AUTH_GITHUB_CALLBACK_URL` | No\* | — | GitHub OAuth callback URL |
627
- | `AUTH_MICROSOFT_CLIENT_ID` | No\* | — | Microsoft OAuth client ID |
628
- | `AUTH_MICROSOFT_CLIENT_SECRET` | No\* | — | Microsoft OAuth client secret |
629
- | `AUTH_MICROSOFT_CALLBACK_URL` | No\* | — | Microsoft OAuth callback URL |
630
- | `AUTH_MICROSOFT_TENANT` | No | — | Microsoft tenant ID or `common` |
631
- | `AUTH_APPLE_CLIENT_ID` | No\* | — | Apple Sign-In service ID |
632
- | `AUTH_APPLE_PRIVATE_KEY` | No\* | — | Apple Sign-In private key (PEM) |
633
- | `AUTH_APPLE_TEAM_ID` | No\* | — | Apple developer team ID |
634
- | `AUTH_APPLE_KEY_ID` | No\* | — | Apple Sign-In key ID |
635
- | `AUTH_APPLE_CALLBACK_URL` | No\* | — | Apple Sign-In callback URL |
636
-
637
- \*Required only when the corresponding feature (MFA or specific OAuth provider) is enabled.
638
-
639
- ---
640
-
641
- ## Security Best Practices
642
-
643
- 1. **Keep `AUTH_JWT_SECRET` strong and rotated.** Use at least 256 bits of entropy. Never commit it to source control.
644
- 2. **Set short token lifetimes.** Use `15m` for access tokens and combine with session-based refresh logic.
645
- 3. **Always combine guards.** Use `JwtAuthGuard` + `RolesGuard` together. JWT alone only proves identity, not authorization.
646
- 4. **Validate at the boundary.** Use DTOs with `class-validator` decorators on all input. Never trust claims blindly.
647
- 5. **Use the `TokenEnricherPort` for scopes.** Don't hardcode authorization logic in guards. Derive scopes at token creation time and verify them declaratively.
648
- 6. **Enable MFA for sensitive operations.** Even if MFA isn't globally required, protect high-value actions (password change, payment) with step-up authentication.
649
- 7. **Monitor sessions.** Expose session listing to users so they can revoke unfamiliar sessions.
650
-
651
- ---
652
-
653
- ## Next Steps
654
-
655
- - Read the [Implementing Ports](/guides/implementing-ports) guide for details on writing all four required port adapters
656
- - Browse the [platform-authentication API reference](/packages/platform-authentication/api/) for complete method signatures
657
- - See the [Testing](/guides/testing) guide for patterns to mock auth in unit and integration tests