@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
@@ -2,7 +2,7 @@
2
2
  title: platform-mailing
3
3
  description: Multi-strategy email delivery with support for SMTP, Postmark, Resend, SendGrid, and Mailgun.
4
4
  order: 7
5
- tags: [mailing, email, smtp, postmark, resend, sendgrid, mailgun, templates, verification, strategy-pattern]
5
+ tags: [mailing, email, smtp, postmark, resend, sendgrid, mailgun, templates, verification, strategy-pattern, health]
6
6
  package: '@breadstone/archipel-platform-mailing'
7
7
  ---
8
8
 
@@ -285,9 +285,32 @@ Load templates from blob storage (e.g., Vercel Blob):
285
285
 
286
286
  ---
287
287
 
288
- ## MailVerificationService
288
+ ## SmtpConnectionVerifier
289
289
 
290
- Email address verification flow:
290
+ Verifies SMTP server connectivity. Replaces the deprecated `MailVerificationService`.
291
+
292
+ ```typescript
293
+ import { SmtpConnectionVerifier } from '@breadstone/archipel-platform-mailing';
294
+
295
+ @Injectable()
296
+ export class HealthCheckService {
297
+ constructor(private readonly _smtpVerifier: SmtpConnectionVerifier) {}
298
+
299
+ public async checkSmtp(): Promise<boolean> {
300
+ return this._smtpVerifier.verifyConnection();
301
+ }
302
+
303
+ public async sendTestEmail(to: string): Promise<boolean> {
304
+ return this._smtpVerifier.sendTestEmail(to);
305
+ }
306
+ }
307
+ ```
308
+
309
+ ## MailVerificationService (Deprecated)
310
+
311
+ ::: warning Deprecated
312
+ `MailVerificationService` is deprecated. Use `SmtpConnectionVerifier` instead — it provides `verifyConnection()` for SMTP connectivity checks and `sendTestEmail()` for sending test messages.
313
+ :::
291
314
 
292
315
  ```typescript
293
316
  import { MailVerificationService } from '@breadstone/archipel-platform-mailing';
@@ -304,15 +327,47 @@ export class RegistrationService {
304
327
 
305
328
  ---
306
329
 
330
+ ## MailModule.register()
331
+
332
+ The `MailModule` supports a `register()` static method for explicit module configuration:
333
+
334
+ ```typescript
335
+ import { MailModule } from '@breadstone/archipel-platform-mailing';
336
+
337
+ @Module({
338
+ imports: [
339
+ MailModule.register({
340
+ configEntries: MY_CUSTOM_CONFIG_ENTRIES, // optional
341
+ isGlobal: true, // optional, default: false
342
+ }),
343
+ ],
344
+ })
345
+ export class AppModule {}
346
+ ```
347
+
348
+ ---
349
+
307
350
  ## Health Check
308
351
 
352
+ The `MailHealthIndicator` validates that the required mail configuration values (`MAIL_HOST`, `MAIL_USER`, `MAIL_PORT`) are present and non-empty. Import it from the `/health` subpath:
353
+
309
354
  ```typescript
310
- import { MailHealthIndicator } from '@breadstone/archipel-platform-mailing';
355
+ import { MailHealthIndicator } from '@breadstone/archipel-platform-mailing/health';
356
+ import { HealthModule } from '@breadstone/archipel-platform-health';
311
357
 
