@breadstone/archipel-mcp 0.0.9 → 0.0.11

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 (619) hide show
  1. package/data/guides/ai-text-generation.md +361 -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 +242 -0
  5. package/data/guides/caching.md +255 -0
  6. package/data/guides/cryptography-and-otp.md +240 -0
  7. package/data/guides/document-generation.md +174 -0
  8. package/data/guides/email-delivery.md +196 -0
  9. package/data/guides/esigning-integration.md +231 -0
  10. package/data/guides/getting-started.md +351 -0
  11. package/data/guides/implementing-ports.md +317 -0
  12. package/data/guides/index.md +61 -0
  13. package/data/guides/mcp-server.md +222 -0
  14. package/data/guides/openapi-and-feature-discovery.md +266 -0
  15. package/data/guides/payments-and-feature-gating.md +244 -0
  16. package/data/guides/resource-management.md +352 -0
  17. package/data/guides/telemetry-and-observability.md +190 -0
  18. package/data/guides/testing.md +319 -0
  19. package/data/guides/tsdoc-guidelines.md +45 -0
  20. package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +19 -20
  21. package/data/packages/platform-analytics/api/Class.AnalyticsModule.md +2 -3
  22. package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +21 -22
  23. package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +21 -22
  24. package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +19 -20
  25. package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +21 -22
  26. package/data/packages/platform-analytics/api/Interface.IAnalyticsBreadcrumb.md +3 -4
  27. package/data/packages/platform-analytics/api/Interface.IAnalyticsModuleOptions.md +2 -3
  28. package/data/packages/platform-analytics/api/Interface.IAnalyticsUser.md +3 -4
  29. package/data/packages/platform-analytics/api/TypeAlias.AnalyticsLevel.md +1 -2
  30. package/data/packages/platform-analytics/api/Variable.APPINSIGHTS_CONFIG_ENTRIES.md +2 -3
  31. package/data/packages/platform-analytics/api/Variable.APPLICATIONINSIGHTS_CONNECTION_STRING.md +1 -2
  32. package/data/packages/platform-analytics/api/Variable.DATADOG_CONFIG_ENTRIES.md +2 -3
  33. package/data/packages/platform-analytics/api/Variable.DD_ENV.md +1 -2
  34. package/data/packages/platform-analytics/api/Variable.DD_SERVICE.md +1 -2
  35. package/data/packages/platform-analytics/api/Variable.SENTRY_CONFIG_ENTRIES.md +2 -3
  36. package/data/packages/platform-analytics/api/Variable.SENTRY_DSN.md +1 -2
  37. package/data/packages/platform-analytics/api/Variable.SENTRY_ENVIRONMENT.md +1 -2
  38. package/data/packages/platform-analytics/api/index.md +25 -26
  39. package/data/packages/platform-authentication/api/Class.AnonymousAuthGuard.md +4 -5
  40. package/data/packages/platform-authentication/api/Class.AppleConnector.md +19 -20
  41. package/data/packages/platform-authentication/api/Class.AuthModule.md +8 -9
  42. package/data/packages/platform-authentication/api/Class.AuthSubjectPort.md +10 -11
  43. package/data/packages/platform-authentication/api/Class.AuthTokenService.md +5 -6
  44. package/data/packages/platform-authentication/api/Class.ChallengeService.md +26 -27
  45. package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +4 -5
  46. package/data/packages/platform-authentication/api/Class.GithubConnector.md +14 -15
  47. package/data/packages/platform-authentication/api/Class.GoogleConnector.md +14 -15
  48. package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +4 -5
  49. package/data/packages/platform-authentication/api/Class.JwtPayloadBase.md +15 -16
  50. package/data/packages/platform-authentication/api/Class.LastActiveMiddleware.md +10 -11
  51. package/data/packages/platform-authentication/api/Class.LocalAuthGuard.md +4 -5
  52. package/data/packages/platform-authentication/api/Class.MfaService.md +54 -55
  53. package/data/packages/platform-authentication/api/Class.MfaSubjectPort.md +8 -9
  54. package/data/packages/platform-authentication/api/Class.MicrosoftConnector.md +17 -18
  55. package/data/packages/platform-authentication/api/Class.RolesGuard.md +5 -6
  56. package/data/packages/platform-authentication/api/Class.SessionMappingProfile.md +4 -5
  57. package/data/packages/platform-authentication/api/Class.SessionPersistencePort.md +25 -26
  58. package/data/packages/platform-authentication/api/Class.SessionResponse.md +12 -13
  59. package/data/packages/platform-authentication/api/Class.SessionService.md +33 -34
  60. package/data/packages/platform-authentication/api/Class.SocialAuthGuard.md +5 -6
  61. package/data/packages/platform-authentication/api/Class.SocialAuthPort.md +2 -3
  62. package/data/packages/platform-authentication/api/Class.TokenEnricherPort.md +2 -3
  63. package/data/packages/platform-authentication/api/Class.TotpMfaChannel.md +27 -28
  64. package/data/packages/platform-authentication/api/Class.VerificationService.md +29 -30
  65. package/data/packages/platform-authentication/api/Class.VerificationSubjectPort.md +16 -17
  66. package/data/packages/platform-authentication/api/Function.Token.md +0 -1
  67. package/data/packages/platform-authentication/api/Function.UseRoles.md +2 -3
  68. package/data/packages/platform-authentication/api/Function.socialAuthGuardFactory.md +2 -3
  69. package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +20 -21
  70. package/data/packages/platform-authentication/api/Interface.IAuthSubject.md +7 -8
  71. package/data/packages/platform-authentication/api/Interface.IMfaChallengePayload.md +5 -6
  72. package/data/packages/platform-authentication/api/Interface.IMfaChallengeState.md +10 -11
  73. package/data/packages/platform-authentication/api/Interface.IMfaConfirmation.md +0 -1
  74. package/data/packages/platform-authentication/api/Interface.IMfaSetup.md +3 -4
  75. package/data/packages/platform-authentication/api/Interface.IMfaSubject.md +9 -10
  76. package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +7 -8
  77. package/data/packages/platform-authentication/api/Interface.ISessionRecord.md +14 -15
  78. package/data/packages/platform-authentication/api/Interface.ISignInResult.md +5 -6
  79. package/data/packages/platform-authentication/api/Interface.ISocialProfile.md +3 -4
  80. package/data/packages/platform-authentication/api/Interface.IStoreSessionArgs.md +5 -6
  81. package/data/packages/platform-authentication/api/Interface.IVerifiableSubject.md +4 -5
  82. package/data/packages/platform-authentication/api/Variable.APPLE_AUTH_CONFIG_ENTRIES.md +2 -3
  83. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CALLBACK_URL.md +2 -3
  84. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CLIENT_ID.md +2 -3
  85. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_KEY_ID.md +2 -3
  86. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_PRIVATE_KEY.md +2 -3
  87. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_SCOPE.md +2 -3
  88. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_TEAM_ID.md +2 -3
  89. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CALLBACK_URL.md +2 -3
  90. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_ID.md +2 -3
  91. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_SECRET.md +2 -3
  92. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_SCOPE.md +2 -3
  93. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CALLBACK_URL.md +2 -3
  94. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_ID.md +2 -3
  95. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_SECRET.md +2 -3
  96. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_SCOPE.md +2 -3
  97. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_EXPIRES_IN.md +2 -3
  98. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_SECRET.md +2 -3
  99. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_CHALLENGE_EXPIRES_IN.md +2 -3
  100. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_CODE_TTL.md +2 -3
  101. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_MIN_RESEND.md +2 -3
  102. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ENCRYPTION_KEY.md +2 -3
  103. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ISSUER.md +2 -3
  104. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_MAX_ATTEMPTS.md +2 -3
  105. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_CODE_TTL.md +2 -3
  106. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_MIN_RESEND.md +2 -3
  107. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_CODE_TTL.md +2 -3
  108. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_MIN_RESEND.md +2 -3
  109. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CALLBACK_URL.md +2 -3
  110. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_ID.md +2 -3
  111. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_SECRET.md +2 -3
  112. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_SCOPE.md +2 -3
  113. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_TENANT.md +2 -3
  114. package/data/packages/platform-authentication/api/Variable.AUTH_VERIFY_JWT_EXPIRES_IN.md +2 -3
  115. package/data/packages/platform-authentication/api/Variable.GITHUB_AUTH_CONFIG_ENTRIES.md +3 -4
  116. package/data/packages/platform-authentication/api/Variable.GOOGLE_AUTH_CONFIG_ENTRIES.md +3 -4
  117. package/data/packages/platform-authentication/api/Variable.MICROSOFT_AUTH_CONFIG_ENTRIES.md +2 -3
  118. package/data/packages/platform-authentication/api/Variable.PLATFORM_AUTHENTICATION_CONFIG_ENTRIES.md +3 -4
  119. package/data/packages/platform-authentication/api/Variable.ROLES_KEY.md +2 -3
  120. package/data/packages/platform-authentication/api/Variable.SEED_ANONYMOUS_USERNAME.md +2 -3
  121. package/data/packages/platform-authentication/api/Variable.SESSION_LIST_MAPPING_KEY.md +1 -2
  122. package/data/packages/platform-authentication/api/Variable.SESSION_MAPPING_KEY.md +1 -2
  123. package/data/packages/platform-authentication/api/Variable.TOTP_MFA_PROVIDERS.md +1 -2
  124. package/data/packages/platform-authentication/api/Variable.User.md +2 -3
  125. package/data/packages/platform-authentication/api/index.md +94 -95
  126. package/data/packages/platform-blob-storage/api/Class.AwsS3BlobProvider.md +16 -17
  127. package/data/packages/platform-blob-storage/api/Class.AzureBlobProvider.md +16 -17
  128. package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +5 -6
  129. package/data/packages/platform-blob-storage/api/Class.BlobModule.md +2 -3
  130. package/data/packages/platform-blob-storage/api/Class.BlobObjectPersistencePort.md +12 -13
  131. package/data/packages/platform-blob-storage/api/Class.BlobService.md +45 -46
  132. package/data/packages/platform-blob-storage/api/Class.BlobVariantPersistencePort.md +7 -8
  133. package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +18 -19
  134. package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +2 -3
  135. package/data/packages/platform-blob-storage/api/Interface.IAwsS3ProviderOptions.md +5 -6
  136. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderOptions.md +2 -3
  137. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +2 -3
  138. package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +2 -3
  139. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +3 -4
  140. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +6 -7
  141. package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +3 -4
  142. package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +12 -13
  143. package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +14 -15
  144. package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +3 -4
  145. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +8 -9
  146. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +1 -2
  147. package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +2 -3
  148. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +5 -6
  149. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +2 -3
  150. package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +1 -2
  151. package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +0 -1
  152. package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +1 -2
  153. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +1 -2
  154. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +1 -2
  155. package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +1 -2
  156. package/data/packages/platform-blob-storage/api/Variable.BlobDownloadResponseTypes.md +9 -10
  157. package/data/packages/platform-blob-storage/api/Variable.BlobProviderKinds.md +10 -11
  158. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +1 -2
  159. package/data/packages/platform-blob-storage/api/index.md +41 -42
  160. package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +37 -38
  161. package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +19 -20
  162. package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +39 -40
  163. package/data/packages/platform-caching/api/Interface.ICacheMetricsRecorder.md +19 -20
  164. package/data/packages/platform-caching/api/Interface.ICacheStats.md +4 -5
  165. package/data/packages/platform-caching/api/Interface.ILayeredCache.md +34 -35
  166. package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +4 -5
  167. package/data/packages/platform-caching/api/Interface.IRedisLayeredCacheOptions.md +15 -16
  168. package/data/packages/platform-caching/api/index.md +12 -13
  169. package/data/packages/platform-core/api/Class.AppHealthIndicator.md +4 -5
  170. package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +20 -21
  171. package/data/packages/platform-core/api/Class.BooleanUtils.md +12 -13
  172. package/data/packages/platform-core/api/Class.CUIDGenerator.md +17 -18
  173. package/data/packages/platform-core/api/Class.CasingInterceptor.md +10 -11
  174. package/data/packages/platform-core/api/Class.CatchUtils.md +15 -16
  175. package/data/packages/platform-core/api/Class.ConfigKeyNotFoundError.md +89 -0
  176. package/data/packages/platform-core/api/Class.ConfigModule.md +7 -8
  177. package/data/packages/platform-core/api/Class.ConfigRegistry.md +8 -9
  178. package/data/packages/platform-core/api/Class.ConfigService.md +30 -32
  179. package/data/packages/platform-core/api/Class.ConfigStrategyBase.md +17 -18
  180. package/data/packages/platform-core/api/Class.ContentTemplateEngine.md +4 -5
  181. package/data/packages/platform-core/api/Class.DateTimeUtils.md +12 -13
  182. package/data/packages/platform-core/api/Class.DeviceParserService.md +2 -3
  183. package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +22 -23
  184. package/data/packages/platform-core/api/Class.EnvironmentConfigStrategy.md +19 -20
  185. package/data/packages/platform-core/api/Class.ErrorTemplateService.md +18 -19
  186. package/data/packages/platform-core/api/Class.EventHub.md +25 -26
  187. package/data/packages/platform-core/api/Class.EventModule.md +0 -1
  188. package/data/packages/platform-core/api/Class.FileConfigStrategy.md +21 -22
  189. package/data/packages/platform-core/api/Class.FileResourceStrategy.md +19 -20
  190. package/data/packages/platform-core/api/Class.GUIDGenerator.md +7 -8
  191. package/data/packages/platform-core/api/Class.GlobalExceptionFilter.md +7 -8
  192. package/data/packages/platform-core/api/Class.HealthModule.md +2 -3
  193. package/data/packages/platform-core/api/Class.HealthOrchestrator.md +3 -4
  194. package/data/packages/platform-core/api/Class.HostModule.md +0 -2
  195. package/data/packages/platform-core/api/Class.HostService.md +21 -22
  196. package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +8 -9
  197. package/data/packages/platform-core/api/Class.IdGeneratorBase.md +7 -8
  198. package/data/packages/platform-core/api/Class.IdentifierModule.md +3 -4
  199. package/data/packages/platform-core/api/Class.LimitRequestSizeMiddleware.md +8 -9
  200. package/data/packages/platform-core/api/Class.LocalizedTextRequest.md +1 -2
  201. package/data/packages/platform-core/api/Class.LocalizedTextResponse.md +1 -2
  202. package/data/packages/platform-core/api/Class.MappingBuilder.md +18 -19
  203. package/data/packages/platform-core/api/Class.MappingModule.md +2 -3
  204. package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +5 -6
  205. package/data/packages/platform-core/api/Class.MappingProfileBase.md +2 -3
  206. package/data/packages/platform-core/api/Class.MappingService.md +52 -53
  207. package/data/packages/platform-core/api/Class.NormalizedUtils.md +20 -21
  208. package/data/packages/platform-core/api/Class.PageableRequest.md +1 -2
  209. package/data/packages/platform-core/api/Class.PageableResponse.md +3 -4
  210. package/data/packages/platform-core/api/Class.ProblemDetailException.md +6 -7
  211. package/data/packages/platform-core/api/Class.ProblemDetailExceptionFilter.md +11 -12
  212. package/data/packages/platform-core/api/Class.QuantityResponse.md +1 -2
  213. package/data/packages/platform-core/api/Class.ResourceManager.md +88 -89
  214. package/data/packages/platform-core/api/Class.ResourceModule.md +3 -4
  215. package/data/packages/platform-core/api/Class.ResponseReturn.md +102 -104
  216. package/data/packages/platform-core/api/Class.SseHub.md +23 -24
  217. package/data/packages/platform-core/api/Class.SseModule.md +3 -4
  218. package/data/packages/platform-core/api/Class.TimeStampResponse.md +1 -2
  219. package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +5 -6
  220. package/data/packages/platform-core/api/Class.UUIDGenerator.md +7 -8
  221. package/data/packages/platform-core/api/Class.UserAvatarGeneratorService.md +4 -5
  222. package/data/packages/platform-core/api/Class.UserNameGeneratorService.md +4 -5
  223. package/data/packages/platform-core/api/Function.Public.md +0 -1
  224. package/data/packages/platform-core/api/Function.createConfigKey.md +7 -9
  225. package/data/packages/platform-core/api/Function.createEventKey.md +6 -7
  226. package/data/packages/platform-core/api/Function.createMappingKey.md +6 -7
  227. package/data/packages/platform-core/api/Function.env.md +4 -5
  228. package/data/packages/platform-core/api/Function.getMimeTypeByFileNameOrExtension.md +2 -3
  229. package/data/packages/platform-core/api/ISseEventData.Function.isActionId.md +4 -5
  230. package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +1 -2
  231. package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +5 -6
  232. package/data/packages/platform-core/api/Interface.IConfigKey.md +16 -17
  233. package/data/packages/platform-core/api/Interface.IConfigModuleOptions.md +3 -4
  234. package/data/packages/platform-core/api/Interface.IConfigRegistryEntry.md +6 -7
  235. package/data/packages/platform-core/api/Interface.IDeviceInfo.md +6 -7
  236. package/data/packages/platform-core/api/Interface.IErrorPageParams.md +19 -20
  237. package/data/packages/platform-core/api/Interface.IEventKey.md +7 -8
  238. package/data/packages/platform-core/api/Interface.IEventMap.md +0 -1
  239. package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +5 -6
  240. package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +3 -4
  241. package/data/packages/platform-core/api/Interface.IHealthIndicator.md +3 -4
  242. package/data/packages/platform-core/api/Interface.IHostContentParams.md +17 -18
  243. package/data/packages/platform-core/api/Interface.IIdGenerator.md +7 -8
  244. package/data/packages/platform-core/api/Interface.IMappingBuilder.md +17 -18
  245. package/data/packages/platform-core/api/Interface.IMappingKey.md +7 -8
  246. package/data/packages/platform-core/api/Interface.IMappingProfile.md +2 -3
  247. package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +4 -5
  248. package/data/packages/platform-core/api/Interface.IResourceMetadata.md +6 -7
  249. package/data/packages/platform-core/api/Interface.IResourceResult.md +1 -2
  250. package/data/packages/platform-core/api/Interface.IResourceStrategy.md +16 -17
  251. package/data/packages/platform-core/api/Interface.ISseEventData.md +3 -4
  252. package/data/packages/platform-core/api/Interface.ISseHub.md +16 -17
  253. package/data/packages/platform-core/api/Namespace.ISseEventData.md +2 -3
  254. package/data/packages/platform-core/api/TypeAlias.CamelCase.md +2 -3
  255. package/data/packages/platform-core/api/TypeAlias.ProblemDetail.md +5 -6
  256. package/data/packages/platform-core/api/TypeAlias.ProblemDetailTypeUrlResolver.md +4 -5
  257. package/data/packages/platform-core/api/TypeAlias.SetOptional.md +4 -5
  258. package/data/packages/platform-core/api/TypeAlias.StringValue.md +4 -2
  259. package/data/packages/platform-core/api/Variable.APP_NAME.md +1 -2
  260. package/data/packages/platform-core/api/Variable.APP_PORT.md +1 -2
  261. package/data/packages/platform-core/api/Variable.APP_URL.md +1 -2
  262. package/data/packages/platform-core/api/Variable.APP_VERSION.md +1 -2
  263. package/data/packages/platform-core/api/Variable.GIT_COMMIT.md +1 -2
  264. package/data/packages/platform-core/api/Variable.HEALTH_INDICATORS_TOKEN.md +1 -2
  265. package/data/packages/platform-core/api/Variable.ID_GENERATOR_TOKEN.md +1 -2
  266. package/data/packages/platform-core/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +1 -2
  267. package/data/packages/platform-core/api/Variable.INTELLIGENCE_MODEL.md +1 -2
  268. package/data/packages/platform-core/api/Variable.INTELLIGENCE_TEMPERATURE.md +1 -2
  269. package/data/packages/platform-core/api/Variable.INTELLIGENCE_TOP_P.md +1 -2
  270. package/data/packages/platform-core/api/Variable.IS_PUBLIC_KEY.md +2 -3
  271. package/data/packages/platform-core/api/Variable.IpAddress.md +6 -7
  272. package/data/packages/platform-core/api/Variable.Lang.md +5 -6
  273. package/data/packages/platform-core/api/Variable.NODE_ENV.md +1 -2
  274. package/data/packages/platform-core/api/Variable.PLATFORM_CORE_CONFIG_ENTRIES.md +2 -3
  275. package/data/packages/platform-core/api/Variable.UserAgent.md +2 -3
  276. package/data/packages/platform-core/api/index.md +116 -116
  277. package/data/packages/platform-cryptography/api/Class.BcryptService.md +7 -8
  278. package/data/packages/platform-cryptography/api/Class.CryptoService.md +3 -4
  279. package/data/packages/platform-cryptography/api/Class.OtpService.md +8 -9
  280. package/data/packages/platform-cryptography/api/Interface.IOtpService.md +8 -9
  281. package/data/packages/platform-cryptography/api/Interface.IOtpUriOptions.md +2 -3
  282. package/data/packages/platform-cryptography/api/Variable.OTP_SERVICE_TOKEN.md +1 -2
  283. package/data/packages/platform-cryptography/api/Variable.TOTP_EPOCH_TOLERANCE.md +7 -8
  284. package/data/packages/platform-cryptography/api/index.md +11 -12
  285. package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +6 -7
  286. package/data/packages/platform-database/api/Class.DatabaseModule.md +5 -6
  287. package/data/packages/platform-database/api/Class.DatabaseService.md +19 -20
  288. package/data/packages/platform-database/api/Class.PrismaService.md +7 -8
  289. package/data/packages/platform-database/api/Class.RepositoryBase.md +126 -127
  290. package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +5 -6
  291. package/data/packages/platform-database/api/Function.pageable.md +13 -10
  292. package/data/packages/platform-database/api/Function.paginator.md +2 -3
  293. package/data/packages/platform-database/api/Function.query.md +7 -8
  294. package/data/packages/platform-database/api/Function.skip.md +5 -6
  295. package/data/packages/platform-database/api/Function.transactionalQuery.md +6 -7
  296. package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +0 -1
  297. package/data/packages/platform-database/api/Interface.IPaginateOptions.md +1 -2
  298. package/data/packages/platform-database/api/Interface.IPaginatedResult.md +4 -5
  299. package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +7 -8
  300. package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +5 -6
  301. package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +2 -3
  302. package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +2 -3
  303. package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +7 -8
  304. package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +3 -4
  305. package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +3 -4
  306. package/data/packages/platform-database/api/index.md +27 -28
  307. package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +31 -33
  308. package/data/packages/platform-documents/api/Class.DocumentEngine.md +7 -8
  309. package/data/packages/platform-documents/api/Class.DocumentModule.md +2 -3
  310. package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +21 -22
  311. package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +5 -7
  312. package/data/packages/platform-documents/api/Interface.IDocumentPlaceholderDetail.md +5 -6
  313. package/data/packages/platform-documents/api/Interface.IDocumentProbeReport.md +8 -9
  314. package/data/packages/platform-documents/api/Interface.IDocumentRenderer.md +2 -3
  315. package/data/packages/platform-documents/api/Interface.IImagePayload.md +3 -4
  316. package/data/packages/platform-documents/api/Interface.IImageProcessor.md +18 -19
  317. package/data/packages/platform-documents/api/Interface.IRenderOptions.md +3 -4
  318. package/data/packages/platform-documents/api/Interface.IRenderResult.md +3 -4
  319. package/data/packages/platform-documents/api/TypeAlias.DocumentFormat.md +1 -2
  320. package/data/packages/platform-documents/api/TypeAlias.EngineType.md +1 -2
  321. package/data/packages/platform-documents/api/TypeAlias.ImageMimeType.md +1 -2
  322. package/data/packages/platform-documents/api/TypeAlias.TemplateFormat.md +1 -2
  323. package/data/packages/platform-documents/api/TypeAlias.TemplateType.md +1 -2
  324. package/data/packages/platform-documents/api/Variable.DOCUMENT_MODULE_OPTIONS.md +1 -2
  325. package/data/packages/platform-documents/api/Variable.DOCUMENT_PARSER_TOKEN.md +1 -2
  326. package/data/packages/platform-documents/api/Variable.DOCUMENT_RENDERER_TOKEN.md +1 -2
  327. package/data/packages/platform-documents/api/Variable.IMAGE_PROCESSOR_TOKEN.md +1 -2
  328. package/data/packages/platform-documents/api/index.md +28 -29
  329. package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +20 -21
  330. package/data/packages/platform-esigning/api/Class.EsigningError.md +4 -5
  331. package/data/packages/platform-esigning/api/Class.EsigningModule.md +2 -3
  332. package/data/packages/platform-esigning/api/Class.EsigningPersistencePort.md +9 -10
  333. package/data/packages/platform-esigning/api/Class.EsigningService.md +24 -25
  334. package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +24 -25
  335. package/data/packages/platform-esigning/api/Class.SigningProviderError.md +9 -10
  336. package/data/packages/platform-esigning/api/Class.SigningRequestNotFoundError.md +3 -4
  337. package/data/packages/platform-esigning/api/Class.WebhookVerificationError.md +2 -3
  338. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequest.md +6 -7
  339. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestDocument.md +3 -4
  340. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestSigner.md +3 -4
  341. package/data/packages/platform-esigning/api/Interface.ICreateSigningSessionRequest.md +2 -3
  342. package/data/packages/platform-esigning/api/Interface.IEsigningModuleOptions.md +3 -4
  343. package/data/packages/platform-esigning/api/Interface.IEsigningWebhookEvent.md +5 -6
  344. package/data/packages/platform-esigning/api/Interface.ISignedDocument.md +5 -6
  345. package/data/packages/platform-esigning/api/Interface.ISigner.md +5 -6
  346. package/data/packages/platform-esigning/api/Interface.ISigningDocument.md +5 -6
  347. package/data/packages/platform-esigning/api/Interface.ISigningField.md +10 -11
  348. package/data/packages/platform-esigning/api/Interface.ISigningRequest.md +10 -11
  349. package/data/packages/platform-esigning/api/Interface.ISigningSession.md +4 -5
  350. package/data/packages/platform-esigning/api/TypeAlias.SignerRole.md +1 -2
  351. package/data/packages/platform-esigning/api/TypeAlias.SignerStatus.md +1 -2
  352. package/data/packages/platform-esigning/api/TypeAlias.SigningFieldType.md +1 -2
  353. package/data/packages/platform-esigning/api/TypeAlias.SigningRequestStatus.md +1 -2
  354. package/data/packages/platform-esigning/api/TypeAlias.WebhookEventType.md +1 -2
  355. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_BASE_URL.md +1 -2
  356. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CLIENT_SECRET.md +1 -2
  357. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CONFIG_ENTRIES.md +2 -3
  358. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_INTEGRATION_KEY.md +1 -2
  359. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_WEBHOOK_CLIENT_ID.md +1 -2
  360. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_ACCOUNT_ID.md +1 -2
  361. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_BASE_URL.md +1 -2
  362. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_CONFIG_ENTRIES.md +2 -3
  363. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_INTEGRATION_KEY.md +1 -2
  364. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_SECRET_KEY.md +1 -2
  365. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_WEBHOOK_HMAC_KEY.md +1 -2
  366. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_API_KEY.md +1 -2
  367. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CLIENT_ID.md +1 -2
  368. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CONFIG_ENTRIES.md +2 -3
  369. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_WEBHOOK_SECRET.md +1 -2
  370. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_BASE_URL.md +1 -2
  371. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_KEY.md +1 -2
  372. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER.md +1 -2
  373. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER_OPTIONS.md +1 -2
  374. package/data/packages/platform-esigning/api/Variable.ESIGNING_WEBHOOK_SECRET.md +1 -2
  375. package/data/packages/platform-esigning/api/Variable.PLATFORM_ESIGNING_CONFIG_ENTRIES.md +2 -3
  376. package/data/packages/platform-esigning/api/Variable.SIGNNOW_API_KEY.md +1 -2
  377. package/data/packages/platform-esigning/api/Variable.SIGNNOW_BASE_URL.md +1 -2
  378. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_ID.md +1 -2
  379. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_SECRET.md +1 -2
  380. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CONFIG_ENTRIES.md +2 -3
  381. package/data/packages/platform-esigning/api/Variable.SIGNNOW_WEBHOOK_SECRET.md +1 -2
  382. package/data/packages/platform-esigning/api/Variable.SignerRoles.md +12 -13
  383. package/data/packages/platform-esigning/api/Variable.SignerStatuses.md +14 -15
  384. package/data/packages/platform-esigning/api/Variable.SigningFieldTypes.md +20 -21
  385. package/data/packages/platform-esigning/api/Variable.SigningRequestStatuses.md +18 -19
  386. package/data/packages/platform-esigning/api/Variable.WebhookEventTypes.md +20 -21
  387. package/data/packages/platform-esigning/api/index.md +65 -66
  388. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistrarBase.md +4 -5
  389. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistry.md +10 -11
  390. package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +0 -1
  391. package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +10 -11
  392. package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +2 -3
  393. package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +2 -3
  394. package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +2 -3
  395. package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +2 -3
  396. package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +2 -3
  397. package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +3 -4
  398. package/data/packages/platform-intelligence/api/Interface.IIntelligenceArtifact.md +1 -2
  399. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapability.md +6 -7
  400. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityMetadata.md +4 -5
  401. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityPayload.md +2 -3
  402. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityRegistry.md +10 -11
  403. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityResult.md +2 -3
  404. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +2 -3
  405. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContext.md +5 -6
  406. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContextBuilder.md +3 -4
  407. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationMessageSnapshot.md +4 -5
  408. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationSnapshot.md +3 -4
  409. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFollowUpQuestion.md +2 -3
  410. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntent.md +2 -3
  411. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntentEntity.md +1 -2
  412. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessageModel.md +4 -5
  413. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessagePayload.md +1 -2
  414. package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +1 -2
  415. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptMessage.md +1 -2
  416. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +6 -7
  417. package/data/packages/platform-intelligence/api/Interface.IIntelligenceResponseMessage.md +1 -2
  418. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +4 -5
  419. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +2 -3
  420. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +4 -5
  421. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceConversationMessageRole.md +1 -3
  422. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +2 -3
  423. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +1 -2
  424. package/data/packages/platform-intelligence/api/Variable.IntelligenceConversationMessageRoles.md +7 -8
  425. package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +10 -11
  426. package/data/packages/platform-intelligence/api/index.md +46 -47
  427. package/data/packages/platform-logging/api/Class.LoggerModule.md +0 -1
  428. package/data/packages/platform-logging/api/Variable.APP_LOG_LEVEL.md +1 -2
  429. package/data/packages/platform-logging/api/Variable.PLATFORM_LOGGING_CONFIG_ENTRIES.md +2 -3
  430. package/data/packages/platform-logging/api/index.md +7 -8
  431. package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +2 -3
  432. package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +11 -12
  433. package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +2 -3
  434. package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +13 -14
  435. package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +4 -5
  436. package/data/packages/platform-mailing/api/Class.MailModule.md +0 -1
  437. package/data/packages/platform-mailing/api/Class.MailService.md +27 -28
  438. package/data/packages/platform-mailing/api/Class.MailTemplateEngine.md +12 -13
  439. package/data/packages/platform-mailing/api/Class.MailVerificationService.md +14 -15
  440. package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +13 -14
  441. package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +13 -14
  442. package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +13 -14
  443. package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +13 -14
  444. package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +13 -14
  445. package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +2 -3
  446. package/data/packages/platform-mailing/api/Interface.IMailEvents.md +0 -1
  447. package/data/packages/platform-mailing/api/Interface.IMailTemplateVariants.md +1 -2
  448. package/data/packages/platform-mailing/api/TypeAlias.MailTemplateFormat.md +1 -2
  449. package/data/packages/platform-mailing/api/Variable.MAILGUN_API_KEY.md +1 -2
  450. package/data/packages/platform-mailing/api/Variable.MAILGUN_CONFIG_ENTRIES.md +2 -3
  451. package/data/packages/platform-mailing/api/Variable.MAILGUN_DOMAIN.md +1 -2
  452. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY.md +1 -2
  453. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY_TOKEN.md +1 -2
  454. package/data/packages/platform-mailing/api/Variable.MAIL_HOST.md +1 -2
  455. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_API_KEY.md +1 -2
  456. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_DOMAIN.md +1 -2
  457. package/data/packages/platform-mailing/api/Variable.MAIL_PORT.md +1 -2
  458. package/data/packages/platform-mailing/api/Variable.MAIL_POSTMARK_API_KEY.md +1 -2
  459. package/data/packages/platform-mailing/api/Variable.MAIL_RESEND_API_KEY.md +1 -2
  460. package/data/packages/platform-mailing/api/Variable.MAIL_SENDER_EMAIL.md +1 -2
  461. package/data/packages/platform-mailing/api/Variable.MAIL_SENDGRID_API_KEY.md +1 -2
  462. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_HOST.md +1 -2
  463. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PASSWORD.md +1 -2
  464. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PORT.md +1 -2
  465. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_SECURE.md +1 -2
  466. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_USER.md +1 -2
  467. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_ENGINE_FORMAT.md +1 -2
  468. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_FETCH_STRATEGY_TOKEN.md +1 -2
  469. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_STRATEGY.md +1 -2
  470. package/data/packages/platform-mailing/api/Variable.MAIL_USER.md +1 -2
  471. package/data/packages/platform-mailing/api/Variable.PLATFORM_MAILING_CONFIG_ENTRIES.md +2 -3
  472. package/data/packages/platform-mailing/api/Variable.POSTMARK_API_KEY.md +1 -2
  473. package/data/packages/platform-mailing/api/Variable.POSTMARK_CONFIG_ENTRIES.md +2 -3
  474. package/data/packages/platform-mailing/api/Variable.RESEND_API_KEY.md +1 -2
  475. package/data/packages/platform-mailing/api/Variable.RESEND_CONFIG_ENTRIES.md +2 -3
  476. package/data/packages/platform-mailing/api/Variable.SENDGRID_API_KEY.md +1 -2
  477. package/data/packages/platform-mailing/api/Variable.SENDGRID_CONFIG_ENTRIES.md +2 -3
  478. package/data/packages/platform-mailing/api/Variable.SEND_MAIL_EVENT_KEY.md +2 -3
  479. package/data/packages/platform-mailing/api/index.md +54 -55
  480. package/data/packages/platform-mcp/api/Class.McpDiscoveryService.md +8 -9
  481. package/data/packages/platform-mcp/api/Class.McpModule.md +8 -9
  482. package/data/packages/platform-mcp/api/Class.McpRegistryService.md +16 -17
  483. package/data/packages/platform-mcp/api/Class.McpServerService.md +19 -20
  484. package/data/packages/platform-mcp/api/Function.McpPrompt.md +2 -3
  485. package/data/packages/platform-mcp/api/Function.McpResource.md +2 -3
  486. package/data/packages/platform-mcp/api/Function.McpTool.md +2 -3
  487. package/data/packages/platform-mcp/api/Interface.IMcpHandlerMetadata.md +2 -3
  488. package/data/packages/platform-mcp/api/Interface.IMcpModuleAsyncOptions.md +8 -9
  489. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptions.md +3 -4
  490. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptionsFactory.md +3 -4
  491. package/data/packages/platform-mcp/api/Interface.IMcpPromptMetadata.md +3 -4
  492. package/data/packages/platform-mcp/api/Interface.IMcpResourceMetadata.md +4 -5
  493. package/data/packages/platform-mcp/api/Interface.IMcpToolMetadata.md +5 -6
  494. package/data/packages/platform-mcp/api/Interface.IRegisteredPrompt.md +3 -4
  495. package/data/packages/platform-mcp/api/Interface.IRegisteredResource.md +3 -4
  496. package/data/packages/platform-mcp/api/Interface.IRegisteredTool.md +3 -4
  497. package/data/packages/platform-mcp/api/Interface.ISseTransportOptions.md +0 -1
  498. package/data/packages/platform-mcp/api/Interface.IStreamableHttpTransportOptions.md +1 -2
  499. package/data/packages/platform-mcp/api/Variable.MCP_MODULE_OPTIONS.md +1 -2
  500. package/data/packages/platform-mcp/api/index.md +26 -27
  501. package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +15 -12
  502. package/data/packages/platform-openapi/api/Class.SwaggerFeatureRegistry.md +5 -6
  503. package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +20 -21
  504. package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +2 -3
  505. package/data/packages/platform-openapi/api/Function.Api.md +13 -14
  506. package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +4 -5
  507. package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +0 -1
  508. package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +8 -7
  509. package/data/packages/platform-openapi/api/Interface.IFeatureSwaggerConfig.md +5 -6
  510. package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +5 -6
  511. package/data/packages/platform-openapi/api/Variable.APP_VERSION.md +1 -2
  512. package/data/packages/platform-openapi/api/Variable.PLATFORM_OPENAPI_CONFIG_ENTRIES.md +2 -3
  513. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_EMAIL.md +1 -2
  514. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_NAME.md +1 -2
  515. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_URL.md +1 -2
  516. package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +2 -3
  517. package/data/packages/platform-openapi/api/index.md +24 -25
  518. package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +7 -8
  519. package/data/packages/platform-payments/api/Class.FeatureGuard.md +6 -7
  520. package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +7 -8
  521. package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +24 -25
  522. package/data/packages/platform-payments/api/Class.MollieClient.md +24 -25
  523. package/data/packages/platform-payments/api/Class.PaddleClient.md +24 -25
  524. package/data/packages/platform-payments/api/Class.PaymentClientPort.md +25 -26
  525. package/data/packages/platform-payments/api/Class.PaymentModule.md +2 -3
  526. package/data/packages/platform-payments/api/Class.StripeClient.md +28 -29
  527. package/data/packages/platform-payments/api/Function.RequiresFeature.md +2 -3
  528. package/data/packages/platform-payments/api/Interface.IFeatureAccessResult.md +4 -5
  529. package/data/packages/platform-payments/api/Interface.INormalizedCheckoutSession.md +5 -6
  530. package/data/packages/platform-payments/api/Interface.INormalizedPrice.md +6 -7
  531. package/data/packages/platform-payments/api/Interface.INormalizedSubscription.md +8 -9
  532. package/data/packages/platform-payments/api/Interface.INormalizedWebhookEvent.md +2 -3
  533. package/data/packages/platform-payments/api/Interface.IPaymentModuleOptions.md +3 -4
  534. package/data/packages/platform-payments/api/TypeAlias.SubscriptionStatus.md +9 -10
  535. package/data/packages/platform-payments/api/Variable.FEATURE_KEY_METADATA.md +2 -3
  536. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_API_KEY.md +1 -2
  537. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_CONFIG_ENTRIES.md +2 -3
  538. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_STORE_ID.md +1 -2
  539. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_WEBHOOK_SECRET.md +1 -2
  540. package/data/packages/platform-payments/api/Variable.MOLLIE_API_KEY.md +1 -2
  541. package/data/packages/platform-payments/api/Variable.MOLLIE_CONFIG_ENTRIES.md +2 -3
  542. package/data/packages/platform-payments/api/Variable.MOLLIE_WEBHOOK_SECRET.md +1 -2
  543. package/data/packages/platform-payments/api/Variable.PADDLE_API_KEY.md +1 -2
  544. package/data/packages/platform-payments/api/Variable.PADDLE_CONFIG_ENTRIES.md +2 -3
  545. package/data/packages/platform-payments/api/Variable.PADDLE_ENVIRONMENT.md +1 -2
  546. package/data/packages/platform-payments/api/Variable.PADDLE_WEBHOOK_SECRET.md +1 -2
  547. package/data/packages/platform-payments/api/Variable.STRIPE_API_KEY.md +1 -2
  548. package/data/packages/platform-payments/api/Variable.STRIPE_CONFIG_ENTRIES.md +2 -3
  549. package/data/packages/platform-payments/api/Variable.STRIPE_WEBHOOK_SECRET.md +1 -2
  550. package/data/packages/platform-payments/api/index.md +40 -41
  551. package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +3 -4
  552. package/data/packages/platform-reporting/api/Class.ReportingDatasetNotFoundError.md +3 -4
  553. package/data/packages/platform-reporting/api/Class.ReportingFacade.md +8 -9
  554. package/data/packages/platform-reporting/api/Class.ReportingModule.md +0 -1
  555. package/data/packages/platform-reporting/api/Interface.IReportingContributor.md +4 -5
  556. package/data/packages/platform-reporting/api/Interface.IReportingDataset.md +5 -6
  557. package/data/packages/platform-reporting/api/Interface.IReportingDatasetField.md +4 -5
  558. package/data/packages/platform-reporting/api/Interface.IReportingQuery.md +4 -5
  559. package/data/packages/platform-reporting/api/Interface.IReportingQueryFilter.md +2 -3
  560. package/data/packages/platform-reporting/api/Interface.IReportingQueryResult.md +4 -5
  561. package/data/packages/platform-reporting/api/Interface.IReportingQuerySort.md +1 -2
  562. package/data/packages/platform-reporting/api/TypeAlias.ReportingFieldType.md +1 -2
  563. package/data/packages/platform-reporting/api/TypeAlias.ReportingFilterOperator.md +1 -2
  564. package/data/packages/platform-reporting/api/TypeAlias.ReportingQueryResultRow.md +0 -1
  565. package/data/packages/platform-reporting/api/Variable.ReportingFieldTypes.md +12 -13
  566. package/data/packages/platform-reporting/api/Variable.ReportingFilterOperators.md +10 -11
  567. package/data/packages/platform-reporting/api/index.md +23 -24
  568. package/data/packages/platform-telemetry/api/Class.NoopTelemetryFacade.md +22 -23
  569. package/data/packages/platform-telemetry/api/Class.TelemetryCacheMetricsRecorder.md +26 -27
  570. package/data/packages/platform-telemetry/api/Class.TelemetryFacade.md +23 -24
  571. package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +35 -36
  572. package/data/packages/platform-telemetry/api/Class.TelemetryModule.md +2 -3
  573. package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +4 -5
  574. package/data/packages/platform-telemetry/api/Interface.ITelemetryFacade.md +22 -23
  575. package/data/packages/platform-telemetry/api/Interface.ITelemetryMetricsOptions.md +2 -3
  576. package/data/packages/platform-telemetry/api/Interface.ITelemetryOptions.md +8 -9
  577. package/data/packages/platform-telemetry/api/Interface.ITelemetryTracesOptions.md +2 -3
  578. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_ENABLED.md +1 -2
  579. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_FACADE.md +1 -2
  580. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_OPTIONS.md +1 -2
  581. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_SHUTDOWN.md +1 -2
  582. package/data/packages/platform-telemetry/api/Variable.defaultTelemetryOptions.md +0 -1
  583. package/data/packages/platform-telemetry/api/index.md +20 -21
  584. package/package.json +1 -1
  585. package/src/GuidesLoader.d.ts +13 -0
  586. package/src/GuidesLoader.js +81 -0
  587. package/src/main.js +36 -198
  588. package/src/models/IGuideDoc.d.ts +15 -0
  589. package/src/models/IGuideDoc.js +3 -0
  590. package/src/tools/registerGetConfigPatternTool.d.ts +5 -0
  591. package/src/tools/registerGetConfigPatternTool.js +15 -0
  592. package/src/tools/registerGetDtoPatternTool.d.ts +5 -0
  593. package/src/tools/registerGetDtoPatternTool.js +15 -0
  594. package/src/tools/registerGetErrorHandlingPatternTool.d.ts +5 -0
  595. package/src/tools/registerGetErrorHandlingPatternTool.js +15 -0
  596. package/src/tools/registerGetGuardPatternTool.d.ts +5 -0
  597. package/src/tools/registerGetGuardPatternTool.js +15 -0
  598. package/src/tools/registerGetGuideTool.d.ts +6 -0
  599. package/src/tools/registerGetGuideTool.js +32 -0
  600. package/src/tools/registerGetMappingPatternTool.d.ts +5 -0
  601. package/src/tools/registerGetMappingPatternTool.js +34 -0
  602. package/src/tools/registerGetModulePatternTool.d.ts +5 -0
  603. package/src/tools/registerGetModulePatternTool.js +29 -0
  604. package/src/tools/registerGetPackageDocTool.d.ts +6 -0
  605. package/src/tools/registerGetPackageDocTool.js +43 -0
  606. package/src/tools/registerGetQueryPatternTool.d.ts +5 -0
  607. package/src/tools/registerGetQueryPatternTool.js +29 -0
  608. package/src/tools/registerGetRepositoryPatternTool.d.ts +5 -0
  609. package/src/tools/registerGetRepositoryPatternTool.js +29 -0
  610. package/src/tools/registerGetTestingPatternTool.d.ts +5 -0
  611. package/src/tools/registerGetTestingPatternTool.js +15 -0
  612. package/src/tools/registerListGuidesTool.d.ts +6 -0
  613. package/src/tools/registerListGuidesTool.js +22 -0
  614. package/src/tools/registerListPackagesTool.d.ts +6 -0
  615. package/src/tools/registerListPackagesTool.js +20 -0
  616. package/src/tools/registerSearchDocsTool.d.ts +6 -0
  617. package/src/tools/registerSearchDocsTool.js +35 -0
  618. package/src/tools/registerSearchGuidesTool.d.ts +6 -0
  619. package/src/tools/registerSearchGuidesTool.js +28 -0
