@breadstone/archipel-mcp 0.0.22 → 0.0.25

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 (180) hide show
  1. package/README.md +32 -13
  2. package/data/guides/ai-text-generation.md +16 -24
  3. package/data/guides/caching.md +33 -0
  4. package/data/guides/email-delivery.md +27 -1
  5. package/data/guides/email-templates.md +49 -39
  6. package/data/guides/esigning-integration.md +11 -5
  7. package/data/guides/health-indicators.md +220 -0
  8. package/data/guides/index.md +2 -0
  9. package/data/guides/queue-infrastructure.md +329 -0
  10. package/data/guides/telemetry-and-observability.md +20 -0
  11. package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +20 -0
  12. package/data/packages/platform-analytics/api/Class.AnalyticsHealthIndicator.md +78 -0
  13. package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +24 -0
  14. package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +24 -0
  15. package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +24 -0
  16. package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +24 -0
  17. package/data/packages/platform-analytics/api/index.md +1 -0
  18. package/data/packages/platform-analytics/index.md +25 -1
  19. package/data/packages/platform-authentication/api/Class.AuthenticationHealthIndicator.md +68 -0
  20. package/data/packages/platform-authentication/api/Interface.IMfaSubjectUpdate.md +1 -1
  21. package/data/packages/platform-authentication/api/index.md +2 -1
  22. package/data/packages/platform-authentication/index.md +25 -1
  23. package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +7 -7
  24. package/data/packages/platform-blob-storage/api/Class.BlobModule.md +2 -2
  25. package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +3 -3
  26. package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +3 -3
  27. package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +5 -5
  28. package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +3 -3
  29. package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +3 -3
  30. package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +1 -1
  31. package/data/packages/platform-blob-storage/api/index.md +1 -1
  32. package/data/packages/platform-blob-storage/index.md +19 -14
  33. package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +10 -10
  34. package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +6 -6
  35. package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +13 -13
  36. package/data/packages/platform-caching/api/Interface.ILayeredCache.md +9 -9
  37. package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +6 -6
  38. package/data/packages/platform-caching/api/Variable.CACHE_DEFAULT_TTL_MS.md +14 -0
  39. package/data/packages/platform-caching/api/Variable.CACHE_MAX_ENTRIES.md +14 -0
  40. package/data/packages/platform-caching/api/Variable.CACHE_STALE_WHILE_REVALIDATE.md +14 -0
  41. package/data/packages/platform-caching/api/Variable.PLATFORM_CACHING_CONFIG_ENTRIES.md +14 -0
  42. package/data/packages/platform-caching/api/Variable.REDIS_CONFIG_ENTRIES.md +14 -0
  43. package/data/packages/platform-caching/api/Variable.REDIS_KEY_PREFIX.md +14 -0
  44. package/data/packages/platform-caching/api/Variable.REDIS_TTL_SECONDS.md +14 -0
  45. package/data/packages/platform-caching/api/Variable.REDIS_URL.md +14 -0
  46. package/data/packages/platform-caching/api/index.md +13 -0
  47. package/data/packages/platform-caching/index.md +47 -1
  48. package/data/packages/platform-configuration/api/Function.createConfigKey.md +1 -1
  49. package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +3 -3
  50. package/data/packages/platform-core/api/Function.maskSensitive.md +26 -0
  51. package/data/packages/platform-core/api/Function.maskSensitiveFields.md +26 -0
  52. package/data/packages/platform-core/api/index.md +2 -0
  53. package/data/packages/platform-core/index.md +11 -0
  54. package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +8 -6
  55. package/data/packages/platform-database/api/Class.DatabaseModule.md +3 -3
  56. package/data/packages/platform-database/api/Class.RepositoryBase.md +20 -20
  57. package/data/packages/platform-database/api/Function.paginator.md +1 -1
  58. package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +3 -3
  59. package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +1 -1
  60. package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +1 -1
  61. package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +1 -1
  62. package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +1 -1
  63. package/data/packages/platform-database/index.md +17 -5
  64. package/data/packages/platform-documents/api/Class.DocumentEngine.md +9 -5
  65. package/data/packages/platform-documents/index.md +1 -1
  66. package/data/packages/platform-esigning/api/Class.AdobeSignEsigningProvider.md +24 -0
  67. package/data/packages/platform-esigning/api/Class.DocuSignEsigningProvider.md +24 -0
  68. package/data/packages/platform-esigning/api/Class.DropboxSignEsigningProvider.md +24 -0
  69. package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +20 -0
  70. package/data/packages/platform-esigning/api/Class.EsigningHealthIndicator.md +78 -0
  71. package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +24 -0
  72. package/data/packages/platform-esigning/api/index.md +1 -0
  73. package/data/packages/platform-esigning/index.md +26 -2
  74. package/data/packages/platform-health/api/Class.HealthModule.md +42 -0
  75. package/data/packages/platform-health/api/Class.HealthOrchestrator.md +64 -0
  76. package/data/packages/platform-health/api/Interface.IHealthCheckResult.md +46 -0
  77. package/data/packages/platform-health/api/Interface.IHealthIndicator.md +41 -0
  78. package/data/packages/platform-health/api/Variable.HEALTH_INDICATORS_TOKEN.md +14 -0
  79. package/data/packages/platform-health/api/index.md +26 -0
  80. package/data/packages/platform-health/index.md +19 -8
  81. package/data/packages/platform-intelligence/api/Class.IntelligenceHealthIndicator.md +78 -0
  82. package/data/packages/platform-intelligence/api/index.md +1 -0
  83. package/data/packages/platform-intelligence/index.md +24 -1
  84. package/data/packages/platform-logging/api/Class.ContextLogger.md +152 -0
  85. package/data/packages/platform-logging/api/Class.LoggerModule.md +8 -2
  86. package/data/packages/platform-logging/api/Class.RequestContextStore.md +90 -0
  87. package/data/packages/platform-logging/api/Class.RequestIdMiddleware.md +68 -0
  88. package/data/packages/platform-logging/api/Interface.IRequestContext.md +34 -0
  89. package/data/packages/platform-logging/api/Variable.REQUEST_ID_HEADER.md +14 -0
  90. package/data/packages/platform-logging/api/index.md +11 -1
  91. package/data/packages/platform-logging/index.md +89 -7
  92. package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +5 -5
  93. package/data/packages/platform-mailing/api/Class.MailModule.md +28 -1
  94. package/data/packages/platform-mailing/api/Class.MailVerificationService.md +49 -16
  95. package/data/packages/platform-mailing/api/Class.SmtpConnectionVerifier.md +84 -0
  96. package/data/packages/platform-mailing/api/Interface.IMailModuleOptions.md +36 -0
  97. package/data/packages/platform-mailing/api/index.md +3 -1
  98. package/data/packages/platform-mailing/index.md +64 -8
  99. package/data/packages/platform-mapping/api/Class.MappingBuilder.md +110 -0
  100. package/data/packages/platform-mapping/api/Class.MappingError.md +56 -0
  101. package/data/packages/platform-mapping/api/Class.MappingModule.md +46 -0
  102. package/data/packages/platform-mapping/api/Class.MappingNotRegisteredError.md +52 -0
  103. package/data/packages/platform-mapping/api/Class.MappingProfileBase.md +52 -0
  104. package/data/packages/platform-mapping/api/Class.MappingService.md +284 -0
  105. package/data/packages/platform-mapping/api/Class.TypeMappingNotRegisteredError.md +53 -0
  106. package/data/packages/platform-mapping/api/Function.createMappingKey.md +39 -0
  107. package/data/packages/platform-mapping/api/Interface.IMappingBuilder.md +76 -0
  108. package/data/packages/platform-mapping/api/Interface.IMappingKey.md +58 -0
  109. package/data/packages/platform-mapping/api/Interface.IMappingProfile.md +32 -0
  110. package/data/packages/platform-mapping/api/TypeAlias.Constructor.md +28 -0
  111. package/data/packages/platform-mapping/api/index.md +38 -0
  112. package/data/packages/platform-mapping/index.md +1 -1
  113. package/data/packages/platform-mcp/api/Class.McpHealthIndicator.md +78 -0
  114. package/data/packages/platform-mcp/api/index.md +1 -0
  115. package/data/packages/platform-mcp/index.md +24 -1
  116. package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +2 -2
  117. package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +2 -2
  118. package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +24 -0
  119. package/data/packages/platform-payments/api/Class.MollieClient.md +24 -0
  120. package/data/packages/platform-payments/api/Class.PaddleClient.md +24 -0
  121. package/data/packages/platform-payments/api/Class.PaymentClientPort.md +20 -0
  122. package/data/packages/platform-payments/api/Class.PaymentHealthIndicator.md +78 -0
  123. package/data/packages/platform-payments/api/Class.StripeClient.md +28 -4
  124. package/data/packages/platform-payments/api/index.md +1 -0
  125. package/data/packages/platform-payments/index.md +26 -2
  126. package/data/packages/platform-queue/api/Class.AzureQueue.md +221 -0
  127. package/data/packages/platform-queue/api/Class.BullMqQueue.md +220 -0
  128. package/data/packages/platform-queue/api/Class.MemoryQueue.md +194 -0
  129. package/data/packages/platform-queue/api/Class.QueueError.md +51 -0
  130. package/data/packages/platform-queue/api/Class.QueueHealthIndicator.md +68 -0
  131. package/data/packages/platform-queue/api/Class.QueueJobNotFoundError.md +43 -0
  132. package/data/packages/platform-queue/api/Class.QueueJobStateError.md +48 -0
  133. package/data/packages/platform-queue/api/Class.QueueValidationError.md +43 -0
  134. package/data/packages/platform-queue/api/Interface.IAzureQueueOptions.md +48 -0
  135. package/data/packages/platform-queue/api/Interface.IBullMqQueueOptions.md +45 -0
  136. package/data/packages/platform-queue/api/Interface.IMemoryQueueOptions.md +32 -0
  137. package/data/packages/platform-queue/api/Interface.IQueue.md +173 -0
  138. package/data/packages/platform-queue/api/Interface.IQueueJob.md +139 -0
  139. package/data/packages/platform-queue/api/TypeAlias.QueueJobStatus.md +14 -0
  140. package/data/packages/platform-queue/api/Variable.AZURE_CONFIG_ENTRIES.md +17 -0
  141. package/data/packages/platform-queue/api/Variable.AZURE_CONNECTION_STRING.md +14 -0
  142. package/data/packages/platform-queue/api/Variable.AZURE_RECEIVE_WAIT_MS.md +21 -0
  143. package/data/packages/platform-queue/api/Variable.BULLMQ_CONFIG_ENTRIES.md +17 -0
  144. package/data/packages/platform-queue/api/Variable.BULLMQ_PREFIX.md +18 -0
  145. package/data/packages/platform-queue/api/Variable.BULLMQ_REDIS_URL.md +21 -0
  146. package/data/packages/platform-queue/api/Variable.PLATFORM_QUEUE_CONFIG_ENTRIES.md +17 -0
  147. package/data/packages/platform-queue/api/Variable.QUEUE_JOB_STATUS.md +30 -0
  148. package/data/packages/platform-queue/api/Variable.QUEUE_MAX_JOBS.md +21 -0
  149. package/data/packages/platform-queue/api/index.md +49 -0
  150. package/data/packages/platform-queue/index.md +168 -0
  151. package/data/packages/platform-resources/api/Class.BlobResourceStrategy.md +195 -0
  152. package/data/packages/platform-resources/api/Class.EmbeddedResourceStrategy.md +215 -0
  153. package/data/packages/platform-resources/api/Class.FileResourceStrategy.md +190 -0
  154. package/data/packages/platform-resources/api/Class.ResourceManager.md +477 -0
  155. package/data/packages/platform-resources/api/Class.ResourceModule.md +46 -0
  156. package/data/packages/platform-resources/api/Class.ResourceNotFoundError.md +60 -0
  157. package/data/packages/platform-resources/api/Interface.IBlobResourceStrategyConfig.md +28 -0
  158. package/data/packages/platform-resources/api/Interface.IBlobServiceAdapter.md +40 -0
  159. package/data/packages/platform-resources/api/Interface.IFileResourceStrategyConfig.md +72 -0
  160. package/data/packages/platform-resources/api/Interface.IResourceManagerConfig.md +89 -0
  161. package/data/packages/platform-resources/api/Interface.IResourceMetadata.md +94 -0
  162. package/data/packages/platform-resources/api/Interface.IResourceResult.md +34 -0
  163. package/data/packages/platform-resources/api/Interface.IResourceStrategy.md +134 -0
  164. package/data/packages/platform-resources/api/index.md +29 -0
  165. package/data/packages/platform-resources/index.md +1 -1
  166. package/data/packages/platform-telemetry/api/Class.OtelSdkHolder.md +21 -3
  167. package/data/packages/platform-telemetry/api/Class.TelemetryHealthIndicator.md +78 -0
  168. package/data/packages/platform-telemetry/api/index.md +1 -0
  169. package/data/packages/platform-telemetry/index.md +25 -1
  170. package/data/patterns/config-pattern.md +5 -3
  171. package/package.json +2 -2
  172. package/src/tools/registerGetConfigPatternTool.js +1 -1
  173. package/src/tools/registerGetDtoPatternTool.js +1 -1
  174. package/src/tools/registerGetErrorHandlingPatternTool.js +1 -1
  175. package/src/tools/registerGetGuardPatternTool.js +1 -1
  176. package/src/tools/registerGetMappingPatternTool.js +1 -1
  177. package/src/tools/registerGetModulePatternTool.js +1 -1
  178. package/src/tools/registerGetQueryPatternTool.js +1 -1
  179. package/src/tools/registerGetRepositoryPatternTool.js +1 -1
  180. package/src/tools/registerGetTestingPatternTool.js +1 -1
