@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,190 @@
1
+ ---
2
+ title: Telemetry & Observability
3
+ description: Add OpenTelemetry-based metrics, tracing, and structured logging to your NestJS application.
4
+ order: 10
5
+ ---
6
+
7
+ # Telemetry & Observability
8
+
9
+ This guide covers adding observability to your application with `platform-telemetry`: setup, metrics recording, distributed tracing, structured logging, and graceful shutdown.
10
+
11
+ ---
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ yarn add @breadstone/archipel-platform-telemetry
17
+ ```
18
+
19
+ ---
20
+
21
+ ## Module Registration
22
+
23
+ ```typescript
24
+ import { Module } from '@nestjs/common';
25
+ import { TelemetryModule } from '@breadstone/archipel-platform-telemetry';
26
+
27
+ @Module({
28
+ imports: [
29
+ TelemetryModule.register({
30
+ enabled: true,
31
+ interceptor: {
32
+ operation: true, // auto-instrument controller operations
33
+ },
34
+ }),
35
+ ],
36
+ })
37
+ export class AppModule {}
38
+ ```
39
+
40
+ When `enabled` is `false`, the module provides a no-op facade (`NoopTelemetryFacade`) that silently discards all telemetry calls. This means you can instrument your code once and toggle telemetry via configuration.
41
+
42
+ ---
43
+
44
+ ## Configuration
45
+
46
+ ```env
47
+ TELEMETRY_ENABLED=true
48
+ TELEMETRY_SERVICE_NAME=my-api
49
+ TELEMETRY_EXPORTER_ENDPOINT=https://otel-collector.example.com:4318
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Recording Metrics
55
+
56
+ Use `TelemetryFacade` to record application metrics:
57
+
58
+ ```typescript
59
+ import { Injectable } from '@nestjs/common';
60
+ import { TelemetryFacade } from '@breadstone/archipel-platform-telemetry';
61
+
62
+ @Injectable()
63
+ export class OrderService {
64
+ private readonly _telemetry: TelemetryFacade;
65
+
66
+ constructor(telemetry: TelemetryFacade) {
67
+ this._telemetry = telemetry;
68
+ }
69
+
70
+ public async createOrder(userId: string): Promise<void> {
71
+ const start = Date.now();
72
+
73
+ try {
74
+ // ... business logic
75
+
76
+ this._telemetry.recordCounter('domain_command_total', 1, {
77
+ command: 'create_order',
78
+ status: 'success',
79
+ });
80
+ } catch (error) {
81
+ this._telemetry.recordCounter('domain_command_total', 1, {
82
+ command: 'create_order',
83
+ status: 'failure',
84
+ });
85
+ throw error;
86
+ } finally {
87
+ this._telemetry.recordHistogram('order_processing_duration_ms', Date.now() - start, {
88
+ command: 'create_order',
89
+ });
90
+ }
91
+ }
92
+ }
93
+ ```
94
+
95
+ ### Recommended Baseline Metrics
96
+
97
+ | Metric | Type | Labels |
98
+ | ----------------------------------------- | --------- | ----------------------------- |
99
+ | `db_query_duration_ms` | Histogram | `model`, `operation` |
100
+ | `cache_hits_total` / `cache_misses_total` | Counter | `cache` |
101
+ | `domain_command_total` | Counter | `command`, `status` |
102
+ | `external_http_request_duration_ms` | Histogram | `service`, `action`, `status` |
103
+
104
+ ---
105
+
106
+ ## Structured Logging
107
+
108
+ `TelemetryLoggerService` provides structured logging with automatic correlation:
109
+
110
+ ```typescript
111
+ import { Injectable } from '@nestjs/common';
112
+ import { TelemetryLoggerService } from '@breadstone/archipel-platform-telemetry';
113
+
114
+ @Injectable()
115
+ export class PaymentService {
116
+ private readonly _logger: TelemetryLoggerService;
117
+
118
+ constructor(logger: TelemetryLoggerService) {
119
+ this._logger = logger;
120
+ }
121
+
122
+ public async processPayment(orderId: string): Promise<void> {
123
+ this._logger.log('Processing payment', { orderId });
124
+
125
+ try {
126
+ // ... payment logic
127
+ this._logger.log('Payment processed successfully', { orderId });
128
+ } catch (error) {
129
+ this._logger.error('Payment processing failed', { orderId, error });
130
+ throw error;
131
+ }
132
+ }
133
+ }
134
+ ```
135
+
136
+ All log entries automatically include `requestId` for request-level correlation.
137
+
138
+ ---
139
+
140
+ ## Automatic Operation Instrumentation
141
+
142
+ When you set `interceptor.operation: true`, every controller method is automatically traced via the `OperationTelemetryInterceptor`. The interceptor wraps the handler in a telemetry operation and returns an `Observable<unknown>`, making it fully compatible with NestJS interceptor pipelines. It records:
143
+
144
+ - Operation name (`ControllerName.methodName`)
145
+ - Duration
146
+ - HTTP status code
147
+ - Error details on failure
148
+
149
+ This gives you endpoint-level performance visibility without manual instrumentation.
150
+
151
+ ---
152
+
153
+ ## Rule Engine
154
+
155
+ `TelemetryRuleEngine` lets you configure sampling and filtering rules:
156
+
157
+ ```typescript
158
+ TelemetryModule.register({
159
+ enabled: true,
160
+ interceptor: { operation: true },
161
+ rules: [
162
+ { pattern: '/health', action: 'drop' }, // Don't trace health checks
163
+ { pattern: '/api/v1/**', action: 'sample', rate: 0.1 }, // Sample 10% of API traffic
164
+ ],
165
+ }),
166
+ ```
167
+
168
+ This prevents noisy endpoints (health checks, readiness probes) from overwhelming your telemetry backend.
169
+
170
+ ---
171
+
172
+ ## Graceful Shutdown
173
+
174
+ The module registers a shutdown hook that flushes all pending telemetry data before the process exits. This ensures you don't lose metrics or traces during deployments or scaling events.
175
+
176
+ ---
177
+
178
+ ## Development Tips
179
+
180
+ - Set `TELEMETRY_ENABLED=false` in local development to avoid telemetry overhead.
181
+ - Use the `log` exporter during development to see traces in the console.
182
+ - Add metrics incrementally — start with the baseline metrics and expand as you identify bottlenecks.
183
+ - Include `requestId` in all log entries. The telemetry module handles this automatically for HTTP requests.
184
+
185
+ ---
186
+
187
+ ## Next Steps
188
+
189
+ - Browse the [platform-telemetry API reference](/packages/platform-telemetry/api/) for complete method signatures
190
+ - See the [Testing](/guides/testing) guide for verifying telemetry calls in unit tests
@@ -0,0 +1,319 @@
1
+ ---
2
+ title: Testing
3
+ description: Testing strategies and patterns for Archipel-powered NestJS applications.
4
+ order: 3
5
+ ---
6
+
7
+ # Testing
8
+
9
+ This guide covers testing patterns for applications that use Archipel packages. It walks through unit testing services, testing port adapters, building in-memory adapters for integration tests, and verifying that modules compose correctly.
10
+
11
+ Archipel uses [Vitest](https://vitest.dev/) as the test runner. All examples follow the Arrange-Act-Assert pattern.
12
+
13
+ ---
14
+
15
+ ## Unit Testing Services
16
+
17
+ When testing services that depend on Archipel ports or other services, mock the dependencies and test business logic in isolation. Don't try to instantiate real modules — that's for integration tests.
18
+
19
+ ```typescript
20
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
21
+ import { UserService } from './UserService';
22
+ import { type AuthSubjectPort } from '@breadstone/archipel-platform-authentication';
23
+
24
+ describe('UserService', () => {
25
+ let service: UserService;
26
+ let mockAuthSubject: { findById: ReturnType<typeof vi.fn> };
27
+
28
+ beforeEach(() => {
29
+ mockAuthSubject = {
30
+ findById: vi.fn(),
31
+ };
32
+ service = new UserService(mockAuthSubject as unknown as AuthSubjectPort);
33
+ });
34
+
35
+ it('should return user when found', async () => {
36
+ const user = { id: 'user-1', userName: 'alice', email: 'alice@test.com' };
37
+ mockAuthSubject.findById.mockResolvedValue(user);
38
+
39
+ const result = await service.getUser('user-1');
40
+
41
+ expect(result).toEqual(user);
42
+ expect(mockAuthSubject.findById).toHaveBeenCalledWith('user-1');
43
+ });
44
+
45
+ it('should throw when user not found', async () => {
46
+ mockAuthSubject.findById.mockResolvedValue(null);
47
+
48
+ await expect(service.getUser('missing')).rejects.toThrow();
49
+ });
50
+ });
51
+ ```
52
+
53
+ The key principle: mock at the boundary (the port), not inside the implementation. Your test shouldn't know that `AuthSubjectPort` calls Prisma under the hood — it only knows the port interface.
54
+
55
+ ### Mocking the MappingService
56
+
57
+ The `MappingService` from `platform-core` is commonly injected in controllers to convert entities to response DTOs. Mock it in unit tests to avoid requiring mapping profile registration:
58
+
59
+ ```typescript
60
+ import { MappingService } from '@breadstone/archipel-platform-core';
61
+
62
+ const mockMappingService = {
63
+ map: vi.fn((key, source) => source), // pass-through by default
64
+ } as unknown as MappingService;
65
+ ```
66
+
67
+ When the mapping output matters for a specific test, configure the mock:
68
+
69
+ ```typescript
70
+ it('should return mapped user response', async () => {
71
+ mockMappingService.map = vi.fn().mockReturnValue({
72
+ id: 'user-1',
73
+ displayName: 'Alice',
74
+ });
75
+
76
+ const result = await controller.getUser('user-1');
77
+
78
+ expect(result).toEqual({ id: 'user-1', displayName: 'Alice' });
79
+ expect(mockMappingService.map).toHaveBeenCalledWith(USER_TO_RESPONSE, expect.any(Object));
80
+ });
81
+ ```
82
+
83
+ ### Mocking Repositories
84
+
85
+ Repositories extend `RepositoryBase` and use the `execute(query)` pattern internally. In tests, mock the repository's public methods directly — don't try to mock `execute()` or `PrismaService` internals:
86
+
87
+ ```typescript
88
+ const mockUserRepository = {
89
+ findById: vi.fn(),
90
+ findByEmail: vi.fn(),
91
+ create: vi.fn(),
92
+ };
93
+ ```
94
+
95
+ This keeps your tests decoupled from the data access implementation. If you later switch from Prisma to another ORM or change query structure, service tests stay unchanged.
96
+
97
+ ---
98
+
99
+ ## Testing Port Adapters
100
+
101
+ Port adapters translate between your application's data model and the interface the platform library expects. They deserve their own tests because mapping errors are a common source of bugs.
102
+
103
+ ```typescript
104
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
105
+ import { PrismaAuthSubjectAdapter } from './PrismaAuthSubjectAdapter';
106
+
107
+ describe('PrismaAuthSubjectAdapter', () => {
108
+ let adapter: PrismaAuthSubjectAdapter;
109
+ let mockPrisma: {
110
+ user: {
111
+ findUnique: ReturnType<typeof vi.fn>;
112
+ findFirst: ReturnType<typeof vi.fn>;
113
+ };
114
+ };
115
+
116
+ beforeEach(() => {
117
+ mockPrisma = {
118
+ user: {
119
+ findUnique: vi.fn(),
120
+ findFirst: vi.fn(),
121
+ },
122
+ };
123
+ adapter = new PrismaAuthSubjectAdapter(mockPrisma as never);
124
+ });
125
+
126
+ describe('findById', () => {
127
+ it('should return null when user does not exist', async () => {
128
+ mockPrisma.user.findUnique.mockResolvedValue(null);
129
+
130
+ const result = await adapter.findById('non-existent');
131
+
132
+ expect(result).toBeNull();
133
+ });
134
+
135
+ it('should map database record to IAuthSubject', async () => {
136
+ const dbUser = {
137
+ id: 'user-1',
138
+ userName: 'alice',
139
+ email: 'alice@example.com',
140
+ password: '$argon2id$hash',
141
+ isVerified: true,
142
+ isAnonymous: false,
143
+ roles: ['user', 'admin'],
144
+ mfaEnabled: false,
145
+ };
146
+ mockPrisma.user.findUnique.mockResolvedValue(dbUser);
147
+
148
+ const result = await adapter.findById('user-1');
149
+
150
+ expect(result).toEqual({
151
+ id: 'user-1',
152
+ userName: 'alice',
153
+ email: 'alice@example.com',
154
+ password: '$argon2id$hash',
155
+ isVerified: true,
156
+ isAnonymous: false,
157
+ roles: ['user', 'admin'],
158
+ mfaEnabled: false,
159
+ });
160
+ });
161
+ });
162
+
163
+ describe('findByLogin', () => {
164
+ it('should search by both userName and email', async () => {
165
+ mockPrisma.user.findFirst.mockResolvedValue(null);
166
+
167
+ await adapter.findByLogin('alice@example.com');
168
+
169
+ expect(mockPrisma.user.findFirst).toHaveBeenCalledWith({
170
+ where: {
171
+ OR: [{ userName: 'alice@example.com' }, { email: 'alice@example.com' }],
172
+ },
173
+ select: expect.any(Object),
174
+ });
175
+ });
176
+ });
177
+ });
178
+ ```
179
+
180
+ ### Testing Schema Mapping
181
+
182
+ When your database schema doesn't match the port interface directly, your adapter performs a mapping. Test that mapping explicitly — it's where subtle bugs hide:
183
+
184
+ ```typescript
185
+ it('should derive isAnonymous from user type field', async () => {
186
+ const dbUser = {
187
+ id: 'u1',
188
+ username: 'guest_42',
189
+ emailAddress: null,
190
+ passwordHash: null,
191
+ emailVerified: false,
192
+ type: 'anonymous',
193
+ userRoles: [{ role: { name: 'guest' } }],
194
+ twoFactorEnabled: false,
195
+ };
196
+ mockPrisma.user.findUnique.mockResolvedValue(dbUser);
197
+
198
+ const result = await adapter.findById('u1');
199
+
200
+ expect(result?.isAnonymous).toBe(true);
201
+ expect(result?.roles).toEqual(['guest']);
202
+ });
203
+ ```
204
+
205
+ ---
206
+
207
+ ## In-Memory Adapters
208
+
209
+ For integration tests where you need working ports without a real database, create in-memory implementations. They're fast, deterministic, and let you seed exactly the state you need for each test.
210
+
211
+ ```typescript
212
+ import { Injectable } from '@nestjs/common';
213
+ import { AuthSubjectPort, type IAuthSubject } from '@breadstone/archipel-platform-authentication';
214
+
215
+ @Injectable()
216
+ export class InMemoryAuthSubjectAdapter extends AuthSubjectPort {
217
+ private readonly _subjects = new Map<string, IAuthSubject>();
218
+
219
+ public seed(subjects: IAuthSubject[]): void {
220
+ this._subjects.clear();
221
+ subjects.forEach((s) => this._subjects.set(s.id, s));
222
+ }
223
+
224
+ public async findById(id: string): Promise<IAuthSubject | null> {
225
+ return this._subjects.get(id) ?? null;
226
+ }
227
+
228
+ public async findByLogin(login: string): Promise<IAuthSubject | null> {
229
+ return [...this._subjects.values()].find((s) => s.userName === login || s.email === login) ?? null;
230
+ }
231
+
232
+ public async findAnonymous(userName: string): Promise<IAuthSubject | null> {
233
+ return [...this._subjects.values()].find((s) => s.userName === userName && s.isAnonymous) ?? null;
234
+ }
235
+ }
236
+ ```
237
+
238
+ This pattern works for any port. Store state in a `Map`, expose a `seed()` method for setup, and implement the port interface. Your tests run in milliseconds without touching a database.
239
+
240
+ ---
241
+
242
+ ## Integration Testing with Module Composition
243
+
244
+ To verify that modules wire together correctly — that all providers resolve, ports are bound to the right adapters, and services function end-to-end — bootstrap a minimal NestJS test module:
245
+
246
+ ```typescript
247
+ import { Test } from '@nestjs/testing';
248
+ import { AuthModule, AuthTokenService, AuthSubjectPort } from '@breadstone/archipel-platform-authentication';
249
+ import { ConfigModule } from '@breadstone/archipel-platform-core';
250
+ import { InMemoryAuthSubjectAdapter } from './InMemoryAuthSubjectAdapter';
251
+ import { InMemoryMfaSubjectAdapter } from './InMemoryMfaSubjectAdapter';
252
+ import { InMemorySessionAdapter } from './InMemorySessionAdapter';
253
+ import { InMemoryVerificationAdapter } from './InMemoryVerificationAdapter';
254
+
255
+ describe('Auth module integration', () => {
256
+ let authTokenService: AuthTokenService;
257
+ let authSubjectAdapter: InMemoryAuthSubjectAdapter;
258
+
259
+ beforeEach(async () => {
260
+ const module = await Test.createTestingModule({
261
+ imports: [
262
+ ConfigModule.register('test', TEST_CONFIG_ENTRIES),
263
+ AuthModule.register({
264
+ authSubject: InMemoryAuthSubjectAdapter,
265
+ mfaSubject: InMemoryMfaSubjectAdapter,
266
+ sessionPersistence: InMemorySessionAdapter,
267
+ verificationSubject: InMemoryVerificationAdapter,
268
+ }),
269
+ ],
270
+ }).compile();
271
+
272
+ authTokenService = module.get(AuthTokenService);
273
+ authSubjectAdapter = module.get(AuthSubjectPort) as InMemoryAuthSubjectAdapter;
274
+ });
275
+
276
+ it('should resolve AuthTokenService with all dependencies', () => {
277
+ expect(authTokenService).toBeDefined();
278
+ });
279
+
280
+ it('should generate a valid JWT for a seeded user', async () => {
281
+ authSubjectAdapter.seed([
282
+ {
283
+ id: 'user-1',
284
+ userName: 'alice',
285
+ email: 'alice@test.com',
286
+ password: '$argon2id$hash',
287
+ isVerified: true,
288
+ isAnonymous: false,
289
+ roles: ['user'],
290
+ mfaEnabled: false,
291
+ },
292
+ ]);
293
+
294
+ const token = await authTokenService.signToken({
295
+ id: 'user-1',
296
+ email: 'alice@test.com',
297
+ roles: ['user'],
298
+ });
299
+
300
+ expect(token).toBeDefined();
301
+ expect(typeof token).toBe('string');
302
+ });
303
+ });
304
+ ```
305
+
306
+ This catches wiring errors early. If you forget to register a required port, mistype an adapter class, or have a circular dependency, `Test.createTestingModule(...).compile()` throws immediately with a clear error message.
307
+
308
+ ---
309
+
310
+ ## Pre-Release Checklist
311
+
312
+ Before shipping a new Archipel integration, verify:
313
+
314
+ - [ ] All required port adapters have unit tests covering happy path and null/error cases
315
+ - [ ] Schema mapping is tested explicitly when database fields differ from port interfaces
316
+ - [ ] Module composition boots without missing provider errors (integration test)
317
+ - [ ] Health indicators report correct status for connected infrastructure
318
+ - [ ] Error responses use documented error shapes, not raw NestJS exceptions
319
+ - [ ] Required environment variables fail fast at startup when missing
@@ -0,0 +1,45 @@
1
+ ---
2
+ title: API Documentation Standards
3
+ description: Documentation standards for stable Archipel public APIs and generated reference pages.
4
+ order: 5
5
+ tags: [guides, docs, api, standards]
6
+ ---
7
+
8
+ # API Documentation Standards
9
+
10
+ Use these standards for package APIs that are consumed by application teams.
11
+
12
+ ## What must be documented
13
+
14
+ For every exported public symbol:
15
+
16
+ - purpose and intended usage,
17
+ - input/output contract,
18
+ - failure behavior,
19
+ - minimal usage example when non-obvious.
20
+
21
+ ## Consumer-first writing rules
22
+
23
+ - Explain **what integrators need to do**, not repository internals.
24
+ - Mark required vs optional integration points explicitly.
25
+ - Keep examples small and runnable.
26
+ - Avoid architecture jargon without practical effect.
27
+
28
+ ## Recommended structure for package overview pages
29
+
30
+ 1. Capability summary
31
+ 2. Installation/import information
32
+ 3. Required ports/adapters
33
+ 4. Optional extension points
34
+ 5. Minimal registration example
35
+ 6. Link to generated API reference
36
+
37
+ ## Stability signaling
38
+
39
+ Document stability expectations clearly:
40
+
41
+ - `Stable`: safe for long-lived integrations
42
+ - `Evolving`: may receive additive changes
43
+ - `Experimental`: breaking changes possible
44
+
45
+ If a symbol is internal, do not expose it from the package barrel.
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: Packages
3
+ description: All Archipel platform packages with their primary capabilities.
4
+ ---
5
+
6
+ # Packages
7
+
8
+ <PackagesOverview />
@@ -0,0 +1,141 @@
1
+ ---
2
+ title: 'Abstract Class: AnalyticsClientPort'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Abstract Class: AnalyticsClientPort
7
+
8
+ Defined in: [contracts/AnalyticsClientPort.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L16)
9
+
10
+ Abstract port for analytics and error tracking clients.
11
+ Each provider (Sentry, Application Insights, Datadog) must implement this contract
12
+ so that the consuming application can switch providers without changing business logic.
13
+
14
+ ## Extended by
15
+
16
+ - [`NoopAnalyticsClient`](Class.NoopAnalyticsClient)
17
+ - [`SentryAnalyticsClient`](Class.SentryAnalyticsClient)
18
+ - [`AppInsightsAnalyticsClient`](Class.AppInsightsAnalyticsClient)
19
+ - [`DatadogAnalyticsClient`](Class.DatadogAnalyticsClient)
20
+
21
+ ## Constructors
22
+
23
+ ### Constructor
24
+
25
+ ```ts
26
+ new AnalyticsClientPort(): AnalyticsClientPort;
27
+ ```
28
+
29
+ #### Returns
30
+
31
+ `AnalyticsClientPort`
32
+
33
+ ## Methods
34
+
35
+ ### addBreadcrumb()
36
+
37
+ ```ts
38
+ abstract addBreadcrumb(breadcrumb): void;
39
+ ```
40
+
41
+ Defined in: [contracts/AnalyticsClientPort.ts:59](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L59)
42
+
43
+ Add a breadcrumb entry to the analytics trail.
44
+
45
+ #### Parameters
46
+
47
+ | Parameter | Type | Description |
48
+ | ------ | ------ | ------ |
49
+ | `breadcrumb` | [`IAnalyticsBreadcrumb`](Interface.IAnalyticsBreadcrumb) | The breadcrumb to add. |
50
+
51
+ #### Returns
52
+
53
+ `void`
54
+
55
+ ***
56
+
57
+ ### captureException()
58
+
59
+ ```ts
60
+ abstract captureException(error, context?): void;
61
+ ```
62
+
63
+ Defined in: [contracts/AnalyticsClientPort.ts:26](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L26)
64
+
65
+ Capture an exception with optional context.
66
+
67
+ #### Parameters
68
+
69
+ | Parameter | Type | Description |
70
+ | ------ | ------ | ------ |
71
+ | `error` | `Error` | The error to capture. |
72
+ | `context?` | `Record`\<`string`, `unknown`\> | Optional additional context metadata. |
73
+
74
+ #### Returns
75
+
76
+ `void`
77
+
78
+ ***
79
+
80
+ ### captureMessage()
81
+
82
+ ```ts
83
+ abstract captureMessage(
84
+ message,
85
+ level,
86
+ context?): void;
87
+ ```
88
+
89
+ Defined in: [contracts/AnalyticsClientPort.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L36)
90
+
91
+ Capture a message with a specific severity level.
92
+
93
+ #### Parameters
94
+
95
+ | Parameter | Type | Description |
96
+ | ------ | ------ | ------ |
97
+ | `message` | `string` | The message to capture. |
98
+ | `level` | [`AnalyticsLevel`](TypeAlias.AnalyticsLevel) | Severity level of the message. |
99
+ | `context?` | `Record`\<`string`, `unknown`\> | Optional additional context metadata. |
100
+
101
+ #### Returns
102
+
103
+ `void`
104
+
105
+ ***
106
+
107
+ ### clearUser()
108
+
109
+ ```ts
110
+ abstract clearUser(): void;
111
+ ```
112
+
113
+ Defined in: [contracts/AnalyticsClientPort.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L51)
114
+
115
+ Clear the current user context.
116
+
117
+ #### Returns
118
+
119
+ `void`
120
+
121
+ ***
122
+
123
+ ### setUser()
124
+
125
+ ```ts
126
+ abstract setUser(user): void;
127
+ ```
128
+
129
+ Defined in: [contracts/AnalyticsClientPort.ts:44](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L44)
130
+
131
+ Set the current user context for subsequent events.
132
+
133
+ #### Parameters
134
+
135
+ | Parameter | Type | Description |
136
+ | ------ | ------ | ------ |
137
+ | `user` | [`IAnalyticsUser`](Interface.IAnalyticsUser) | The user context to set. |
138
+
139
+ #### Returns
140
+
141
+ `void`