@breadstone/archipel-mcp 0.0.23 → 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.
- package/data/guides/caching.md +33 -0
- package/data/guides/email-delivery.md +27 -1
- package/data/guides/esigning-integration.md +11 -5
- package/data/guides/health-indicators.md +220 -0
- package/data/guides/index.md +2 -0
- package/data/guides/queue-infrastructure.md +329 -0
- package/data/guides/telemetry-and-observability.md +20 -0
- package/data/packages/platform-analytics/api/Class.AnalyticsClientPort.md +20 -0
- package/data/packages/platform-analytics/api/Class.AnalyticsHealthIndicator.md +78 -0
- package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +24 -0
- package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +24 -0
- package/data/packages/platform-analytics/api/Class.NoopAnalyticsClient.md +24 -0
- package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +24 -0
- package/data/packages/platform-analytics/api/index.md +1 -0
- package/data/packages/platform-analytics/index.md +25 -1
- package/data/packages/platform-authentication/api/Class.AuthenticationHealthIndicator.md +68 -0
- package/data/packages/platform-authentication/api/index.md +1 -0
- package/data/packages/platform-authentication/index.md +25 -1
- package/data/packages/platform-blob-storage/api/Class.BlobHealthIndicator.md +7 -7
- package/data/packages/platform-blob-storage/api/Class.BlobModule.md +2 -2
- package/data/packages/platform-blob-storage/api/Interface.IAwsS3BlobProviderRegistration.md +3 -3
- package/data/packages/platform-blob-storage/api/Interface.IAzureBlobProviderRegistration.md +3 -3
- package/data/packages/platform-blob-storage/api/Interface.IBlobModuleOptions.md +5 -5
- package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md +3 -3
- package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md +3 -3
- package/data/packages/platform-blob-storage/api/TypeAlias.IBlobProviderRegistration.md +1 -1
- package/data/packages/platform-blob-storage/api/index.md +1 -1
- package/data/packages/platform-blob-storage/index.md +19 -14
- package/data/packages/platform-caching/api/Class.MemoryLayeredCache.md +10 -10
- package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +6 -6
- package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +10 -10
- package/data/packages/platform-caching/api/Interface.ILayeredCache.md +9 -9
- package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +6 -6
- package/data/packages/platform-caching/api/Variable.CACHE_DEFAULT_TTL_MS.md +14 -0
- package/data/packages/platform-caching/api/Variable.CACHE_MAX_ENTRIES.md +14 -0
- package/data/packages/platform-caching/api/Variable.CACHE_STALE_WHILE_REVALIDATE.md +14 -0
- package/data/packages/platform-caching/api/Variable.PLATFORM_CACHING_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-caching/api/Variable.REDIS_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-caching/api/Variable.REDIS_KEY_PREFIX.md +14 -0
- package/data/packages/platform-caching/api/Variable.REDIS_TTL_SECONDS.md +14 -0
- package/data/packages/platform-caching/api/Variable.REDIS_URL.md +14 -0
- package/data/packages/platform-caching/api/index.md +13 -0
- package/data/packages/platform-caching/index.md +47 -1
- package/data/packages/platform-configuration/api/Function.createConfigKey.md +1 -1
- package/data/packages/platform-core/api/Class.HttpLoggerMiddleware.md +3 -3
- package/data/packages/platform-core/api/Function.maskSensitive.md +26 -0
- package/data/packages/platform-core/api/Function.maskSensitiveFields.md +26 -0
- package/data/packages/platform-core/api/index.md +2 -0
- package/data/packages/platform-core/index.md +11 -0
- package/data/packages/platform-database/api/Class.DatabaseHealthIndicator.md +8 -6
- package/data/packages/platform-database/api/Class.DatabaseModule.md +3 -3
- package/data/packages/platform-database/api/Class.RepositoryBase.md +20 -20
- package/data/packages/platform-database/api/Function.paginator.md +1 -1
- package/data/packages/platform-database/api/Interface.IDatabaseModuleConfig.md +3 -3
- package/data/packages/platform-database/api/TypeAlias.DelegateArgs.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.DelegateReturnTypes.md +1 -1
- package/data/packages/platform-database/api/TypeAlias.PaginateFunction.md +1 -1
- package/data/packages/platform-database/api/Variable.DATABASE_MODULE_CONFIG.md +1 -1
- package/data/packages/platform-database/index.md +17 -5
- package/data/packages/platform-documents/api/Class.DocumentEngine.md +9 -5
- package/data/packages/platform-documents/index.md +1 -1
- package/data/packages/platform-esigning/api/Class.AdobeSignEsigningProvider.md +24 -0
- package/data/packages/platform-esigning/api/Class.DocuSignEsigningProvider.md +24 -0
- package/data/packages/platform-esigning/api/Class.DropboxSignEsigningProvider.md +24 -0
- package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +20 -0
- package/data/packages/platform-esigning/api/Class.EsigningHealthIndicator.md +78 -0
- package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +24 -0
- package/data/packages/platform-esigning/api/index.md +1 -0
- package/data/packages/platform-esigning/index.md +26 -2
- package/data/packages/platform-health/api/Class.HealthModule.md +42 -0
- package/data/packages/platform-health/api/Class.HealthOrchestrator.md +64 -0
- package/data/packages/platform-health/api/Interface.IHealthCheckResult.md +46 -0
- package/data/packages/platform-health/api/Interface.IHealthIndicator.md +41 -0
- package/data/packages/platform-health/api/Variable.HEALTH_INDICATORS_TOKEN.md +14 -0
- package/data/packages/platform-health/api/index.md +26 -0
- package/data/packages/platform-health/index.md +18 -7
- package/data/packages/platform-intelligence/api/Class.IntelligenceHealthIndicator.md +78 -0
- package/data/packages/platform-intelligence/api/index.md +1 -0
- package/data/packages/platform-intelligence/index.md +24 -1
- package/data/packages/platform-logging/api/Class.ContextLogger.md +152 -0
- package/data/packages/platform-logging/api/Class.LoggerModule.md +8 -2
- package/data/packages/platform-logging/api/Class.RequestContextStore.md +90 -0
- package/data/packages/platform-logging/api/Class.RequestIdMiddleware.md +68 -0
- package/data/packages/platform-logging/api/Interface.IRequestContext.md +34 -0
- package/data/packages/platform-logging/api/Variable.REQUEST_ID_HEADER.md +14 -0
- package/data/packages/platform-logging/api/index.md +11 -1
- package/data/packages/platform-logging/index.md +89 -7
- package/data/packages/platform-mailing/api/Class.MailHealthIndicator.md +5 -5
- package/data/packages/platform-mailing/api/Class.MailModule.md +28 -1
- package/data/packages/platform-mailing/api/Class.MailVerificationService.md +49 -16
- package/data/packages/platform-mailing/api/Class.SmtpConnectionVerifier.md +84 -0
- package/data/packages/platform-mailing/api/Interface.IMailModuleOptions.md +36 -0
- package/data/packages/platform-mailing/api/index.md +3 -1
- package/data/packages/platform-mailing/index.md +64 -8
- package/data/packages/platform-mapping/api/Class.MappingBuilder.md +110 -0
- package/data/packages/platform-mapping/api/Class.MappingError.md +56 -0
- package/data/packages/platform-mapping/api/Class.MappingModule.md +46 -0
- package/data/packages/platform-mapping/api/Class.MappingNotRegisteredError.md +52 -0
- package/data/packages/platform-mapping/api/Class.MappingProfileBase.md +52 -0
- package/data/packages/platform-mapping/api/Class.MappingService.md +284 -0
- package/data/packages/platform-mapping/api/Class.TypeMappingNotRegisteredError.md +53 -0
- package/data/packages/platform-mapping/api/Function.createMappingKey.md +39 -0
- package/data/packages/platform-mapping/api/Interface.IMappingBuilder.md +76 -0
- package/data/packages/platform-mapping/api/Interface.IMappingKey.md +58 -0
- package/data/packages/platform-mapping/api/Interface.IMappingProfile.md +32 -0
- package/data/packages/platform-mapping/api/TypeAlias.Constructor.md +28 -0
- package/data/packages/platform-mapping/api/index.md +38 -0
- package/data/packages/platform-mcp/api/Class.McpHealthIndicator.md +78 -0
- package/data/packages/platform-mcp/api/index.md +1 -0
- package/data/packages/platform-mcp/index.md +24 -1
- package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +2 -2
- package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +2 -2
- package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +24 -0
- package/data/packages/platform-payments/api/Class.MollieClient.md +24 -0
- package/data/packages/platform-payments/api/Class.PaddleClient.md +24 -0
- package/data/packages/platform-payments/api/Class.PaymentClientPort.md +20 -0
- package/data/packages/platform-payments/api/Class.PaymentHealthIndicator.md +78 -0
- package/data/packages/platform-payments/api/Class.StripeClient.md +28 -4
- package/data/packages/platform-payments/api/index.md +1 -0
- package/data/packages/platform-payments/index.md +26 -2
- package/data/packages/platform-queue/api/Class.AzureQueue.md +221 -0
- package/data/packages/platform-queue/api/Class.BullMqQueue.md +220 -0
- package/data/packages/platform-queue/api/Class.MemoryQueue.md +194 -0
- package/data/packages/platform-queue/api/Class.QueueError.md +51 -0
- package/data/packages/platform-queue/api/Class.QueueHealthIndicator.md +68 -0
- package/data/packages/platform-queue/api/Class.QueueJobNotFoundError.md +43 -0
- package/data/packages/platform-queue/api/Class.QueueJobStateError.md +48 -0
- package/data/packages/platform-queue/api/Class.QueueValidationError.md +43 -0
- package/data/packages/platform-queue/api/Interface.IAzureQueueOptions.md +48 -0
- package/data/packages/platform-queue/api/Interface.IBullMqQueueOptions.md +45 -0
- package/data/packages/platform-queue/api/Interface.IMemoryQueueOptions.md +32 -0
- package/data/packages/platform-queue/api/Interface.IQueue.md +173 -0
- package/data/packages/platform-queue/api/Interface.IQueueJob.md +139 -0
- package/data/packages/platform-queue/api/TypeAlias.QueueJobStatus.md +14 -0
- package/data/packages/platform-queue/api/Variable.AZURE_CONFIG_ENTRIES.md +17 -0
- package/data/packages/platform-queue/api/Variable.AZURE_CONNECTION_STRING.md +14 -0
- package/data/packages/platform-queue/api/Variable.AZURE_RECEIVE_WAIT_MS.md +21 -0
- package/data/packages/platform-queue/api/Variable.BULLMQ_CONFIG_ENTRIES.md +17 -0
- package/data/packages/platform-queue/api/Variable.BULLMQ_PREFIX.md +18 -0
- package/data/packages/platform-queue/api/Variable.BULLMQ_REDIS_URL.md +21 -0
- package/data/packages/platform-queue/api/Variable.PLATFORM_QUEUE_CONFIG_ENTRIES.md +17 -0
- package/data/packages/platform-queue/api/Variable.QUEUE_JOB_STATUS.md +30 -0
- package/data/packages/platform-queue/api/Variable.QUEUE_MAX_JOBS.md +21 -0
- package/data/packages/platform-queue/api/index.md +49 -0
- package/data/packages/platform-queue/index.md +168 -0
- package/data/packages/platform-resources/api/Class.BlobResourceStrategy.md +195 -0
- package/data/packages/platform-resources/api/Class.EmbeddedResourceStrategy.md +215 -0
- package/data/packages/platform-resources/api/Class.FileResourceStrategy.md +190 -0
- package/data/packages/platform-resources/api/Class.ResourceManager.md +477 -0
- package/data/packages/platform-resources/api/Class.ResourceModule.md +46 -0
- package/data/packages/platform-resources/api/Class.ResourceNotFoundError.md +60 -0
- package/data/packages/platform-resources/api/Interface.IBlobResourceStrategyConfig.md +28 -0
- package/data/packages/platform-resources/api/Interface.IBlobServiceAdapter.md +40 -0
- package/data/packages/platform-resources/api/Interface.IFileResourceStrategyConfig.md +72 -0
- package/data/packages/platform-resources/api/Interface.IResourceManagerConfig.md +89 -0
- package/data/packages/platform-resources/api/Interface.IResourceMetadata.md +94 -0
- package/data/packages/platform-resources/api/Interface.IResourceResult.md +34 -0
- package/data/packages/platform-resources/api/Interface.IResourceStrategy.md +134 -0
- package/data/packages/platform-resources/api/index.md +29 -0
- package/data/packages/platform-telemetry/api/Class.OtelSdkHolder.md +20 -2
- package/data/packages/platform-telemetry/api/Class.TelemetryHealthIndicator.md +78 -0
- package/data/packages/platform-telemetry/api/index.md +1 -0
- package/data/packages/platform-telemetry/index.md +25 -1
- package/data/patterns/config-pattern.md +3 -1
- package/package.json +1 -1
|
@@ -120,6 +120,26 @@ Clear the current user context.
|
|
|
120
120
|
|
|
121
121
|
***
|
|
122
122
|
|
|
123
|
+
### ping()
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
ping(): Promise<boolean>;
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Defined in: [contracts/AnalyticsClientPort.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L69)
|
|
130
|
+
|
|
131
|
+
Lightweight readiness check for the analytics provider.
|
|
132
|
+
Override in adapters to verify SDK initialization.
|
|
133
|
+
Defaults to `true` if not overridden.
|
|
134
|
+
|
|
135
|
+
#### Returns
|
|
136
|
+
|
|
137
|
+
`Promise`\<`boolean`\>
|
|
138
|
+
|
|
139
|
+
`true` if the provider is ready.
|
|
140
|
+
|
|
141
|
+
***
|
|
142
|
+
|
|
123
143
|
### setUser()
|
|
124
144
|
|
|
125
145
|
```ts
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Class: AnalyticsHealthIndicator'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Class: AnalyticsHealthIndicator
|
|
7
|
+
|
|
8
|
+
Defined in: health/AnalyticsHealthIndicator.ts:17
|
|
9
|
+
|
|
10
|
+
Health indicator for the analytics infrastructure.
|
|
11
|
+
Calls [AnalyticsClientPort.ping](Class.AnalyticsClientPort#ping) to verify provider readiness.
|
|
12
|
+
|
|
13
|
+
## Implements
|
|
14
|
+
|
|
15
|
+
- `IHealthIndicator`
|
|
16
|
+
|
|
17
|
+
## Constructors
|
|
18
|
+
|
|
19
|
+
### Constructor
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
new AnalyticsHealthIndicator(analyticsClient?): AnalyticsHealthIndicator;
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Defined in: health/AnalyticsHealthIndicator.ts:27
|
|
26
|
+
|
|
27
|
+
#### Parameters
|
|
28
|
+
|
|
29
|
+
| Parameter | Type |
|
|
30
|
+
| ------ | ------ |
|
|
31
|
+
| `analyticsClient?` | [`AnalyticsClientPort`](Class.AnalyticsClientPort) |
|
|
32
|
+
|
|
33
|
+
#### Returns
|
|
34
|
+
|
|
35
|
+
`AnalyticsHealthIndicator`
|
|
36
|
+
|
|
37
|
+
## Properties
|
|
38
|
+
|
|
39
|
+
### key
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
readonly key: string = 'analytics';
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Defined in: health/AnalyticsHealthIndicator.ts:35
|
|
46
|
+
|
|
47
|
+
Unique key identifying the indicator
|
|
48
|
+
|
|
49
|
+
#### Implementation of
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
IHealthIndicator.key
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Methods
|
|
56
|
+
|
|
57
|
+
### check()
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
check(): Promise<HealthIndicatorResult<string>>;
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Defined in: health/AnalyticsHealthIndicator.ts:48
|
|
64
|
+
|
|
65
|
+
Pings the analytics provider to verify readiness.
|
|
66
|
+
Returns disabled status when no client is configured.
|
|
67
|
+
|
|
68
|
+
#### Returns
|
|
69
|
+
|
|
70
|
+
`Promise`\<`HealthIndicatorResult`\<`string`\>\>
|
|
71
|
+
|
|
72
|
+
The health indicator result.
|
|
73
|
+
|
|
74
|
+
#### Implementation of
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
IHealthIndicator.check
|
|
78
|
+
```
|
|
@@ -193,6 +193,30 @@ OnModuleInit.onModuleInit
|
|
|
193
193
|
|
|
194
194
|
***
|
|
195
195
|
|
|
196
|
+
### ping()
|
|
197
|
+
|
|
198
|
+
```ts
|
|
199
|
+
ping(): Promise<boolean>;
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Defined in: [contracts/AnalyticsClientPort.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L69)
|
|
203
|
+
|
|
204
|
+
Lightweight readiness check for the analytics provider.
|
|
205
|
+
Override in adapters to verify SDK initialization.
|
|
206
|
+
Defaults to `true` if not overridden.
|
|
207
|
+
|
|
208
|
+
#### Returns
|
|
209
|
+
|
|
210
|
+
`Promise`\<`boolean`\>
|
|
211
|
+
|
|
212
|
+
`true` if the provider is ready.
|
|
213
|
+
|
|
214
|
+
#### Inherited from
|
|
215
|
+
|
|
216
|
+
[`AnalyticsClientPort`](Class.AnalyticsClientPort).[`ping`](Class.AnalyticsClientPort#ping)
|
|
217
|
+
|
|
218
|
+
***
|
|
219
|
+
|
|
196
220
|
### setUser()
|
|
197
221
|
|
|
198
222
|
```ts
|
|
@@ -170,6 +170,30 @@ OnModuleInit.onModuleInit
|
|
|
170
170
|
|
|
171
171
|
***
|
|
172
172
|
|
|
173
|
+
### ping()
|
|
174
|
+
|
|
175
|
+
```ts
|
|
176
|
+
ping(): Promise<boolean>;
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Defined in: [contracts/AnalyticsClientPort.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L69)
|
|
180
|
+
|
|
181
|
+
Lightweight readiness check for the analytics provider.
|
|
182
|
+
Override in adapters to verify SDK initialization.
|
|
183
|
+
Defaults to `true` if not overridden.
|
|
184
|
+
|
|
185
|
+
#### Returns
|
|
186
|
+
|
|
187
|
+
`Promise`\<`boolean`\>
|
|
188
|
+
|
|
189
|
+
`true` if the provider is ready.
|
|
190
|
+
|
|
191
|
+
#### Inherited from
|
|
192
|
+
|
|
193
|
+
[`AnalyticsClientPort`](Class.AnalyticsClientPort).[`ping`](Class.AnalyticsClientPort#ping)
|
|
194
|
+
|
|
195
|
+
***
|
|
196
|
+
|
|
173
197
|
### setUser()
|
|
174
198
|
|
|
175
199
|
```ts
|
|
@@ -136,6 +136,30 @@ Clear the current user context.
|
|
|
136
136
|
|
|
137
137
|
***
|
|
138
138
|
|
|
139
|
+
### ping()
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
ping(): Promise<boolean>;
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Defined in: [contracts/AnalyticsClientPort.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L69)
|
|
146
|
+
|
|
147
|
+
Lightweight readiness check for the analytics provider.
|
|
148
|
+
Override in adapters to verify SDK initialization.
|
|
149
|
+
Defaults to `true` if not overridden.
|
|
150
|
+
|
|
151
|
+
#### Returns
|
|
152
|
+
|
|
153
|
+
`Promise`\<`boolean`\>
|
|
154
|
+
|
|
155
|
+
`true` if the provider is ready.
|
|
156
|
+
|
|
157
|
+
#### Inherited from
|
|
158
|
+
|
|
159
|
+
[`AnalyticsClientPort`](Class.AnalyticsClientPort).[`ping`](Class.AnalyticsClientPort#ping)
|
|
160
|
+
|
|
161
|
+
***
|
|
162
|
+
|
|
139
163
|
### setUser()
|
|
140
164
|
|
|
141
165
|
```ts
|
|
@@ -193,6 +193,30 @@ OnModuleInit.onModuleInit
|
|
|
193
193
|
|
|
194
194
|
***
|
|
195
195
|
|
|
196
|
+
### ping()
|
|
197
|
+
|
|
198
|
+
```ts
|
|
199
|
+
ping(): Promise<boolean>;
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Defined in: [contracts/AnalyticsClientPort.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/contracts/AnalyticsClientPort.ts#L69)
|
|
203
|
+
|
|
204
|
+
Lightweight readiness check for the analytics provider.
|
|
205
|
+
Override in adapters to verify SDK initialization.
|
|
206
|
+
Defaults to `true` if not overridden.
|
|
207
|
+
|
|
208
|
+
#### Returns
|
|
209
|
+
|
|
210
|
+
`Promise`\<`boolean`\>
|
|
211
|
+
|
|
212
|
+
`true` if the provider is ready.
|
|
213
|
+
|
|
214
|
+
#### Inherited from
|
|
215
|
+
|
|
216
|
+
[`AnalyticsClientPort`](Class.AnalyticsClientPort).[`ping`](Class.AnalyticsClientPort#ping)
|
|
217
|
+
|
|
218
|
+
***
|
|
219
|
+
|
|
196
220
|
### setUser()
|
|
197
221
|
|
|
198
222
|
```ts
|
|
@@ -10,6 +10,7 @@ editUrl: false
|
|
|
10
10
|
| Class | Description |
|
|
11
11
|
| ------ | ------ |
|
|
12
12
|
| [AnalyticsClientPort](Class.AnalyticsClientPort) | Abstract port for analytics and error tracking clients. Each provider (Sentry, Application Insights, Datadog) must implement this contract so that the consuming application can switch providers without changing business logic. |
|
|
13
|
+
| [AnalyticsHealthIndicator](Class.AnalyticsHealthIndicator) | Health indicator for the analytics infrastructure. Calls [AnalyticsClientPort.ping](Class.AnalyticsClientPort#ping) to verify provider readiness. |
|
|
13
14
|
| [AnalyticsModule](Class.AnalyticsModule) | NestJS module providing generic analytics and error tracking infrastructure. The specific analytics provider (Sentry, Application Insights, Datadog) is selected via the options. |
|
|
14
15
|
| [AppInsightsAnalyticsClient](Class.AppInsightsAnalyticsClient) | Azure Application Insights implementation of the [AnalyticsClientPort](Class.AnalyticsClientPort). Uses the `applicationinsights` SDK for error tracking and analytics. |
|
|
15
16
|
| [DatadogAnalyticsClient](Class.DatadogAnalyticsClient) | Datadog implementation of the [AnalyticsClientPort](Class.AnalyticsClientPort). Uses the `dd-trace` SDK for error tracking and analytics. |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
title: platform-analytics
|
|
3
3
|
description: Provider-agnostic analytics and error tracking with pluggable clients.
|
|
4
4
|
order: 14
|
|
5
|
-
tags: [analytics, error-tracking, sentry, application-insights, datadog, observability, providers]
|
|
5
|
+
tags: [analytics, error-tracking, sentry, application-insights, datadog, observability, providers, health]
|
|
6
6
|
package: '@breadstone/archipel-platform-analytics'
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -168,6 +168,29 @@ This ensures no events are lost during application shutdown and prevents hanging
|
|
|
168
168
|
|
|
169
169
|
---
|
|
170
170
|
|
|
171
|
+
## Health Check
|
|
172
|
+
|
|
173
|
+
The `AnalyticsHealthIndicator` verifies that an `AnalyticsClientPort` is injected. If no analytics client is registered, it reports `disabled: true`. Import it from the `/health` subpath:
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
import { AnalyticsHealthIndicator } from '@breadstone/archipel-platform-analytics/health';
|
|
177
|
+
import { HealthModule } from '@breadstone/archipel-platform-health';
|
|
178
|
+
|
|
179
|
+
@Module({
|
|
180
|
+
imports: [
|
|
181
|
+
AnalyticsModule.register({ /* ... */ }),
|
|
182
|
+
HealthModule.withIndicators([AnalyticsHealthIndicator]),
|
|
183
|
+
],
|
|
184
|
+
})
|
|
185
|
+
export class AppModule {}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
| Key | Check | Dependencies |
|
|
189
|
+
| --- | ----- | ------------ |
|
|
190
|
+
| `analytics` | `up` if `AnalyticsClientPort` injected, else `disabled` | `@Optional() AnalyticsClientPort` |
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
171
194
|
## Exports Summary
|
|
172
195
|
|
|
173
196
|
| Export | Type | Description |
|
|
@@ -181,3 +204,4 @@ This ensures no events are lost during application shutdown and prevents hanging
|
|
|
181
204
|
| `AnalyticsLevel` | Type | Severity level union |
|
|
182
205
|
| `IAnalyticsBreadcrumb` | Interface | Breadcrumb entry model |
|
|
183
206
|
| `IAnalyticsUser` | Interface | User context model |
|
|
207
|
+
| `AnalyticsHealthIndicator` | Health | Analytics readiness check (`/health` subpath) |
|
|
@@ -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
|
+
```
|
|
@@ -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. |
|
|
@@ -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:
|
|
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:
|
|
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:
|
|
44
|
+
readonly key: string = 'blob';
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Defined in:
|
|
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:
|
|
65
|
+
Defined in: health/BlobHealthIndicator.ts:53
|
|
66
66
|
|
|
67
|
-
Checks if the blob
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
+
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:
|
|
48
|
+
Defined in: [BlobModule.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L37)
|
package/data/packages/platform-blob-storage/api/Interface.ICustomBlobProviderRegistration.md
CHANGED
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Interface: ICustomBlobProviderRegistration
|
|
7
7
|
|
|
8
|
-
Defined in: [BlobModule.ts:
|
|
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:
|
|
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:
|
|
28
|
+
Defined in: [BlobModule.ts:58](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobModule.ts#L58)
|
package/data/packages/platform-blob-storage/api/Interface.IVercelBlobProviderRegistration.md
CHANGED
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Interface: IVercelBlobProviderRegistration
|
|
7
7
|
|
|
8
|
-
Defined in: [BlobModule.ts:
|
|
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:
|
|
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:
|
|
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:
|
|
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. |
|