@breadstone/archipel-mcp 0.0.11 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/DocsLoader.js +2 -5
- package/src/GuidesLoader.js +2 -5
- package/data/guides/ai-text-generation.md +0 -361
- package/data/guides/analytics-and-error-tracking.md +0 -189
- package/data/guides/authentication-and-authorization.md +0 -657
- package/data/guides/blob-storage.md +0 -242
- package/data/guides/caching.md +0 -255
- package/data/guides/cryptography-and-otp.md +0 -240
- package/data/guides/document-generation.md +0 -174
- package/data/guides/email-delivery.md +0 -196
- package/data/guides/esigning-integration.md +0 -231
- package/data/guides/getting-started.md +0 -351
- package/data/guides/implementing-ports.md +0 -317
- package/data/guides/index.md +0 -61
- package/data/guides/mcp-server.md +0 -222
- package/data/guides/openapi-and-feature-discovery.md +0 -266
- package/data/guides/payments-and-feature-gating.md +0 -244
- package/data/guides/resource-management.md +0 -352
- package/data/guides/telemetry-and-observability.md +0 -190
- package/data/guides/testing.md +0 -319
- package/data/guides/tsdoc-guidelines.md +0 -45
- package/data/packages/index.md +0 -52
- package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +0 -141
- package/data/packages/platform-analytics/api/Class.AnalyticsModule.md +0 -47
- package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +0 -169
- package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +0 -169
- package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +0 -161
- package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +0 -169
- package/data/packages/platform-analytics/api/Interface.IAnalyticsBreadcrumb.md +0 -58
- package/data/packages/platform-analytics/api/Interface.IAnalyticsModuleOptions.md +0 -47
- package/data/packages/platform-analytics/api/Interface.IAnalyticsUser.md +0 -58
- package/data/packages/platform-analytics/api/TypeAlias.AnalyticsLevel.md +0 -14
- package/data/packages/platform-analytics/api/Variable.APPINSIGHTS_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-analytics/api/Variable.APPLICATIONINSIGHTS_CONNECTION_STRING.md +0 -14
- package/data/packages/platform-analytics/api/Variable.DATADOG_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-analytics/api/Variable.DD_ENV.md +0 -14
- package/data/packages/platform-analytics/api/Variable.DD_SERVICE.md +0 -14
- package/data/packages/platform-analytics/api/Variable.SENTRY_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-analytics/api/Variable.SENTRY_DSN.md +0 -14
- package/data/packages/platform-analytics/api/Variable.SENTRY_ENVIRONMENT.md +0 -14
- package/data/packages/platform-analytics/api/index.md +0 -44
- package/data/packages/platform-analytics/index.md +0 -170
- package/data/packages/platform-authentication/api/Class.AnonymousAuthGuard.md +0 -40
- package/data/packages/platform-authentication/api/Class.AppleConnector.md +0 -86
- package/data/packages/platform-authentication/api/Class.AuthModule.md +0 -67
- package/data/packages/platform-authentication/api/Class.AuthSubjectPort.md +0 -95
- package/data/packages/platform-authentication/api/Class.AuthTokenService.md +0 -59
- package/data/packages/platform-authentication/api/Class.ChallengeService.md +0 -131
- package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +0 -40
- package/data/packages/platform-authentication/api/Class.GithubConnector.md +0 -78
- package/data/packages/platform-authentication/api/Class.GoogleConnector.md +0 -84
- package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +0 -40
- package/data/packages/platform-authentication/api/Class.JwtPayloadBase.md +0 -136
- package/data/packages/platform-authentication/api/Class.LastActiveMiddleware.md +0 -71
- package/data/packages/platform-authentication/api/Class.LocalAuthGuard.md +0 -40
- package/data/packages/platform-authentication/api/Class.MfaService.md +0 -252
- package/data/packages/platform-authentication/api/Class.MfaSubjectPort.md +0 -70
- package/data/packages/platform-authentication/api/Class.MicrosoftConnector.md +0 -84
- package/data/packages/platform-authentication/api/Class.RolesGuard.md +0 -60
- package/data/packages/platform-authentication/api/Class.SessionMappingProfile.md +0 -60
- package/data/packages/platform-authentication/api/Class.SessionPersistencePort.md +0 -165
- package/data/packages/platform-authentication/api/Class.SessionResponse.md +0 -152
- package/data/packages/platform-authentication/api/Class.SessionService.md +0 -162
- package/data/packages/platform-authentication/api/Class.SocialAuthGuard.md +0 -61
- package/data/packages/platform-authentication/api/Class.SocialAuthPort.md +0 -48
- package/data/packages/platform-authentication/api/Class.TokenEnricherPort.md +0 -47
- package/data/packages/platform-authentication/api/Class.TotpMfaChannel.md +0 -144
- package/data/packages/platform-authentication/api/Class.VerificationService.md +0 -154
- package/data/packages/platform-authentication/api/Class.VerificationSubjectPort.md +0 -116
- package/data/packages/platform-authentication/api/Function.Token.md +0 -18
- package/data/packages/platform-authentication/api/Function.UseRoles.md +0 -24
- package/data/packages/platform-authentication/api/Function.socialAuthGuardFactory.md +0 -22
- package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +0 -143
- package/data/packages/platform-authentication/api/Interface.IAuthSubject.md +0 -107
- package/data/packages/platform-authentication/api/Interface.IMfaChallengePayload.md +0 -82
- package/data/packages/platform-authentication/api/Interface.IMfaChallengeState.md +0 -118
- package/data/packages/platform-authentication/api/Interface.IMfaConfirmation.md +0 -22
- package/data/packages/platform-authentication/api/Interface.IMfaSetup.md +0 -58
- package/data/packages/platform-authentication/api/Interface.IMfaSubject.md +0 -131
- package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +0 -91
- package/data/packages/platform-authentication/api/Interface.ISessionRecord.md +0 -160
- package/data/packages/platform-authentication/api/Interface.ISignInResult.md +0 -82
- package/data/packages/platform-authentication/api/Interface.ISocialProfile.md +0 -58
- package/data/packages/platform-authentication/api/Interface.IStoreSessionArgs.md +0 -70
- package/data/packages/platform-authentication/api/Interface.IVerifiableSubject.md +0 -71
- package/data/packages/platform-authentication/api/Variable.APPLE_AUTH_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CALLBACK_URL.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CLIENT_ID.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_KEY_ID.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_PRIVATE_KEY.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_SCOPE.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_TEAM_ID.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CALLBACK_URL.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_ID.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_SECRET.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_SCOPE.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CALLBACK_URL.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_ID.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_SECRET.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_SCOPE.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_JWT_EXPIRES_IN.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_JWT_SECRET.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_CHALLENGE_EXPIRES_IN.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_CODE_TTL.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_MIN_RESEND.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ENCRYPTION_KEY.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ISSUER.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_MAX_ATTEMPTS.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_CODE_TTL.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_MIN_RESEND.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_CODE_TTL.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_MIN_RESEND.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CALLBACK_URL.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_ID.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_SECRET.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_SCOPE.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_TENANT.md +0 -14
- package/data/packages/platform-authentication/api/Variable.AUTH_VERIFY_JWT_EXPIRES_IN.md +0 -14
- package/data/packages/platform-authentication/api/Variable.GITHUB_AUTH_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-authentication/api/Variable.GOOGLE_AUTH_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-authentication/api/Variable.MICROSOFT_AUTH_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-authentication/api/Variable.PLATFORM_AUTHENTICATION_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-authentication/api/Variable.ROLES_KEY.md +0 -14
- package/data/packages/platform-authentication/api/Variable.SEED_ANONYMOUS_USERNAME.md +0 -14
- package/data/packages/platform-authentication/api/Variable.SESSION_LIST_MAPPING_KEY.md +0 -14
- package/data/packages/platform-authentication/api/Variable.SESSION_MAPPING_KEY.md +0 -14
- package/data/packages/platform-authentication/api/Variable.TOTP_MFA_PROVIDERS.md +0 -29
- package/data/packages/platform-authentication/api/Variable.User.md +0 -24
- package/data/packages/platform-authentication/api/index.md +0 -112
- package/data/packages/platform-authentication/index.md +0 -635
- package/data/packages/platform-blob-storage/api/Class.AwsS3BlobProvider.md +0 -196
- package/data/packages/platform-blob-storage/api/Class.AzureBlobProvider.md +0 -196
- package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +0 -79
- package/data/packages/platform-blob-storage/api/Class.BlobModule.md +0 -49
- package/data/packages/platform-blob-storage/api/Class.BlobObjectPersistencePort.md +0 -75
- package/data/packages/platform-blob-storage/api/Class.BlobService.md +0 -248
- package/data/packages/platform-blob-storage/api/Class.BlobVariantPersistencePort.md +0 -51
- package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +0 -197
- package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +0 -28
- package/data/packages/platform-blob-storage/api/Interface.IAwsS3ProviderOptions.md +0 -68
- package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderOptions.md +0 -38
- package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +0 -28
- package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +0 -38
- package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +0 -48
- package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +0 -64
- package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +0 -48
- package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +0 -138
- package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +0 -114
- package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +0 -48
- package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +0 -98
- package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +0 -28
- package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +0 -28
- package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +0 -68
- package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +0 -28
- package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +0 -12
- package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +0 -12
- package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +0 -16
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +0 -12
- package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +0 -12
- package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +0 -12
- package/data/packages/platform-blob-storage/api/Variable.BlobDownloadResponseTypes.md +0 -26
- package/data/packages/platform-blob-storage/api/Variable.BlobProviderKinds.md +0 -26
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +0 -12
- package/data/packages/platform-blob-storage/api/index.md +0 -59
- package/data/packages/platform-blob-storage/index.md +0 -335
- package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +0 -258
- package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +0 -157
- package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +0 -295
- package/data/packages/platform-caching/api/Interface.ICacheMetricsRecorder.md +0 -121
- package/data/packages/platform-caching/api/Interface.ICacheStats.md +0 -70
- package/data/packages/platform-caching/api/Interface.ILayeredCache.md +0 -198
- package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +0 -75
- package/data/packages/platform-caching/api/Interface.IRedisLayeredCacheOptions.md +0 -121
- package/data/packages/platform-caching/api/index.md +0 -24
- package/data/packages/platform-caching/index.md +0 -116
- package/data/packages/platform-core/api/Class.AppHealthIndicator.md +0 -50
- package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +0 -195
- package/data/packages/platform-core/api/Class.BooleanUtils.md +0 -82
- package/data/packages/platform-core/api/Class.CUIDGenerator.md +0 -120
- package/data/packages/platform-core/api/Class.CasingInterceptor.md +0 -83
- package/data/packages/platform-core/api/Class.CatchUtils.md +0 -93
- package/data/packages/platform-core/api/Class.ConfigKeyNotFoundError.md +0 -89
- package/data/packages/platform-core/api/Class.ConfigModule.md +0 -69
- package/data/packages/platform-core/api/Class.ConfigRegistry.md +0 -115
- package/data/packages/platform-core/api/Class.ConfigService.md +0 -137
- package/data/packages/platform-core/api/Class.ConfigStrategyBase.md +0 -125
- package/data/packages/platform-core/api/Class.ContentTemplateEngine.md +0 -63
- package/data/packages/platform-core/api/Class.DateTimeUtils.md +0 -101
- package/data/packages/platform-core/api/Class.DeviceParserService.md +0 -52
- package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +0 -215
- package/data/packages/platform-core/api/Class.EnvironmentConfigStrategy.md +0 -141
- package/data/packages/platform-core/api/Class.ErrorTemplateService.md +0 -109
- package/data/packages/platform-core/api/Class.EventHub.md +0 -163
- package/data/packages/platform-core/api/Class.EventModule.md +0 -22
- package/data/packages/platform-core/api/Class.FileConfigStrategy.md +0 -147
- package/data/packages/platform-core/api/Class.FileResourceStrategy.md +0 -192
- package/data/packages/platform-core/api/Class.GUIDGenerator.md +0 -85
- package/data/packages/platform-core/api/Class.GlobalExceptionFilter.md +0 -66
- package/data/packages/platform-core/api/Class.HealthModule.md +0 -42
- package/data/packages/platform-core/api/Class.HealthOrchestrator.md +0 -64
- package/data/packages/platform-core/api/Class.HostModule.md +0 -31
- package/data/packages/platform-core/api/Class.HostService.md +0 -149
- package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +0 -59
- package/data/packages/platform-core/api/Class.IdGeneratorBase.md +0 -87
- package/data/packages/platform-core/api/Class.IdentifierModule.md +0 -40
- package/data/packages/platform-core/api/Class.LimitRequestSizeMiddleware.md +0 -59
- package/data/packages/platform-core/api/Class.LocalizedTextRequest.md +0 -42
- package/data/packages/platform-core/api/Class.LocalizedTextResponse.md +0 -42
- package/data/packages/platform-core/api/Class.MappingBuilder.md +0 -110
- package/data/packages/platform-core/api/Class.MappingModule.md +0 -46
- package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +0 -56
- package/data/packages/platform-core/api/Class.MappingProfileBase.md +0 -52
- package/data/packages/platform-core/api/Class.MappingService.md +0 -284
- package/data/packages/platform-core/api/Class.NormalizedUtils.md +0 -148
- package/data/packages/platform-core/api/Class.PageableRequest.md +0 -42
- package/data/packages/platform-core/api/Class.PageableResponse.md +0 -62
- package/data/packages/platform-core/api/Class.ProblemDetailException.md +0 -61
- package/data/packages/platform-core/api/Class.ProblemDetailExceptionFilter.md +0 -94
- package/data/packages/platform-core/api/Class.QuantityResponse.md +0 -42
- package/data/packages/platform-core/api/Class.ResourceManager.md +0 -565
- package/data/packages/platform-core/api/Class.ResourceModule.md +0 -46
- package/data/packages/platform-core/api/Class.ResponseReturn.md +0 -502
- package/data/packages/platform-core/api/Class.SseHub.md +0 -183
- package/data/packages/platform-core/api/Class.SseModule.md +0 -42
- package/data/packages/platform-core/api/Class.TimeStampResponse.md +0 -42
- package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +0 -57
- package/data/packages/platform-core/api/Class.UUIDGenerator.md +0 -85
- package/data/packages/platform-core/api/Class.UserAvatarGeneratorService.md +0 -47
- package/data/packages/platform-core/api/Class.UserNameGeneratorService.md +0 -64
- package/data/packages/platform-core/api/Function.Public.md +0 -18
- package/data/packages/platform-core/api/Function.createConfigKey.md +0 -58
- package/data/packages/platform-core/api/Function.createEventKey.md +0 -33
- package/data/packages/platform-core/api/Function.createMappingKey.md +0 -39
- package/data/packages/platform-core/api/Function.env.md +0 -28
- package/data/packages/platform-core/api/Function.getMimeTypeByFileNameOrExtension.md +0 -26
- package/data/packages/platform-core/api/ISseEventData.Function.isActionId.md +0 -27
- package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +0 -28
- package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +0 -40
- package/data/packages/platform-core/api/Interface.IConfigKey.md +0 -63
- package/data/packages/platform-core/api/Interface.IConfigModuleOptions.md +0 -40
- package/data/packages/platform-core/api/Interface.IConfigRegistryEntry.md +0 -79
- package/data/packages/platform-core/api/Interface.IDeviceInfo.md +0 -80
- package/data/packages/platform-core/api/Interface.IErrorPageParams.md +0 -153
- package/data/packages/platform-core/api/Interface.IEventKey.md +0 -57
- package/data/packages/platform-core/api/Interface.IEventMap.md +0 -16
- package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +0 -72
- package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +0 -46
- package/data/packages/platform-core/api/Interface.IHealthIndicator.md +0 -41
- package/data/packages/platform-core/api/Interface.IHostContentParams.md +0 -232
- package/data/packages/platform-core/api/Interface.IIdGenerator.md +0 -57
- package/data/packages/platform-core/api/Interface.IMappingBuilder.md +0 -76
- package/data/packages/platform-core/api/Interface.IMappingKey.md +0 -58
- package/data/packages/platform-core/api/Interface.IMappingProfile.md +0 -32
- package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +0 -71
- package/data/packages/platform-core/api/Interface.IResourceMetadata.md +0 -94
- package/data/packages/platform-core/api/Interface.IResourceResult.md +0 -34
- package/data/packages/platform-core/api/Interface.IResourceStrategy.md +0 -134
- package/data/packages/platform-core/api/Interface.ISseEventData.md +0 -36
- package/data/packages/platform-core/api/Interface.ISseHub.md +0 -91
- package/data/packages/platform-core/api/Namespace.ISseEventData.md +0 -14
- package/data/packages/platform-core/api/TypeAlias.CamelCase.md +0 -18
- package/data/packages/platform-core/api/TypeAlias.ProblemDetail.md +0 -28
- package/data/packages/platform-core/api/TypeAlias.ProblemDetailTypeUrlResolver.md +0 -25
- package/data/packages/platform-core/api/TypeAlias.SetOptional.md +0 -21
- package/data/packages/platform-core/api/TypeAlias.StringValue.md +0 -15
- package/data/packages/platform-core/api/Variable.APP_NAME.md +0 -14
- package/data/packages/platform-core/api/Variable.APP_PORT.md +0 -14
- package/data/packages/platform-core/api/Variable.APP_URL.md +0 -14
- package/data/packages/platform-core/api/Variable.APP_VERSION.md +0 -14
- package/data/packages/platform-core/api/Variable.GIT_COMMIT.md +0 -14
- package/data/packages/platform-core/api/Variable.HEALTH_INDICATORS_TOKEN.md +0 -14
- package/data/packages/platform-core/api/Variable.ID_GENERATOR_TOKEN.md +0 -14
- package/data/packages/platform-core/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +0 -14
- package/data/packages/platform-core/api/Variable.INTELLIGENCE_MODEL.md +0 -14
- package/data/packages/platform-core/api/Variable.INTELLIGENCE_TEMPERATURE.md +0 -14
- package/data/packages/platform-core/api/Variable.INTELLIGENCE_TOP_P.md +0 -14
- package/data/packages/platform-core/api/Variable.IS_PUBLIC_KEY.md +0 -12
- package/data/packages/platform-core/api/Variable.IpAddress.md +0 -31
- package/data/packages/platform-core/api/Variable.Lang.md +0 -29
- package/data/packages/platform-core/api/Variable.NODE_ENV.md +0 -14
- package/data/packages/platform-core/api/Variable.PLATFORM_CORE_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-core/api/Variable.UserAgent.md +0 -24
- package/data/packages/platform-core/api/index.md +0 -142
- package/data/packages/platform-core/index.md +0 -485
- package/data/packages/platform-cryptography/api/Class.BcryptService.md +0 -72
- package/data/packages/platform-cryptography/api/Class.CryptoService.md +0 -51
- package/data/packages/platform-cryptography/api/Class.OtpService.md +0 -109
- package/data/packages/platform-cryptography/api/Interface.IOtpService.md +0 -81
- package/data/packages/platform-cryptography/api/Interface.IOtpUriOptions.md +0 -46
- package/data/packages/platform-cryptography/api/Variable.OTP_SERVICE_TOKEN.md +0 -14
- package/data/packages/platform-cryptography/api/Variable.TOTP_EPOCH_TOLERANCE.md +0 -23
- package/data/packages/platform-cryptography/api/index.md +0 -28
- package/data/packages/platform-cryptography/index.md +0 -132
- package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +0 -75
- package/data/packages/platform-database/api/Class.DatabaseModule.md +0 -70
- package/data/packages/platform-database/api/Class.DatabaseService.md +0 -160
- package/data/packages/platform-database/api/Class.PrismaService.md +0 -111
- package/data/packages/platform-database/api/Class.RepositoryBase.md +0 -586
- package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +0 -55
- package/data/packages/platform-database/api/Function.pageable.md +0 -35
- package/data/packages/platform-database/api/Function.paginator.md +0 -22
- package/data/packages/platform-database/api/Function.query.md +0 -34
- package/data/packages/platform-database/api/Function.skip.md +0 -33
- package/data/packages/platform-database/api/Function.transactionalQuery.md +0 -31
- package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +0 -22
- package/data/packages/platform-database/api/Interface.IPaginateOptions.md +0 -28
- package/data/packages/platform-database/api/Interface.IPaginatedResult.md +0 -77
- package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +0 -51
- package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +0 -50
- package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +0 -18
- package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +0 -18
- package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +0 -31
- package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +0 -27
- package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +0 -26
- package/data/packages/platform-database/api/index.md +0 -47
- package/data/packages/platform-database/index.md +0 -300
- package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +0 -277
- package/data/packages/platform-documents/api/Class.DocumentEngine.md +0 -80
- package/data/packages/platform-documents/api/Class.DocumentModule.md +0 -47
- package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +0 -131
- package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +0 -94
- package/data/packages/platform-documents/api/Interface.IDocumentPlaceholderDetail.md +0 -70
- package/data/packages/platform-documents/api/Interface.IDocumentProbeReport.md +0 -118
- package/data/packages/platform-documents/api/Interface.IDocumentRenderer.md +0 -47
- package/data/packages/platform-documents/api/Interface.IImagePayload.md +0 -58
- package/data/packages/platform-documents/api/Interface.IImageProcessor.md +0 -95
- package/data/packages/platform-documents/api/Interface.IRenderOptions.md +0 -64
- package/data/packages/platform-documents/api/Interface.IRenderResult.md +0 -58
- package/data/packages/platform-documents/api/TypeAlias.DocumentFormat.md +0 -14
- package/data/packages/platform-documents/api/TypeAlias.EngineType.md +0 -14
- package/data/packages/platform-documents/api/TypeAlias.ImageMimeType.md +0 -14
- package/data/packages/platform-documents/api/TypeAlias.TemplateFormat.md +0 -14
- package/data/packages/platform-documents/api/TypeAlias.TemplateType.md +0 -14
- package/data/packages/platform-documents/api/Variable.DOCUMENT_MODULE_OPTIONS.md +0 -14
- package/data/packages/platform-documents/api/Variable.DOCUMENT_PARSER_TOKEN.md +0 -14
- package/data/packages/platform-documents/api/Variable.DOCUMENT_RENDERER_TOKEN.md +0 -14
- package/data/packages/platform-documents/api/Variable.IMAGE_PROCESSOR_TOKEN.md +0 -14
- package/data/packages/platform-documents/api/index.md +0 -47
- package/data/packages/platform-documents/index.md +0 -219
- package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +0 -184
- package/data/packages/platform-esigning/api/Class.EsigningError.md +0 -65
- package/data/packages/platform-esigning/api/Class.EsigningModule.md +0 -48
- package/data/packages/platform-esigning/api/Class.EsigningPersistencePort.md +0 -90
- package/data/packages/platform-esigning/api/Class.EsigningService.md +0 -198
- package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +0 -249
- package/data/packages/platform-esigning/api/Class.SigningProviderError.md +0 -101
- package/data/packages/platform-esigning/api/Class.SigningRequestNotFoundError.md +0 -78
- package/data/packages/platform-esigning/api/Class.WebhookVerificationError.md +0 -60
- package/data/packages/platform-esigning/api/Interface.ICreateSigningRequest.md +0 -94
- package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestDocument.md +0 -58
- package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestSigner.md +0 -58
- package/data/packages/platform-esigning/api/Interface.ICreateSigningSessionRequest.md +0 -46
- package/data/packages/platform-esigning/api/Interface.IEsigningModuleOptions.md +0 -60
- package/data/packages/platform-esigning/api/Interface.IEsigningWebhookEvent.md +0 -82
- package/data/packages/platform-esigning/api/Interface.ISignedDocument.md +0 -82
- package/data/packages/platform-esigning/api/Interface.ISigner.md +0 -82
- package/data/packages/platform-esigning/api/Interface.ISigningDocument.md +0 -82
- package/data/packages/platform-esigning/api/Interface.ISigningField.md +0 -142
- package/data/packages/platform-esigning/api/Interface.ISigningRequest.md +0 -142
- package/data/packages/platform-esigning/api/Interface.ISigningSession.md +0 -70
- package/data/packages/platform-esigning/api/TypeAlias.SignerRole.md +0 -14
- package/data/packages/platform-esigning/api/TypeAlias.SignerStatus.md +0 -14
- package/data/packages/platform-esigning/api/TypeAlias.SigningFieldType.md +0 -14
- package/data/packages/platform-esigning/api/TypeAlias.SigningRequestStatus.md +0 -14
- package/data/packages/platform-esigning/api/TypeAlias.WebhookEventType.md +0 -14
- package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_BASE_URL.md +0 -14
- package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CLIENT_SECRET.md +0 -14
- package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_INTEGRATION_KEY.md +0 -14
- package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_WEBHOOK_CLIENT_ID.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DOCUSIGN_ACCOUNT_ID.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DOCUSIGN_BASE_URL.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DOCUSIGN_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DOCUSIGN_INTEGRATION_KEY.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DOCUSIGN_SECRET_KEY.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DOCUSIGN_WEBHOOK_HMAC_KEY.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_API_KEY.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CLIENT_ID.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_WEBHOOK_SECRET.md +0 -14
- package/data/packages/platform-esigning/api/Variable.ESIGNING_API_BASE_URL.md +0 -14
- package/data/packages/platform-esigning/api/Variable.ESIGNING_API_KEY.md +0 -14
- package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER.md +0 -12
- package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER_OPTIONS.md +0 -12
- package/data/packages/platform-esigning/api/Variable.ESIGNING_WEBHOOK_SECRET.md +0 -14
- package/data/packages/platform-esigning/api/Variable.PLATFORM_ESIGNING_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-esigning/api/Variable.SIGNNOW_API_KEY.md +0 -14
- package/data/packages/platform-esigning/api/Variable.SIGNNOW_BASE_URL.md +0 -14
- package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_ID.md +0 -14
- package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_SECRET.md +0 -14
- package/data/packages/platform-esigning/api/Variable.SIGNNOW_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-esigning/api/Variable.SIGNNOW_WEBHOOK_SECRET.md +0 -14
- package/data/packages/platform-esigning/api/Variable.SignerRoles.md +0 -30
- package/data/packages/platform-esigning/api/Variable.SignerStatuses.md +0 -32
- package/data/packages/platform-esigning/api/Variable.SigningFieldTypes.md +0 -38
- package/data/packages/platform-esigning/api/Variable.SigningRequestStatuses.md +0 -36
- package/data/packages/platform-esigning/api/Variable.WebhookEventTypes.md +0 -38
- package/data/packages/platform-esigning/api/index.md +0 -84
- package/data/packages/platform-esigning/index.md +0 -691
- package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistrarBase.md +0 -94
- package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistry.md +0 -106
- package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +0 -22
- package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +0 -81
- package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +0 -31
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceArtifact.md +0 -34
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapability.md +0 -71
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityMetadata.md +0 -70
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityPayload.md +0 -46
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityRegistry.md +0 -78
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityResult.md +0 -46
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +0 -46
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceContext.md +0 -72
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceContextBuilder.md +0 -35
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationMessageSnapshot.md +0 -70
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationSnapshot.md +0 -58
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceFollowUpQuestion.md +0 -46
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntent.md +0 -46
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntentEntity.md +0 -34
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessageModel.md +0 -70
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessagePayload.md +0 -34
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +0 -34
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptMessage.md +0 -34
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +0 -94
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceResponseMessage.md +0 -34
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +0 -60
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +0 -46
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +0 -53
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceConversationMessageRole.md +0 -14
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +0 -24
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +0 -14
- package/data/packages/platform-intelligence/api/Variable.IntelligenceConversationMessageRoles.md +0 -26
- package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +0 -28
- package/data/packages/platform-intelligence/api/index.md +0 -69
- package/data/packages/platform-intelligence/index.md +0 -131
- package/data/packages/platform-logging/api/Class.LoggerModule.md +0 -20
- package/data/packages/platform-logging/api/Variable.APP_LOG_LEVEL.md +0 -14
- package/data/packages/platform-logging/api/Variable.PLATFORM_LOGGING_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-logging/api/index.md +0 -19
- package/data/packages/platform-logging/index.md +0 -92
- package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +0 -60
- package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +0 -66
- package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +0 -58
- package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +0 -75
- package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +0 -78
- package/data/packages/platform-mailing/api/Class.MailModule.md +0 -22
- package/data/packages/platform-mailing/api/Class.MailService.md +0 -96
- package/data/packages/platform-mailing/api/Class.MailTemplateEngine.md +0 -93
- package/data/packages/platform-mailing/api/Class.MailVerificationService.md +0 -85
- package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +0 -75
- package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +0 -75
- package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +0 -75
- package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +0 -75
- package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +0 -75
- package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +0 -53
- package/data/packages/platform-mailing/api/Interface.IMailEvents.md +0 -66
- package/data/packages/platform-mailing/api/Interface.IMailTemplateVariants.md +0 -30
- package/data/packages/platform-mailing/api/TypeAlias.MailTemplateFormat.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAILGUN_API_KEY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAILGUN_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAILGUN_DOMAIN.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY_TOKEN.md +0 -12
- package/data/packages/platform-mailing/api/Variable.MAIL_HOST.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_API_KEY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_DOMAIN.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_PORT.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_POSTMARK_API_KEY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_RESEND_API_KEY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_SENDER_EMAIL.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_SENDGRID_API_KEY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_HOST.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PASSWORD.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PORT.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_SECURE.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_USER.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_ENGINE_FORMAT.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_FETCH_STRATEGY_TOKEN.md +0 -16
- package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_STRATEGY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.MAIL_USER.md +0 -14
- package/data/packages/platform-mailing/api/Variable.PLATFORM_MAILING_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-mailing/api/Variable.POSTMARK_API_KEY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.POSTMARK_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-mailing/api/Variable.RESEND_API_KEY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.RESEND_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-mailing/api/Variable.SENDGRID_API_KEY.md +0 -14
- package/data/packages/platform-mailing/api/Variable.SENDGRID_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-mailing/api/Variable.SEND_MAIL_EVENT_KEY.md +0 -14
- package/data/packages/platform-mailing/api/index.md +0 -74
- package/data/packages/platform-mailing/index.md +0 -335
- package/data/packages/platform-mcp/api/Class.McpDiscoveryService.md +0 -64
- package/data/packages/platform-mcp/api/Class.McpModule.md +0 -82
- package/data/packages/platform-mcp/api/Class.McpRegistryService.md +0 -146
- package/data/packages/platform-mcp/api/Class.McpServerService.md +0 -196
- package/data/packages/platform-mcp/api/Function.McpPrompt.md +0 -28
- package/data/packages/platform-mcp/api/Function.McpResource.md +0 -28
- package/data/packages/platform-mcp/api/Function.McpTool.md +0 -28
- package/data/packages/platform-mcp/api/Interface.IMcpHandlerMetadata.md +0 -46
- package/data/packages/platform-mcp/api/Interface.IMcpModuleAsyncOptions.md +0 -75
- package/data/packages/platform-mcp/api/Interface.IMcpModuleOptions.md +0 -125
- package/data/packages/platform-mcp/api/Interface.IMcpModuleOptionsFactory.md +0 -27
- package/data/packages/platform-mcp/api/Interface.IMcpPromptMetadata.md +0 -58
- package/data/packages/platform-mcp/api/Interface.IMcpResourceMetadata.md +0 -72
- package/data/packages/platform-mcp/api/Interface.IMcpToolMetadata.md +0 -82
- package/data/packages/platform-mcp/api/Interface.IRegisteredPrompt.md +0 -40
- package/data/packages/platform-mcp/api/Interface.IRegisteredResource.md +0 -40
- package/data/packages/platform-mcp/api/Interface.IRegisteredTool.md +0 -40
- package/data/packages/platform-mcp/api/Interface.ISseTransportOptions.md +0 -22
- package/data/packages/platform-mcp/api/Interface.IStreamableHttpTransportOptions.md +0 -38
- package/data/packages/platform-mcp/api/Variable.MCP_MODULE_OPTIONS.md +0 -14
- package/data/packages/platform-mcp/api/index.md +0 -46
- package/data/packages/platform-mcp/index.md +0 -299
- package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +0 -70
- package/data/packages/platform-openapi/api/Class.SwaggerFeatureRegistry.md +0 -99
- package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +0 -77
- package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +0 -46
- package/data/packages/platform-openapi/api/Function.Api.md +0 -35
- package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +0 -42
- package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +0 -18
- package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +0 -27
- package/data/packages/platform-openapi/api/Interface.IFeatureSwaggerConfig.md +0 -68
- package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +0 -68
- package/data/packages/platform-openapi/api/Variable.APP_VERSION.md +0 -14
- package/data/packages/platform-openapi/api/Variable.PLATFORM_OPENAPI_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_EMAIL.md +0 -14
- package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_NAME.md +0 -14
- package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_URL.md +0 -14
- package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +0 -12
- package/data/packages/platform-openapi/api/index.md +0 -42
- package/data/packages/platform-openapi/index.md +0 -170
- package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +0 -74
- package/data/packages/platform-payments/api/Class.FeatureGuard.md +0 -68
- package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +0 -69
- package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +0 -163
- package/data/packages/platform-payments/api/Class.MollieClient.md +0 -163
- package/data/packages/platform-payments/api/Class.PaddleClient.md +0 -163
- package/data/packages/platform-payments/api/Class.PaymentClientPort.md +0 -142
- package/data/packages/platform-payments/api/Class.PaymentModule.md +0 -48
- package/data/packages/platform-payments/api/Class.StripeClient.md +0 -163
- package/data/packages/platform-payments/api/Function.RequiresFeature.md +0 -25
- package/data/packages/platform-payments/api/Interface.IFeatureAccessResult.md +0 -70
- package/data/packages/platform-payments/api/Interface.INormalizedCheckoutSession.md +0 -70
- package/data/packages/platform-payments/api/Interface.INormalizedPrice.md +0 -80
- package/data/packages/platform-payments/api/Interface.INormalizedSubscription.md +0 -100
- package/data/packages/platform-payments/api/Interface.INormalizedWebhookEvent.md +0 -84
- package/data/packages/platform-payments/api/Interface.IPaymentModuleOptions.md +0 -60
- package/data/packages/platform-payments/api/TypeAlias.SubscriptionStatus.md +0 -22
- package/data/packages/platform-payments/api/Variable.FEATURE_KEY_METADATA.md +0 -12
- package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_API_KEY.md +0 -14
- package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_STORE_ID.md +0 -14
- package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_WEBHOOK_SECRET.md +0 -14
- package/data/packages/platform-payments/api/Variable.MOLLIE_API_KEY.md +0 -14
- package/data/packages/platform-payments/api/Variable.MOLLIE_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-payments/api/Variable.MOLLIE_WEBHOOK_SECRET.md +0 -14
- package/data/packages/platform-payments/api/Variable.PADDLE_API_KEY.md +0 -14
- package/data/packages/platform-payments/api/Variable.PADDLE_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-payments/api/Variable.PADDLE_ENVIRONMENT.md +0 -14
- package/data/packages/platform-payments/api/Variable.PADDLE_WEBHOOK_SECRET.md +0 -14
- package/data/packages/platform-payments/api/Variable.STRIPE_API_KEY.md +0 -14
- package/data/packages/platform-payments/api/Variable.STRIPE_CONFIG_ENTRIES.md +0 -14
- package/data/packages/platform-payments/api/Variable.STRIPE_WEBHOOK_SECRET.md +0 -14
- package/data/packages/platform-payments/api/index.md +0 -63
- package/data/packages/platform-payments/index.md +0 -532
- package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +0 -56
- package/data/packages/platform-reporting/api/Class.ReportingDatasetNotFoundError.md +0 -40
- package/data/packages/platform-reporting/api/Class.ReportingFacade.md +0 -84
- package/data/packages/platform-reporting/api/Class.ReportingModule.md +0 -22
- package/data/packages/platform-reporting/api/Interface.IReportingContributor.md +0 -61
- package/data/packages/platform-reporting/api/Interface.IReportingDataset.md +0 -82
- package/data/packages/platform-reporting/api/Interface.IReportingDatasetField.md +0 -70
- package/data/packages/platform-reporting/api/Interface.IReportingQuery.md +0 -60
- package/data/packages/platform-reporting/api/Interface.IReportingQueryFilter.md +0 -40
- package/data/packages/platform-reporting/api/Interface.IReportingQueryResult.md +0 -60
- package/data/packages/platform-reporting/api/Interface.IReportingQuerySort.md +0 -30
- package/data/packages/platform-reporting/api/TypeAlias.ReportingFieldType.md +0 -12
- package/data/packages/platform-reporting/api/TypeAlias.ReportingFilterOperator.md +0 -12
- package/data/packages/platform-reporting/api/TypeAlias.ReportingQueryResultRow.md +0 -14
- package/data/packages/platform-reporting/api/Variable.ReportingFieldTypes.md +0 -30
- package/data/packages/platform-reporting/api/Variable.ReportingFilterOperators.md +0 -28
- package/data/packages/platform-reporting/api/index.md +0 -42
- package/data/packages/platform-reporting/index.md +0 -229
- package/data/packages/platform-telemetry/api/Class.NoopTelemetryFacade.md +0 -113
- package/data/packages/platform-telemetry/api/Class.TelemetryCacheMetricsRecorder.md +0 -175
- package/data/packages/platform-telemetry/api/Class.TelemetryFacade.md +0 -127
- package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +0 -226
- package/data/packages/platform-telemetry/api/Class.TelemetryModule.md +0 -40
- package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +0 -48
- package/data/packages/platform-telemetry/api/Interface.ITelemetryFacade.md +0 -85
- package/data/packages/platform-telemetry/api/Interface.ITelemetryMetricsOptions.md +0 -38
- package/data/packages/platform-telemetry/api/Interface.ITelemetryOptions.md +0 -136
- package/data/packages/platform-telemetry/api/Interface.ITelemetryTracesOptions.md +0 -38
- package/data/packages/platform-telemetry/api/Variable.TELEMETRY_ENABLED.md +0 -12
- package/data/packages/platform-telemetry/api/Variable.TELEMETRY_FACADE.md +0 -12
- package/data/packages/platform-telemetry/api/Variable.TELEMETRY_OPTIONS.md +0 -12
- package/data/packages/platform-telemetry/api/Variable.TELEMETRY_SHUTDOWN.md +0 -12
- package/data/packages/platform-telemetry/api/Variable.defaultTelemetryOptions.md +0 -12
- package/data/packages/platform-telemetry/api/index.md +0 -36
- package/data/packages/platform-telemetry/index.md +0 -234
|
@@ -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.
|
package/data/guides/index.md
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Guides
|
|
3
|
-
description: Developer guides for integrating and working with Archipel platform libraries.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Guides
|
|
7
|
-
|
|
8
|
-
Practical guides for working with Archipel packages in your NestJS application.
|
|
9
|
-
|
|
10
|
-
## Foundations
|
|
11
|
-
|
|
12
|
-
| Guide | What you'll learn |
|
|
13
|
-
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
|
|
14
|
-
| [Getting Started](./getting-started) | Install packages, register your first module, implement ports, and run the app. |
|
|
15
|
-
| [Implementing Ports](./implementing-ports) | How the port/adapter pattern works, how to write adapters, and how to test them. |
|
|
16
|
-
| [Testing](./testing) | Unit testing services, testing port adapters, integration testing with real databases. |
|
|
17
|
-
| [TSDoc Guidelines](./tsdoc-guidelines) | Documentation standards for public APIs and generated reference pages. |
|
|
18
|
-
|
|
19
|
-
## Security & Identity
|
|
20
|
-
|
|
21
|
-
| Guide | What you'll learn |
|
|
22
|
-
| -------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
|
|
23
|
-
| [Authentication & Authorization](./authentication-and-authorization) | JWT tokens, role-based access, custom scopes, MFA, sessions, and OAuth social login. |
|
|
24
|
-
| [Cryptography & OTP](./cryptography-and-otp) | Bcrypt password hashing, prefixed UUIDs, and TOTP multi-factor authentication. |
|
|
25
|
-
|
|
26
|
-
## Data & Storage
|
|
27
|
-
|
|
28
|
-
| Guide | What you'll learn |
|
|
29
|
-
| ----------------------------------------------- | ------------------------------------------------------------------------------------- |
|
|
30
|
-
| [Blob Storage](./blob-storage) | Multi-provider file storage, uploads, signed URLs, and metadata tracking. |
|
|
31
|
-
| [Document Generation](./document-generation) | Generate PDF and DOCX from templates with variable substitution and image processing. |
|
|
32
|
-
| [E-Signing Integration](./esigning-integration) | Electronic signature workflows, provider setup, and webhook handling. |
|
|
33
|
-
|
|
34
|
-
## Communication & Payments
|
|
35
|
-
|
|
36
|
-
| Guide | What you'll learn |
|
|
37
|
-
| ---------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
|
38
|
-
| [Email Delivery](./email-delivery) | Multi-provider email sending, template engines, and verification flows. |
|
|
39
|
-
| [Payments & Feature Gating](./payments-and-feature-gating) | Payment provider integration, webhook handling, and feature-based access control. |
|
|
40
|
-
|
|
41
|
-
## Operations & Observability
|
|
42
|
-
|
|
43
|
-
| Guide | What you'll learn |
|
|
44
|
-
| ------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
|
|
45
|
-
| [Telemetry & Observability](./telemetry-and-observability) | OpenTelemetry metrics, distributed tracing, and structured logging. |
|
|
46
|
-
| [Analytics & Error Tracking](./analytics-and-error-tracking) | Capture errors and user context with Sentry, AppInsights, or Datadog. |
|
|
47
|
-
| [Caching](./caching) | In-memory LRU and Redis layered caches with TTL, stale-while-revalidate, and metrics. |
|
|
48
|
-
|
|
49
|
-
## AI & Extensibility
|
|
50
|
-
|
|
51
|
-
| Guide | What you'll learn |
|
|
52
|
-
| ------------------------------------------ | ------------------------------------------------------------------------------- |
|
|
53
|
-
| [AI Text Generation](./ai-text-generation) | Multi-provider text completions, capability registry, and intent orchestration. |
|
|
54
|
-
| [MCP Server](./mcp-server) | Build MCP servers with tools, resources, and prompts for AI agent integration. |
|
|
55
|
-
|
|
56
|
-
## Platform Internals
|
|
57
|
-
|
|
58
|
-
| Guide | What you'll learn |
|
|
59
|
-
| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
|
60
|
-
| [OpenAPI & Feature Discovery](./openapi-and-feature-discovery) | Multi-document Swagger UI, the @Api decorator, and automatic per-module doc discovery. |
|
|
61
|
-
| [Resource Management](./resource-management) | Load templates, assets, and files from disk, blob storage, or memory via ResourceManager. |
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: MCP Server
|
|
3
|
-
description: Build a Model Context Protocol (MCP) server with tools, resources, and prompts for AI agent integration.
|
|
4
|
-
order: 13
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# MCP Server
|
|
8
|
-
|
|
9
|
-
This guide covers building an MCP server with `platform-mcp`: defining tools, resources, and prompts that AI agents can discover and invoke, selecting transports, and registering everything with auto-discovery.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Installation
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
yarn add @breadstone/archipel-platform-mcp
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## What is MCP?
|
|
22
|
-
|
|
23
|
-
The [Model Context Protocol](https://modelcontextprotocol.io/) is an open standard for connecting AI agents to external tools and data sources. An MCP server exposes:
|
|
24
|
-
|
|
25
|
-
- **Tools** — Functions the AI can call (e.g., search a database, create a record)
|
|
26
|
-
- **Resources** — Data the AI can read (e.g., configuration, documentation)
|
|
27
|
-
- **Prompts** — Pre-built prompt templates the AI can use
|
|
28
|
-
|
|
29
|
-
`platform-mcp` provides decorators and a discovery service that auto-registers your tools, resources, and prompts.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Module Registration
|
|
34
|
-
|
|
35
|
-
```typescript
|
|
36
|
-
import { Module } from '@nestjs/common';
|
|
37
|
-
import { McpModule } from '@breadstone/archipel-platform-mcp';
|
|
38
|
-
|
|
39
|
-
@Module({
|
|
40
|
-
imports: [
|
|
41
|
-
McpModule.register({
|
|
42
|
-
name: 'my-api-mcp',
|
|
43
|
-
version: '1.0.0',
|
|
44
|
-
}),
|
|
45
|
-
],
|
|
46
|
-
})
|
|
47
|
-
export class AppModule {}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Or asynchronously with configuration:
|
|
51
|
-
|
|
52
|
-
```typescript
|
|
53
|
-
import { McpModule } from '@breadstone/archipel-platform-mcp';
|
|
54
|
-
import { ConfigService } from '@breadstone/archipel-platform-core';
|
|
55
|
-
|
|
56
|
-
McpModule.registerAsync({
|
|
57
|
-
useFactory: (configService: ConfigService) => ({
|
|
58
|
-
name: configService.get('MCP_SERVER_NAME'),
|
|
59
|
-
version: configService.get('MCP_SERVER_VERSION'),
|
|
60
|
-
}),
|
|
61
|
-
inject: [ConfigService],
|
|
62
|
-
}),
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
## Defining Tools
|
|
68
|
-
|
|
69
|
-
Use `@McpTool()` to define callable functions:
|
|
70
|
-
|
|
71
|
-
```typescript
|
|
72
|
-
import { Injectable } from '@nestjs/common';
|
|
73
|
-
import { McpTool } from '@breadstone/archipel-platform-mcp';
|
|
74
|
-
|
|
75
|
-
@Injectable()
|
|
76
|
-
export class UserTools {
|
|
77
|
-
@McpTool({
|
|
78
|
-
name: 'search_users',
|
|
79
|
-
description: 'Search for users by name or email',
|
|
80
|
-
parameters: {
|
|
81
|
-
type: 'object',
|
|
82
|
-
properties: {
|
|
83
|
-
query: { type: 'string', description: 'Search term' },
|
|
84
|
-
limit: { type: 'number', description: 'Max results', default: 10 },
|
|
85
|
-
},
|
|
86
|
-
required: ['query'],
|
|
87
|
-
},
|
|
88
|
-
})
|
|
89
|
-
public async searchUsers(params: { query: string; limit?: number }): Promise<unknown> {
|
|
90
|
-
// Implementation: search your database and return results
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
@McpTool({
|
|
94
|
-
name: 'get_user',
|
|
95
|
-
description: 'Get a user by their ID',
|
|
96
|
-
parameters: {
|
|
97
|
-
type: 'object',
|
|
98
|
-
properties: {
|
|
99
|
-
userId: { type: 'string', description: 'The user ID' },
|
|
100
|
-
},
|
|
101
|
-
required: ['userId'],
|
|
102
|
-
},
|
|
103
|
-
})
|
|
104
|
-
public async getUser(params: { userId: string }): Promise<unknown> {
|
|
105
|
-
// Implementation: fetch a single user
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Defining Resources
|
|
113
|
-
|
|
114
|
-
Use `@McpResource()` to expose data that AI agents can read:
|
|
115
|
-
|
|
116
|
-
```typescript
|
|
117
|
-
import { Injectable } from '@nestjs/common';
|
|
118
|
-
import { McpResource } from '@breadstone/archipel-platform-mcp';
|
|
119
|
-
|
|
120
|
-
@Injectable()
|
|
121
|
-
export class DocsResources {
|
|
122
|
-
@McpResource({
|
|
123
|
-
name: 'api_documentation',
|
|
124
|
-
description: 'API documentation and usage guidelines',
|
|
125
|
-
uri: 'docs://api/overview',
|
|
126
|
-
})
|
|
127
|
-
public async getApiDocs(): Promise<string> {
|
|
128
|
-
return `
|
|
129
|
-
# API Overview
|
|
130
|
-
Base URL: https://api.yourapp.com/v1
|
|
131
|
-
Authentication: Bearer token required
|
|
132
|
-
Rate limit: 1000 requests/hour
|
|
133
|
-
`;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## Defining Prompts
|
|
141
|
-
|
|
142
|
-
Use `@McpPrompt()` to register reusable prompt templates:
|
|
143
|
-
|
|
144
|
-
```typescript
|
|
145
|
-
import { Injectable } from '@nestjs/common';
|
|
146
|
-
import { McpPrompt } from '@breadstone/archipel-platform-mcp';
|
|
147
|
-
|
|
148
|
-
@Injectable()
|
|
149
|
-
export class AnalysisPrompts {
|
|
150
|
-
@McpPrompt({
|
|
151
|
-
name: 'analyze_user_activity',
|
|
152
|
-
description: "Analyze a user's recent activity and provide insights",
|
|
153
|
-
parameters: {
|
|
154
|
-
type: 'object',
|
|
155
|
-
properties: {
|
|
156
|
-
userId: { type: 'string', description: 'The user to analyze' },
|
|
157
|
-
timeRange: { type: 'string', description: 'Time range (e.g., 7d, 30d)', default: '7d' },
|
|
158
|
-
},
|
|
159
|
-
required: ['userId'],
|
|
160
|
-
},
|
|
161
|
-
})
|
|
162
|
-
public getTemplate(params: { userId: string; timeRange?: string }): string {
|
|
163
|
-
return `Analyze the recent activity for user ${params.userId} over the last ${params.timeRange ?? '7d'}.
|
|
164
|
-
Provide insights on usage patterns, feature adoption, and potential issues.`;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Auto-Discovery
|
|
172
|
-
|
|
173
|
-
`McpDiscoveryService` automatically finds and registers all classes that use `@McpTool`, `@McpResource`, or `@McpPrompt` decorators. Just ensure the classes are registered as NestJS providers:
|
|
174
|
-
|
|
175
|
-
```typescript
|
|
176
|
-
@Module({
|
|
177
|
-
imports: [McpModule.register({ name: 'my-api-mcp', version: '1.0.0' })],
|
|
178
|
-
providers: [UserTools, DocsResources, AnalysisPrompts],
|
|
179
|
-
})
|
|
180
|
-
export class McpFeatureModule {}
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Transport Options
|
|
186
|
-
|
|
187
|
-
MCP supports multiple transport protocols:
|
|
188
|
-
|
|
189
|
-
| Transport | When to use |
|
|
190
|
-
| --------- | --------------------------------------------- |
|
|
191
|
-
| **SSE** | Browser-based AI agents, streaming responses |
|
|
192
|
-
| **HTTP** | Standard REST-based AI agent communication |
|
|
193
|
-
| **Stdio** | CLI tools, local development, piped processes |
|
|
194
|
-
|
|
195
|
-
The `McpServerService` handles transport negotiation automatically.
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## Connecting the Guides
|
|
200
|
-
|
|
201
|
-
The MCP server can expose Archipel's guides as resources. This makes your documentation discoverable by AI agents:
|
|
202
|
-
|
|
203
|
-
```typescript
|
|
204
|
-
@Injectable()
|
|
205
|
-
export class GuideResources {
|
|
206
|
-
@McpResource({
|
|
207
|
-
name: 'guide_authentication',
|
|
208
|
-
description: 'Guide for setting up authentication and authorization',
|
|
209
|
-
uri: 'docs://guides/authentication-and-authorization',
|
|
210
|
-
})
|
|
211
|
-
public async getAuthGuide(): Promise<string> {
|
|
212
|
-
// Read and return the guide content
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## Next Steps
|
|
220
|
-
|
|
221
|
-
- Browse the [platform-mcp API reference](/packages/platform-mcp/api/) for complete decorator options
|
|
222
|
-
- See the [Getting Started](/guides/getting-started) guide for basic module setup
|