@breadstone/archipel-mcp 0.0.13 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (612) hide show
  1. package/package.json +1 -1
  2. package/src/DocsLoader.js +2 -5
  3. package/src/GuidesLoader.js +2 -5
  4. package/data/guides/ai-text-generation.md +0 -361
  5. package/data/guides/analytics-and-error-tracking.md +0 -189
  6. package/data/guides/authentication-and-authorization.md +0 -657
  7. package/data/guides/blob-storage.md +0 -242
  8. package/data/guides/caching.md +0 -255
  9. package/data/guides/cryptography-and-otp.md +0 -240
  10. package/data/guides/database-setup.md +0 -546
  11. package/data/guides/document-generation.md +0 -174
  12. package/data/guides/email-delivery.md +0 -196
  13. package/data/guides/esigning-integration.md +0 -231
  14. package/data/guides/getting-started.md +0 -351
  15. package/data/guides/implementing-ports.md +0 -317
  16. package/data/guides/index.md +0 -62
  17. package/data/guides/mcp-server.md +0 -222
  18. package/data/guides/openapi-and-feature-discovery.md +0 -266
  19. package/data/guides/payments-and-feature-gating.md +0 -244
  20. package/data/guides/resource-management.md +0 -352
  21. package/data/guides/telemetry-and-observability.md +0 -190
  22. package/data/guides/testing.md +0 -319
  23. package/data/guides/tsdoc-guidelines.md +0 -45
  24. package/data/packages/index.md +0 -52
  25. package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +0 -141
  26. package/data/packages/platform-analytics/api/Class.AnalyticsModule.md +0 -47
  27. package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +0 -169
  28. package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +0 -169
  29. package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +0 -161
  30. package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +0 -169
  31. package/data/packages/platform-analytics/api/Interface.IAnalyticsBreadcrumb.md +0 -58
  32. package/data/packages/platform-analytics/api/Interface.IAnalyticsModuleOptions.md +0 -47
  33. package/data/packages/platform-analytics/api/Interface.IAnalyticsUser.md +0 -58
  34. package/data/packages/platform-analytics/api/TypeAlias.AnalyticsLevel.md +0 -14
  35. package/data/packages/platform-analytics/api/Variable.APPINSIGHTS_CONFIG_ENTRIES.md +0 -14
  36. package/data/packages/platform-analytics/api/Variable.APPLICATIONINSIGHTS_CONNECTION_STRING.md +0 -14
  37. package/data/packages/platform-analytics/api/Variable.DATADOG_CONFIG_ENTRIES.md +0 -14
  38. package/data/packages/platform-analytics/api/Variable.DD_ENV.md +0 -14
  39. package/data/packages/platform-analytics/api/Variable.DD_SERVICE.md +0 -14
  40. package/data/packages/platform-analytics/api/Variable.SENTRY_CONFIG_ENTRIES.md +0 -14
  41. package/data/packages/platform-analytics/api/Variable.SENTRY_DSN.md +0 -14
  42. package/data/packages/platform-analytics/api/Variable.SENTRY_ENVIRONMENT.md +0 -14
  43. package/data/packages/platform-analytics/api/index.md +0 -44
  44. package/data/packages/platform-analytics/index.md +0 -170
  45. package/data/packages/platform-authentication/api/Class.AnonymousAuthGuard.md +0 -40
  46. package/data/packages/platform-authentication/api/Class.AppleConnector.md +0 -86
  47. package/data/packages/platform-authentication/api/Class.AuthModule.md +0 -67
  48. package/data/packages/platform-authentication/api/Class.AuthSubjectPort.md +0 -95
  49. package/data/packages/platform-authentication/api/Class.AuthTokenService.md +0 -59
  50. package/data/packages/platform-authentication/api/Class.ChallengeService.md +0 -131
  51. package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +0 -40
  52. package/data/packages/platform-authentication/api/Class.GithubConnector.md +0 -78
  53. package/data/packages/platform-authentication/api/Class.GoogleConnector.md +0 -84
  54. package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +0 -40
  55. package/data/packages/platform-authentication/api/Class.JwtPayloadBase.md +0 -136
  56. package/data/packages/platform-authentication/api/Class.LastActiveMiddleware.md +0 -71
  57. package/data/packages/platform-authentication/api/Class.LocalAuthGuard.md +0 -40
  58. package/data/packages/platform-authentication/api/Class.MfaService.md +0 -252
  59. package/data/packages/platform-authentication/api/Class.MfaSubjectPort.md +0 -70
  60. package/data/packages/platform-authentication/api/Class.MicrosoftConnector.md +0 -84
  61. package/data/packages/platform-authentication/api/Class.RolesGuard.md +0 -60
  62. package/data/packages/platform-authentication/api/Class.SessionMappingProfile.md +0 -60
  63. package/data/packages/platform-authentication/api/Class.SessionPersistencePort.md +0 -165
  64. package/data/packages/platform-authentication/api/Class.SessionResponse.md +0 -152
  65. package/data/packages/platform-authentication/api/Class.SessionService.md +0 -162
  66. package/data/packages/platform-authentication/api/Class.SocialAuthGuard.md +0 -61
  67. package/data/packages/platform-authentication/api/Class.SocialAuthPort.md +0 -48
  68. package/data/packages/platform-authentication/api/Class.TokenEnricherPort.md +0 -47
  69. package/data/packages/platform-authentication/api/Class.TotpMfaChannel.md +0 -144
  70. package/data/packages/platform-authentication/api/Class.VerificationService.md +0 -154
  71. package/data/packages/platform-authentication/api/Class.VerificationSubjectPort.md +0 -116
  72. package/data/packages/platform-authentication/api/Function.Token.md +0 -18
  73. package/data/packages/platform-authentication/api/Function.UseRoles.md +0 -24
  74. package/data/packages/platform-authentication/api/Function.socialAuthGuardFactory.md +0 -22
  75. package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +0 -143
  76. package/data/packages/platform-authentication/api/Interface.IAuthSubject.md +0 -107
  77. package/data/packages/platform-authentication/api/Interface.IMfaChallengePayload.md +0 -82
  78. package/data/packages/platform-authentication/api/Interface.IMfaChallengeState.md +0 -118
  79. package/data/packages/platform-authentication/api/Interface.IMfaConfirmation.md +0 -22
  80. package/data/packages/platform-authentication/api/Interface.IMfaSetup.md +0 -58
  81. package/data/packages/platform-authentication/api/Interface.IMfaSubject.md +0 -131
  82. package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +0 -91
  83. package/data/packages/platform-authentication/api/Interface.ISessionRecord.md +0 -160
  84. package/data/packages/platform-authentication/api/Interface.ISignInResult.md +0 -82
  85. package/data/packages/platform-authentication/api/Interface.ISocialProfile.md +0 -58
  86. package/data/packages/platform-authentication/api/Interface.IStoreSessionArgs.md +0 -70
  87. package/data/packages/platform-authentication/api/Interface.IVerifiableSubject.md +0 -71
  88. package/data/packages/platform-authentication/api/Variable.APPLE_AUTH_CONFIG_ENTRIES.md +0 -14
  89. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CALLBACK_URL.md +0 -14
  90. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CLIENT_ID.md +0 -14
  91. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_KEY_ID.md +0 -14
  92. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_PRIVATE_KEY.md +0 -14
  93. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_SCOPE.md +0 -14
  94. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_TEAM_ID.md +0 -14
  95. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CALLBACK_URL.md +0 -14
  96. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_ID.md +0 -14
  97. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_SECRET.md +0 -14
  98. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_SCOPE.md +0 -14
  99. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CALLBACK_URL.md +0 -14
  100. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_ID.md +0 -14
  101. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_SECRET.md +0 -14
  102. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_SCOPE.md +0 -14
  103. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_EXPIRES_IN.md +0 -14
  104. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_SECRET.md +0 -14
  105. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_CHALLENGE_EXPIRES_IN.md +0 -14
  106. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_CODE_TTL.md +0 -14
  107. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_MIN_RESEND.md +0 -14
  108. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ENCRYPTION_KEY.md +0 -14
  109. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ISSUER.md +0 -14
  110. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_MAX_ATTEMPTS.md +0 -14
  111. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_CODE_TTL.md +0 -14
  112. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_MIN_RESEND.md +0 -14
  113. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_CODE_TTL.md +0 -14
  114. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_MIN_RESEND.md +0 -14
  115. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CALLBACK_URL.md +0 -14
  116. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_ID.md +0 -14
  117. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_SECRET.md +0 -14
  118. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_SCOPE.md +0 -14
  119. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_TENANT.md +0 -14
  120. package/data/packages/platform-authentication/api/Variable.AUTH_VERIFY_JWT_EXPIRES_IN.md +0 -14
  121. package/data/packages/platform-authentication/api/Variable.GITHUB_AUTH_CONFIG_ENTRIES.md +0 -14
  122. package/data/packages/platform-authentication/api/Variable.GOOGLE_AUTH_CONFIG_ENTRIES.md +0 -14
  123. package/data/packages/platform-authentication/api/Variable.MICROSOFT_AUTH_CONFIG_ENTRIES.md +0 -14
  124. package/data/packages/platform-authentication/api/Variable.PLATFORM_AUTHENTICATION_CONFIG_ENTRIES.md +0 -14
  125. package/data/packages/platform-authentication/api/Variable.ROLES_KEY.md +0 -14
  126. package/data/packages/platform-authentication/api/Variable.SEED_ANONYMOUS_USERNAME.md +0 -14
  127. package/data/packages/platform-authentication/api/Variable.SESSION_LIST_MAPPING_KEY.md +0 -14
  128. package/data/packages/platform-authentication/api/Variable.SESSION_MAPPING_KEY.md +0 -14
  129. package/data/packages/platform-authentication/api/Variable.TOTP_MFA_PROVIDERS.md +0 -29
  130. package/data/packages/platform-authentication/api/Variable.User.md +0 -24
  131. package/data/packages/platform-authentication/api/index.md +0 -112
  132. package/data/packages/platform-authentication/index.md +0 -635
  133. package/data/packages/platform-blob-storage/api/Class.AwsS3BlobProvider.md +0 -196
  134. package/data/packages/platform-blob-storage/api/Class.AzureBlobProvider.md +0 -196
  135. package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +0 -79
  136. package/data/packages/platform-blob-storage/api/Class.BlobModule.md +0 -49
  137. package/data/packages/platform-blob-storage/api/Class.BlobObjectPersistencePort.md +0 -75
  138. package/data/packages/platform-blob-storage/api/Class.BlobService.md +0 -248
  139. package/data/packages/platform-blob-storage/api/Class.BlobVariantPersistencePort.md +0 -51
  140. package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +0 -197
  141. package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +0 -28
  142. package/data/packages/platform-blob-storage/api/Interface.IAwsS3ProviderOptions.md +0 -68
  143. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderOptions.md +0 -38
  144. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +0 -28
  145. package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +0 -38
  146. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +0 -48
  147. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +0 -64
  148. package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +0 -48
  149. package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +0 -138
  150. package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +0 -114
  151. package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +0 -48
  152. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +0 -98
  153. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +0 -28
  154. package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +0 -28
  155. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +0 -68
  156. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +0 -28
  157. package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +0 -12
  158. package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +0 -12
  159. package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +0 -16
  160. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +0 -12
  161. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +0 -12
  162. package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +0 -12
  163. package/data/packages/platform-blob-storage/api/Variable.BlobDownloadResponseTypes.md +0 -26
  164. package/data/packages/platform-blob-storage/api/Variable.BlobProviderKinds.md +0 -26
  165. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +0 -12
  166. package/data/packages/platform-blob-storage/api/index.md +0 -59
  167. package/data/packages/platform-blob-storage/index.md +0 -335
  168. package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +0 -258
  169. package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +0 -157
  170. package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +0 -295
  171. package/data/packages/platform-caching/api/Interface.ICacheMetricsRecorder.md +0 -121
  172. package/data/packages/platform-caching/api/Interface.ICacheStats.md +0 -70
  173. package/data/packages/platform-caching/api/Interface.ILayeredCache.md +0 -198
  174. package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +0 -75
  175. package/data/packages/platform-caching/api/Interface.IRedisLayeredCacheOptions.md +0 -121
  176. package/data/packages/platform-caching/api/index.md +0 -24
  177. package/data/packages/platform-caching/index.md +0 -116
  178. package/data/packages/platform-core/api/Class.AppHealthIndicator.md +0 -50
  179. package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +0 -195
  180. package/data/packages/platform-core/api/Class.BooleanUtils.md +0 -82
  181. package/data/packages/platform-core/api/Class.CUIDGenerator.md +0 -120
  182. package/data/packages/platform-core/api/Class.CasingInterceptor.md +0 -83
  183. package/data/packages/platform-core/api/Class.CatchUtils.md +0 -93
  184. package/data/packages/platform-core/api/Class.ConfigKeyNotFoundError.md +0 -89
  185. package/data/packages/platform-core/api/Class.ConfigModule.md +0 -69
  186. package/data/packages/platform-core/api/Class.ConfigRegistry.md +0 -115
  187. package/data/packages/platform-core/api/Class.ConfigService.md +0 -137
  188. package/data/packages/platform-core/api/Class.ConfigStrategyBase.md +0 -125
  189. package/data/packages/platform-core/api/Class.ContentTemplateEngine.md +0 -63
  190. package/data/packages/platform-core/api/Class.DateTimeUtils.md +0 -101
  191. package/data/packages/platform-core/api/Class.DeviceParserService.md +0 -52
  192. package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +0 -215
  193. package/data/packages/platform-core/api/Class.EnvironmentConfigStrategy.md +0 -141
  194. package/data/packages/platform-core/api/Class.ErrorTemplateService.md +0 -109
  195. package/data/packages/platform-core/api/Class.EventHub.md +0 -163
  196. package/data/packages/platform-core/api/Class.EventModule.md +0 -22
  197. package/data/packages/platform-core/api/Class.FileConfigStrategy.md +0 -147
  198. package/data/packages/platform-core/api/Class.FileResourceStrategy.md +0 -192
  199. package/data/packages/platform-core/api/Class.GUIDGenerator.md +0 -85
  200. package/data/packages/platform-core/api/Class.GlobalExceptionFilter.md +0 -66
  201. package/data/packages/platform-core/api/Class.HealthModule.md +0 -42
  202. package/data/packages/platform-core/api/Class.HealthOrchestrator.md +0 -64
  203. package/data/packages/platform-core/api/Class.HostModule.md +0 -31
  204. package/data/packages/platform-core/api/Class.HostService.md +0 -149
  205. package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +0 -59
  206. package/data/packages/platform-core/api/Class.IdGeneratorBase.md +0 -87
  207. package/data/packages/platform-core/api/Class.IdentifierModule.md +0 -40
  208. package/data/packages/platform-core/api/Class.LimitRequestSizeMiddleware.md +0 -59
  209. package/data/packages/platform-core/api/Class.LocalizedTextRequest.md +0 -42
  210. package/data/packages/platform-core/api/Class.LocalizedTextResponse.md +0 -42
  211. package/data/packages/platform-core/api/Class.MappingBuilder.md +0 -110
  212. package/data/packages/platform-core/api/Class.MappingModule.md +0 -46
  213. package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +0 -56
  214. package/data/packages/platform-core/api/Class.MappingProfileBase.md +0 -52
  215. package/data/packages/platform-core/api/Class.MappingService.md +0 -284
  216. package/data/packages/platform-core/api/Class.NormalizedUtils.md +0 -148
  217. package/data/packages/platform-core/api/Class.PageableRequest.md +0 -42
  218. package/data/packages/platform-core/api/Class.PageableResponse.md +0 -62
  219. package/data/packages/platform-core/api/Class.ProblemDetailException.md +0 -61
  220. package/data/packages/platform-core/api/Class.ProblemDetailExceptionFilter.md +0 -94
  221. package/data/packages/platform-core/api/Class.QuantityResponse.md +0 -42
  222. package/data/packages/platform-core/api/Class.ResourceManager.md +0 -565
  223. package/data/packages/platform-core/api/Class.ResourceModule.md +0 -46
  224. package/data/packages/platform-core/api/Class.ResponseReturn.md +0 -502
  225. package/data/packages/platform-core/api/Class.SseHub.md +0 -183
  226. package/data/packages/platform-core/api/Class.SseModule.md +0 -42
  227. package/data/packages/platform-core/api/Class.TimeStampResponse.md +0 -42
  228. package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +0 -57
  229. package/data/packages/platform-core/api/Class.UUIDGenerator.md +0 -85
  230. package/data/packages/platform-core/api/Class.UserAvatarGeneratorService.md +0 -47
  231. package/data/packages/platform-core/api/Class.UserNameGeneratorService.md +0 -64
  232. package/data/packages/platform-core/api/Function.Public.md +0 -18
  233. package/data/packages/platform-core/api/Function.createConfigKey.md +0 -58
  234. package/data/packages/platform-core/api/Function.createEventKey.md +0 -33
  235. package/data/packages/platform-core/api/Function.createMappingKey.md +0 -39
  236. package/data/packages/platform-core/api/Function.env.md +0 -28
  237. package/data/packages/platform-core/api/Function.getMimeTypeByFileNameOrExtension.md +0 -26
  238. package/data/packages/platform-core/api/ISseEventData.Function.isActionId.md +0 -27
  239. package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +0 -28
  240. package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +0 -40
  241. package/data/packages/platform-core/api/Interface.IConfigKey.md +0 -63
  242. package/data/packages/platform-core/api/Interface.IConfigModuleOptions.md +0 -40
  243. package/data/packages/platform-core/api/Interface.IConfigRegistryEntry.md +0 -79
  244. package/data/packages/platform-core/api/Interface.IDeviceInfo.md +0 -80
  245. package/data/packages/platform-core/api/Interface.IErrorPageParams.md +0 -153
  246. package/data/packages/platform-core/api/Interface.IEventKey.md +0 -57
  247. package/data/packages/platform-core/api/Interface.IEventMap.md +0 -16
  248. package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +0 -72
  249. package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +0 -46
  250. package/data/packages/platform-core/api/Interface.IHealthIndicator.md +0 -41
  251. package/data/packages/platform-core/api/Interface.IHostContentParams.md +0 -232
  252. package/data/packages/platform-core/api/Interface.IIdGenerator.md +0 -57
  253. package/data/packages/platform-core/api/Interface.IMappingBuilder.md +0 -76
  254. package/data/packages/platform-core/api/Interface.IMappingKey.md +0 -58
  255. package/data/packages/platform-core/api/Interface.IMappingProfile.md +0 -32
  256. package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +0 -71
  257. package/data/packages/platform-core/api/Interface.IResourceMetadata.md +0 -94
  258. package/data/packages/platform-core/api/Interface.IResourceResult.md +0 -34
  259. package/data/packages/platform-core/api/Interface.IResourceStrategy.md +0 -134
  260. package/data/packages/platform-core/api/Interface.ISseEventData.md +0 -36
  261. package/data/packages/platform-core/api/Interface.ISseHub.md +0 -91
  262. package/data/packages/platform-core/api/Namespace.ISseEventData.md +0 -14
  263. package/data/packages/platform-core/api/TypeAlias.CamelCase.md +0 -18
  264. package/data/packages/platform-core/api/TypeAlias.ProblemDetail.md +0 -28
  265. package/data/packages/platform-core/api/TypeAlias.ProblemDetailTypeUrlResolver.md +0 -25
  266. package/data/packages/platform-core/api/TypeAlias.SetOptional.md +0 -21
  267. package/data/packages/platform-core/api/TypeAlias.StringValue.md +0 -15
  268. package/data/packages/platform-core/api/Variable.APP_NAME.md +0 -14
  269. package/data/packages/platform-core/api/Variable.APP_PORT.md +0 -14
  270. package/data/packages/platform-core/api/Variable.APP_URL.md +0 -14
  271. package/data/packages/platform-core/api/Variable.APP_VERSION.md +0 -14
  272. package/data/packages/platform-core/api/Variable.GIT_COMMIT.md +0 -14
  273. package/data/packages/platform-core/api/Variable.HEALTH_INDICATORS_TOKEN.md +0 -14
  274. package/data/packages/platform-core/api/Variable.ID_GENERATOR_TOKEN.md +0 -14
  275. package/data/packages/platform-core/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +0 -14
  276. package/data/packages/platform-core/api/Variable.INTELLIGENCE_MODEL.md +0 -14
  277. package/data/packages/platform-core/api/Variable.INTELLIGENCE_TEMPERATURE.md +0 -14
  278. package/data/packages/platform-core/api/Variable.INTELLIGENCE_TOP_P.md +0 -14
  279. package/data/packages/platform-core/api/Variable.IS_PUBLIC_KEY.md +0 -12
  280. package/data/packages/platform-core/api/Variable.IpAddress.md +0 -31
  281. package/data/packages/platform-core/api/Variable.Lang.md +0 -29
  282. package/data/packages/platform-core/api/Variable.NODE_ENV.md +0 -14
  283. package/data/packages/platform-core/api/Variable.PLATFORM_CORE_CONFIG_ENTRIES.md +0 -14
  284. package/data/packages/platform-core/api/Variable.UserAgent.md +0 -24
  285. package/data/packages/platform-core/api/index.md +0 -142
  286. package/data/packages/platform-core/index.md +0 -485
  287. package/data/packages/platform-cryptography/api/Class.BcryptService.md +0 -72
  288. package/data/packages/platform-cryptography/api/Class.CryptoService.md +0 -51
  289. package/data/packages/platform-cryptography/api/Class.OtpService.md +0 -109
  290. package/data/packages/platform-cryptography/api/Interface.IOtpService.md +0 -81
  291. package/data/packages/platform-cryptography/api/Interface.IOtpUriOptions.md +0 -46
  292. package/data/packages/platform-cryptography/api/Variable.OTP_SERVICE_TOKEN.md +0 -14
  293. package/data/packages/platform-cryptography/api/Variable.TOTP_EPOCH_TOLERANCE.md +0 -23
  294. package/data/packages/platform-cryptography/api/index.md +0 -28
  295. package/data/packages/platform-cryptography/index.md +0 -132
  296. package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +0 -75
  297. package/data/packages/platform-database/api/Class.DatabaseModule.md +0 -68
  298. package/data/packages/platform-database/api/Class.DatabaseService.md +0 -161
  299. package/data/packages/platform-database/api/Class.PrismaService.md +0 -112
  300. package/data/packages/platform-database/api/Class.RepositoryBase.md +0 -586
  301. package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +0 -55
  302. package/data/packages/platform-database/api/Function.pageable.md +0 -35
  303. package/data/packages/platform-database/api/Function.paginator.md +0 -22
  304. package/data/packages/platform-database/api/Function.query.md +0 -34
  305. package/data/packages/platform-database/api/Function.skip.md +0 -33
  306. package/data/packages/platform-database/api/Function.transactionalQuery.md +0 -31
  307. package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +0 -34
  308. package/data/packages/platform-database/api/Interface.IPaginateOptions.md +0 -28
  309. package/data/packages/platform-database/api/Interface.IPaginatedResult.md +0 -77
  310. package/data/packages/platform-database/api/Interface.IPrismaServiceOptions.md +0 -22
  311. package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +0 -51
  312. package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +0 -50
  313. package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +0 -18
  314. package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +0 -18
  315. package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +0 -31
  316. package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +0 -27
  317. package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +0 -26
  318. package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +0 -14
  319. package/data/packages/platform-database/api/Variable.DB_ACCELERATE_URL.md +0 -14
  320. package/data/packages/platform-database/api/Variable.DB_AUTO_CONNECTION.md +0 -14
  321. package/data/packages/platform-database/api/Variable.DB_OPTIMIZE.md +0 -14
  322. package/data/packages/platform-database/api/Variable.DB_OPTIMIZE_API_KEY.md +0 -14
  323. package/data/packages/platform-database/api/Variable.PLATFORM_DATABASE_CONFIG_ENTRIES.md +0 -14
  324. package/data/packages/platform-database/api/index.md +0 -59
  325. package/data/packages/platform-database/index.md +0 -323
  326. package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +0 -277
  327. package/data/packages/platform-documents/api/Class.DocumentEngine.md +0 -80
  328. package/data/packages/platform-documents/api/Class.DocumentModule.md +0 -47
  329. package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +0 -131
  330. package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +0 -94
  331. package/data/packages/platform-documents/api/Interface.IDocumentPlaceholderDetail.md +0 -70
  332. package/data/packages/platform-documents/api/Interface.IDocumentProbeReport.md +0 -118
  333. package/data/packages/platform-documents/api/Interface.IDocumentRenderer.md +0 -47
  334. package/data/packages/platform-documents/api/Interface.IImagePayload.md +0 -58
  335. package/data/packages/platform-documents/api/Interface.IImageProcessor.md +0 -95
  336. package/data/packages/platform-documents/api/Interface.IRenderOptions.md +0 -64
  337. package/data/packages/platform-documents/api/Interface.IRenderResult.md +0 -58
  338. package/data/packages/platform-documents/api/TypeAlias.DocumentFormat.md +0 -14
  339. package/data/packages/platform-documents/api/TypeAlias.EngineType.md +0 -14
  340. package/data/packages/platform-documents/api/TypeAlias.ImageMimeType.md +0 -14
  341. package/data/packages/platform-documents/api/TypeAlias.TemplateFormat.md +0 -14
  342. package/data/packages/platform-documents/api/TypeAlias.TemplateType.md +0 -14
  343. package/data/packages/platform-documents/api/Variable.DOCUMENT_MODULE_OPTIONS.md +0 -14
  344. package/data/packages/platform-documents/api/Variable.DOCUMENT_PARSER_TOKEN.md +0 -14
  345. package/data/packages/platform-documents/api/Variable.DOCUMENT_RENDERER_TOKEN.md +0 -14
  346. package/data/packages/platform-documents/api/Variable.IMAGE_PROCESSOR_TOKEN.md +0 -14
  347. package/data/packages/platform-documents/api/index.md +0 -47
  348. package/data/packages/platform-documents/index.md +0 -219
  349. package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +0 -184
  350. package/data/packages/platform-esigning/api/Class.EsigningError.md +0 -65
  351. package/data/packages/platform-esigning/api/Class.EsigningModule.md +0 -48
  352. package/data/packages/platform-esigning/api/Class.EsigningPersistencePort.md +0 -90
  353. package/data/packages/platform-esigning/api/Class.EsigningService.md +0 -198
  354. package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +0 -249
  355. package/data/packages/platform-esigning/api/Class.SigningProviderError.md +0 -101
  356. package/data/packages/platform-esigning/api/Class.SigningRequestNotFoundError.md +0 -78
  357. package/data/packages/platform-esigning/api/Class.WebhookVerificationError.md +0 -60
  358. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequest.md +0 -94
  359. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestDocument.md +0 -58
  360. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestSigner.md +0 -58
  361. package/data/packages/platform-esigning/api/Interface.ICreateSigningSessionRequest.md +0 -46
  362. package/data/packages/platform-esigning/api/Interface.IEsigningModuleOptions.md +0 -60
  363. package/data/packages/platform-esigning/api/Interface.IEsigningWebhookEvent.md +0 -82
  364. package/data/packages/platform-esigning/api/Interface.ISignedDocument.md +0 -82
  365. package/data/packages/platform-esigning/api/Interface.ISigner.md +0 -82
  366. package/data/packages/platform-esigning/api/Interface.ISigningDocument.md +0 -82
  367. package/data/packages/platform-esigning/api/Interface.ISigningField.md +0 -142
  368. package/data/packages/platform-esigning/api/Interface.ISigningRequest.md +0 -142
  369. package/data/packages/platform-esigning/api/Interface.ISigningSession.md +0 -70
  370. package/data/packages/platform-esigning/api/TypeAlias.SignerRole.md +0 -14
  371. package/data/packages/platform-esigning/api/TypeAlias.SignerStatus.md +0 -14
  372. package/data/packages/platform-esigning/api/TypeAlias.SigningFieldType.md +0 -14
  373. package/data/packages/platform-esigning/api/TypeAlias.SigningRequestStatus.md +0 -14
  374. package/data/packages/platform-esigning/api/TypeAlias.WebhookEventType.md +0 -14
  375. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_BASE_URL.md +0 -14
  376. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CLIENT_SECRET.md +0 -14
  377. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CONFIG_ENTRIES.md +0 -14
  378. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_INTEGRATION_KEY.md +0 -14
  379. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_WEBHOOK_CLIENT_ID.md +0 -14
  380. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_ACCOUNT_ID.md +0 -14
  381. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_BASE_URL.md +0 -14
  382. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_CONFIG_ENTRIES.md +0 -14
  383. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_INTEGRATION_KEY.md +0 -14
  384. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_SECRET_KEY.md +0 -14
  385. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_WEBHOOK_HMAC_KEY.md +0 -14
  386. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_API_KEY.md +0 -14
  387. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CLIENT_ID.md +0 -14
  388. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CONFIG_ENTRIES.md +0 -14
  389. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_WEBHOOK_SECRET.md +0 -14
  390. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_BASE_URL.md +0 -14
  391. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_KEY.md +0 -14
  392. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER.md +0 -12
  393. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER_OPTIONS.md +0 -12
  394. package/data/packages/platform-esigning/api/Variable.ESIGNING_WEBHOOK_SECRET.md +0 -14
  395. package/data/packages/platform-esigning/api/Variable.PLATFORM_ESIGNING_CONFIG_ENTRIES.md +0 -14
  396. package/data/packages/platform-esigning/api/Variable.SIGNNOW_API_KEY.md +0 -14
  397. package/data/packages/platform-esigning/api/Variable.SIGNNOW_BASE_URL.md +0 -14
  398. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_ID.md +0 -14
  399. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_SECRET.md +0 -14
  400. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CONFIG_ENTRIES.md +0 -14
  401. package/data/packages/platform-esigning/api/Variable.SIGNNOW_WEBHOOK_SECRET.md +0 -14
  402. package/data/packages/platform-esigning/api/Variable.SignerRoles.md +0 -30
  403. package/data/packages/platform-esigning/api/Variable.SignerStatuses.md +0 -32
  404. package/data/packages/platform-esigning/api/Variable.SigningFieldTypes.md +0 -38
  405. package/data/packages/platform-esigning/api/Variable.SigningRequestStatuses.md +0 -36
  406. package/data/packages/platform-esigning/api/Variable.WebhookEventTypes.md +0 -38
  407. package/data/packages/platform-esigning/api/index.md +0 -84
  408. package/data/packages/platform-esigning/index.md +0 -691
  409. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistrarBase.md +0 -94
  410. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistry.md +0 -106
  411. package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +0 -22
  412. package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +0 -81
  413. package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +0 -26
  414. package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +0 -26
  415. package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +0 -26
  416. package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +0 -26
  417. package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +0 -26
  418. package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +0 -31
  419. package/data/packages/platform-intelligence/api/Interface.IIntelligenceArtifact.md +0 -34
  420. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapability.md +0 -71
  421. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityMetadata.md +0 -70
  422. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityPayload.md +0 -46
  423. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityRegistry.md +0 -78
  424. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityResult.md +0 -46
  425. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +0 -46
  426. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContext.md +0 -72
  427. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContextBuilder.md +0 -35
  428. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationMessageSnapshot.md +0 -70
  429. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationSnapshot.md +0 -58
  430. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFollowUpQuestion.md +0 -46
  431. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntent.md +0 -46
  432. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntentEntity.md +0 -34
  433. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessageModel.md +0 -70
  434. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessagePayload.md +0 -34
  435. package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +0 -34
  436. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptMessage.md +0 -34
  437. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +0 -94
  438. package/data/packages/platform-intelligence/api/Interface.IIntelligenceResponseMessage.md +0 -34
  439. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +0 -60
  440. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +0 -46
  441. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +0 -53
  442. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceConversationMessageRole.md +0 -14
  443. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +0 -24
  444. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +0 -14
  445. package/data/packages/platform-intelligence/api/Variable.IntelligenceConversationMessageRoles.md +0 -26
  446. package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +0 -28
  447. package/data/packages/platform-intelligence/api/index.md +0 -69
  448. package/data/packages/platform-intelligence/index.md +0 -131
  449. package/data/packages/platform-logging/api/Class.LoggerModule.md +0 -20
  450. package/data/packages/platform-logging/api/Variable.APP_LOG_LEVEL.md +0 -14
  451. package/data/packages/platform-logging/api/Variable.PLATFORM_LOGGING_CONFIG_ENTRIES.md +0 -14
  452. package/data/packages/platform-logging/api/index.md +0 -19
  453. package/data/packages/platform-logging/index.md +0 -92
  454. package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +0 -60
  455. package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +0 -66
  456. package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +0 -58
  457. package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +0 -75
  458. package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +0 -78
  459. package/data/packages/platform-mailing/api/Class.MailModule.md +0 -22
  460. package/data/packages/platform-mailing/api/Class.MailService.md +0 -96
  461. package/data/packages/platform-mailing/api/Class.MailTemplateEngine.md +0 -93
  462. package/data/packages/platform-mailing/api/Class.MailVerificationService.md +0 -85
  463. package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +0 -75
  464. package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +0 -75
  465. package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +0 -75
  466. package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +0 -75
  467. package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +0 -75
  468. package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +0 -53
  469. package/data/packages/platform-mailing/api/Interface.IMailEvents.md +0 -66
  470. package/data/packages/platform-mailing/api/Interface.IMailTemplateVariants.md +0 -30
  471. package/data/packages/platform-mailing/api/TypeAlias.MailTemplateFormat.md +0 -14
  472. package/data/packages/platform-mailing/api/Variable.MAILGUN_API_KEY.md +0 -14
  473. package/data/packages/platform-mailing/api/Variable.MAILGUN_CONFIG_ENTRIES.md +0 -14
  474. package/data/packages/platform-mailing/api/Variable.MAILGUN_DOMAIN.md +0 -14
  475. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY.md +0 -14
  476. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY_TOKEN.md +0 -12
  477. package/data/packages/platform-mailing/api/Variable.MAIL_HOST.md +0 -14
  478. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_API_KEY.md +0 -14
  479. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_DOMAIN.md +0 -14
  480. package/data/packages/platform-mailing/api/Variable.MAIL_PORT.md +0 -14
  481. package/data/packages/platform-mailing/api/Variable.MAIL_POSTMARK_API_KEY.md +0 -14
  482. package/data/packages/platform-mailing/api/Variable.MAIL_RESEND_API_KEY.md +0 -14
  483. package/data/packages/platform-mailing/api/Variable.MAIL_SENDER_EMAIL.md +0 -14
  484. package/data/packages/platform-mailing/api/Variable.MAIL_SENDGRID_API_KEY.md +0 -14
  485. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_HOST.md +0 -14
  486. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PASSWORD.md +0 -14
  487. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PORT.md +0 -14
  488. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_SECURE.md +0 -14
  489. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_USER.md +0 -14
  490. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_ENGINE_FORMAT.md +0 -14
  491. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_FETCH_STRATEGY_TOKEN.md +0 -16
  492. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_STRATEGY.md +0 -14
  493. package/data/packages/platform-mailing/api/Variable.MAIL_USER.md +0 -14
  494. package/data/packages/platform-mailing/api/Variable.PLATFORM_MAILING_CONFIG_ENTRIES.md +0 -14
  495. package/data/packages/platform-mailing/api/Variable.POSTMARK_API_KEY.md +0 -14
  496. package/data/packages/platform-mailing/api/Variable.POSTMARK_CONFIG_ENTRIES.md +0 -14
  497. package/data/packages/platform-mailing/api/Variable.RESEND_API_KEY.md +0 -14
  498. package/data/packages/platform-mailing/api/Variable.RESEND_CONFIG_ENTRIES.md +0 -14
  499. package/data/packages/platform-mailing/api/Variable.SENDGRID_API_KEY.md +0 -14
  500. package/data/packages/platform-mailing/api/Variable.SENDGRID_CONFIG_ENTRIES.md +0 -14
  501. package/data/packages/platform-mailing/api/Variable.SEND_MAIL_EVENT_KEY.md +0 -14
  502. package/data/packages/platform-mailing/api/index.md +0 -74
  503. package/data/packages/platform-mailing/index.md +0 -335
  504. package/data/packages/platform-mcp/api/Class.McpDiscoveryService.md +0 -64
  505. package/data/packages/platform-mcp/api/Class.McpModule.md +0 -82
  506. package/data/packages/platform-mcp/api/Class.McpRegistryService.md +0 -146
  507. package/data/packages/platform-mcp/api/Class.McpServerService.md +0 -196
  508. package/data/packages/platform-mcp/api/Function.McpPrompt.md +0 -28
  509. package/data/packages/platform-mcp/api/Function.McpResource.md +0 -28
  510. package/data/packages/platform-mcp/api/Function.McpTool.md +0 -28
  511. package/data/packages/platform-mcp/api/Interface.IMcpHandlerMetadata.md +0 -46
  512. package/data/packages/platform-mcp/api/Interface.IMcpModuleAsyncOptions.md +0 -75
  513. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptions.md +0 -125
  514. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptionsFactory.md +0 -27
  515. package/data/packages/platform-mcp/api/Interface.IMcpPromptMetadata.md +0 -58
  516. package/data/packages/platform-mcp/api/Interface.IMcpResourceMetadata.md +0 -72
  517. package/data/packages/platform-mcp/api/Interface.IMcpToolMetadata.md +0 -82
  518. package/data/packages/platform-mcp/api/Interface.IRegisteredPrompt.md +0 -40
  519. package/data/packages/platform-mcp/api/Interface.IRegisteredResource.md +0 -40
  520. package/data/packages/platform-mcp/api/Interface.IRegisteredTool.md +0 -40
  521. package/data/packages/platform-mcp/api/Interface.ISseTransportOptions.md +0 -22
  522. package/data/packages/platform-mcp/api/Interface.IStreamableHttpTransportOptions.md +0 -38
  523. package/data/packages/platform-mcp/api/Variable.MCP_MODULE_OPTIONS.md +0 -14
  524. package/data/packages/platform-mcp/api/index.md +0 -46
  525. package/data/packages/platform-mcp/index.md +0 -299
  526. package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +0 -70
  527. package/data/packages/platform-openapi/api/Class.SwaggerFeatureRegistry.md +0 -99
  528. package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +0 -77
  529. package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +0 -46
  530. package/data/packages/platform-openapi/api/Function.Api.md +0 -35
  531. package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +0 -42
  532. package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +0 -18
  533. package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +0 -27
  534. package/data/packages/platform-openapi/api/Interface.IFeatureSwaggerConfig.md +0 -68
  535. package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +0 -68
  536. package/data/packages/platform-openapi/api/Variable.APP_VERSION.md +0 -14
  537. package/data/packages/platform-openapi/api/Variable.PLATFORM_OPENAPI_CONFIG_ENTRIES.md +0 -14
  538. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_EMAIL.md +0 -14
  539. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_NAME.md +0 -14
  540. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_URL.md +0 -14
  541. package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +0 -12
  542. package/data/packages/platform-openapi/api/index.md +0 -42
  543. package/data/packages/platform-openapi/index.md +0 -170
  544. package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +0 -74
  545. package/data/packages/platform-payments/api/Class.FeatureGuard.md +0 -68
  546. package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +0 -69
  547. package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +0 -163
  548. package/data/packages/platform-payments/api/Class.MollieClient.md +0 -163
  549. package/data/packages/platform-payments/api/Class.PaddleClient.md +0 -163
  550. package/data/packages/platform-payments/api/Class.PaymentClientPort.md +0 -142
  551. package/data/packages/platform-payments/api/Class.PaymentModule.md +0 -48
  552. package/data/packages/platform-payments/api/Class.StripeClient.md +0 -163
  553. package/data/packages/platform-payments/api/Function.RequiresFeature.md +0 -25
  554. package/data/packages/platform-payments/api/Interface.IFeatureAccessResult.md +0 -70
  555. package/data/packages/platform-payments/api/Interface.INormalizedCheckoutSession.md +0 -70
  556. package/data/packages/platform-payments/api/Interface.INormalizedPrice.md +0 -80
  557. package/data/packages/platform-payments/api/Interface.INormalizedSubscription.md +0 -100
  558. package/data/packages/platform-payments/api/Interface.INormalizedWebhookEvent.md +0 -84
  559. package/data/packages/platform-payments/api/Interface.IPaymentModuleOptions.md +0 -60
  560. package/data/packages/platform-payments/api/TypeAlias.SubscriptionStatus.md +0 -22
  561. package/data/packages/platform-payments/api/Variable.FEATURE_KEY_METADATA.md +0 -12
  562. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_API_KEY.md +0 -14
  563. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_CONFIG_ENTRIES.md +0 -14
  564. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_STORE_ID.md +0 -14
  565. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_WEBHOOK_SECRET.md +0 -14
  566. package/data/packages/platform-payments/api/Variable.MOLLIE_API_KEY.md +0 -14
  567. package/data/packages/platform-payments/api/Variable.MOLLIE_CONFIG_ENTRIES.md +0 -14
  568. package/data/packages/platform-payments/api/Variable.MOLLIE_WEBHOOK_SECRET.md +0 -14
  569. package/data/packages/platform-payments/api/Variable.PADDLE_API_KEY.md +0 -14
  570. package/data/packages/platform-payments/api/Variable.PADDLE_CONFIG_ENTRIES.md +0 -14
  571. package/data/packages/platform-payments/api/Variable.PADDLE_ENVIRONMENT.md +0 -14
  572. package/data/packages/platform-payments/api/Variable.PADDLE_WEBHOOK_SECRET.md +0 -14
  573. package/data/packages/platform-payments/api/Variable.STRIPE_API_KEY.md +0 -14
  574. package/data/packages/platform-payments/api/Variable.STRIPE_CONFIG_ENTRIES.md +0 -14
  575. package/data/packages/platform-payments/api/Variable.STRIPE_WEBHOOK_SECRET.md +0 -14
  576. package/data/packages/platform-payments/api/index.md +0 -63
  577. package/data/packages/platform-payments/index.md +0 -532
  578. package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +0 -56
  579. package/data/packages/platform-reporting/api/Class.ReportingDatasetNotFoundError.md +0 -40
  580. package/data/packages/platform-reporting/api/Class.ReportingFacade.md +0 -84
  581. package/data/packages/platform-reporting/api/Class.ReportingModule.md +0 -22
  582. package/data/packages/platform-reporting/api/Interface.IReportingContributor.md +0 -61
  583. package/data/packages/platform-reporting/api/Interface.IReportingDataset.md +0 -82
  584. package/data/packages/platform-reporting/api/Interface.IReportingDatasetField.md +0 -70
  585. package/data/packages/platform-reporting/api/Interface.IReportingQuery.md +0 -60
  586. package/data/packages/platform-reporting/api/Interface.IReportingQueryFilter.md +0 -40
  587. package/data/packages/platform-reporting/api/Interface.IReportingQueryResult.md +0 -60
  588. package/data/packages/platform-reporting/api/Interface.IReportingQuerySort.md +0 -30
  589. package/data/packages/platform-reporting/api/TypeAlias.ReportingFieldType.md +0 -12
  590. package/data/packages/platform-reporting/api/TypeAlias.ReportingFilterOperator.md +0 -12
  591. package/data/packages/platform-reporting/api/TypeAlias.ReportingQueryResultRow.md +0 -14
  592. package/data/packages/platform-reporting/api/Variable.ReportingFieldTypes.md +0 -30
  593. package/data/packages/platform-reporting/api/Variable.ReportingFilterOperators.md +0 -28
  594. package/data/packages/platform-reporting/api/index.md +0 -42
  595. package/data/packages/platform-reporting/index.md +0 -229
  596. package/data/packages/platform-telemetry/api/Class.NoopTelemetryFacade.md +0 -113
  597. package/data/packages/platform-telemetry/api/Class.TelemetryCacheMetricsRecorder.md +0 -175
  598. package/data/packages/platform-telemetry/api/Class.TelemetryFacade.md +0 -127
  599. package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +0 -226
  600. package/data/packages/platform-telemetry/api/Class.TelemetryModule.md +0 -40
  601. package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +0 -48
  602. package/data/packages/platform-telemetry/api/Interface.ITelemetryFacade.md +0 -85
  603. package/data/packages/platform-telemetry/api/Interface.ITelemetryMetricsOptions.md +0 -38
  604. package/data/packages/platform-telemetry/api/Interface.ITelemetryOptions.md +0 -136
  605. package/data/packages/platform-telemetry/api/Interface.ITelemetryTracesOptions.md +0 -38
  606. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_ENABLED.md +0 -12
  607. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_FACADE.md +0 -12
  608. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_OPTIONS.md +0 -12
  609. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_SHUTDOWN.md +0 -12
  610. package/data/packages/platform-telemetry/api/Variable.defaultTelemetryOptions.md +0 -12
  611. package/data/packages/platform-telemetry/api/index.md +0 -36
  612. package/data/packages/platform-telemetry/index.md +0 -234