@@ -0,0 +1,266 @@
1
+ ---
2
+ title: OpenAPI & Feature Discovery
3
+ description: Set up multi-document Swagger UI, annotate controllers with the @Api decorator, and use @SwaggerFeature for automatic per-module documentation discovery.
4
+ order: 16
5
+ ---
6
+
7
+ # OpenAPI & Feature Discovery
8
+
9
+ This guide covers the full lifecycle of API documentation with `platform-openapi`: installing the package, configuring environment variables, annotating controllers, registering feature modules, and bootstrapping the multi-document Swagger UI.
10
+
11
+ ---
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ yarn add @breadstone/archipel-platform-openapi
17
+ ```
18
+
19
+ ---
20
+
21
+ ## Configuration
22
+
23
+ ### Environment Variables
24
+
25
+ All four variables are **required**:
26
+
27
+ ```env
28
+ APP_VERSION=1.0.0
29
+ SWAGGER_CONTACT_NAME=Your Team
30
+ SWAGGER_CONTACT_URL=https://yourcompany.com
31
+ SWAGGER_CONTACT_EMAIL=api@yourcompany.com
32
+ ```
33
+
34
+ | Variable | Purpose |
35
+ | ----------------------- | -------------------------------------------------- |
36
+ | `APP_VERSION` | Version shown in every generated OpenAPI document. |
37
+ | `SWAGGER_CONTACT_NAME` | Contact name in the info block. |
38
+ | `SWAGGER_CONTACT_URL` | Contact URL in the info block. |
39
+ | `SWAGGER_CONTACT_EMAIL` | Contact email in the info block. |
40
+
41
+ ---
42
+
43
+ ## Overview: How It Works
44
+
45
+ ```
46
+ @SwaggerFeature() SwaggerFeatureDiscovery SwaggerFeatureRegistry SwaggerMultiDocumentService
47
+ ────────────────── ────────────────────── ────────────────────── ───────────────────────────
48
+ Decorator stores Reads global store and Holds finalized list of Builds per-feature OpenAPI
49
+ metadata in global registers features into features. Sorted, locked, documents, sets up Swagger
50
+ store at import time. the registry. immutable after finalize(). UI routes, and index page.
51
+ ```
52
+
53
+ 1. Each feature module is decorated with `@SwaggerFeature()` — metadata is stored globally when the module is imported.
54
+ 2. During bootstrap, `SwaggerFeatureDiscovery` reads all registered features and pushes them into `SwaggerFeatureRegistry`.
55
+ 3. `SwaggerMultiDocumentService` finalizes the registry, builds one OpenAPI document per feature (filtered by tag), and mounts Swagger UI + JSON endpoints.
56
+
57
+ ---
58
+
59
+ ## Step 1: Annotate Feature Modules
60
+
61
+ Decorate each feature module with `@SwaggerFeature()`. This tells the discovery system which tag corresponds to which documentation section.
62
+
63
+ ```typescript
64
+ import { Module } from '@nestjs/common';
65
+ import { SwaggerFeature } from '@breadstone/archipel-platform-openapi';
66
+ import { TipController } from './TipController';
67
+ import { TipService } from './TipService';
68
+
69
+ @SwaggerFeature({
70
+ name: 'tip',
71
+ title: 'My App API — Tips',
72
+ description: 'API endpoints for tip management.',
73
+ tag: 'Tip',
74
+ tags: ['Tip'],
75
+ })
76
+ @Module({
77
+ controllers: [TipController],
78
+ providers: [TipService],
79
+ exports: [TipService],
80
+ })
81
+ export class TipModule {}
82
+ ```
83
+
84
+ | Property | Required | Description |
85
+ | ------------- | -------- | ---------------------------------------------------------------------------- |
86
+ | `name` | Yes | Short identifier used for the URL path (e.g. `docs/tip`). |
87
+ | `title` | Yes | Human-readable title shown in the Swagger UI header. |
88
+ | `description` | Yes | Description shown in the Swagger UI header and on the index page. |
89
+ | `tag` | Yes | Primary OpenAPI tag — operations with this tag are included in the document. |
90
+ | `tags` | Yes | Array of all tags to include. Usually `[tag]`. |
91
+ | `path` | No | Custom URL path. Defaults to `docs/{name}`. |
92
+
93
+ ---
94
+
95
+ ## Step 2: Annotate Controllers with `@Api()`
96
+
97
+ `@Api()` is a convenience decorator that combines multiple `@nestjs/swagger` decorators into one. Use it on methods or classes to keep controller annotations concise.
98
+
99
+ ```typescript
100
+ import { Controller, Get, Post, Body, Param, HttpCode, HttpStatus } from '@nestjs/common';
101
+ import { Api } from '@breadstone/archipel-platform-openapi';
102
+ import { CreateTipRequest } from './dto/CreateTipRequest';
103
+ import { TipResponse } from './dto/TipResponse';
104
+
105
+ @Controller('api/v1/tips')
106
+ export class TipController {
107
+ @Get()
108
+ @Api({
109
+ tags: 'Tip',
110
+ operation: { summary: 'List all tips' },
111
+ responses: [{ status: 200, description: 'Tips retrieved.', type: [TipResponse] }],
112
+ })
113
+ public listTips(): Promise<TipResponse[]> {
114
+ // ...
115
+ }
116
+
117
+ @Get(':tipId')
118
+ @Api({
119
+ tags: 'Tip',
120
+ auth: 'bearer',
121
+ operation: { summary: 'Get a tip by ID' },
122
+ params: { name: 'tipId', type: String },
123
+ responses: [
124
+ { status: 200, description: 'Tip found.', type: TipResponse },
125
+ { status: 404, description: 'Tip not found.' },
126
+ ],
127
+ })
128
+ public getTip(@Param('tipId') tipId: string): Promise<TipResponse> {
129
+ // ...
130
+ }
131
+
132
+ @Post()
133
+ @HttpCode(HttpStatus.CREATED)
134
+ @Api({
135
+ tags: 'Tip',
136
+ auth: 'bearer',
137
+ operation: { summary: 'Create a new tip' },
138
+ body: { type: CreateTipRequest },
139
+ responses: [
140
+ { status: 201, description: 'Tip created.', type: TipResponse },
141
+ { status: 400, description: 'Validation failed.' },
142
+ ],
143
+ })
144
+ public createTip(@Body() body: CreateTipRequest): Promise<TipResponse> {
145
+ // ...
146
+ }
147
+ }
148
+ ```
149
+
150
+ ### `@Api()` Options Reference
151
+
152
+ | Option | Type | Description |
153
+ | ------------ | --------------------------------------------- | ---------------------------------------------------- |
154
+ | `auth` | `'bearer' \| 'basic' \| 'oauth2' \| 'cookie'` | Adds the corresponding auth decorator. |
155
+ | `tags` | `string \| string[]` | OpenAPI tag(s) for the operation. |
156
+ | `operation` | `ApiOperationOptions` | Summary, description, deprecation flag, etc. |
157
+ | `responses` | `ApiResponseOptions \| ApiResponseOptions[]` | One or more response definitions. |
158
+ | `headers` | `ApiHeaderOptions[]` | Expected request headers. |
159
+ | `params` | `ApiParamOptions \| ApiParamOptions[]` | Path parameter definitions. |
160
+ | `query` | `ApiQueryOptions \| ApiQueryOptions[]` | Query parameter definitions. |
161
+ | `body` | `ApiBodyOptions` | Request body definition. |
162
+ | `scopes` | `string[]` | OAuth2 scopes (only relevant when `auth: 'oauth2'`). |
163
+ | `extensions` | `Record<string, string \| number \| boolean>` | Custom OpenAPI extension properties (`x-*`). |
164
+
165
+ ---
166
+
167
+ ## Step 3: Bootstrap the Swagger UI
168
+
169
+ In your application bootstrap (`main.ts`), wire up discovery and the multi-document service:
170
+
171
+ ```typescript
172
+ import { NestFactory } from '@nestjs/core';
173
+ import {
174
+ SwaggerFeatureDiscovery,
175
+ SwaggerFeatureRegistry,
176
+ SwaggerMultiDocumentService,
177
+ } from '@breadstone/archipel-platform-openapi';
178
+ import { ConfigService, ContentTemplateEngine, HostService, ResourceManager } from '@breadstone/archipel-platform-core';
179
+ import { AppModule } from './AppModule';
180
+
181
+ async function bootstrap() {
182
+ const app = await NestFactory.create(AppModule);
183
+
184
+ // Resolve services
185
+ const configService = app.get(ConfigService);
186
+ const hostService = app.get(HostService);
187
+ const resourceManager = app.get(ResourceManager);
188
+ const contentTemplateEngine = app.get(ContentTemplateEngine);
189
+
190
+ // 1. Discover features
191
+ const featureRegistry = new SwaggerFeatureRegistry();
192
+ const discovery = new SwaggerFeatureDiscovery();
193
+ discovery.registerDiscoveredFeatures(featureRegistry);
194
+ discovery.registerDefaultFeatures(featureRegistry);
195
+
196
+ // 2. Setup multi-document Swagger UI
197
+ const swaggerService = new SwaggerMultiDocumentService(
198
+ app,
199
+ configService,
200
+ hostService,
201
+ featureRegistry,
202
+ resourceManager,
203
+ contentTemplateEngine,
204
+ );
205
+ await swaggerService.setupMultipleSwaggerDocuments();
206
+
207
+ await app.listen(3000);
208
+ }
209
+ bootstrap();
210
+ ```
211
+
212
+ After bootstrap the following routes are available:
213
+
214
+ | Route | What it serves |
215
+ | ------------------ | --------------------------------------------------- |
216
+ | `/docs` | Main index page with a searchable feature grid. |
217
+ | `/docs/{name}` | Swagger UI for a single feature (e.g. `/docs/tip`). |
218
+ | `/api/{name}.json` | Raw OpenAPI JSON for a single feature. |
219
+ | `/docs/all` | Combined Swagger UI with every endpoint. |
220
+ | `/api/all.json` | Combined OpenAPI JSON. |
221
+
222
+ ---
223
+
224
+ ## How Tag Filtering Works
225
+
226
+ Each feature declares a `tag` (e.g. `'Tip'`). When the document is built:
227
+
228
+ 1. A full OpenAPI document is created from the entire application.
229
+ 2. All paths that do **not** have an operation tagged with the feature's tag are removed.
230
+ 3. Schema references used only by removed operations are pruned.
231
+ 4. The special tag `'*'` (used by the default `all` feature) skips filtering entirely.
232
+
233
+ This means the `tag` value in `@SwaggerFeature()` must match the `tags` value you pass to `@Api()` on your controllers.
234
+
235
+ ---
236
+
237
+ ## Exporting OpenAPI Specs Programmatically
238
+
239
+ If you need the generated OpenAPI documents outside of a running HTTP server (e.g. for CI contract checks or SDK generation), use `generateOpenApiDocuments()`:
240
+
241
+ ```typescript
242
+ const documents = swaggerService.generateOpenApiDocuments();
243
+
244
+ for (const { feature, document } of documents) {
245
+ const json = JSON.stringify(document, null, 2);
246
+ writeFileSync(`specs/${feature.name}.json`, json);
247
+ }
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Theme Customization
253
+
254
+ `SwaggerTheme` loads `swagger.css` and `swagger.js` from the package assets via `ResourceManager`. These files customize the Swagger UI appearance (colors, dark theme, responsive layout). The theme is applied automatically — no additional configuration is needed.
255
+
256
+ To override the theme, provide your own `swagger.css` / `swagger.js` files through a `FileResourceStrategy` with a higher-priority base path so that `ResourceManager` picks them up before the built-in assets.
257
+
258
+ ---
259
+
260
+ ## Checklist
261
+
262
+ - [ ] All four environment variables set (`APP_VERSION`, `SWAGGER_CONTACT_*`)
263
+ - [ ] Every feature module decorated with `@SwaggerFeature()`
264
+ - [ ] Tags in `@SwaggerFeature({ tag })` match tags in `@Api({ tags })`
265
+ - [ ] `SwaggerFeatureDiscovery` called before `setupMultipleSwaggerDocuments()`
266
+ - [ ] `registerDefaultFeatures()` called for the combined `/docs/all` document
@@ -0,0 +1,244 @@
1
+ ---
2
+ title: Payments & Feature Gating
3
+ description: Integrate payment providers (Stripe, Paddle, LemonSqueezy, Mollie) and gate features by subscription tier.
4
+ order: 9
5
+ ---
6
+
7
+ # Payments & Feature Gating
8
+
9
+ This guide covers payment integration with `platform-payments`: choosing a payment provider, handling webhooks, gating features by subscription tier, and tracking feature usage.
10
+
11
+ ---
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ yarn add @breadstone/archipel-platform-payments
17
+ ```
18
+
19
+ ---
20
+
21
+ ## Choose a Payment Provider
22
+
23
+ `platform-payments` normalizes payment operations across multiple providers. You implement the `PaymentClientPort` for your chosen provider:
24
+
25
+ | Provider | What it provides |
26
+ | ---------------- | --------------------------------------- |
27
+ | **Stripe** | Cards, subscriptions, invoices |
28
+ | **Paddle** | SaaS billing, tax handling |
29
+ | **LemonSqueezy** | Digital products, memberships |
30
+ | **Mollie** | European payment methods, subscriptions |
31
+
32
+ ---
33
+
34
+ ## Module Registration
35
+
36
+ ```typescript
37
+ import { Module } from '@nestjs/common';
38
+ import { PaymentModule } from '@breadstone/archipel-platform-payments';
39
+ import { StripePaymentClient } from './adapters/StripePaymentClient';
40
+ import { PrismaFeatureAccessAdapter } from './adapters/PrismaFeatureAccessAdapter';
41
+ import { STRIPE_CONFIG_ENTRIES } from './env';
42
+
43
+ @Module({
44
+ imports: [
45
+ PaymentModule.register({
46
+ paymentClient: StripePaymentClient,
47
+ featureAccess: PrismaFeatureAccessAdapter,
48
+ configEntries: [...STRIPE_CONFIG_ENTRIES],
49
+ }),
50
+ ],
51
+ })
52
+ export class AppModule {}
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Implementing the Payment Client Port
58
+
59
+ The `PaymentClientPort` defines the contract between the library and your payment provider. Implement it for your chosen provider:
60
+
61
+ ```typescript
62
+ import { Injectable } from '@nestjs/common';
63
+ import {
64
+ PaymentClientPort,
65
+ type INormalizedCheckoutSession,
66
+ type INormalizedSubscription,
67
+ type INormalizedWebhookEvent,
68
+ } from '@breadstone/archipel-platform-payments';
69
+
70
+ @Injectable()
71
+ export class StripePaymentClient extends PaymentClientPort {
72
+ public async createCheckoutSession(params: Record<string, unknown>): Promise<INormalizedCheckoutSession> {
73
+ // Use Stripe SDK to create a checkout session
74
+ // Return a normalized result
75
+ }
76
+
77
+ public async getSubscription(subscriptionId: string): Promise<INormalizedSubscription | null> {
78
+ // Fetch subscription details from Stripe
79
+ // Return normalized subscription data
80
+ }
81
+
82
+ public async handleWebhook(payload: Buffer, signature: string): Promise<INormalizedWebhookEvent> {
83
+ // Verify webhook signature and normalize the event
84
+ }
85
+ }
86
+ ```
87
+
88
+ The library uses **normalized models** (`INormalizedSubscription`, `INormalizedCheckoutSession`, `INormalizedWebhookEvent`) so your application code works identically regardless of the payment provider.
89
+
90
+ ---
91
+
92
+ ## Feature Gating
93
+
94
+ The `FeatureAccessPort` lets you restrict functionality based on subscription tiers.
95
+
96
+ ### Step 1: Implement the Port
97
+
98
+ ```typescript
99
+ import { Injectable } from '@nestjs/common';
100
+ import { FeatureAccessPort } from '@breadstone/archipel-platform-payments';
101
+ import { PrismaService } from '@breadstone/archipel-platform-database';
102
+
103
+ @Injectable()
104
+ export class PrismaFeatureAccessAdapter extends FeatureAccessPort {
105
+ private readonly _prisma: PrismaService;
106
+
107
+ constructor(prisma: PrismaService) {
108
+ super();
109
+ this._prisma = prisma;
110
+ }
111
+
112
+ public async hasAccess(userId: string, feature: string): Promise<boolean> {
113
+ const subscription = await this._prisma.subscription.findFirst({
114
+ where: { userId, status: 'active' },
115
+ include: { plan: true },
116
+ });
117
+
118
+ if (!subscription) {
119
+ return false;
120
+ }
121
+
122
+ return subscription.plan.features.includes(feature);
123
+ }
124
+
125
+ public async recordUsage(userId: string, feature: string): Promise<void> {
126
+ await this._prisma.featureUsage.create({
127
+ data: { userId, feature, usedAt: new Date() },
128
+ });
129
+ }
130
+
131
+ public async getUsageCount(userId: string, feature: string, since: Date): Promise<number> {
132
+ return this._prisma.featureUsage.count({
133
+ where: { userId, feature, usedAt: { gte: since } },
134
+ });
135
+ }
136
+ }
137
+ ```
138
+
139
+ ### Step 2: Use the Feature Guard
140
+
141
+ The `FeatureGuard` decorator restricts endpoints to users with access to specific features:
142
+
143
+ ```typescript
144
+ import { Controller, Post, UseGuards } from '@nestjs/common';
145
+ import { JwtAuthGuard } from '@breadstone/archipel-platform-authentication';
146
+ import { FeatureGuard } from '@breadstone/archipel-platform-payments';
147
+
148
+ @Controller('exports')
149
+ @UseGuards(JwtAuthGuard)
150
+ export class ExportController {
151
+ @Post('pdf')
152
+ @FeatureGuard('export:pdf')
153
+ public async exportPdf(): Promise<void> {
154
+ // Only accessible to users with 'export:pdf' feature
155
+ }
156
+
157
+ @Post('csv')
158
+ @FeatureGuard('export:csv')
159
+ public async exportCsv(): Promise<void> {
160
+ // Only accessible to users with 'export:csv' feature
161
+ }
162
+ }
163
+ ```
164
+
165
+ ### Step 3: Track Usage with Interceptor
166
+
167
+ `FeatureUsageInterceptor` automatically records feature usage after a successful request:
168
+
169
+ ```typescript
170
+ import { Controller, Post, UseGuards, UseInterceptors } from '@nestjs/common';
171
+ import { JwtAuthGuard } from '@breadstone/archipel-platform-authentication';
172
+ import { FeatureGuard, FeatureUsageInterceptor } from '@breadstone/archipel-platform-payments';
173
+
174
+ @Controller('ai')
175
+ @UseGuards(JwtAuthGuard)
176
+ export class AiController {
177
+ @Post('generate')
178
+ @FeatureGuard('ai:generate')
179
+ @UseInterceptors(FeatureUsageInterceptor)
180
+ public async generate(): Promise<string> {
181
+ // Usage is recorded automatically after success
182
+ return 'generated content';
183
+ }
184
+ }
185
+ ```
186
+
187
+ ---
188
+
189
+ ## Handling Webhooks
190
+
191
+ Payment providers send webhook events for subscription changes, payment failures, etc. Create a dedicated webhook controller:
192
+
193
+ ```typescript
194
+ import { Controller, Post, Req, Headers, RawBodyRequest } from '@nestjs/common';
195
+ import { PaymentClientPort } from '@breadstone/archipel-platform-payments';
196
+ import { Request } from 'express';
197
+
198
+ @Controller('webhooks/payments')
199
+ export class PaymentWebhookController {
200
+ private readonly _paymentClient: PaymentClientPort;
201
+
202
+ constructor(paymentClient: PaymentClientPort) {
203
+ this._paymentClient = paymentClient;
204
+ }
205
+
206
+ @Post()
207
+ public async handleWebhook(
208
+ @Req() request: RawBodyRequest<Request>,
209
+ @Headers('stripe-signature') signature: string,
210
+ ): Promise<void> {
211
+ const event = await this._paymentClient.handleWebhook(request.rawBody!, signature);
212
+
213
+ switch (event.type) {
214
+ case 'subscription.created':
215
+ case 'subscription.updated':
216
+ // Update subscription in your database
217
+ break;
218
+ case 'subscription.deleted':
219
+ // Handle cancellation
220
+ break;
221
+ case 'payment.failed':
222
+ // Notify user, retry logic
223
+ break;
224
+ }
225
+ }
226
+ }
227
+ ```
228
+
229
+ ---
230
+
231
+ ## Best Practices
232
+
233
+ 1. **Define feature keys as constants.** Never use inline strings for feature identifiers.
234
+ 2. **Verify webhook signatures.** Always validate the webhook payload before processing.
235
+ 3. **Use normalized models.** Don't leak provider-specific types into your business logic.
236
+ 4. **Implement idempotent webhook handlers.** Webhooks can be delivered multiple times.
237
+ 5. **Separate feature gating from billing logic.** The `FeatureAccessPort` should only check access, not manage subscriptions.
238
+
239
+ ---
240
+
241
+ ## Next Steps
242
+
243
+ - See the [Authentication & Authorization](/guides/authentication-and-authorization) guide for securing payment endpoints
244
+ - Browse the [platform-payments API reference](/packages/platform-payments/api/) for complete method signatures