@breadstone/archipel-mcp 0.0.15 → 0.0.17

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 (654) hide show
  1. package/data/guides/ai-text-generation.md +385 -0
  2. package/data/guides/analytics-and-error-tracking.md +189 -0
  3. package/data/guides/authentication-and-authorization.md +657 -0
  4. package/data/guides/blob-storage.md +268 -0
  5. package/data/guides/caching.md +255 -0
  6. package/data/guides/configuration.md +242 -0
  7. package/data/guides/controller-best-practices.md +766 -0
  8. package/data/guides/cryptography-and-otp.md +240 -0
  9. package/data/guides/database-setup.md +546 -0
  10. package/data/guides/document-generation.md +174 -0
  11. package/data/guides/email-delivery.md +233 -0
  12. package/data/guides/esigning-integration.md +247 -0
  13. package/data/guides/getting-started.md +354 -0
  14. package/data/guides/implementing-ports.md +317 -0
  15. package/data/guides/index.md +67 -0
  16. package/data/guides/mcp-server.md +222 -0
  17. package/data/guides/openapi-and-feature-discovery.md +266 -0
  18. package/data/guides/payments-and-feature-gating.md +260 -0
  19. package/data/guides/request-response-dtos.md +411 -0
  20. package/data/guides/resource-management.md +352 -0
  21. package/data/guides/telemetry-and-observability.md +190 -0
  22. package/data/guides/testing.md +319 -0
  23. package/data/guides/tsdoc-guidelines.md +45 -0
  24. package/data/packages/index.md +8 -0
  25. package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +141 -0
  26. package/data/packages/platform-analytics/api/Class.AnalyticsModule.md +47 -0
  27. package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +169 -0
  28. package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +169 -0
  29. package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +161 -0
  30. package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +169 -0
  31. package/data/packages/platform-analytics/api/Interface.IAnalyticsBreadcrumb.md +58 -0
  32. package/data/packages/platform-analytics/api/Interface.IAnalyticsModuleOptions.md +47 -0
  33. package/data/packages/platform-analytics/api/Interface.IAnalyticsUser.md +58 -0
  34. package/data/packages/platform-analytics/api/TypeAlias.AnalyticsLevel.md +14 -0
  35. package/data/packages/platform-analytics/api/Variable.APPINSIGHTS_CONFIG_ENTRIES.md +14 -0
  36. package/data/packages/platform-analytics/api/Variable.APPLICATIONINSIGHTS_CONNECTION_STRING.md +14 -0
  37. package/data/packages/platform-analytics/api/Variable.DATADOG_CONFIG_ENTRIES.md +14 -0
  38. package/data/packages/platform-analytics/api/Variable.DD_ENV.md +14 -0
  39. package/data/packages/platform-analytics/api/Variable.DD_SERVICE.md +14 -0
  40. package/data/packages/platform-analytics/api/Variable.SENTRY_CONFIG_ENTRIES.md +14 -0
  41. package/data/packages/platform-analytics/api/Variable.SENTRY_DSN.md +14 -0
  42. package/data/packages/platform-analytics/api/Variable.SENTRY_ENVIRONMENT.md +14 -0
  43. package/data/packages/platform-analytics/api/index.md +44 -0
  44. package/data/packages/platform-analytics/index.md +170 -0
  45. package/data/packages/platform-authentication/api/Class.AnonymousAuthGuard.md +40 -0
  46. package/data/packages/platform-authentication/api/Class.AppleConnector.md +86 -0
  47. package/data/packages/platform-authentication/api/Class.AuthModule.md +76 -0
  48. package/data/packages/platform-authentication/api/Class.AuthSubjectPort.md +95 -0
  49. package/data/packages/platform-authentication/api/Class.AuthTokenService.md +59 -0
  50. package/data/packages/platform-authentication/api/Class.ChallengeService.md +135 -0
  51. package/data/packages/platform-authentication/api/Class.ChallengeStorePort.md +95 -0
  52. package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +40 -0
  53. package/data/packages/platform-authentication/api/Class.GithubConnector.md +78 -0
  54. package/data/packages/platform-authentication/api/Class.GoogleConnector.md +84 -0
  55. package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +40 -0
  56. package/data/packages/platform-authentication/api/Class.JwtPayloadBase.md +136 -0
  57. package/data/packages/platform-authentication/api/Class.LastActiveMiddleware.md +71 -0
  58. package/data/packages/platform-authentication/api/Class.LocalAuthGuard.md +40 -0
  59. package/data/packages/platform-authentication/api/Class.MfaService.md +252 -0
  60. package/data/packages/platform-authentication/api/Class.MfaSubjectPort.md +70 -0
  61. package/data/packages/platform-authentication/api/Class.MicrosoftConnector.md +84 -0
  62. package/data/packages/platform-authentication/api/Class.RolesGuard.md +60 -0
  63. package/data/packages/platform-authentication/api/Class.SessionMappingProfile.md +60 -0
  64. package/data/packages/platform-authentication/api/Class.SessionPersistencePort.md +165 -0
  65. package/data/packages/platform-authentication/api/Class.SessionResponse.md +152 -0
  66. package/data/packages/platform-authentication/api/Class.SessionService.md +162 -0
  67. package/data/packages/platform-authentication/api/Class.SocialAuthGuard.md +61 -0
  68. package/data/packages/platform-authentication/api/Class.SocialAuthPort.md +48 -0
  69. package/data/packages/platform-authentication/api/Class.TokenEnricherPort.md +47 -0
  70. package/data/packages/platform-authentication/api/Class.TotpMfaChannel.md +144 -0
  71. package/data/packages/platform-authentication/api/Class.VerificationService.md +154 -0
  72. package/data/packages/platform-authentication/api/Class.VerificationSubjectPort.md +116 -0
  73. package/data/packages/platform-authentication/api/Function.Token.md +18 -0
  74. package/data/packages/platform-authentication/api/Function.UseRoles.md +24 -0
  75. package/data/packages/platform-authentication/api/Function.socialAuthGuardFactory.md +22 -0
  76. package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +157 -0
  77. package/data/packages/platform-authentication/api/Interface.IAuthSubject.md +107 -0
  78. package/data/packages/platform-authentication/api/Interface.IMfaChallengePayload.md +82 -0
  79. package/data/packages/platform-authentication/api/Interface.IMfaChallengeState.md +118 -0
  80. package/data/packages/platform-authentication/api/Interface.IMfaConfirmation.md +22 -0
  81. package/data/packages/platform-authentication/api/Interface.IMfaSetup.md +58 -0
  82. package/data/packages/platform-authentication/api/Interface.IMfaSubject.md +131 -0
  83. package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +91 -0
  84. package/data/packages/platform-authentication/api/Interface.ISessionRecord.md +160 -0
  85. package/data/packages/platform-authentication/api/Interface.ISignInResult.md +82 -0
  86. package/data/packages/platform-authentication/api/Interface.ISocialProfile.md +58 -0
  87. package/data/packages/platform-authentication/api/Interface.IStoreSessionArgs.md +70 -0
  88. package/data/packages/platform-authentication/api/Interface.IVerifiableSubject.md +71 -0
  89. package/data/packages/platform-authentication/api/Variable.APPLE_AUTH_CONFIG_ENTRIES.md +14 -0
  90. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CALLBACK_URL.md +14 -0
  91. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_CLIENT_ID.md +14 -0
  92. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_KEY_ID.md +14 -0
  93. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_PRIVATE_KEY.md +14 -0
  94. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_SCOPE.md +14 -0
  95. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_STATE.md +16 -0
  96. package/data/packages/platform-authentication/api/Variable.AUTH_APPLE_TEAM_ID.md +14 -0
  97. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CALLBACK_URL.md +14 -0
  98. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_ID.md +14 -0
  99. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_CLIENT_SECRET.md +14 -0
  100. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_SCOPE.md +14 -0
  101. package/data/packages/platform-authentication/api/Variable.AUTH_GITHUB_STATE.md +16 -0
  102. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CALLBACK_URL.md +14 -0
  103. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_ID.md +14 -0
  104. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_CLIENT_SECRET.md +14 -0
  105. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_SCOPE.md +14 -0
  106. package/data/packages/platform-authentication/api/Variable.AUTH_GOOGLE_STATE.md +16 -0
  107. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_EXPIRES_IN.md +14 -0
  108. package/data/packages/platform-authentication/api/Variable.AUTH_JWT_SECRET.md +14 -0
  109. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_CHALLENGE_EXPIRES_IN.md +14 -0
  110. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_CODE_TTL.md +14 -0
  111. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_EMAIL_MIN_RESEND.md +14 -0
  112. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ENCRYPTION_KEY.md +14 -0
  113. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_ISSUER.md +14 -0
  114. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_MAX_ATTEMPTS.md +14 -0
  115. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_CODE_TTL.md +14 -0
  116. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_PUSH_MIN_RESEND.md +14 -0
  117. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_CODE_TTL.md +14 -0
  118. package/data/packages/platform-authentication/api/Variable.AUTH_MFA_SMS_MIN_RESEND.md +14 -0
  119. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CALLBACK_URL.md +14 -0
  120. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_ID.md +14 -0
  121. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_CLIENT_SECRET.md +14 -0
  122. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_SCOPE.md +14 -0
  123. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_STATE.md +16 -0
  124. package/data/packages/platform-authentication/api/Variable.AUTH_MICROSOFT_TENANT.md +14 -0
  125. package/data/packages/platform-authentication/api/Variable.AUTH_VERIFY_JWT_EXPIRES_IN.md +14 -0
  126. package/data/packages/platform-authentication/api/Variable.GITHUB_AUTH_CONFIG_ENTRIES.md +14 -0
  127. package/data/packages/platform-authentication/api/Variable.GOOGLE_AUTH_CONFIG_ENTRIES.md +14 -0
  128. package/data/packages/platform-authentication/api/Variable.MICROSOFT_AUTH_CONFIG_ENTRIES.md +14 -0
  129. package/data/packages/platform-authentication/api/Variable.PLATFORM_AUTHENTICATION_CONFIG_ENTRIES.md +14 -0
  130. package/data/packages/platform-authentication/api/Variable.ROLES_KEY.md +14 -0
  131. package/data/packages/platform-authentication/api/Variable.SEED_ANONYMOUS_USERNAME.md +14 -0
  132. package/data/packages/platform-authentication/api/Variable.SESSION_LIST_MAPPING_KEY.md +14 -0
  133. package/data/packages/platform-authentication/api/Variable.SESSION_MAPPING_KEY.md +14 -0
  134. package/data/packages/platform-authentication/api/Variable.TOTP_MFA_PROVIDERS.md +29 -0
  135. package/data/packages/platform-authentication/api/Variable.User.md +24 -0
  136. package/data/packages/platform-authentication/api/index.md +117 -0
  137. package/data/packages/platform-authentication/index.md +691 -0
  138. package/data/packages/platform-blob-storage/api/Class.AwsS3BlobProvider.md +196 -0
  139. package/data/packages/platform-blob-storage/api/Class.AzureBlobProvider.md +196 -0
  140. package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +79 -0
  141. package/data/packages/platform-blob-storage/api/Class.BlobModule.md +49 -0
  142. package/data/packages/platform-blob-storage/api/Class.BlobObjectPersistencePort.md +75 -0
  143. package/data/packages/platform-blob-storage/api/Class.BlobService.md +248 -0
  144. package/data/packages/platform-blob-storage/api/Class.BlobVariantPersistencePort.md +51 -0
  145. package/data/packages/platform-blob-storage/api/Class.VercelBlobProvider.md +197 -0
  146. package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +28 -0
  147. package/data/packages/platform-blob-storage/api/Interface.IAwsS3ProviderOptions.md +68 -0
  148. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderOptions.md +48 -0
  149. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +28 -0
  150. package/data/packages/platform-blob-storage/api/Interface.IBlobDeleteRequest.md +38 -0
  151. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadRequest.md +48 -0
  152. package/data/packages/platform-blob-storage/api/Interface.IBlobDownloadResult.md +64 -0
  153. package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +48 -0
  154. package/data/packages/platform-blob-storage/api/Interface.IBlobObjectMetadata.md +138 -0
  155. package/data/packages/platform-blob-storage/api/Interface.IBlobProvider.md +114 -0
  156. package/data/packages/platform-blob-storage/api/Interface.IBlobSignedUrlRequest.md +48 -0
  157. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadRequest.md +98 -0
  158. package/data/packages/platform-blob-storage/api/Interface.IBlobUploadResult.md +28 -0
  159. package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +28 -0
  160. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderOptions.md +80 -0
  161. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +28 -0
  162. package/data/packages/platform-blob-storage/api/TypeAlias.BlobDownloadResponseType.md +12 -0
  163. package/data/packages/platform-blob-storage/api/TypeAlias.BlobUploadBody.md +12 -0
  164. package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +16 -0
  165. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +12 -0
  166. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +12 -0
  167. package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +12 -0
  168. package/data/packages/platform-blob-storage/api/Variable.BlobDownloadResponseTypes.md +26 -0
  169. package/data/packages/platform-blob-storage/api/Variable.BlobProviderKinds.md +26 -0
  170. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +12 -0
  171. package/data/packages/platform-blob-storage/api/index.md +59 -0
  172. package/data/packages/platform-blob-storage/index.md +353 -0
  173. package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +258 -0
  174. package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +157 -0
  175. package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +295 -0
  176. package/data/packages/platform-caching/api/Interface.ICacheMetricsRecorder.md +121 -0
  177. package/data/packages/platform-caching/api/Interface.ICacheStats.md +70 -0
  178. package/data/packages/platform-caching/api/Interface.ILayeredCache.md +198 -0
  179. package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +75 -0
  180. package/data/packages/platform-caching/api/Interface.IRedisLayeredCacheOptions.md +121 -0
  181. package/data/packages/platform-caching/api/index.md +24 -0
  182. package/data/packages/platform-caching/index.md +116 -0
  183. package/data/packages/platform-configuration/api/Class.ConfigKeyNotFoundError.md +89 -0
  184. package/data/packages/platform-configuration/api/Class.ConfigModule.md +74 -0
  185. package/data/packages/platform-configuration/api/Class.ConfigRegistry.md +115 -0
  186. package/data/packages/platform-configuration/api/Class.ConfigService.md +137 -0
  187. package/data/packages/platform-configuration/api/Class.ConfigStrategyBase.md +125 -0
  188. package/data/packages/platform-configuration/api/Class.EnvironmentConfigStrategy.md +141 -0
  189. package/data/packages/platform-configuration/api/Class.FileConfigStrategy.md +147 -0
  190. package/data/packages/platform-configuration/api/Function.createConfigKey.md +58 -0
  191. package/data/packages/platform-configuration/api/Interface.IConfigKey.md +63 -0
  192. package/data/packages/platform-configuration/api/Interface.IConfigModuleOptions.md +40 -0
  193. package/data/packages/platform-configuration/api/Interface.IConfigRegistryEntry.md +79 -0
  194. package/data/packages/platform-configuration/api/index.md +32 -0
  195. package/data/packages/platform-configuration/index.md +224 -0
  196. package/data/packages/platform-core/api/Class.AppHealthIndicator.md +50 -0
  197. package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +195 -0
  198. package/data/packages/platform-core/api/Class.BooleanUtils.md +82 -0
  199. package/data/packages/platform-core/api/Class.CUIDGenerator.md +120 -0
  200. package/data/packages/platform-core/api/Class.CasingInterceptor.md +93 -0
  201. package/data/packages/platform-core/api/Class.CatchUtils.md +93 -0
  202. package/data/packages/platform-core/api/Class.ContentTemplateEngine.md +63 -0
  203. package/data/packages/platform-core/api/Class.DateTimeUtils.md +101 -0
  204. package/data/packages/platform-core/api/Class.DeviceParserService.md +52 -0
  205. package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +215 -0
  206. package/data/packages/platform-core/api/Class.ErrorTemplateService.md +109 -0
  207. package/data/packages/platform-core/api/Class.EventHub.md +163 -0
  208. package/data/packages/platform-core/api/Class.EventModule.md +22 -0
  209. package/data/packages/platform-core/api/Class.FileResourceStrategy.md +192 -0
  210. package/data/packages/platform-core/api/Class.GUIDGenerator.md +85 -0
  211. package/data/packages/platform-core/api/Class.GlobalExceptionFilter.md +66 -0
  212. package/data/packages/platform-core/api/Class.HealthModule.md +42 -0
  213. package/data/packages/platform-core/api/Class.HealthOrchestrator.md +64 -0
  214. package/data/packages/platform-core/api/Class.HostModule.md +31 -0
  215. package/data/packages/platform-core/api/Class.HostService.md +149 -0
  216. package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +59 -0
  217. package/data/packages/platform-core/api/Class.IdGeneratorBase.md +87 -0
  218. package/data/packages/platform-core/api/Class.IdentifierModule.md +40 -0
  219. package/data/packages/platform-core/api/Class.LimitRequestSizeMiddleware.md +59 -0
  220. package/data/packages/platform-core/api/Class.LocalizedTextRequest.md +42 -0
  221. package/data/packages/platform-core/api/Class.LocalizedTextResponse.md +42 -0
  222. package/data/packages/platform-core/api/Class.MappingBuilder.md +110 -0
  223. package/data/packages/platform-core/api/Class.MappingModule.md +46 -0
  224. package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +56 -0
  225. package/data/packages/platform-core/api/Class.MappingProfileBase.md +52 -0
  226. package/data/packages/platform-core/api/Class.MappingService.md +284 -0
  227. package/data/packages/platform-core/api/Class.NormalizedUtils.md +148 -0
  228. package/data/packages/platform-core/api/Class.PageableRequest.md +42 -0
  229. package/data/packages/platform-core/api/Class.PageableResponse.md +62 -0
  230. package/data/packages/platform-core/api/Class.ProblemDetailException.md +61 -0
  231. package/data/packages/platform-core/api/Class.ProblemDetailExceptionFilter.md +94 -0
  232. package/data/packages/platform-core/api/Class.QuantityResponse.md +42 -0
  233. package/data/packages/platform-core/api/Class.ResourceManager.md +565 -0
  234. package/data/packages/platform-core/api/Class.ResourceModule.md +46 -0
  235. package/data/packages/platform-core/api/Class.ResponseReturn.md +502 -0
  236. package/data/packages/platform-core/api/Class.SseHub.md +183 -0
  237. package/data/packages/platform-core/api/Class.SseModule.md +42 -0
  238. package/data/packages/platform-core/api/Class.TimeStampResponse.md +42 -0
  239. package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +57 -0
  240. package/data/packages/platform-core/api/Class.UUIDGenerator.md +85 -0
  241. package/data/packages/platform-core/api/Class.UserAvatarGeneratorService.md +52 -0
  242. package/data/packages/platform-core/api/Class.UserNameGeneratorService.md +64 -0
  243. package/data/packages/platform-core/api/Function.Public.md +18 -0
  244. package/data/packages/platform-core/api/Function.createEventKey.md +33 -0
  245. package/data/packages/platform-core/api/Function.createMappingKey.md +39 -0
  246. package/data/packages/platform-core/api/Function.env.md +28 -0
  247. package/data/packages/platform-core/api/Function.getMimeTypeByFileNameOrExtension.md +26 -0
  248. package/data/packages/platform-core/api/ISseEventData.Function.isActionId.md +27 -0
  249. package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +28 -0
  250. package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +40 -0
  251. package/data/packages/platform-core/api/Interface.IDeviceInfo.md +80 -0
  252. package/data/packages/platform-core/api/Interface.IErrorPageParams.md +153 -0
  253. package/data/packages/platform-core/api/Interface.IEventKey.md +57 -0
  254. package/data/packages/platform-core/api/Interface.IEventMap.md +16 -0
  255. package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +72 -0
  256. package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +46 -0
  257. package/data/packages/platform-core/api/Interface.IHealthIndicator.md +41 -0
  258. package/data/packages/platform-core/api/Interface.IHostContentParams.md +232 -0
  259. package/data/packages/platform-core/api/Interface.IIdGenerator.md +57 -0
  260. package/data/packages/platform-core/api/Interface.IMappingBuilder.md +76 -0
  261. package/data/packages/platform-core/api/Interface.IMappingKey.md +58 -0
  262. package/data/packages/platform-core/api/Interface.IMappingProfile.md +32 -0
  263. package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +89 -0
  264. package/data/packages/platform-core/api/Interface.IResourceMetadata.md +94 -0
  265. package/data/packages/platform-core/api/Interface.IResourceResult.md +34 -0
  266. package/data/packages/platform-core/api/Interface.IResourceStrategy.md +134 -0
  267. package/data/packages/platform-core/api/Interface.ISseEventData.md +36 -0
  268. package/data/packages/platform-core/api/Interface.ISseHub.md +91 -0
  269. package/data/packages/platform-core/api/Namespace.ISseEventData.md +14 -0
  270. package/data/packages/platform-core/api/TypeAlias.CamelCase.md +18 -0
  271. package/data/packages/platform-core/api/TypeAlias.ProblemDetail.md +28 -0
  272. package/data/packages/platform-core/api/TypeAlias.ProblemDetailTypeUrlResolver.md +25 -0
  273. package/data/packages/platform-core/api/TypeAlias.SetOptional.md +21 -0
  274. package/data/packages/platform-core/api/TypeAlias.StringValue.md +15 -0
  275. package/data/packages/platform-core/api/Variable.APP_NAME.md +14 -0
  276. package/data/packages/platform-core/api/Variable.APP_PORT.md +14 -0
  277. package/data/packages/platform-core/api/Variable.APP_URL.md +14 -0
  278. package/data/packages/platform-core/api/Variable.APP_VERSION.md +14 -0
  279. package/data/packages/platform-core/api/Variable.GIT_COMMIT.md +14 -0
  280. package/data/packages/platform-core/api/Variable.HEALTH_INDICATORS_TOKEN.md +14 -0
  281. package/data/packages/platform-core/api/Variable.ID_GENERATOR_TOKEN.md +14 -0
  282. package/data/packages/platform-core/api/Variable.IS_PUBLIC_KEY.md +12 -0
  283. package/data/packages/platform-core/api/Variable.IpAddress.md +31 -0
  284. package/data/packages/platform-core/api/Variable.Lang.md +29 -0
  285. package/data/packages/platform-core/api/Variable.NODE_ENV.md +14 -0
  286. package/data/packages/platform-core/api/Variable.PLATFORM_CORE_CONFIG_ENTRIES.md +14 -0
  287. package/data/packages/platform-core/api/Variable.UserAgent.md +24 -0
  288. package/data/packages/platform-core/api/index.md +127 -0
  289. package/data/packages/platform-core/index.md +487 -0
  290. package/data/packages/platform-cryptography/api/Class.BcryptService.md +95 -0
  291. package/data/packages/platform-cryptography/api/Class.CryptoService.md +51 -0
  292. package/data/packages/platform-cryptography/api/Class.CryptographyError.md +56 -0
  293. package/data/packages/platform-cryptography/api/Class.InvalidOtpError.md +52 -0
  294. package/data/packages/platform-cryptography/api/Class.OtpService.md +155 -0
  295. package/data/packages/platform-cryptography/api/Class.WeakPasswordError.md +52 -0
  296. package/data/packages/platform-cryptography/api/Interface.IBcryptOptions.md +45 -0
  297. package/data/packages/platform-cryptography/api/Interface.IOtpOptions.md +31 -0
  298. package/data/packages/platform-cryptography/api/Interface.IOtpService.md +113 -0
  299. package/data/packages/platform-cryptography/api/Interface.IOtpUriOptions.md +46 -0
  300. package/data/packages/platform-cryptography/api/Variable.BCRYPT_OPTIONS.md +14 -0
  301. package/data/packages/platform-cryptography/api/Variable.MAX_BCRYPT_PASSWORD_BYTES.md +14 -0
  302. package/data/packages/platform-cryptography/api/Variable.MIN_BCRYPT_ROUNDS.md +14 -0
  303. package/data/packages/platform-cryptography/api/Variable.OTP_OPTIONS.md +14 -0
  304. package/data/packages/platform-cryptography/api/Variable.OTP_SERVICE_TOKEN.md +14 -0
  305. package/data/packages/platform-cryptography/api/Variable.TOTP_EPOCH_TOLERANCE.md +23 -0
  306. package/data/packages/platform-cryptography/api/index.md +37 -0
  307. package/data/packages/platform-cryptography/index.md +132 -0
  308. package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +75 -0
  309. package/data/packages/platform-database/api/Class.DatabaseModule.md +68 -0
  310. package/data/packages/platform-database/api/Class.DatabaseService.md +143 -0
  311. package/data/packages/platform-database/api/Class.PrismaService.md +98 -0
  312. package/data/packages/platform-database/api/Class.RepositoryBase.md +590 -0
  313. package/data/packages/platform-database/api/Class.RepositoryExceptionFilter.md +55 -0
  314. package/data/packages/platform-database/api/Function.cursorPaginator.md +26 -0
  315. package/data/packages/platform-database/api/Function.pageable.md +35 -0
  316. package/data/packages/platform-database/api/Function.paginator.md +22 -0
  317. package/data/packages/platform-database/api/Function.query.md +34 -0
  318. package/data/packages/platform-database/api/Function.skip.md +33 -0
  319. package/data/packages/platform-database/api/Function.transactionalQuery.md +31 -0
  320. package/data/packages/platform-database/api/Interface.ICursorPaginateOptions.md +40 -0
  321. package/data/packages/platform-database/api/Interface.ICursorPaginatedResult.md +65 -0
  322. package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +35 -0
  323. package/data/packages/platform-database/api/Interface.IPaginateOptions.md +28 -0
  324. package/data/packages/platform-database/api/Interface.IPaginatedResult.md +77 -0
  325. package/data/packages/platform-database/api/Interface.IPrismaServiceOptions.md +23 -0
  326. package/data/packages/platform-database/api/Interface.IRepositoryQuery.md +51 -0
  327. package/data/packages/platform-database/api/Interface.ITransactionalRepositoryQuery.md +50 -0
  328. package/data/packages/platform-database/api/TypeAlias.CursorPaginateFunction.md +33 -0
  329. package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +18 -0
  330. package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +18 -0
  331. package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +31 -0
  332. package/data/packages/platform-database/api/TypeAlias.QueryResultType.md +27 -0
  333. package/data/packages/platform-database/api/TypeAlias.TransactionalQueryResultType.md +26 -0
  334. package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +14 -0
  335. package/data/packages/platform-database/api/Variable.DB_AUTO_CONNECTION.md +14 -0
  336. package/data/packages/platform-database/api/Variable.PLATFORM_DATABASE_CONFIG_ENTRIES.md +14 -0
  337. package/data/packages/platform-database/api/index.md +60 -0
  338. package/data/packages/platform-database/index.md +323 -0
  339. package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +277 -0
  340. package/data/packages/platform-documents/api/Class.DocumentEngine.md +80 -0
  341. package/data/packages/platform-documents/api/Class.DocumentModule.md +47 -0
  342. package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +131 -0
  343. package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +94 -0
  344. package/data/packages/platform-documents/api/Interface.IDocumentPlaceholderDetail.md +70 -0
  345. package/data/packages/platform-documents/api/Interface.IDocumentProbeReport.md +118 -0
  346. package/data/packages/platform-documents/api/Interface.IDocumentRenderer.md +47 -0
  347. package/data/packages/platform-documents/api/Interface.IImagePayload.md +58 -0
  348. package/data/packages/platform-documents/api/Interface.IImageProcessor.md +95 -0
  349. package/data/packages/platform-documents/api/Interface.IRenderOptions.md +64 -0
  350. package/data/packages/platform-documents/api/Interface.IRenderResult.md +58 -0
  351. package/data/packages/platform-documents/api/TypeAlias.DocumentFormat.md +14 -0
  352. package/data/packages/platform-documents/api/TypeAlias.EngineType.md +14 -0
  353. package/data/packages/platform-documents/api/TypeAlias.ImageMimeType.md +14 -0
  354. package/data/packages/platform-documents/api/TypeAlias.TemplateFormat.md +14 -0
  355. package/data/packages/platform-documents/api/TypeAlias.TemplateType.md +14 -0
  356. package/data/packages/platform-documents/api/Variable.DOCUMENT_MODULE_OPTIONS.md +14 -0
  357. package/data/packages/platform-documents/api/Variable.DOCUMENT_PARSER_TOKEN.md +14 -0
  358. package/data/packages/platform-documents/api/Variable.DOCUMENT_RENDERER_TOKEN.md +14 -0
  359. package/data/packages/platform-documents/api/Variable.IMAGE_PROCESSOR_TOKEN.md +14 -0
  360. package/data/packages/platform-documents/api/index.md +47 -0
  361. package/data/packages/platform-documents/index.md +219 -0
  362. package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +188 -0
  363. package/data/packages/platform-esigning/api/Class.EsigningError.md +65 -0
  364. package/data/packages/platform-esigning/api/Class.EsigningModule.md +48 -0
  365. package/data/packages/platform-esigning/api/Class.EsigningPersistencePort.md +90 -0
  366. package/data/packages/platform-esigning/api/Class.EsigningService.md +202 -0
  367. package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +253 -0
  368. package/data/packages/platform-esigning/api/Class.SigningProviderError.md +101 -0
  369. package/data/packages/platform-esigning/api/Class.SigningRequestNotFoundError.md +78 -0
  370. package/data/packages/platform-esigning/api/Class.WebhookVerificationError.md +60 -0
  371. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequest.md +94 -0
  372. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestDocument.md +58 -0
  373. package/data/packages/platform-esigning/api/Interface.ICreateSigningRequestSigner.md +58 -0
  374. package/data/packages/platform-esigning/api/Interface.ICreateSigningSessionRequest.md +46 -0
  375. package/data/packages/platform-esigning/api/Interface.IEsigningModuleOptions.md +60 -0
  376. package/data/packages/platform-esigning/api/Interface.IEsigningWebhookEvent.md +82 -0
  377. package/data/packages/platform-esigning/api/Interface.ISignedDocument.md +82 -0
  378. package/data/packages/platform-esigning/api/Interface.ISigner.md +82 -0
  379. package/data/packages/platform-esigning/api/Interface.ISigningDocument.md +82 -0
  380. package/data/packages/platform-esigning/api/Interface.ISigningField.md +142 -0
  381. package/data/packages/platform-esigning/api/Interface.ISigningRequest.md +142 -0
  382. package/data/packages/platform-esigning/api/Interface.ISigningSession.md +70 -0
  383. package/data/packages/platform-esigning/api/TypeAlias.SignerRole.md +14 -0
  384. package/data/packages/platform-esigning/api/TypeAlias.SignerStatus.md +14 -0
  385. package/data/packages/platform-esigning/api/TypeAlias.SigningFieldType.md +14 -0
  386. package/data/packages/platform-esigning/api/TypeAlias.SigningRequestStatus.md +14 -0
  387. package/data/packages/platform-esigning/api/TypeAlias.WebhookEventType.md +14 -0
  388. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_BASE_URL.md +14 -0
  389. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CLIENT_SECRET.md +14 -0
  390. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_CONFIG_ENTRIES.md +14 -0
  391. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_INTEGRATION_KEY.md +14 -0
  392. package/data/packages/platform-esigning/api/Variable.ADOBE_SIGN_WEBHOOK_CLIENT_ID.md +14 -0
  393. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_ACCOUNT_ID.md +14 -0
  394. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_BASE_URL.md +14 -0
  395. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_CONFIG_ENTRIES.md +14 -0
  396. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_INTEGRATION_KEY.md +14 -0
  397. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_SECRET_KEY.md +14 -0
  398. package/data/packages/platform-esigning/api/Variable.DOCUSIGN_WEBHOOK_HMAC_KEY.md +14 -0
  399. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_API_KEY.md +14 -0
  400. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CLIENT_ID.md +14 -0
  401. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_CONFIG_ENTRIES.md +14 -0
  402. package/data/packages/platform-esigning/api/Variable.DROPBOX_SIGN_WEBHOOK_SECRET.md +14 -0
  403. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_BASE_URL.md +14 -0
  404. package/data/packages/platform-esigning/api/Variable.ESIGNING_API_KEY.md +14 -0
  405. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER.md +12 -0
  406. package/data/packages/platform-esigning/api/Variable.ESIGNING_PROVIDER_OPTIONS.md +12 -0
  407. package/data/packages/platform-esigning/api/Variable.ESIGNING_WEBHOOK_SECRET.md +14 -0
  408. package/data/packages/platform-esigning/api/Variable.PLATFORM_ESIGNING_CONFIG_ENTRIES.md +14 -0
  409. package/data/packages/platform-esigning/api/Variable.SIGNNOW_API_KEY.md +14 -0
  410. package/data/packages/platform-esigning/api/Variable.SIGNNOW_BASE_URL.md +14 -0
  411. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_ID.md +14 -0
  412. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CLIENT_SECRET.md +14 -0
  413. package/data/packages/platform-esigning/api/Variable.SIGNNOW_CONFIG_ENTRIES.md +14 -0
  414. package/data/packages/platform-esigning/api/Variable.SIGNNOW_WEBHOOK_SECRET.md +14 -0
  415. package/data/packages/platform-esigning/api/Variable.SignerRoles.md +30 -0
  416. package/data/packages/platform-esigning/api/Variable.SignerStatuses.md +32 -0
  417. package/data/packages/platform-esigning/api/Variable.SigningFieldTypes.md +38 -0
  418. package/data/packages/platform-esigning/api/Variable.SigningRequestStatuses.md +36 -0
  419. package/data/packages/platform-esigning/api/Variable.WebhookEventTypes.md +38 -0
  420. package/data/packages/platform-esigning/api/index.md +84 -0
  421. package/data/packages/platform-esigning/index.md +701 -0
  422. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistrarBase.md +94 -0
  423. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistry.md +106 -0
  424. package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +22 -0
  425. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderError.md +79 -0
  426. package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +81 -0
  427. package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +26 -0
  428. package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +26 -0
  429. package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +26 -0
  430. package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +26 -0
  431. package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +26 -0
  432. package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +31 -0
  433. package/data/packages/platform-intelligence/api/Interface.IIntelligenceArtifact.md +34 -0
  434. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapability.md +71 -0
  435. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityMetadata.md +70 -0
  436. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityPayload.md +46 -0
  437. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityRegistry.md +78 -0
  438. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityResult.md +46 -0
  439. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +46 -0
  440. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContext.md +72 -0
  441. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContextBuilder.md +35 -0
  442. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationMessageSnapshot.md +70 -0
  443. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationSnapshot.md +58 -0
  444. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFollowUpQuestion.md +46 -0
  445. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntent.md +46 -0
  446. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntentEntity.md +34 -0
  447. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessageModel.md +70 -0
  448. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessagePayload.md +34 -0
  449. package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +34 -0
  450. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptMessage.md +34 -0
  451. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +94 -0
  452. package/data/packages/platform-intelligence/api/Interface.IIntelligenceResponseMessage.md +34 -0
  453. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +60 -0
  454. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +59 -0
  455. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +53 -0
  456. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceConversationMessageRole.md +14 -0
  457. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +24 -0
  458. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +14 -0
  459. package/data/packages/platform-intelligence/api/Variable.ANTHROPIC_API_KEY.md +14 -0
  460. package/data/packages/platform-intelligence/api/Variable.ANTHROPIC_BASE_URL.md +14 -0
  461. package/data/packages/platform-intelligence/api/Variable.GEMINI_API_KEY.md +14 -0
  462. package/data/packages/platform-intelligence/api/Variable.GOOGLE_API_KEY.md +14 -0
  463. package/data/packages/platform-intelligence/api/Variable.GOOGLE_BASE_URL.md +14 -0
  464. package/data/packages/platform-intelligence/api/Variable.GROK_API_KEY.md +14 -0
  465. package/data/packages/platform-intelligence/api/Variable.GROK_BASE_URL.md +14 -0
  466. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_API_KEY.md +14 -0
  467. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_BASE_URL.md +14 -0
  468. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +14 -0
  469. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MODEL.md +14 -0
  470. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_PROVIDER.md +14 -0
  471. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TEMPERATURE.md +14 -0
  472. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TOP_P.md +14 -0
  473. package/data/packages/platform-intelligence/api/Variable.IntelligenceConversationMessageRoles.md +26 -0
  474. package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +28 -0
  475. package/data/packages/platform-intelligence/api/Variable.OPENAI_API_KEY.md +14 -0
  476. package/data/packages/platform-intelligence/api/Variable.OPENAI_BASE_URL.md +14 -0
  477. package/data/packages/platform-intelligence/api/Variable.PLATFORM_INTELLIGENCE_CONFIG_ENTRIES.md +14 -0
  478. package/data/packages/platform-intelligence/api/Variable.XAI_API_KEY.md +14 -0
  479. package/data/packages/platform-intelligence/api/Variable.XAI_BASE_URL.md +14 -0
  480. package/data/packages/platform-intelligence/api/index.md +89 -0
  481. package/data/packages/platform-intelligence/index.md +155 -0
  482. package/data/packages/platform-logging/api/Class.LoggerModule.md +22 -0
  483. package/data/packages/platform-logging/api/Variable.APP_LOG_LEVEL.md +14 -0
  484. package/data/packages/platform-logging/api/Variable.PLATFORM_LOGGING_CONFIG_ENTRIES.md +14 -0
  485. package/data/packages/platform-logging/api/index.md +19 -0
  486. package/data/packages/platform-logging/index.md +92 -0
  487. package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +60 -0
  488. package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +68 -0
  489. package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +58 -0
  490. package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +71 -0
  491. package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +78 -0
  492. package/data/packages/platform-mailing/api/Class.MailModule.md +22 -0
  493. package/data/packages/platform-mailing/api/Class.MailService.md +98 -0
  494. package/data/packages/platform-mailing/api/Class.MailTemplateEngine.md +93 -0
  495. package/data/packages/platform-mailing/api/Class.MailVerificationService.md +92 -0
  496. package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +77 -0
  497. package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +77 -0
  498. package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +77 -0
  499. package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +77 -0
  500. package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +77 -0
  501. package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +53 -0
  502. package/data/packages/platform-mailing/api/Interface.IMailAttachment.md +46 -0
  503. package/data/packages/platform-mailing/api/Interface.IMailEvents.md +66 -0
  504. package/data/packages/platform-mailing/api/Interface.IMailTemplateVariants.md +30 -0
  505. package/data/packages/platform-mailing/api/TypeAlias.MailTemplateFormat.md +14 -0
  506. package/data/packages/platform-mailing/api/Variable.ALLOWED_ATTACHMENT_MIME_TYPES.md +14 -0
  507. package/data/packages/platform-mailing/api/Variable.MAILGUN_API_KEY.md +14 -0
  508. package/data/packages/platform-mailing/api/Variable.MAILGUN_CONFIG_ENTRIES.md +14 -0
  509. package/data/packages/platform-mailing/api/Variable.MAILGUN_DOMAIN.md +14 -0
  510. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY.md +14 -0
  511. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY_TOKEN.md +12 -0
  512. package/data/packages/platform-mailing/api/Variable.MAIL_HOST.md +14 -0
  513. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_API_KEY.md +14 -0
  514. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_DOMAIN.md +14 -0
  515. package/data/packages/platform-mailing/api/Variable.MAIL_PORT.md +14 -0
  516. package/data/packages/platform-mailing/api/Variable.MAIL_POSTMARK_API_KEY.md +14 -0
  517. package/data/packages/platform-mailing/api/Variable.MAIL_RESEND_API_KEY.md +14 -0
  518. package/data/packages/platform-mailing/api/Variable.MAIL_SENDER_EMAIL.md +14 -0
  519. package/data/packages/platform-mailing/api/Variable.MAIL_SENDGRID_API_KEY.md +14 -0
  520. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_HOST.md +14 -0
  521. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PASSWORD.md +14 -0
  522. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PORT.md +14 -0
  523. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_SECURE.md +14 -0
  524. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_USER.md +14 -0
  525. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_ENGINE_FORMAT.md +14 -0
  526. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_FETCH_STRATEGY_TOKEN.md +16 -0
  527. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_STRATEGY.md +14 -0
  528. package/data/packages/platform-mailing/api/Variable.MAIL_USER.md +14 -0
  529. package/data/packages/platform-mailing/api/Variable.MAX_ATTACHMENT_SIZE_BYTES.md +14 -0
  530. package/data/packages/platform-mailing/api/Variable.PLATFORM_MAILING_CONFIG_ENTRIES.md +14 -0
  531. package/data/packages/platform-mailing/api/Variable.POSTMARK_API_KEY.md +14 -0
  532. package/data/packages/platform-mailing/api/Variable.POSTMARK_CONFIG_ENTRIES.md +14 -0
  533. package/data/packages/platform-mailing/api/Variable.RESEND_API_KEY.md +14 -0
  534. package/data/packages/platform-mailing/api/Variable.RESEND_CONFIG_ENTRIES.md +14 -0
  535. package/data/packages/platform-mailing/api/Variable.SENDGRID_API_KEY.md +14 -0
  536. package/data/packages/platform-mailing/api/Variable.SENDGRID_CONFIG_ENTRIES.md +14 -0
  537. package/data/packages/platform-mailing/api/Variable.SEND_MAIL_EVENT_KEY.md +14 -0
  538. package/data/packages/platform-mailing/api/index.md +77 -0
  539. package/data/packages/platform-mailing/index.md +383 -0
  540. package/data/packages/platform-mcp/api/Class.McpDiscoveryService.md +64 -0
  541. package/data/packages/platform-mcp/api/Class.McpModule.md +82 -0
  542. package/data/packages/platform-mcp/api/Class.McpRegistryService.md +146 -0
  543. package/data/packages/platform-mcp/api/Class.McpServerService.md +196 -0
  544. package/data/packages/platform-mcp/api/Function.McpPrompt.md +28 -0
  545. package/data/packages/platform-mcp/api/Function.McpResource.md +28 -0
  546. package/data/packages/platform-mcp/api/Function.McpTool.md +28 -0
  547. package/data/packages/platform-mcp/api/Interface.IMcpHandlerMetadata.md +46 -0
  548. package/data/packages/platform-mcp/api/Interface.IMcpModuleAsyncOptions.md +75 -0
  549. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptions.md +125 -0
  550. package/data/packages/platform-mcp/api/Interface.IMcpModuleOptionsFactory.md +27 -0
  551. package/data/packages/platform-mcp/api/Interface.IMcpPromptMetadata.md +58 -0
  552. package/data/packages/platform-mcp/api/Interface.IMcpResourceMetadata.md +72 -0
  553. package/data/packages/platform-mcp/api/Interface.IMcpToolMetadata.md +94 -0
  554. package/data/packages/platform-mcp/api/Interface.IRegisteredPrompt.md +40 -0
  555. package/data/packages/platform-mcp/api/Interface.IRegisteredResource.md +40 -0
  556. package/data/packages/platform-mcp/api/Interface.IRegisteredTool.md +40 -0
  557. package/data/packages/platform-mcp/api/Interface.ISseTransportOptions.md +22 -0
  558. package/data/packages/platform-mcp/api/Interface.IStreamableHttpTransportOptions.md +38 -0
  559. package/data/packages/platform-mcp/api/Variable.MCP_MODULE_OPTIONS.md +14 -0
  560. package/data/packages/platform-mcp/api/index.md +46 -0
  561. package/data/packages/platform-mcp/index.md +299 -0
  562. package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +70 -0
  563. package/data/packages/platform-openapi/api/Class.SwaggerFeatureRegistry.md +83 -0
  564. package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +77 -0
  565. package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +46 -0
  566. package/data/packages/platform-openapi/api/Function.Api.md +35 -0
  567. package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +42 -0
  568. package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +18 -0
  569. package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +27 -0
  570. package/data/packages/platform-openapi/api/Interface.IFeatureSwaggerConfig.md +68 -0
  571. package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +68 -0
  572. package/data/packages/platform-openapi/api/Variable.APP_VERSION.md +14 -0
  573. package/data/packages/platform-openapi/api/Variable.PLATFORM_OPENAPI_CONFIG_ENTRIES.md +14 -0
  574. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_EMAIL.md +14 -0
  575. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_NAME.md +14 -0
  576. package/data/packages/platform-openapi/api/Variable.SWAGGER_CONTACT_URL.md +14 -0
  577. package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +12 -0
  578. package/data/packages/platform-openapi/api/index.md +42 -0
  579. package/data/packages/platform-openapi/index.md +170 -0
  580. package/data/packages/platform-payments/api/Class.FeatureAccessPort.md +74 -0
  581. package/data/packages/platform-payments/api/Class.FeatureGuard.md +68 -0
  582. package/data/packages/platform-payments/api/Class.FeatureUsageInterceptor.md +69 -0
  583. package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +163 -0
  584. package/data/packages/platform-payments/api/Class.MollieClient.md +166 -0
  585. package/data/packages/platform-payments/api/Class.PaddleClient.md +163 -0
  586. package/data/packages/platform-payments/api/Class.PaymentClientPort.md +142 -0
  587. package/data/packages/platform-payments/api/Class.PaymentModule.md +48 -0
  588. package/data/packages/platform-payments/api/Class.StripeClient.md +163 -0
  589. package/data/packages/platform-payments/api/Function.RequiresFeature.md +25 -0
  590. package/data/packages/platform-payments/api/Interface.IFeatureAccessResult.md +70 -0
  591. package/data/packages/platform-payments/api/Interface.INormalizedCheckoutSession.md +70 -0
  592. package/data/packages/platform-payments/api/Interface.INormalizedPrice.md +80 -0
  593. package/data/packages/platform-payments/api/Interface.INormalizedSubscription.md +100 -0
  594. package/data/packages/platform-payments/api/Interface.INormalizedWebhookEvent.md +84 -0
  595. package/data/packages/platform-payments/api/Interface.IPaymentModuleOptions.md +60 -0
  596. package/data/packages/platform-payments/api/TypeAlias.SubscriptionStatus.md +22 -0
  597. package/data/packages/platform-payments/api/Variable.FEATURE_KEY_METADATA.md +12 -0
  598. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_API_KEY.md +14 -0
  599. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_CONFIG_ENTRIES.md +14 -0
  600. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_STORE_ID.md +14 -0
  601. package/data/packages/platform-payments/api/Variable.LEMONSQUEEZY_WEBHOOK_SECRET.md +14 -0
  602. package/data/packages/platform-payments/api/Variable.MOLLIE_API_KEY.md +14 -0
  603. package/data/packages/platform-payments/api/Variable.MOLLIE_CONFIG_ENTRIES.md +14 -0
  604. package/data/packages/platform-payments/api/Variable.MOLLIE_WEBHOOK_SECRET.md +14 -0
  605. package/data/packages/platform-payments/api/Variable.PADDLE_API_KEY.md +14 -0
  606. package/data/packages/platform-payments/api/Variable.PADDLE_CONFIG_ENTRIES.md +14 -0
  607. package/data/packages/platform-payments/api/Variable.PADDLE_ENVIRONMENT.md +14 -0
  608. package/data/packages/platform-payments/api/Variable.PADDLE_WEBHOOK_SECRET.md +14 -0
  609. package/data/packages/platform-payments/api/Variable.STRIPE_API_KEY.md +14 -0
  610. package/data/packages/platform-payments/api/Variable.STRIPE_CONFIG_ENTRIES.md +14 -0
  611. package/data/packages/platform-payments/api/Variable.STRIPE_WEBHOOK_SECRET.md +14 -0
  612. package/data/packages/platform-payments/api/index.md +63 -0
  613. package/data/packages/platform-payments/index.md +534 -0
  614. package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +56 -0
  615. package/data/packages/platform-reporting/api/Class.ReportingDatasetNotFoundError.md +40 -0
  616. package/data/packages/platform-reporting/api/Class.ReportingExecutionError.md +67 -0
  617. package/data/packages/platform-reporting/api/Class.ReportingFacade.md +84 -0
  618. package/data/packages/platform-reporting/api/Class.ReportingModule.md +22 -0
  619. package/data/packages/platform-reporting/api/Class.ReportingQueryValidationError.md +51 -0
  620. package/data/packages/platform-reporting/api/Interface.IReportingContributor.md +61 -0
  621. package/data/packages/platform-reporting/api/Interface.IReportingDataset.md +82 -0
  622. package/data/packages/platform-reporting/api/Interface.IReportingDatasetField.md +70 -0
  623. package/data/packages/platform-reporting/api/Interface.IReportingQuery.md +60 -0
  624. package/data/packages/platform-reporting/api/Interface.IReportingQueryFilter.md +40 -0
  625. package/data/packages/platform-reporting/api/Interface.IReportingQueryResult.md +60 -0
  626. package/data/packages/platform-reporting/api/Interface.IReportingQuerySort.md +30 -0
  627. package/data/packages/platform-reporting/api/TypeAlias.ReportingFieldType.md +12 -0
  628. package/data/packages/platform-reporting/api/TypeAlias.ReportingFilterOperator.md +12 -0
  629. package/data/packages/platform-reporting/api/TypeAlias.ReportingQueryResultRow.md +14 -0
  630. package/data/packages/platform-reporting/api/Variable.ReportingFieldTypes.md +30 -0
  631. package/data/packages/platform-reporting/api/Variable.ReportingFilterOperators.md +28 -0
  632. package/data/packages/platform-reporting/api/index.md +44 -0
  633. package/data/packages/platform-reporting/index.md +229 -0
  634. package/data/packages/platform-telemetry/api/Class.MetricsService.md +40 -0
  635. package/data/packages/platform-telemetry/api/Class.NoopTelemetryFacade.md +113 -0
  636. package/data/packages/platform-telemetry/api/Class.OtelSdkHolder.md +73 -0
  637. package/data/packages/platform-telemetry/api/Class.TelemetryCacheMetricsRecorder.md +175 -0
  638. package/data/packages/platform-telemetry/api/Class.TelemetryFacade.md +135 -0
  639. package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +226 -0
  640. package/data/packages/platform-telemetry/api/Class.TelemetryModule.md +40 -0
  641. package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +49 -0
  642. package/data/packages/platform-telemetry/api/Function.validateTelemetryOptions.md +24 -0
  643. package/data/packages/platform-telemetry/api/Interface.IMetricInstruments.md +38 -0
  644. package/data/packages/platform-telemetry/api/Interface.ITelemetryFacade.md +85 -0
  645. package/data/packages/platform-telemetry/api/Interface.ITelemetryMetricsOptions.md +38 -0
  646. package/data/packages/platform-telemetry/api/Interface.ITelemetryOptions.md +136 -0
  647. package/data/packages/platform-telemetry/api/Interface.ITelemetryTracesOptions.md +38 -0
  648. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_ENABLED.md +12 -0
  649. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_FACADE.md +12 -0
  650. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_OPTIONS.md +12 -0
  651. package/data/packages/platform-telemetry/api/Variable.defaultTelemetryOptions.md +12 -0
  652. package/data/packages/platform-telemetry/api/index.md +44 -0
  653. package/data/packages/platform-telemetry/index.md +234 -0
  654. package/package.json +1 -1