@@ -0,0 +1,68 @@
1
+ ---
2
+ title: 'Class: AuthenticationHealthIndicator'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: AuthenticationHealthIndicator
7
+
8
+ Defined in: libs/platform-authentication/src/health/AuthenticationHealthIndicator.ts:15
9
+
10
+ Health indicator for the authentication infrastructure.
11
+
12
+ ## Implements
13
+
14
+ - `IHealthIndicator`
15
+
16
+ ## Constructors
17
+
18
+ ### Constructor
19
+
20
+ ```ts
21
+ new AuthenticationHealthIndicator(): AuthenticationHealthIndicator;
22
+ ```
23
+
24
+ #### Returns
25
+
26
+ `AuthenticationHealthIndicator`
27
+
28
+ ## Properties
29
+
30
+ ### key
31
+
32
+ ```ts
33
+ readonly key: string = 'authentication';
34
+ ```
35
+
36
+ Defined in: libs/platform-authentication/src/health/AuthenticationHealthIndicator.ts:18
37
+
38
+ Unique key identifying the indicator
39
+
40
+ #### Implementation of
41
+
42
+ ```ts
43
+ IHealthIndicator.key
44
+ ```
45
+
46
+ ## Methods
47
+
48
+ ### check()
49
+
50
+ ```ts
51
+ check(): HealthIndicatorResult<string>;
52
+ ```
53
+
54
+ Defined in: libs/platform-authentication/src/health/AuthenticationHealthIndicator.ts:30
55
+
56
+ Returns the health status of the authentication infrastructure.
57
+
58
+ #### Returns
59
+
60
+ `HealthIndicatorResult`\<`string`\>
61
+
62
+ The health indicator result.
63
+
64
+ #### Implementation of
65
+
66
+ ```ts
67
+ IHealthIndicator.check
68
+ ```
@@ -8,7 +8,7 @@ editUrl: false
8
8
  Defined in: [libs/platform-authentication/src/contracts/IMfaSubjectUpdate.ts:7](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/contracts/IMfaSubjectUpdate.ts#L7)
9
9
 
10
10
  Data payload for updating MFA state on the underlying entity.
11
- All properties are optional only the provided ones are applied.
11
+ All properties are optional - only the provided ones are applied.
12
12
 
13
13
  ## Properties
14
14
 
@@ -11,6 +11,7 @@ editUrl: false
11
11
  | ------ | ------ |
12
12
  | [AnonymousAuthGuard](Class.AnonymousAuthGuard) | The `AnonymousAuthGuard` protects routes using anonymous authentication. |
13
13
  | [AppleConnector](Class.AppleConnector) | The `AppleConnector` integrates Apple Sign In authentication. |
14
+ | [AuthenticationHealthIndicator](Class.AuthenticationHealthIndicator) | Health indicator for the authentication infrastructure. |
14
15
  | [AuthModule](Class.AuthModule) | The `AuthModule` handles JWT-based authentication, including token creation and validation. |
15
16
  | [AuthSubjectPort](Class.AuthSubjectPort) | Abstract port for resolving authentication subjects by identity. Used by the JWT, Local, and Anonymous strategies. |
16
17
  | [AuthTokenService](Class.AuthTokenService) | Generic service responsible for creating JWT access tokens. Builds a base payload from [IAuthSubject](Interface.IAuthSubject) and optionally enriches it via the [TokenEnricherPort](Class.TokenEnricherPort) with product-specific claims. |
@@ -49,7 +50,7 @@ editUrl: false
49
50
  | [IMfaConfirmation](Interface.IMfaConfirmation) | Represents the activation result for multi-factor authentication. |
50
51
  | [IMfaSetup](Interface.IMfaSetup) | Represents the data required to onboard a multi-factor authenticator. |
51
52
  | [IMfaSubject](Interface.IMfaSubject) | Represents an MFA-enabled subject. Contains the data the MFA subsystem needs to read and write MFA state on the underlying user-like entity. |
52
- | [IMfaSubjectUpdate](Interface.IMfaSubjectUpdate) | Data payload for updating MFA state on the underlying entity. All properties are optional only the provided ones are applied. |
53
+ | [IMfaSubjectUpdate](Interface.IMfaSubjectUpdate) | Data payload for updating MFA state on the underlying entity. All properties are optional - only the provided ones are applied. |
53
54
  | [ISessionRecord](Interface.ISessionRecord) | Represents a persisted session record. |
54
55
  | [ISignInResult](Interface.ISignInResult) | Represents the outcome of a sign-in attempt. |
55
56
  | [ISocialProfile](Interface.ISocialProfile) | Profile data received from a social / OAuth provider. |
@@ -2,7 +2,7 @@
2
2
  title: platform-authentication
3
3
  description: JWT, OAuth, MFA, sessions, and email verification with full Ports & Adapters decoupling.
4
4
  order: 2
5
- tags: [authentication, jwt, oauth, mfa, sessions, verification, ports-and-adapters]
5
+ tags: [authentication, jwt, oauth, mfa, sessions, verification, ports-and-adapters, health]
6
6
  package: '@breadstone/archipel-platform-authentication'
7
7
  ---
8
8
 
@@ -666,6 +666,29 @@ console.log(payload.id, payload.email, payload.roles);
666
666
 
667
667
  ---
668
668
 
669
+ ## Health Check
670
+
671
+ The `AuthenticationHealthIndicator` reports the authentication subsystem as available. Import it from the `/health` subpath:
672
+
673
+ ```typescript
674
+ import { AuthenticationHealthIndicator } from '@breadstone/archipel-platform-authentication/health';
675
+ import { HealthModule } from '@breadstone/archipel-platform-health';
676
+
677
+ @Module({
678
+ imports: [
679
+ AuthModule.register({ /* ... */ }),
680
+ HealthModule.withIndicators([AuthenticationHealthIndicator]),
681
+ ],
682
+ })
683
+ export class AppModule {}
684
+ ```
685
+
686
+ | Key | Check | Dependencies |
687
+ | --- | ----- | ------------ |
688
+ | `authentication` | Always reports `up` | None |
689
+
690
+ ---
691
+
669
692
  ## Exports Summary
670
693
 
671
694
  | Export | Type | Description |
@@ -689,3 +712,4 @@ console.log(payload.id, payload.email, payload.roles);
689
712
  | `RolesGuard` | Guard | RBAC enforcement |
690
713
  | `SessionMappingProfile` | Mapper | Session entity → response |
691
714
  | `JwtPayloadBase` | Model | JWT payload abstraction |
715
+ | `AuthenticationHealthIndicator` | Health | Auth readiness check (`/health` subpath) |
@@ -5,9 +5,9 @@ editUrl: false
5
5
  ---
6
6
  # Class: BlobHealthIndicator
7
7
 
8
- Defined in: [terminus/BlobHealthIndicator.ts:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/terminus/BlobHealthIndicator.ts#L17)
8
+ Defined in: health/BlobHealthIndicator.ts:17
9
9
 
10
- Health indicator for blob service.
10
+ Health indicator for blob storage service.
11
11
 
12
12
  ## Implements
13
13
 
@@ -21,7 +21,7 @@ Health indicator for blob service.
21
21
  new BlobHealthIndicator(configService, httpHealthIndicator): BlobHealthIndicator;
22
22
  ```
23
23
 
24
- Defined in: [terminus/BlobHealthIndicator.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/terminus/BlobHealthIndicator.ts#L32)
24
+ Defined in: health/BlobHealthIndicator.ts:32
25
25
 
26
26
  Constructs a new instance of the `BlobHealthIndicator` class.
27
27
 
@@ -41,10 +41,10 @@ Constructs a new instance of the `BlobHealthIndicator` class.
41
41
  ### key
42
42
 
43
43
  ```ts
44
- readonly key: "blob" = 'blob';
44
+ readonly key: string = 'blob';
45
45
  ```
46
46
 
47
- Defined in: [terminus/BlobHealthIndicator.ts:41](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/terminus/BlobHealthIndicator.ts#L41)
47
+ Defined in: health/BlobHealthIndicator.ts:41
48
48
 
49
49
  Unique key identifying the indicator
50
50
 
@@ -62,9 +62,9 @@ IHealthIndicator.key
62
62
  check(): Promise<HealthIndicatorResult<"blob">>;
63
63
  ```
64
64
 
65
- Defined in: [terminus/BlobHealthIndicator.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/terminus/BlobHealthIndicator.ts#L53)
65
+ Defined in: health/BlobHealthIndicator.ts:53
66
66
 
67
- Checks if the blob configuration is valid.
67
+ Checks if the blob storage endpoint is reachable.
68
68
 
69
69
  #### Returns
70
70
 
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: BlobModule
7
7
 
8
- Defined in: [BlobModule.ts:99](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L99)
8
+ Defined in: [BlobModule.ts:82](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L82)
9
9
 
10
10
  NestJS module responsible for providing blob storage services.
11
11
 
@@ -29,7 +29,7 @@ new BlobModule(): BlobModule;
29
29
  static forRoot(options?): DynamicModule;
30
30
  ```
31
31
 
32
- Defined in: [BlobModule.ts:110](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L110)
32
+ Defined in: [BlobModule.ts:93](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L93)
33
33
 
34
34
  Configures the module with the specified options.
35
35
  When `objectPersistence` / `variantPersistence` are provided the
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IAwsS3BlobProviderRegistration
7
7
 
8
- Defined in: [BlobModule.ts:54](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L54)
8
+ Defined in: [BlobModule.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L51)
9
9
 
10
10
  ## Properties
11
11
 
@@ -15,7 +15,7 @@ Defined in: [BlobModule.ts:54](https://github.com/RueDeRennes/archipel/blob/main
15
15
  kind: "aws-s3";
16
16
  ```
17
17
 
18
- Defined in: [BlobModule.ts:55](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L55)
18
+ Defined in: [BlobModule.ts:52](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L52)
19
19
 
20
20
  ***
21
21
 
@@ -25,4 +25,4 @@ Defined in: [BlobModule.ts:55](https://github.com/RueDeRennes/archipel/blob/main
25
25
  optional options?: Partial<IAwsS3ProviderOptions>;
26
26
  ```
27
27
 
28
- Defined in: [BlobModule.ts:56](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L56)
28
+ Defined in: [BlobModule.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L53)
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IAzureBlobProviderRegistration
7
7
 
8
- Defined in: [BlobModule.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L49)
8
+ Defined in: [BlobModule.ts:46](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L46)
9
9
 
10
10
  ## Properties
11
11
 
@@ -15,7 +15,7 @@ Defined in: [BlobModule.ts:49](https://github.com/RueDeRennes/archipel/blob/main
15
15
  kind: "azure";
16
16
  ```
17
17
 
18
- Defined in: [BlobModule.ts:50](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L50)
18
+ Defined in: [BlobModule.ts:47](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L47)
19
19
 
20
20
  ***
21
21
 
@@ -25,4 +25,4 @@ Defined in: [BlobModule.ts:50](https://github.com/RueDeRennes/archipel/blob/main
25
25
  optional options?: Partial<IAzureBlobProviderOptions>;
26
26
  ```
27
27
 
28
- Defined in: [BlobModule.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L51)
28
+ Defined in: [BlobModule.ts:48](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L48)
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IBlobModuleOptions
7
7
 
8
- Defined in: [BlobModule.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L37)
8
+ Defined in: [BlobModule.ts:34](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L34)
9
9
 
10
10
  ## Properties
11
11
 
@@ -15,7 +15,7 @@ Defined in: [BlobModule.ts:37](https://github.com/RueDeRennes/archipel/blob/main
15
15
  optional isGlobal?: boolean;
16
16
  ```
17
17
 
18
- Defined in: [BlobModule.ts:41](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L41)
18
+ Defined in: [BlobModule.ts:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L38)
19
19
 
20
20
  ***
21
21
 
@@ -25,7 +25,7 @@ Defined in: [BlobModule.ts:41](https://github.com/RueDeRennes/archipel/blob/main
25
25
  optional objectPersistence?: Type<BlobObjectPersistencePort>;
26
26
  ```
27
27
 
28
- Defined in: [BlobModule.ts:39](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L39)
28
+ Defined in: [BlobModule.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L36)
29
29
 
30
30
  ***
31
31
 
@@ -35,7 +35,7 @@ Defined in: [BlobModule.ts:39](https://github.com/RueDeRennes/archipel/blob/main
35
35
  optional provider?: IBlobProviderRegistration;
36
36
  ```
37
37
 
38
- Defined in: [BlobModule.ts:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L38)
38
+ Defined in: [BlobModule.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L35)
39
39
 
40
40
  ***
41
41
 
@@ -45,4 +45,4 @@ Defined in: [BlobModule.ts:38](https://github.com/RueDeRennes/archipel/blob/main
45
45
  optional variantPersistence?: Type<BlobVariantPersistencePort>;
46
46
  ```
47
47
 
48
- Defined in: [BlobModule.ts:40](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L40)
48
+ Defined in: [BlobModule.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L37)
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: ICustomBlobProviderRegistration
7
7
 
8
- Defined in: [BlobModule.ts:59](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L59)
8
+ Defined in: [BlobModule.ts:56](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L56)
9
9
 
10
10
  ## Properties
11
11
 
@@ -15,7 +15,7 @@ Defined in: [BlobModule.ts:59](https://github.com/RueDeRennes/archipel/blob/main
15
15
  kind: "custom";
16
16
  ```
17
17
 
18
- Defined in: [BlobModule.ts:60](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L60)
18
+ Defined in: [BlobModule.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L57)
19
19
 
20
20
  ***
21
21
 
@@ -25,4 +25,4 @@ Defined in: [BlobModule.ts:60](https://github.com/RueDeRennes/archipel/blob/main
25
25
  useClass: Type<IBlobProvider>;
26
26
  ```
27
27
 
28
- Defined in: [BlobModule.ts:61](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L61)
28
+ Defined in: [BlobModule.ts:58](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L58)
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IVercelBlobProviderRegistration
7
7
 
8
- Defined in: [BlobModule.ts:44](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L44)
8
+ Defined in: [BlobModule.ts:41](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L41)
9
9
 
10
10
  ## Properties
11
11
 
@@ -15,7 +15,7 @@ Defined in: [BlobModule.ts:44](https://github.com/RueDeRennes/archipel/blob/main
15
15
  kind: "vercel";
16
16
  ```
17
17
 
18
- Defined in: [BlobModule.ts:45](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L45)
18
+ Defined in: [BlobModule.ts:42](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L42)
19
19
 
20
20
  ***
21
21
 
@@ -25,4 +25,4 @@ Defined in: [BlobModule.ts:45](https://github.com/RueDeRennes/archipel/blob/main
25
25
  optional options?: Partial<IVercelBlobProviderOptions>;
26
26
  ```
27
27
 
28
- Defined in: [BlobModule.ts:46](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L46)
28
+ Defined in: [BlobModule.ts:43](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L43)
@@ -13,4 +13,4 @@ type IBlobProviderRegistration =
13
13
  | ICustomBlobProviderRegistration;
14
14
  ```
15
15
 
16
- Defined in: [BlobModule.ts:64](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L64)
16
+ Defined in: [BlobModule.ts:61](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L61)
@@ -11,7 +11,7 @@ editUrl: false
11
11
  | ------ | ------ |
12
12
  | [AwsS3BlobProvider](Class.AwsS3BlobProvider) | Provides an implementation of [IBlobProvider](Interface.IBlobProvider) for Amazon S3. |
13
13
  | [AzureBlobProvider](Class.AzureBlobProvider) | Provides an implementation of [IBlobProvider](Interface.IBlobProvider) for Microsoft Azure Blob Storage. |
14
- | [BlobHealthIndicator](Class.BlobHealthIndicator) | Health indicator for blob service. |
14
+ | [BlobHealthIndicator](Class.BlobHealthIndicator) | Health indicator for blob storage service. |
15
15
  | [BlobModule](Class.BlobModule) | NestJS module responsible for providing blob storage services. |
16
16
  | [BlobObjectPersistencePort](Class.BlobObjectPersistencePort) | Abstract port for persisting blob object metadata. Consuming projects must provide a concrete implementation (e.g. backed by Prisma, Mongo, etc.) and register it via `BlobModule.forRoot({ objectPersistence: MyAdapter })`. |
17
17
  | [BlobService](Class.BlobService) | Provides a generic abstraction for blob storage operations independent of the underlying provider. |
@@ -2,7 +2,7 @@
2
2
  title: platform-blob-storage
3
3
  description: Cloud file storage abstraction with pluggable providers and optional metadata persistence.
4
4
  order: 3
5
- tags: [blob-storage, files, upload, download, vercel, azure, aws, s3, providers, ports-and-adapters]
5
+ tags: [blob-storage, files, upload, download, vercel, azure, aws, s3, providers, ports-and-adapters, health]
6
6
  package: '@breadstone/archipel-platform-blob-storage'
7
7
  ---
8
8
 
@@ -267,7 +267,7 @@ BlobModule.forRoot({
267
267
 
268
268
  > **\*** `accessKeyId` and `secretAccessKey` must be provided **together**. Omit both to use the default AWS credential chain (IAM roles, instance profiles, environment variables).
269
269
 
270
- The provider supports pre-signed URLs and lazy-loads the AWS SDK for tree-shaking.
270
+ The provider supports pre-signed URLs and lazy-loads the AWS SDK for tree-shaking. `downloadObject()` gracefully handles JSON parse errors, returning the raw response body when content cannot be parsed.
271
271
 
272
272
  ### Custom Provider
273
273
 
@@ -305,20 +305,24 @@ BlobModule.forRoot({
305
305
 
306
306
  ## Health Check
307
307
 
308
- The `BlobHealthIndicator` integrates with NestJS Terminus for health monitoring:
308
+ The `BlobHealthIndicator` pings the configured blob storage URL via HTTP. If no URL is configured, it reports `disabled: true`. Import it from the `/health` subpath:
309
309
 
310
310
  ```typescript
311
- import { BlobHealthIndicator } from '@breadstone/archipel-platform-blob-storage';
311
+ import { BlobHealthIndicator } from '@breadstone/archipel-platform-blob-storage/health';
312
+ import { HealthModule } from '@breadstone/archipel-platform-health';
312
313
 
313
- @Controller('health')
314
- export class HealthController {
315
- constructor(private readonly _blobHealth: BlobHealthIndicator) {}
314
+ @Module({
315
+ imports: [
316
+ BlobModule.forRoot({ /* ... */ }),
317
+ HealthModule.withIndicators([BlobHealthIndicator]),
318
+ ],
319
+ })
320
+ export class AppModule {}
321
+ ```
316
322
 
317
- @Get()
318
- public async check(): Promise<HealthCheckResult> {
319
- return this._blobHealth.isHealthy('blob');
320
- }
321
- }
323
+ | Key | Check | Dependencies |
324
+ | --- | ----- | ------------ |
325
+ | `blob` | HTTP ping to blob URL (or disabled if unconfigured) | `ConfigService`, `HttpHealthIndicator` |
322
326
  ```
323
327
 
324
328
  ---
@@ -329,10 +333,11 @@ Each provider is tree-shakeable via sub-path imports:
329
333
 
330
334
  | Import Path | Contents |
331
335
  | --------------------------------------------------- | ----------------------------------------------------- |
332
- | `@breadstone/archipel-platform-blob-storage` | Core module, service, ports, health check, interfaces |
336
+ | `@breadstone/archipel-platform-blob-storage` | Core module, service, ports, interfaces |
333
337
  | `@breadstone/archipel-platform-blob-storage/vercel` | VercelBlobProvider, VERCEL_BLOB_PROVIDER_OPTIONS |
334
338
  | `@breadstone/archipel-platform-blob-storage/azure` | AzureBlobProvider, AZURE_BLOB_PROVIDER_OPTIONS |
335
339
  | `@breadstone/archipel-platform-blob-storage/aws-s3` | AwsS3BlobProvider, AWS_S3_PROVIDER_OPTIONS |
340
+ | `@breadstone/archipel-platform-blob-storage/health` | BlobHealthIndicator |
336
341
 
337
342
  ---
338
343
 
@@ -347,7 +352,7 @@ Each provider is tree-shakeable via sub-path imports:
347
352
  | `VercelBlobProvider` | Provider | Vercel Blob implementation (sub-path) |
348
353
  | `AzureBlobProvider` | Provider | Azure Blob Storage implementation (sub-path) |
349
354
  | `AwsS3BlobProvider` | Provider | AWS S3 implementation (sub-path) |
350
- | `BlobHealthIndicator` | Health | Terminus health check |
355
+ | `BlobHealthIndicator` | Health | Blob storage health check (`/health` subpath) |
351
356
  | `IBlobProvider` | Interface | Custom provider contract |
352
357
  | `BlobProviderKinds` | Constant | `'vercel'` \| `'azure'` \| `'aws-s3'` \| `'custom'` |
353
358
  | `BlobDownloadResponseTypes` | Constant | `'arraybuffer'` \| `'json'` \| `'stream'` \| `'text'` |
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: MemoryLayeredCache\<TKey, TValue\>
7
7
 
8
- Defined in: [MemoryLayeredCache.ts:72](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L72)
8
+ Defined in: [memory/MemoryLayeredCache.ts:72](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L72)
9
9
 
10
10
  In-memory layered cache with LRU eviction, TTL expiration and
11
11
  optional stale-while-revalidate support. Falls back to an
@@ -30,7 +30,7 @@ asynchronous loader function on cache misses.
30
30
  new MemoryLayeredCache<TKey, TValue>(loadFn, options?): MemoryLayeredCache<TKey, TValue>;
31
31
  ```
32
32
 
33
- Defined in: [MemoryLayeredCache.ts:97](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L97)
33
+ Defined in: [memory/MemoryLayeredCache.ts:97](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L97)
34
34
 
35
35
  Initializes a new instance of the MemoryLayeredCache class.
36
36
 
@@ -53,7 +53,7 @@ Initializes a new instance of the MemoryLayeredCache class.
53
53
  get(key): TValue | undefined;
54
54
  ```
55
55
 
56
- Defined in: [MemoryLayeredCache.ts:109](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L109)
56
+ Defined in: [memory/MemoryLayeredCache.ts:109](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L109)
57
57
 
58
58
  Retrieves a value from the cache synchronously.
59
59
 
@@ -81,7 +81,7 @@ The cached value or `undefined` on a miss.
81
81
  getAsync(key): Promise<TValue | undefined>;
82
82
  ```
83
83
 
84
- Defined in: [MemoryLayeredCache.ts:130](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L130)
84
+ Defined in: [memory/MemoryLayeredCache.ts:130](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L130)
85
85
 
86
86
  Retrieves a value from the cache asynchronously.
87
87
 
@@ -109,7 +109,7 @@ A promise resolving to the cached value or `undefined` on a miss.
109
109
  invalidate(key): void;
110
110
  ```
111
111
 
112
- Defined in: [MemoryLayeredCache.ts:176](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L176)
112
+ Defined in: [memory/MemoryLayeredCache.ts:176](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L176)
113
113
 
114
114
  Invalidates a key in the cache synchronously.
115
115
 
@@ -135,7 +135,7 @@ Invalidates a key in the cache synchronously.
135
135
  invalidateAsync(key): Promise<void>;
136
136
  ```
137
137
 
138
- Defined in: [MemoryLayeredCache.ts:181](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L181)
138
+ Defined in: [memory/MemoryLayeredCache.ts:181](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L181)
139
139
 
140
140
  Invalidates a key in the cache asynchronously.
141
141
 
@@ -161,7 +161,7 @@ Invalidates a key in the cache asynchronously.
161
161
  set(key, value): void;
162
162
  ```
163
163
 
164
- Defined in: [MemoryLayeredCache.ts:152](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L152)
164
+ Defined in: [memory/MemoryLayeredCache.ts:152](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L152)
165
165
 
166
166
  Stores a value in the cache synchronously.
167
167
 
@@ -188,7 +188,7 @@ Stores a value in the cache synchronously.
188
188
  setAsync(key, value): Promise<void>;
189
189
  ```
190
190
 
191
- Defined in: [MemoryLayeredCache.ts:161](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L161)
191
+ Defined in: [memory/MemoryLayeredCache.ts:161](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L161)
192
192
 
193
193
  Stores a value in the cache asynchronously.
194
194
 
@@ -215,7 +215,7 @@ Stores a value in the cache asynchronously.
215
215
  stats(): ICacheStats;
216
216
  ```
217
217
 
218
- Defined in: [MemoryLayeredCache.ts:186](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L186)
218
+ Defined in: [memory/MemoryLayeredCache.ts:186](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L186)
219
219
 
220
220
  Returns current cache statistics.
221
221
 
@@ -237,7 +237,7 @@ The cache statistics snapshot.
237
237
  warm(key): Promise<TValue | undefined>;
238
238
  ```
239
239
 
240
- Defined in: [MemoryLayeredCache.ts:170](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L170)
240
+ Defined in: [memory/MemoryLayeredCache.ts:170](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/memory/MemoryLayeredCache.ts#L170)
241
241
 
242
242
  Proactively warms the cache for a given key.
243
243
 
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: NoopCacheMetricsRecorder
7
7
 
8
- Defined in: [NoopCacheMetricsRecorder.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L13)
8
+ Defined in: [metrics/noop/NoopCacheMetricsRecorder.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/metrics/noop/NoopCacheMetricsRecorder.ts#L13)
9
9
 
10
10
  No-op implementation of [ICacheMetricsRecorder](Interface.ICacheMetricsRecorder) used as the default
11
11
  when no external metrics backend is configured.
@@ -34,7 +34,7 @@ new NoopCacheMetricsRecorder(): NoopCacheMetricsRecorder;
34
34
  optional recordEviction(_cache): void;
35
35
  ```
36
36
 
37
- Defined in: [NoopCacheMetricsRecorder.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L37)
37
+ Defined in: [metrics/noop/NoopCacheMetricsRecorder.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/metrics/noop/NoopCacheMetricsRecorder.ts#L37)
38
38
 
39
39
  Records a cache eviction.
40
40
 
@@ -60,7 +60,7 @@ Records a cache eviction.
60
60
  recordHit(_cache): void;
61
61
  ```
62
62
 
63
- Defined in: [NoopCacheMetricsRecorder.ts:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L17)
63
+ Defined in: [metrics/noop/NoopCacheMetricsRecorder.ts:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/metrics/noop/NoopCacheMetricsRecorder.ts#L17)
64
64
 
65
65
  Records a cache hit.
66
66
 
@@ -86,7 +86,7 @@ Records a cache hit.
86
86
  recordLoadError(_cache): void;
87
87
  ```
88
88
 
89
- Defined in: [NoopCacheMetricsRecorder.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L32)
89
+ Defined in: [metrics/noop/NoopCacheMetricsRecorder.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/metrics/noop/NoopCacheMetricsRecorder.ts#L32)
90
90
 
91
91
  Records a failed cache load.
92
92
 
@@ -112,7 +112,7 @@ Records a failed cache load.
112
112
  recordLoadSuccess(_cache): void;
113
113
  ```
114
114
 
115
- Defined in: [NoopCacheMetricsRecorder.ts:27](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L27)
115
+ Defined in: [metrics/noop/NoopCacheMetricsRecorder.ts:27](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/metrics/noop/NoopCacheMetricsRecorder.ts#L27)
116
116
 
117
117
  Records a successful cache load.
118
118
 
@@ -138,7 +138,7 @@ Records a successful cache load.
138
138
  recordMiss(_cache): void;
139
139
  ```
140
140
 
141
- Defined in: [NoopCacheMetricsRecorder.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L22)
141
+ Defined in: [metrics/noop/NoopCacheMetricsRecorder.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/metrics/noop/NoopCacheMetricsRecorder.ts#L22)
142
142
 
143
143
  Records a cache miss.
144
144