312
- // Registered with HealthOrchestrator automatically
313
- // Checks mail delivery readiness
358
+ @Module({
359
+ imports: [
360
+ MailModule.register({ /* ... */ }),
361
+ HealthModule.withIndicators([MailHealthIndicator]),
362
+ ],
363
+ })
364
+ export class AppModule {}
314
365
  ```
315
366
 
367
+ | Key | Check | Dependencies |
368
+ | --- | ----- | ------------ |
369
+ | `mail` | Validates mail host, user, and port config | `ConfigService` |
370
+
316
371
  ---
317
372
 
318
373
  ## Real-World Example: Transactional Email Pipeline
@@ -389,7 +444,8 @@ try {
389
444
  | --------------------------- | -------------- | ------------------------------- |
390
445
  | `MailModule` | NestJS Module | Global mail module |
391
446
  | `MailService` | Service | Send emails (plain + templated) |
392
- | `MailVerificationService` | Service | Email verification |
447
+ | `SmtpConnectionVerifier` | Service | SMTP connectivity verification |
448
+ | `MailVerificationService` | Service | ~~Email verification~~ (deprecated — use `SmtpConnectionVerifier`) |
393
449
  | `MailTemplateEngine` | Service | Template variable substitution |
394
450
  | `DeliveryStrategyBase` | Abstract class | Base for delivery strategies |
395
451
  | `SmtpDeliveryStrategy` | Strategy | SMTP transport (built-in) |
@@ -399,7 +455,7 @@ try {
399
455
  | `MailgunDeliveryStrategy` | Strategy | Mailgun API |
400
456
  | `FileTemplateFetchStrategy` | Strategy | File-based templates |
401
457
  | `BlobTemplateFetchStrategy` | Strategy | Blob-stored templates |
402
- | `MailHealthIndicator` | Health | Mail readiness check |
458
+ | `MailHealthIndicator` | Health | Mail readiness check (`/health` subpath) |
403
459
  | `MailDeliveryError` | Error class | Domain error for delivery failures |
404
460
 
405
461
  ### Provider subpaths
@@ -0,0 +1,110 @@
1
+ ---
2
+ title: 'Class: MappingBuilder'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: MappingBuilder
7
+
8
+ Defined in: [builder/MappingBuilder.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/MappingBuilder.ts#L15)
9
+
10
+ A mapping builder that uses the mapping service to register maps.
11
+
12
+ ## Implements
13
+
14
+ - [`IMappingBuilder`](Interface.IMappingBuilder)
15
+
16
+ ## Constructors
17
+
18
+ ### Constructor
19
+
20
+ ```ts
21
+ new MappingBuilder(service): MappingBuilder;
22
+ ```
23
+
24
+ Defined in: [builder/MappingBuilder.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/MappingBuilder.ts#L29)
25
+
26
+ Constructs a new instance of the `MappingBuilder` class.
27
+
28
+ #### Parameters
29
+
30
+ | Parameter | Type |
31
+ | ------ | ------ |
32
+ | `service` | [`MappingService`](Class.MappingService) |
33
+
34
+ #### Returns
35
+
36
+ `MappingBuilder`
37
+
38
+ ## Methods
39
+
40
+ ### createKeyedMap()
41
+
42
+ ```ts
43
+ createKeyedMap<TInput, TOutput>(key, fn): this;
44
+ ```
45
+
46
+ Defined in: [builder/MappingBuilder.ts:64](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/MappingBuilder.ts#L64)
47
+
48
+ Creates a keyed mapping between two types with full type safety.
49
+ The mapping key encodes both input and output types at compile time.
50
+
51
+ #### Type Parameters
52
+
53
+ | Type Parameter |
54
+ | ------ |
55
+ | `TInput` |
56
+ | `TOutput` |
57
+
58
+ #### Parameters
59
+
60
+ | Parameter | Type | Description |
61
+ | ------ | ------ | ------ |
62
+ | `key` | [`IMappingKey`](Interface.IMappingKey)\<`TInput`, `TOutput`\> | The type-safe mapping key. |
63
+ | `fn` | (`source`) => `TOutput` | The mapping function. |
64
+
65
+ #### Returns
66
+
67
+ `this`
68
+
69
+ #### Implementation of
70
+
71
+ [`IMappingBuilder`](Interface.IMappingBuilder).[`createKeyedMap`](Interface.IMappingBuilder#createkeyedmap)
72
+
73
+ ***
74
+
75
+ ### createMap()
76
+
77
+ ```ts
78
+ createMap<TSource, TDestination>(
79
+ source,
80
+ destination,
81
+ fn): this;
82
+ ```
83
+
84
+ Defined in: [builder/MappingBuilder.ts:46](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/builder/MappingBuilder.ts#L46)
85
+
86
+ Creates a mapping between two types.
87
+ Enforces compile-time type compatibility check.
88
+
89
+ #### Type Parameters
90
+
91
+ | Type Parameter |
92
+ | ------ |
93
+ | `TSource` |
94
+ | `TDestination` |
95
+
96
+ #### Parameters
97
+
98
+ | Parameter | Type | Description |
99
+ | ------ | ------ | ------ |
100
+ | `source` | [`Constructor`](TypeAlias.Constructor)\<`TSource`\> | The source type. |
101
+ | `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The destination type. |
102
+ | `fn` | (`source`) => `TDestination` | The mapping function. |
103
+
104
+ #### Returns
105
+
106
+ `this`
107
+
108
+ #### Implementation of
109
+
110
+ [`IMappingBuilder`](Interface.IMappingBuilder).[`createMap`](Interface.IMappingBuilder#createmap)
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: 'Abstract Class: MappingError'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Abstract Class: MappingError
7
+
8
+ Defined in: [errors/MappingError.ts:7](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L7)
9
+
10
+ Base class for mapping related domain errors.
11
+
12
+ ## Extends
13
+
14
+ - `Error`
15
+
16
+ ## Extended by
17
+
18
+ - [`MappingNotRegisteredError`](Class.MappingNotRegisteredError)
19
+ - [`TypeMappingNotRegisteredError`](Class.TypeMappingNotRegisteredError)
20
+
21
+ ## Constructors
22
+
23
+ ### Constructor
24
+
25
+ ```ts
26
+ protected new MappingError(message, code): MappingError;
27
+ ```
28
+
29
+ Defined in: [errors/MappingError.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L16)
30
+
31
+ #### Parameters
32
+
33
+ | Parameter | Type |
34
+ | ------ | ------ |
35
+ | `message` | `string` |
36
+ | `code` | `string` |
37
+
38
+ #### Returns
39
+
40
+ `MappingError`
41
+
42
+ #### Overrides
43
+
44
+ ```ts
45
+ Error.constructor
46
+ ```
47
+
48
+ ## Properties
49
+
50
+ ### code
51
+
52
+ ```ts
53
+ readonly code: string;
54
+ ```
55
+
56
+ Defined in: [errors/MappingError.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L10)
@@ -0,0 +1,46 @@
1
+ ---
2
+ title: 'Class: MappingModule'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: MappingModule
7
+
8
+ Defined in: [MappingModule.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingModule.ts#L19)
9
+
10
+ Module that provides mapping services and allows registration of mapping profiles.
11
+
12
+ ## Constructors
13
+
14
+ ### Constructor
15
+
16
+ ```ts
17
+ new MappingModule(): MappingModule;
18
+ ```
19
+
20
+ #### Returns
21
+
22
+ `MappingModule`
23
+
24
+ ## Methods
25
+
26
+ ### withProfiles()
27
+
28
+ ```ts
29
+ static withProfiles(profiles): DynamicModule;
30
+ ```
31
+
32
+ Defined in: [MappingModule.ts:27](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingModule.ts#L27)
33
+
34
+ Configures the module with the given mapping profiles.
35
+
36
+ #### Parameters
37
+
38
+ | Parameter | Type | Description |
39
+ | ------ | ------ | ------ |
40
+ | `profiles` | `Type`\<[`IMappingProfile`](Interface.IMappingProfile)\>[] | An array of mapping profile types to register. |
41
+
42
+ #### Returns
43
+
44
+ `DynamicModule`
45
+
46
+ A dynamic module with the specified profiles registered.
@@ -0,0 +1,52 @@
1
+ ---
2
+ title: 'Class: MappingNotRegisteredError'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: MappingNotRegisteredError
7
+
8
+ Defined in: [errors/MappingNotRegisteredError.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingNotRegisteredError.ts#L12)
9
+
10
+ Thrown when a keyed mapping is requested but not registered.
11
+
12
+ ## Extends
13
+
14
+ - [`MappingError`](Class.MappingError)
15
+
16
+ ## Constructors
17
+
18
+ ### Constructor
19
+
20
+ ```ts
21
+ new MappingNotRegisteredError(key): MappingNotRegisteredError;
22
+ ```
23
+
24
+ Defined in: [errors/MappingNotRegisteredError.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingNotRegisteredError.ts#L15)
25
+
26
+ #### Parameters
27
+
28
+ | Parameter | Type |
29
+ | ------ | ------ |
30
+ | `key` | `string` |
31
+
32
+ #### Returns
33
+
34
+ `MappingNotRegisteredError`
35
+
36
+ #### Overrides
37
+
38
+ [`MappingError`](Class.MappingError).[`constructor`](Class.MappingError#constructor)
39
+
40
+ ## Properties
41
+
42
+ ### code
43
+
44
+ ```ts
45
+ readonly code: string;
46
+ ```
47
+
48
+ Defined in: [errors/MappingError.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/errors/MappingError.ts#L10)
49
+
50
+ #### Inherited from
51
+
52
+ [`MappingError`](Class.MappingError).[`code`](Class.MappingError#code)
@@ -0,0 +1,52 @@
1
+ ---
2
+ title: 'Abstract Class: MappingProfileBase'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Abstract Class: MappingProfileBase
7
+
8
+ Defined in: [profile/MappingProfileBase.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/profile/MappingProfileBase.ts#L13)
9
+
10
+ Base class for mapping profiles to simplify implementation.
11
+
12
+ ## Implements
13
+
14
+ - [`IMappingProfile`](Interface.IMappingProfile)
15
+
16
+ ## Constructors
17
+
18
+ ### Constructor
19
+
20
+ ```ts
21
+ new MappingProfileBase(): MappingProfileBase;
22
+ ```
23
+
24
+ #### Returns
25
+
26
+ `MappingProfileBase`
27
+
28
+ ## Methods
29
+
30
+ ### configure()
31
+
32
+ ```ts
33
+ abstract configure(builder): void;
34
+ ```
35
+
36
+ Defined in: [profile/MappingProfileBase.ts:23](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/profile/MappingProfileBase.ts#L23)
37
+
38
+ Configures the mapping profile.
39
+
40
+ #### Parameters
41
+
42
+ | Parameter | Type | Description |
43
+ | ------ | ------ | ------ |
44
+ | `builder` | [`IMappingBuilder`](Interface.IMappingBuilder) | The mapping builder. |
45
+
46
+ #### Returns
47
+
48
+ `void`
49
+
50
+ #### Implementation of
51
+
52
+ [`IMappingProfile`](Interface.IMappingProfile).[`configure`](Interface.IMappingProfile#configure)
@@ -0,0 +1,284 @@
1
+ ---
2
+ title: 'Class: MappingService'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: MappingService
7
+
8
+ Defined in: [MappingService.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L19)
9
+
10
+ Central mapping registry supporting keyed & type-based mappings.
11
+
12
+ ## Constructors
13
+
14
+ ### Constructor
15
+
16
+ ```ts
17
+ new MappingService(): MappingService;
18
+ ```
19
+
20
+ Defined in: [MappingService.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L36)
21
+
22
+ Constructs a new instance of the `MappingService` class.
23
+
24
+ #### Returns
25
+
26
+ `MappingService`
27
+
28
+ ## Methods
29
+
30
+ ### map()
31
+
32
+ ```ts
33
+ map<TInput, TOutput>(key, source): TOutput;
34
+ ```
35
+
36
+ Defined in: [MappingService.ts:99](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L99)
37
+
38
+ Maps a source object to a destination type using a type-safe mapping key.
39
+ The key encodes both input and output types, ensuring compile-time type safety.
40
+
41
+ #### Type Parameters
42
+
43
+ | Type Parameter |
44
+ | ------ |
45
+ | `TInput` |
46
+ | `TOutput` |
47
+
48
+ #### Parameters
49
+
50
+ | Parameter | Type | Description |
51
+ | ------ | ------ | ------ |
52
+ | `key` | [`IMappingKey`](Interface.IMappingKey)\<`TInput`, `TOutput`\> | The type-safe mapping key. |
53
+ | `source` | `TInput` | The source object to map. |
54
+
55
+ #### Returns
56
+
57
+ `TOutput`
58
+
59
+ The mapped destination object.
60
+
61
+ #### Example
62
+
63
+ ```typescript
64
+ const response = this._mappingService.map(PRODUCT_MAPPING_KEY, productInput);
65
+ // response is automatically typed as ProductResponse
66
+ ```
67
+
68
+ ***
69
+
70
+ ### mapTypes()
71
+
72
+ ```ts
73
+ mapTypes<TSource, TDestination>(source, destination): TDestination;
74
+ ```
75
+
76
+ Defined in: [MappingService.ts:129](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L129)
77
+
78
+ Maps a source object to a destination type using a registered mapping function.
79
+
80
+ #### Type Parameters
81
+
82
+ | Type Parameter |
83
+ | ------ |
84
+ | `TSource` |
85
+ | `TDestination` |
86
+
87
+ #### Parameters
88
+
89
+ | Parameter | Type | Description |
90
+ | ------ | ------ | ------ |
91
+ | `source` | `TSource` | The source object to map. |
92
+ | `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The constructor of the destination type. |
93
+
94
+ #### Returns
95
+
96
+ `TDestination`
97
+
98
+ The mapped destination object.
99
+
100
+ ***
101
+
102
+ ### mapTypesArray()
103
+
104
+ ```ts
105
+ mapTypesArray<TSource, TDestination>(sources, destination): TDestination[];
106
+ ```
107
+
108
+ Defined in: [MappingService.ts:161](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L161)
109
+
110
+ Maps an array of source objects to an array of destination types using a registered mapping function.
111
+
112
+ #### Type Parameters
113
+
114
+ | Type Parameter |
115
+ | ------ |
116
+ | `TSource` |
117
+ | `TDestination` |
118
+
119
+ #### Parameters
120
+
121
+ | Parameter | Type | Description |
122
+ | ------ | ------ | ------ |
123
+ | `sources` | `TSource`[] | The array of source objects to map. |
124
+ | `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The constructor of the destination type. |
125
+
126
+ #### Returns
127
+
128
+ `TDestination`[]
129
+
130
+ The array of mapped destination objects.
131
+
132
+ ***
133
+
134
+ ### register()
135
+
136
+ ```ts
137
+ register<TSource, TDestination>(key, fn): void;
138
+ ```
139
+
140
+ Defined in: [MappingService.ts:54](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L54)
141
+
142
+ Registers a mapping function for a specific key.
143
+
144
+ #### Type Parameters
145
+
146
+ | Type Parameter |
147
+ | ------ |
148
+ | `TSource` |
149
+ | `TDestination` |
150
+
151
+ #### Parameters
152
+
153
+ | Parameter | Type | Description |
154
+ | ------ | ------ | ------ |
155
+ | `key` | `string` | The unique key for the mapping. |
156
+ | `fn` | (`source`) => `TDestination` | The mapping function. |
157
+
158
+ #### Returns
159
+
160
+ `void`
161
+
162
+ void
163
+
164
+ ***
165
+
166
+ ### registerMap()
167
+
168
+ ```ts
169
+ registerMap<TSource, TDestination>(
170
+ source,
171
+ destination,
172
+ fn): void;
173
+ ```
174
+
175
+ Defined in: [MappingService.ts:71](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L71)
176
+
177
+ Registers a mapping function for a specific source and destination type.
178
+
179
+ #### Type Parameters
180
+
181
+ | Type Parameter |
182
+ | ------ |
183
+ | `TSource` |
184
+ | `TDestination` |
185
+
186
+ #### Parameters
187
+
188
+ | Parameter | Type | Description |
189
+ | ------ | ------ | ------ |
190
+ | `source` | [`Constructor`](TypeAlias.Constructor)\<`TSource`\> | The constructor of the source type. |
191
+ | `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> | The constructor of the destination type. |
192
+ | `fn` | (`source`) => `TDestination` | The mapping function. |
193
+
194
+ #### Returns
195
+
196
+ `void`
197
+
198
+ void
199
+
200
+ ***
201
+
202
+ ### registerProfile()
203
+
204
+ ```ts
205
+ registerProfile(profile): void;
206
+ ```
207
+
208
+ Defined in: [MappingService.ts:175](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L175)
209
+
210
+ Registers a mapping profile containing multiple mappings.
211
+
212
+ #### Parameters
213
+
214
+ | Parameter | Type | Description |
215
+ | ------ | ------ | ------ |
216
+ | `profile` | [`IMappingProfile`](Interface.IMappingProfile) | The mapping profile to register. |
217
+
218
+ #### Returns
219
+
220
+ `void`
221
+
222
+ void
223
+
224
+ ***
225
+
226
+ ### tryMap()
227
+
228
+ ```ts
229
+ tryMap<TInput, TOutput>(key, source): TOutput | undefined;
230
+ ```
231
+
232
+ Defined in: [MappingService.ts:115](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L115)
233
+
234
+ Attempts to map returning undefined instead of throwing when mapping is absent.
235
+
236
+ #### Type Parameters
237
+
238
+ | Type Parameter |
239
+ | ------ |
240
+ | `TInput` |
241
+ | `TOutput` |
242
+
243
+ #### Parameters
244
+
245
+ | Parameter | Type | Description |
246
+ | ------ | ------ | ------ |
247
+ | `key` | [`IMappingKey`](Interface.IMappingKey)\<`TInput`, `TOutput`\> | The type-safe mapping key. |
248
+ | `source` | `TInput` | The source object to map. |
249
+
250
+ #### Returns
251
+
252
+ `TOutput` \| `undefined`
253
+
254
+ The mapped destination object or undefined if no mapping exists.
255
+
256
+ ***
257
+
258
+ ### tryMapTypes()
259
+
260
+ ```ts
261
+ tryMapTypes<TSource, TDestination>(source, destination): TDestination | undefined;
262
+ ```
263
+
264
+ Defined in: [MappingService.ts:142](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mapping/src/MappingService.ts#L142)
265
+
266
+ Safe variant of [mapTypes](#maptypes) that returns undefined if not registered.
267
+
268
+ #### Type Parameters
269
+
270
+ | Type Parameter |
271
+ | ------ |
272
+ | `TSource` |
273
+ | `TDestination` |
274
+
275
+ #### Parameters
276
+
277
+ | Parameter | Type |
278
+ | ------ | ------ |
279
+ | `source` | `TSource` |
280
+ | `destination` | [`Constructor`](TypeAlias.Constructor)\<`TDestination`\> |
281
+
282
+ #### Returns
283
+
284
+ `TDestination` \| `undefined`