@@ -0,0 +1,352 @@
1
+ ---
2
+ title: Resource Management
3
+ description: Register and load files (templates, assets, configs) from disk, blob storage, or memory using the strategy-based ResourceManager.
4
+ order: 17
5
+ ---
6
+
7
+ # Resource Management
8
+
9
+ This guide covers working with `ResourceManager` from `platform-core`: registering file strategies, loading resources at runtime, and using the built-in caching layer. If your application ships email templates, HTML pages, CSS/JS assets, or any other file-based content, this is how you make it available to services.
10
+
11
+ ---
12
+
13
+ ## Installation
14
+
15
+ `ResourceManager` is part of `platform-core` — no extra package needed.
16
+
17
+ ```bash
18
+ yarn add @breadstone/archipel-platform-core
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Overview: Strategy Pattern
24
+
25
+ `ResourceManager` does not load files directly. It delegates to one or more **strategies**, tried in priority order. The first strategy that can resolve the key wins.
26
+
27
+ | Strategy | Source | Sync | Async | When to use |
28
+ | -------------------------- | ------------------ | ---- | ----- | -------------------------------------- |
29
+ | `FileResourceStrategy` | Local filesystem | Yes | Yes | Templates, assets bundled with the app |
30
+ | `BlobResourceStrategy` | Cloud blob storage | No | Yes | User-uploaded templates, dynamic files |
31
+ | `EmbeddedResourceStrategy` | In-memory map | Yes | Yes | Fallback content, test fixtures |
32
+
33
+ Strategies are evaluated in the order you provide them. A typical setup:
34
+
35
+ ```
36
+ FileResourceStrategy → BlobResourceStrategy → EmbeddedResourceStrategy
37
+ ```
38
+
39
+ If the file exists on disk, it's served immediately. If not, blob storage is checked. If that also misses, the embedded fallback is returned. If nothing matches, a `ResourceNotFoundError` is thrown.
40
+
41
+ ---
42
+
43
+ ## Module Registration
44
+
45
+ `ResourceModule` is a global module. Register it once in your root module with `forRoot()`:
46
+
47
+ ```typescript
48
+ import { Module } from '@nestjs/common';
49
+ import { join } from 'node:path';
50
+ import { ResourceModule, FileResourceStrategy, EmbeddedResourceStrategy } from '@breadstone/archipel-platform-core';
51
+
52
+ @Module({
53
+ imports: [
54
+ ResourceModule.forRoot({
55
+ strategies: [
56
+ new FileResourceStrategy({
57
+ basePaths: [
58
+ join(__dirname, 'assets'),
59
+ join(__dirname, '..', 'node_modules', '@breadstone', 'archipel-platform-core', 'assets'),
60
+ join(__dirname, '..', 'node_modules', '@breadstone', 'archipel-platform-openapi', 'assets'),
61
+ join(__dirname, '..', 'node_modules', '@breadstone', 'archipel-platform-mailing', 'assets'),
62
+ ],
63
+ includeSubfolders: true,
64
+ }),
65
+ new EmbeddedResourceStrategy({
66
+ 'fallback.html': '<html><body>Service unavailable</body></html>',
67
+ }),
68
+ ],
69
+ debug: false,
70
+ }),
71
+ ],
72
+ })
73
+ export class AppModule {}
74
+ ```
75
+
76
+ ### Configuration Options
77
+
78
+ | Option | Type | Default | Description |
79
+ | ------------ | ---------------------------------------- | ------- | ------------------------------------------------ |
80
+ | `strategies` | `IResourceStrategy[]` | — | Strategies in priority order. Required. |
81
+ | `cache` | `ILayeredCache<string, IResourceResult>` | — | Optional cache instance from `platform-caching`. |
82
+ | `cacheTtl` | `number` (seconds) | `3600` | TTL for cached resources. |
83
+ | `debug` | `boolean` | `false` | Log all available resources on startup. |
84
+
85
+ ---
86
+
87
+ ## Loading Resources
88
+
89
+ Inject `ResourceManager` and call its load methods. Every method has a `try*` variant that returns `undefined` instead of throwing.
90
+
91
+ ```typescript
92
+ import { Injectable } from '@nestjs/common';
93
+ import { ResourceManager } from '@breadstone/archipel-platform-core';
94
+
95
+ @Injectable()
96
+ export class InvoiceService {
97
+ private readonly _resourceManager: ResourceManager;
98
+
99
+ constructor(resourceManager: ResourceManager) {
100
+ this._resourceManager = resourceManager;
101
+ }
102
+
103
+ public async generateInvoice(): Promise<string> {
104
+ // Load an HTML template as string
105
+ const template = await this._resourceManager.loadAsStringAsync('invoice-template.html');
106
+
107
+ // ... fill template with data
108
+ return template;
109
+ }
110
+ }
111
+ ```
112
+
113
+ ### Method Reference
114
+
115
+ | Method | Returns | Throws on miss | Notes |
116
+ | ------------------------- | --------------------------------------- | -------------- | ----------------------------- |
117
+ | `load(key)` | `IResourceResult` | Yes | Sync |
118
+ | `tryLoad(key)` | `IResourceResult \| undefined` | No | Sync |
119
+ | `loadAsync(key)` | `Promise<IResourceResult>` | Yes | Required for blob strategy |
120
+ | `tryLoadAsync(key)` | `Promise<IResourceResult \| undefined>` | No | |
121
+ | `loadAsString(key, enc?)` | `string` | Yes | Defaults to `utf-8` |
122
+ | `loadAsStringAsync(key)` | `Promise<string>` | Yes | |
123
+ | `loadAsBuffer(key)` | `Buffer \| undefined` | No | |
124
+ | `loadAsBufferAsync(key)` | `Promise<Buffer \| undefined>` | No | |
125
+ | `exists(key)` | `boolean` | — | Sync |
126
+ | `existsAsync(key)` | `Promise<boolean>` | — | |
127
+ | `invalidate(key)` | `void` | — | Clears cache for key |
128
+ | `invalidateAsync(key)` | `Promise<void>` | — | |
129
+ | `whatDoIHave()` | `void` | — | Logs all resources to console |
130
+
131
+ ### The `IResourceResult` Object
132
+
133
+ When you use the full `load()` / `tryLoad()` methods you get rich metadata alongside the content:
134
+
135
+ ```typescript
136
+ interface IResourceResult {
137
+ content: Buffer;
138
+ metadata: IResourceMetadata;
139
+ }
140
+
141
+ interface IResourceMetadata {
142
+ key: string; // Resource identifier you requested
143
+ path: string; // Resolved file / blob path
144
+ mimeType: string; // e.g. 'text/html', 'application/pdf'
145
+ size: number; // Size in bytes
146
+ encoding?: string; // e.g. 'utf-8'
147
+ source: string; // Strategy name that resolved it (e.g. 'file')
148
+ cachedAt?: Date; // Present when served from cache
149
+ }
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Strategy Details
155
+
156
+ ### FileResourceStrategy
157
+
158
+ Searches one or more base paths on the filesystem. Each path is tried in order. If `includeSubfolders` is enabled, a recursive glob search runs as fallback when the direct lookup misses.
159
+
160
+ ```typescript
161
+ new FileResourceStrategy({
162
+ basePaths: [join(__dirname, 'assets'), join(__dirname, 'templates')],
163
+ includeSubfolders: true,
164
+ defaultEncoding: 'utf-8',
165
+ });
166
+ ```
167
+
168
+ The key you pass to `load()` is the **filename** (e.g. `'invoice-template.html'`). The strategy joins it with each base path and checks if the file exists.
169
+
170
+ ### BlobResourceStrategy
171
+
172
+ Loads from cloud blob storage via a minimal `IBlobServiceAdapter` interface. This is **async-only** — calling `load()` (sync) will throw.
173
+
174
+ ```typescript
175
+ import { BlobResourceStrategy, IBlobServiceAdapter } from '@breadstone/archipel-platform-core';
176
+
177
+ const blobAdapter: IBlobServiceAdapter = {
178
+ async downloadFile(key: string) {
179
+ // Your blob storage client logic here
180
+ return { data: buffer, contentType: 'text/html' };
181
+ },
182
+ };
183
+
184
+ new BlobResourceStrategy(blobAdapter, {
185
+ keyPrefix: 'templates/',
186
+ });
187
+ ```
188
+
189
+ With `keyPrefix: 'templates/'`, a call to `loadAsync('invoice.html')` resolves to the blob key `templates/invoice.html`.
190
+
191
+ ### EmbeddedResourceStrategy
192
+
193
+ Stores resources as plain strings in memory. Useful for fallback content or test fixtures.
194
+
195
+ ```typescript
196
+ new EmbeddedResourceStrategy({
197
+ 'maintenance.html': '<h1>We are down for maintenance</h1>',
198
+ 'default-logo.svg': '<svg>...</svg>',
199
+ });
200
+ ```
201
+
202
+ You can also register resources dynamically after construction:
203
+
204
+ ```typescript
205
+ const embedded = new EmbeddedResourceStrategy();
206
+ embedded.register('dynamic-content.txt', 'Hello World');
207
+ ```
208
+
209
+ ---
210
+
211
+ ## Real-World Examples
212
+
213
+ ### Email Templates
214
+
215
+ `platform-mailing` uses `ResourceManager` to load HTML email templates:
216
+
217
+ ```typescript
218
+ // In MailModule.ts — factory creates the strategy
219
+ ResourceModule.forRoot({
220
+ strategies: [
221
+ new FileResourceStrategy({
222
+ basePaths: [
223
+ join(__dirname, 'assets'), // App-level overrides
224
+ join(__dirname, '..', 'node_modules', '@breadstone', 'archipel-platform-mailing', 'assets'),
225
+ ],
226
+ }),
227
+ ],
228
+ });
229
+ ```
230
+
231
+ Templates like `AuthVerify.html`, `AuthRegister.html`, and `AuthForgotPassword.html` are loaded by key:
232
+
233
+ ```typescript
234
+ const template = await this._resourceManager.loadAsStringAsync('AuthVerify.html');
235
+ ```
236
+
237
+ By listing your own `assets/` first, you can override built-in templates without modifying the library.
238
+
239
+ ### Swagger UI Assets
240
+
241
+ `platform-openapi` loads its theme files (`swagger.css`, `swagger.js`, `swagger.html`) through the same mechanism:
242
+
243
+ ```typescript
244
+ const css = this._resourceManager.loadAsString('swagger.css');
245
+ const js = this._resourceManager.loadAsString('swagger.js');
246
+ ```
247
+
248
+ ### Application Index Page
249
+
250
+ `platform-core`'s `HostService` loads `index.html` as a template for the root route:
251
+
252
+ ```typescript
253
+ const html = await this._resourceManager.loadAsStringAsync('index.html');
254
+ ```
255
+
256
+ ---
257
+
258
+ ## Caching
259
+
260
+ Pass a cache instance from `platform-caching` to avoid repeated file reads or blob downloads:
261
+
262
+ ```typescript
263
+ import { LayeredCacheFactory } from '@breadstone/archipel-platform-caching';
264
+
265
+ ResourceModule.forRoot({
266
+ strategies: [
267
+ new FileResourceStrategy({ basePaths: [...] }),
268
+ ],
269
+ cache: LayeredCacheFactory.create<string, IResourceResult>({
270
+ maxSize: 100,
271
+ }),
272
+ cacheTtl: 1800, // 30 minutes
273
+ })
274
+ ```
275
+
276
+ - On load: cache is checked first. On hit, the resource is returned immediately.
277
+ - On miss: strategies are tried, and the result is cached for future requests.
278
+ - Use `invalidate(key)` or `invalidateAsync(key)` to clear a cached resource (e.g. after an upload replaces a template).
279
+
280
+ ---
281
+
282
+ ## Debugging
283
+
284
+ Enable `debug: true` in the module config to have `ResourceManager` call `whatDoIHave()` at startup. This logs every resource available through every strategy — helpful when a resource isn't found and you need to verify the base paths.
285
+
286
+ ```
287
+ [ResourceManager] ResourceManager initialized with 2 strategies: file, embedded
288
+ [FileResourceStrategy] Available resources:
289
+ - index.html (text/html, 2.4 KB) → /app/dist/assets/index.html
290
+ - swagger.css (text/css, 1.1 KB) → /app/dist/assets/swagger.css
291
+ ...
292
+ [EmbeddedResourceStrategy] Available resources:
293
+ - fallback.html (text/html, 52 B) → embedded
294
+ ```
295
+
296
+ ---
297
+
298
+ ## Writing a Custom Strategy
299
+
300
+ Implement `IResourceStrategy` to support a new source (e.g. a database, S3 directly, or a remote API):
301
+
302
+ ```typescript
303
+ import { IResourceStrategy, IResourceResult } from '@breadstone/archipel-platform-core';
304
+
305
+ export class DatabaseResourceStrategy implements IResourceStrategy {
306
+ public get name(): string {
307
+ return 'database';
308
+ }
309
+
310
+ public load(key: string): IResourceResult | undefined {
311
+ // Sync lookup — return undefined if not found
312
+ }
313
+
314
+ public async loadAsync(key: string): Promise<IResourceResult | undefined> {
315
+ // Async lookup — return undefined if not found
316
+ }
317
+
318
+ public exists(key: string): boolean {
319
+ // ...
320
+ }
321
+
322
+ public async existsAsync(key: string): Promise<boolean> {
323
+ // ...
324
+ }
325
+
326
+ public whatDoIHave(): void {
327
+ // Log available resources for debugging
328
+ }
329
+ }
330
+ ```
331
+
332
+ Then add it to the strategies array:
333
+
334
+ ```typescript
335
+ ResourceModule.forRoot({
336
+ strategies: [
337
+ new FileResourceStrategy({ basePaths: [...] }),
338
+ new DatabaseResourceStrategy(prisma),
339
+ ],
340
+ })
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Checklist
346
+
347
+ - [ ] `ResourceModule.forRoot()` registered in the root module
348
+ - [ ] Base paths include library asset directories for all used packages
349
+ - [ ] App-level overrides listed **before** library paths in `basePaths`
350
+ - [ ] Async methods used when `BlobResourceStrategy` is in the chain
351
+ - [ ] Cache configured for production (avoids repeated disk/network reads)
352
+ - [ ] `debug: true` used during development to verify resource availability
@@ -0,0 +1,190 @@
1
+ ---
2
+ title: Telemetry & Observability
3
+ description: Add OpenTelemetry-based metrics, tracing, and structured logging to your NestJS application.
4
+ order: 10
5
+ ---
6
+
7
+ # Telemetry & Observability
8
+
9
+ This guide covers adding observability to your application with `platform-telemetry`: setup, metrics recording, distributed tracing, structured logging, and graceful shutdown.
10
+
11
+ ---
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ yarn add @breadstone/archipel-platform-telemetry
17
+ ```
18
+
19
+ ---
20
+
21
+ ## Module Registration
22
+
23
+ ```typescript
24
+ import { Module } from '@nestjs/common';
25
+ import { TelemetryModule } from '@breadstone/archipel-platform-telemetry';
26
+
27
+ @Module({
28
+ imports: [
29
+ TelemetryModule.register({
30
+ enabled: true,
31
+ interceptor: {
32
+ operation: true, // auto-instrument controller operations
33
+ },
34
+ }),
35
+ ],
36
+ })
37
+ export class AppModule {}
38
+ ```
39
+
40
+ When `enabled` is `false`, the module provides a no-op facade (`NoopTelemetryFacade`) that silently discards all telemetry calls. This means you can instrument your code once and toggle telemetry via configuration.
41
+
42
+ ---
43
+
44
+ ## Configuration
45
+
46
+ ```env
47
+ TELEMETRY_ENABLED=true
48
+ TELEMETRY_SERVICE_NAME=my-api
49
+ TELEMETRY_EXPORTER_ENDPOINT=https://otel-collector.example.com:4318
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Recording Metrics
55
+
56
+ Use `TelemetryFacade` to record application metrics:
57
+
58
+ ```typescript
59
+ import { Injectable } from '@nestjs/common';
60
+ import { TelemetryFacade } from '@breadstone/archipel-platform-telemetry';
61
+
62
+ @Injectable()
63
+ export class OrderService {
64
+ private readonly _telemetry: TelemetryFacade;
65
+
66
+ constructor(telemetry: TelemetryFacade) {
67
+ this._telemetry = telemetry;
68
+ }
69
+
70
+ public async createOrder(userId: string): Promise<void> {
71
+ const start = Date.now();
72
+
73
+ try {
74
+ // ... business logic
75
+
76
+ this._telemetry.recordCounter('domain_command_total', 1, {
77
+ command: 'create_order',
78
+ status: 'success',
79
+ });
80
+ } catch (error) {
81
+ this._telemetry.recordCounter('domain_command_total', 1, {
82
+ command: 'create_order',
83
+ status: 'failure',
84
+ });
85
+ throw error;
86
+ } finally {
87
+ this._telemetry.recordHistogram('order_processing_duration_ms', Date.now() - start, {
88
+ command: 'create_order',
89
+ });
90
+ }
91
+ }
92
+ }
93
+ ```
94
+
95
+ ### Recommended Baseline Metrics
96
+
97
+ | Metric | Type | Labels |
98
+ | ----------------------------------------- | --------- | ----------------------------- |
99
+ | `db_query_duration_ms` | Histogram | `model`, `operation` |
100
+ | `cache_hits_total` / `cache_misses_total` | Counter | `cache` |
101
+ | `domain_command_total` | Counter | `command`, `status` |
102
+ | `external_http_request_duration_ms` | Histogram | `service`, `action`, `status` |
103
+
104
+ ---
105
+
106
+ ## Structured Logging
107
+
108
+ `TelemetryLoggerService` provides structured logging with automatic correlation:
109
+
110
+ ```typescript
111
+ import { Injectable } from '@nestjs/common';
112
+ import { TelemetryLoggerService } from '@breadstone/archipel-platform-telemetry';
113
+
114
+ @Injectable()
115
+ export class PaymentService {
116
+ private readonly _logger: TelemetryLoggerService;
117
+
118
+ constructor(logger: TelemetryLoggerService) {
119
+ this._logger = logger;
120
+ }
121
+
122
+ public async processPayment(orderId: string): Promise<void> {
123
+ this._logger.log('Processing payment', { orderId });
124
+
125
+ try {
126
+ // ... payment logic
127
+ this._logger.log('Payment processed successfully', { orderId });
128
+ } catch (error) {
129
+ this._logger.error('Payment processing failed', { orderId, error });
130
+ throw error;
131
+ }
132
+ }
133
+ }
134
+ ```
135
+
136
+ All log entries automatically include `requestId` for request-level correlation.
137
+
138
+ ---
139
+
140
+ ## Automatic Operation Instrumentation
141
+
142
+ When you set `interceptor.operation: true`, every controller method is automatically traced via the `OperationTelemetryInterceptor`. The interceptor wraps the handler in a telemetry operation and returns an `Observable<unknown>`, making it fully compatible with NestJS interceptor pipelines. It records:
143
+
144
+ - Operation name (`ControllerName.methodName`)
145
+ - Duration
146
+ - HTTP status code
147
+ - Error details on failure
148
+
149
+ This gives you endpoint-level performance visibility without manual instrumentation.
150
+
151
+ ---
152
+
153
+ ## Rule Engine
154
+
155
+ `TelemetryRuleEngine` lets you configure sampling and filtering rules:
156
+
157
+ ```typescript
158
+ TelemetryModule.register({
159
+ enabled: true,
160
+ interceptor: { operation: true },
161
+ rules: [
162
+ { pattern: '/health', action: 'drop' }, // Don't trace health checks
163
+ { pattern: '/api/v1/**', action: 'sample', rate: 0.1 }, // Sample 10% of API traffic
164
+ ],
165
+ }),
166
+ ```
167
+
168
+ This prevents noisy endpoints (health checks, readiness probes) from overwhelming your telemetry backend.
169
+
170
+ ---
171
+
172
+ ## Graceful Shutdown
173
+
174
+ The module registers a shutdown hook that flushes all pending telemetry data before the process exits. This ensures you don't lose metrics or traces during deployments or scaling events.
175
+
176
+ ---
177
+
178
+ ## Development Tips
179
+
180
+ - Set `TELEMETRY_ENABLED=false` in local development to avoid telemetry overhead.
181
+ - Use the `log` exporter during development to see traces in the console.
182
+ - Add metrics incrementally — start with the baseline metrics and expand as you identify bottlenecks.
183
+ - Include `requestId` in all log entries. The telemetry module handles this automatically for HTTP requests.
184
+
185
+ ---
186
+
187
+ ## Next Steps
188
+
189
+ - Browse the [platform-telemetry API reference](/packages/platform-telemetry/api/) for complete method signatures
190
+ - See the [Testing](/guides/testing) guide for verifying telemetry calls in unit tests