@@ -1,351 +0,0 @@
1
- ---
2
- title: Getting Started
3
- description: Set up an Archipel-powered NestJS application from scratch.
4
- order: 1
5
- ---
6
-
7
- # Getting Started
8
-
9
- This guide walks you through adding Archipel packages to a NestJS application. By the end, you'll have a working setup with configuration management, database access, and authentication.
10
-
11
- ## Prerequisites
12
-
13
- - Node.js 20 or later
14
- - A NestJS application (v10+)
15
- - PostgreSQL database (for `platform-database`)
16
- - Prisma CLI (`npx prisma`)
17
-
18
- ## Install the Foundation
19
-
20
- Every Archipel application starts with `platform-core`. It provides configuration management, object mapping, caching, and cryptographic utilities that other packages depend on.
21
-
22
- ```bash
23
- yarn add @breadstone/archipel-platform-core
24
- ```
25
-
26
- ### Set Up Configuration
27
-
28
- Archipel uses a type-safe configuration system. Instead of reading `process.env` directly, you define typed config keys and register them with the `ConfigModule`. This gives you compile-time safety, centralized validation, and default values — all scoped to your module.
29
-
30
- Create a config file for your application:
31
-
32
- ```typescript
33
- // src/env.ts
34
- import { createConfigKey, type IConfigRegistryEntry } from '@breadstone/archipel-platform-core';
35
-
36
- export const DATABASE_URL = createConfigKey<string>('DATABASE_URL');
37
- export const JWT_SECRET = createConfigKey<string>('JWT_SECRET');
38
- export const JWT_EXPIRATION = createConfigKey<string>('JWT_EXPIRATION');
39
-
40
- export const APP_CONFIG_ENTRIES: ReadonlyArray<IConfigRegistryEntry> = [
41
- { key: DATABASE_URL, module: 'app', required: true, description: 'PostgreSQL connection string' },
42
- { key: JWT_SECRET, module: 'app', required: true, description: 'Secret for signing JWTs' },
43
- { key: JWT_EXPIRATION, module: 'app', required: false, defaultValue: '1h', description: 'JWT token lifetime' },
44
- ];
45
- ```
46
-
47
- Register it in your root module:
48
-
49
- ```typescript
50
- // src/app.module.ts
51
- import { Module } from '@nestjs/common';
52
- import { ConfigModule } from '@breadstone/archipel-platform-core';
53
- import { APP_CONFIG_ENTRIES } from './env';
54
-
55
- @Module({
56
- imports: [ConfigModule.register('app', APP_CONFIG_ENTRIES)],
57
- })
58
- export class AppModule {}
59
- ```
60
-
61
- Now you can inject `ConfigService` anywhere and read values with full type safety:
62
-
63
- ```typescript
64
- import { Injectable } from '@nestjs/common';
65
- import { ConfigService } from '@breadstone/archipel-platform-core';
66
- import { JWT_SECRET } from './env';
67
-
68
- @Injectable()
69
- export class TokenService {
70
- private readonly _secret: string;
71
-
72
- constructor(configService: ConfigService) {
73
- this._secret = configService.get(JWT_SECRET);
74
- // TypeScript knows this is a string — no cast needed
75
- }
76
- }
77
- ```
78
-
79
- The `ConfigModule` validates all required keys at startup. If `DATABASE_URL` is missing from the environment, the application fails immediately with a clear error message instead of crashing later at runtime.
80
-
81
- ### Set Up Object Mapping
82
-
83
- The `MappingModule` provides a centralized service for transforming domain entities into response DTOs. This keeps transformation logic out of your services and controllers and makes it testable in isolation.
84
-
85
- ```typescript
86
- import { Module } from '@nestjs/common';
87
- import { ConfigModule, MappingModule } from '@breadstone/archipel-platform-core';
88
- import { APP_CONFIG_ENTRIES } from './env';
89
- import { UserMappingProfile } from './mapping/UserMappingProfile';
90
-
91
- @Module({
92
- imports: [ConfigModule.register('app', APP_CONFIG_ENTRIES), MappingModule],
93
- providers: [UserMappingProfile],
94
- })
95
- export class AppModule {}
96
- ```
97
-
98
- You define mapping profiles that register transformations:
99
-
100
- ```typescript
101
- import { Injectable } from '@nestjs/common';
102
- import { MappingProfileBase, type MappingRegistry } from '@breadstone/archipel-platform-core';
103
- import { USER_TO_RESPONSE } from './mapping-keys';
104
-
105
- @Injectable()
106
- export class UserMappingProfile extends MappingProfileBase {
107
- public override configure(registry: MappingRegistry): void {
108
- registry.createMap(USER_TO_RESPONSE, (source: IUserEntity) => ({
109
- id: source.id,
110
- name: source.userName,
111
- email: source.email,
112
- }));
113
- }
114
- }
115
- ```
116
-
117
- Then use `MappingService.map()` in controllers to convert entities to responses without leaking mapping logic into services.
118
-
119
- ---
120
-
121
- ## Add Database Access
122
-
123
- Install the database package:
124
-
125
- ```bash
126
- yarn add @breadstone/archipel-platform-database
127
- ```
128
-
129
- `platform-database` provides a repository + query pattern on top of Prisma. Instead of calling Prisma directly from services, you define query objects and execute them through a repository base class. This keeps data access logic encapsulated, testable, and separate from business logic.
130
-
131
- Register the module:
132
-
133
- ```typescript
134
- // src/app.module.ts
135
- import { Module } from '@nestjs/common';
136
- import { ConfigModule, MappingModule } from '@breadstone/archipel-platform-core';
137
- import { DatabaseModule } from '@breadstone/archipel-platform-database';
138
- import { APP_CONFIG_ENTRIES } from './env';
139
-
140
- @Module({
141
- imports: [ConfigModule.register('app', APP_CONFIG_ENTRIES), MappingModule, DatabaseModule.register()],
142
- })
143
- export class AppModule {}
144
- ```
145
-
146
- ### Define Queries
147
-
148
- A query is a plain object that describes a database operation. It receives a Prisma client and returns a result:
149
-
150
- ```typescript
151
- // src/users/queries/findUserByIdQuery.ts
152
- import { type IRepositoryQuery } from '@breadstone/archipel-platform-database';
153
- import { type PrismaClient } from '@prisma/client';
154
-
155
- export interface IUserEntity {
156
- id: string;
157
- userName: string;
158
- email: string;
159
- }
160
-
161
- export const findUserByIdQuery = (id: string): IRepositoryQuery<PrismaClient, IUserEntity | null> => ({
162
- execute: (prisma) =>
163
- prisma.user.findUnique({
164
- where: { id },
165
- select: { id: true, userName: true, email: true },
166
- }),
167
- });
168
- ```
169
-
170
- ### Create a Repository
171
-
172
- Repositories extend `RepositoryBase` and execute queries:
173
-
174
- ```typescript
175
- // src/users/UserRepository.ts
176
- import { Injectable } from '@nestjs/common';
177
- import { RepositoryBase } from '@breadstone/archipel-platform-database';
178
- import { findUserByIdQuery, type IUserEntity } from './queries/findUserByIdQuery';
179
-
180
- @Injectable()
181
- export class UserRepository extends RepositoryBase {
182
- public async findById(id: string): Promise<IUserEntity | null> {
183
- return this.execute(findUserByIdQuery(id));
184
- }
185
- }
186
- ```
187
-
188
- This pattern means your services never touch Prisma directly. They call repository methods, which execute typed queries. When you need to test a service, you mock the repository — not Prisma internals.
189
-
190
- ---
191
-
192
- ## Add Authentication
193
-
194
- Install the authentication package:
195
-
196
- ```bash
197
- yarn add @breadstone/archipel-platform-authentication
198
- ```
199
-
200
- Authentication is the first package where you encounter **ports** — abstract classes that define contracts between the library and your application. `AuthModule` requires four port implementations that tell it how to look up users, sessions, MFA state, and verification records in your specific data store.
201
-
202
- ### Implement the Required Ports
203
-
204
- Here's the most important one — `AuthSubjectPort`, which handles user lookup:
205
-
206
- ```typescript
207
- // src/adapters/PrismaAuthSubjectAdapter.ts
208
- import { Injectable } from '@nestjs/common';
209
- import { AuthSubjectPort, type IAuthSubject } from '@breadstone/archipel-platform-authentication';
210
- import { PrismaService } from '@breadstone/archipel-platform-database';
211
-
212
- @Injectable()
213
- export class PrismaAuthSubjectAdapter extends AuthSubjectPort {
214
- private readonly _prisma: PrismaService;
215
-
216
- constructor(prisma: PrismaService) {
217
- super();
218
- this._prisma = prisma;
219
- }
220
-
221
- public async findById(id: string): Promise<IAuthSubject | null> {
222
- const user = await this._prisma.user.findUnique({
223
- where: { id },
224
- select: {
225
- id: true,
226
- userName: true,
227
- email: true,
228
- password: true,
229
- isVerified: true,
230
- isAnonymous: true,
231
- roles: true,
232
- mfaEnabled: true,
233
- },
234
- });
235
-
236
- return user ?? null;
237
- }
238
-
239
- public async findByLogin(login: string): Promise<IAuthSubject | null> {
240
- const user = await this._prisma.user.findFirst({
241
- where: { OR: [{ userName: login }, { email: login }] },
242
- select: {
243
- id: true,
244
- userName: true,
245
- email: true,
246
- password: true,
247
- isVerified: true,
248
- isAnonymous: true,
249
- roles: true,
250
- mfaEnabled: true,
251
- },
252
- });
253
-
254
- return user ?? null;
255
- }
256
-
257
- public async findAnonymous(userName: string): Promise<IAuthSubject | null> {
258
- const user = await this._prisma.user.findFirst({
259
- where: { userName, isAnonymous: true },
260
- select: {
261
- id: true,
262
- userName: true,
263
- email: true,
264
- password: true,
265
- isVerified: true,
266
- isAnonymous: true,
267
- roles: true,
268
- mfaEnabled: true,
269
- },
270
- });
271
-
272
- return user ?? null;
273
- }
274
- }
275
- ```
276
-
277
- You'll implement the same pattern for `MfaSubjectPort`, `SessionPersistencePort`, and `VerificationSubjectPort`. Each port's abstract methods are documented in the [platform-authentication API reference](/packages/platform-authentication/api/).
278
-
279
- ### Register the Module
280
-
281
- Pass your adapter classes to `AuthModule.register()`:
282
-
283
- ```typescript
284
- // src/app.module.ts
285
- import { Module } from '@nestjs/common';
286
- import { ConfigModule, MappingModule } from '@breadstone/archipel-platform-core';
287
- import { DatabaseModule } from '@breadstone/archipel-platform-database';
288
- import { AuthModule } from '@breadstone/archipel-platform-authentication';
289
- import { APP_CONFIG_ENTRIES } from './env';
290
- import { PrismaAuthSubjectAdapter } from './adapters/PrismaAuthSubjectAdapter';
291
- import { PrismaMfaSubjectAdapter } from './adapters/PrismaMfaSubjectAdapter';
292
- import { PrismaSessionAdapter } from './adapters/PrismaSessionAdapter';
293
- import { PrismaVerificationAdapter } from './adapters/PrismaVerificationAdapter';
294
-
295
- @Module({
296
- imports: [
297
- ConfigModule.register('app', APP_CONFIG_ENTRIES),
298
- MappingModule,
299
- DatabaseModule.register(),
300
- AuthModule.register({
301
- authSubject: PrismaAuthSubjectAdapter,
302
- mfaSubject: PrismaMfaSubjectAdapter,
303
- sessionPersistence: PrismaSessionAdapter,
304
- verificationSubject: PrismaVerificationAdapter,
305
- }),
306
- ],
307
- })
308
- export class AppModule {}
309
- ```
310
-
311
- The `AuthModule` now has everything it needs. Its internal services (`AuthTokenService`, `SessionService`, `MfaService`, `VerificationService`) are available for injection in your controllers and services.
312
-
313
- ### Optional Ports
314
-
315
- `AuthModule` also accepts two optional ports:
316
-
317
- - **`socialAuth`** — Provide a `SocialAuthPort` adapter to enable OAuth strategies (GitHub, Google, Microsoft, Apple). Without it, those routes don't exist.
318
- - **`tokenEnricher`** — Provide a `TokenEnricherPort` adapter to add custom claims (subscription tier, org ID, etc.) to every JWT. Without it, tokens contain only the base claims.
319
-
320
- ```typescript
321
- AuthModule.register({
322
- authSubject: PrismaAuthSubjectAdapter,
323
- mfaSubject: PrismaMfaSubjectAdapter,
324
- sessionPersistence: PrismaSessionAdapter,
325
- verificationSubject: PrismaVerificationAdapter,
326
- socialAuth: PrismaSocialAuthAdapter, // optional: enables OAuth
327
- tokenEnricher: AppTokenEnricherAdapter, // optional: enriches JWTs
328
- }),
329
- ```
330
-
331
- ---
332
-
333
- ## Adding More Packages
334
-
335
- Every Archipel package follows the same integration pattern:
336
-
337
- 1. **Install** the package with `yarn add @breadstone/archipel-<name>`
338
- 2. **Check** its documentation page under [Packages](/packages/) for required ports and configuration
339
- 3. **Implement** adapter classes for required ports (if any)
340
- 4. **Register** the module with `SomeModule.register({ ... })`
341
- 5. **Inject** the package's services where you need them
342
-
343
- Some packages have no ports at all — `platform-logging`, `platform-telemetry`, `platform-openapi`, and several others just need a module registration and you're done.
344
-
345
- ---
346
-
347
- ## Next Steps
348
-
349
- - Read the [Implementing Ports](/guides/implementing-ports) guide for a thorough explanation of the port/adapter pattern across all packages
350
- - Browse the [Packages](/packages/) section for detailed documentation on each module
351
- - Check the [Architecture](/architecture/) overview for the dependency graph and design principles
@@ -1,317 +0,0 @@
1
- ---
2
- title: Implementing Ports
3
- description: How the port/adapter pattern works in Archipel and how to implement adapters for each package.
4
- order: 2
5
- ---
6
-
7
- # Implementing Ports
8
-
9
- Archipel libraries don't hardcode how you store data, send emails, or check permissions. Instead, they define **ports** — abstract classes describing what the library needs — and your application provides **adapters** — concrete classes that implement those methods with your specific database, API, or logic.
10
-
11
- This guide covers why ports are abstract classes, which ports exist across all packages, how to write and register adapters, and what happens when optional ports are omitted.
12
-
13
- ## Why Abstract Classes?
14
-
15
- NestJS uses a token-based dependency injection system. Every injectable needs a token for resolution. Archipel uses abstract classes as ports because they serve two purposes simultaneously:
16
-
17
- 1. **Type contract** — They define the method signatures your adapter must implement. TypeScript enforces this at compile time.
18
- 2. **DI token** — NestJS can use the class reference directly as an injection token, so there's no need for separate `Symbol()` tokens or string identifiers.
19
-
20
- ```typescript
21
- // Inside the platform library — you don't write this, it's already there
22
- @Injectable()
23
- export class SessionService {
24
- constructor(
25
- private readonly _sessionPersistence: SessionPersistencePort,
26
- // The abstract class IS the DI token
27
- ) {}
28
- }
29
- ```
30
-
31
- When you pass `{ sessionPersistence: PrismaSessionAdapter }` to `register()`, the library binds your concrete class to the abstract class token. NestJS resolves it automatically wherever the port is injected.
32
-
33
- ---
34
-
35
- ## All Ports Reference
36
-
37
- Every port across all Archipel packages:
38
-
39
- | Package | Port | Purpose | Required |
40
- | ------------------------- | ---------------------------- | ---------------------------------------------- | -------- |
41
- | `platform-authentication` | `AuthSubjectPort` | User lookup for authentication strategies | Yes |
42
- | `platform-authentication` | `MfaSubjectPort` | MFA state persistence (enable/disable, verify) | Yes |
43
- | `platform-authentication` | `SessionPersistencePort` | Session storage, querying, and cleanup | Yes |
44
- | `platform-authentication` | `VerificationSubjectPort` | Email/PIN verification persistence | Yes |
45
- | `platform-authentication` | `SocialAuthPort` | OAuth user creation and account linking | No |
46
- | `platform-authentication` | `TokenEnricherPort` | Add custom claims to JWTs | No |
47
- | `platform-blob-storage` | `BlobObjectPersistencePort` | Track blob metadata after upload/delete | No |
48
- | `platform-blob-storage` | `BlobVariantPersistencePort` | Track image variant metadata | No |
49
- | `platform-payments` | `FeatureAccessPort` | Feature quota checks and usage recording | No |
50
-
51
- Packages not listed here (`platform-core`, `platform-database`, `platform-logging`, `platform-telemetry`, `platform-openapi`, `platform-reporting`, `platform-documents`, `platform-mailing`, `platform-mcp`) have no ports — they work out of the box with configuration only.
52
-
53
- ---
54
-
55
- ## Writing an Adapter
56
-
57
- ### Step 1: Create the Adapter File
58
-
59
- Create one file per adapter in an `adapters/` directory in your application:
60
-
61
- ```
62
- src/
63
- adapters/
64
- PrismaAuthSubjectAdapter.ts
65
- PrismaMfaSubjectAdapter.ts
66
- PrismaSessionAdapter.ts
67
- PrismaVerificationAdapter.ts
68
- ```
69
-
70
- ### Step 2: Extend the Port
71
-
72
- ```typescript
73
- import { Injectable } from '@nestjs/common';
74
- import { AuthSubjectPort, type IAuthSubject } from '@breadstone/archipel-platform-authentication';
75
- import { PrismaService } from '@breadstone/archipel-platform-database';
76
-
77
- @Injectable()
78
- export class PrismaAuthSubjectAdapter extends AuthSubjectPort {
79
- private readonly _prisma: PrismaService;
80
-
81
- constructor(prisma: PrismaService) {
82
- super();
83
- this._prisma = prisma;
84
- }
85
-
86
- public async findById(id: string): Promise<IAuthSubject | null> {
87
- const user = await this._prisma.user.findUnique({
88
- where: { id },
89
- select: {
90
- id: true,
91
- userName: true,
92
- email: true,
93
- password: true,
94
- isVerified: true,
95
- isAnonymous: true,
96
- roles: true,
97
- mfaEnabled: true,
98
- },
99
- });
100
-
101
- return user ?? null;
102
- }
103
-
104
- public async findByLogin(login: string): Promise<IAuthSubject | null> {
105
- const user = await this._prisma.user.findFirst({
106
- where: { OR: [{ userName: login }, { email: login }] },
107
- select: {
108
- id: true,
109
- userName: true,
110
- email: true,
111
- password: true,
112
- isVerified: true,
113
- isAnonymous: true,
114
- roles: true,
115
- mfaEnabled: true,
116
- },
117
- });
118
-
119
- return user ?? null;
120
- }
121
-
122
- public async findAnonymous(userName: string): Promise<IAuthSubject | null> {
123
- const user = await this._prisma.user.findFirst({
124
- where: { userName, isAnonymous: true },
125
- select: {
126
- id: true,
127
- userName: true,
128
- email: true,
129
- password: true,
130
- isVerified: true,
131
- isAnonymous: true,
132
- roles: true,
133
- mfaEnabled: true,
134
- },
135
- });
136
-
137
- return user ?? null;
138
- }
139
- }
140
- ```
141
-
142
- **Key rules:**
143
-
144
- - Always annotate with `@Injectable()` — the adapter is a NestJS provider and participates in DI.
145
- - Always call `super()` in the constructor — the abstract class may have a constructor that sets up internal state.
146
- - Return the port's interface type (`IAuthSubject`, `ISessionRecord`, etc.), not your raw Prisma model. The port defines the contract.
147
- - Inject your own dependencies via constructor — the adapter has full access to NestJS DI, so it can use your `PrismaService`, `HttpService`, or anything else.
148
- - One adapter per port — don't combine multiple ports in one class. NestJS resolves each port token independently.
149
-
150
- ### Step 3: Register
151
-
152
- Pass the adapter class (not an instance) to the module's `register()` method:
153
-
154
- ```typescript
155
- AuthModule.register({
156
- authSubject: PrismaAuthSubjectAdapter,
157
- mfaSubject: PrismaMfaSubjectAdapter,
158
- sessionPersistence: PrismaSessionAdapter,
159
- verificationSubject: PrismaVerificationAdapter,
160
- });
161
- ```
162
-
163
- NestJS handles instantiation and dependency resolution. You pass the class reference, the framework does the rest.
164
-
165
- ---
166
-
167
- ## Schema Mapping
168
-
169
- Your database schema won't always match the port interface field-for-field. The adapter is where you handle the translation. This is one of the main reasons adapters exist — they decouple the library's expectations from your specific data model.
170
-
171
- ```typescript
172
- public async findById(id: string): Promise<IAuthSubject | null> {
173
- const user = await this._prisma.user.findUnique({
174
- where: { id },
175
- include: { userRoles: { include: { role: true } } },
176
- });
177
-
178
- if (!user) return null;
179
-
180
- return {
181
- id: user.id,
182
- userName: user.username, // different casing
183
- email: user.emailAddress, // different field name
184
- password: user.passwordHash, // different field name
185
- isVerified: user.emailVerified, // different field name
186
- isAnonymous: user.type === 'anonymous', // derived from enum
187
- roles: user.userRoles.map((ur) => ur.role.name), // flattened relation
188
- mfaEnabled: user.twoFactorEnabled, // different field name
189
- };
190
- }
191
- ```
192
-
193
- As long as the returned object satisfies the port's interface, the platform library doesn't care what your underlying schema looks like.
194
-
195
- ---
196
-
197
- ## Adapters for External APIs
198
-
199
- Ports aren't limited to database adapters. You can implement an adapter that calls an external API, talks to a microservice, or reads from a cache — anything that fulfills the contract.
200
-
201
- ```typescript
202
- @Injectable()
203
- export class Auth0AuthSubjectAdapter extends AuthSubjectPort {
204
- private readonly _http: HttpService;
205
-
206
- constructor(http: HttpService) {
207
- super();
208
- this._http = http;
209
- }
210
-
211
- public async findById(id: string): Promise<IAuthSubject | null> {
212
- const { data } = await firstValueFrom(this._http.get(`https://my-tenant.auth0.com/api/v2/users/${id}`));
213
-
214
- return {
215
- id: data.user_id,
216
- userName: data.nickname,
217
- email: data.email,
218
- password: '',
219
- isVerified: data.email_verified,
220
- isAnonymous: false,
221
- roles: data.app_metadata?.roles ?? [],
222
- mfaEnabled: data.multifactor?.length > 0,
223
- };
224
- }
225
-
226
- public async findByLogin(login: string): Promise<IAuthSubject | null> {
227
- const { data } = await firstValueFrom(
228
- this._http.get('https://my-tenant.auth0.com/api/v2/users', {
229
- params: { q: `email:"${login}" OR nickname:"${login}"` },
230
- }),
231
- );
232
-
233
- return data[0] ? this.mapToAuthSubject(data[0]) : null;
234
- }
235
-
236
- // ...
237
- }
238
- ```
239
-
240
- The library has no idea it's talking to Auth0. It calls `findById()` and gets back an `IAuthSubject` — that's the entire contract.
241
-
242
- ---
243
-
244
- ## In-Memory Adapters for Testing
245
-
246
- For integration tests where you need a working port without a real database, create in-memory implementations:
247
-
248
- ```typescript
249
- @Injectable()
250
- export class InMemoryAuthSubjectAdapter extends AuthSubjectPort {
251
- private readonly _subjects = new Map<string, IAuthSubject>();
252
-
253
- public seed(subjects: IAuthSubject[]): void {
254
- subjects.forEach((s) => this._subjects.set(s.id, s));
255
- }
256
-
257
- public async findById(id: string): Promise<IAuthSubject | null> {
258
- return this._subjects.get(id) ?? null;
259
- }
260
-
261
- public async findByLogin(login: string): Promise<IAuthSubject | null> {
262
- return [...this._subjects.values()].find((s) => s.userName === login || s.email === login) ?? null;
263
- }
264
-
265
- public async findAnonymous(userName: string): Promise<IAuthSubject | null> {
266
- return [...this._subjects.values()].find((s) => s.userName === userName && s.isAnonymous) ?? null;
267
- }
268
- }
269
- ```
270
-
271
- This pattern works for any port. Seed with test data, inject into the module under test, and your tests run fast and deterministically without database fixtures. See the [Testing](/guides/testing) guide for full integration test examples.
272
-
273
- ---
274
-
275
- ## Optional Ports
276
-
277
- Some ports are optional. When not provided, the library gracefully degrades — the feature that depends on that port simply isn't available. The library's internal services use `@Optional()` on the injection, so they receive `undefined` and skip the corresponding logic.
278
-
279
- ### TokenEnricherPort (Authentication)
280
-
281
- When omitted, JWTs contain only the base claims (`id`, `email`, `roles`). When provided, `AuthTokenService` calls your adapter's `enrichClaims()` method and merges the result into every token.
282
-
283
- ```typescript
284
- @Injectable()
285
- export class AppTokenEnricherAdapter extends TokenEnricherPort {
286
- public async enrichClaims(subject: IAuthSubject): Promise<Record<string, unknown>> {
287
- return {
288
- subscriptionTier: 'pro',
289
- organizationId: 'org-123',
290
- };
291
- }
292
- }
293
- ```
294
-
295
- ### SocialAuthPort (Authentication)
296
-
297
- When omitted, OAuth strategies (GitHub, Google, Microsoft, Apple) are not registered — the routes don't exist. When provided, all configured strategies become active and the library handles the OAuth callback flow.
298
-
299
- ### BlobObjectPersistencePort / BlobVariantPersistencePort (Blob Storage)
300
-
301
- When omitted, blob uploads and deletes work normally, but metadata isn't tracked in your database. When provided, `BlobService` calls the persistence port after each operation so you can maintain your own blob inventory.
302
-
303
- ### FeatureAccessPort (Payments)
304
-
305
- When omitted, `FeatureGuard` and `FeatureUsageInterceptor` have no access port and will deny or skip feature checks. When provided, they delegate quota enforcement and usage recording to your adapter.
306
-
307
- ---
308
-
309
- ## Common Mistakes
310
-
311
- **Not calling `super()`** — If you forget `super()` in the constructor, JavaScript throws a runtime error. Abstract classes are still real classes with constructors.
312
-
313
- **Returning raw Prisma objects** — If your Prisma model includes extra fields beyond what the port interface expects, don't return it raw. Always map to the exact interface shape. Extra fields won't cause type errors but may leak internal data.
314
-
315
- **Sharing adapters across ports** — Don't make one class implement two different ports. Each port has its own DI token, and NestJS resolves them independently. One class, one port, one responsibility.
316
-
317
- **Registering instances instead of classes** — `register()` expects the class reference (`PrismaAuthSubjectAdapter`), not `new PrismaAuthSubjectAdapter()`. NestJS creates the instance and injects its dependencies automatically.