@breadstone/archipel-mcp 0.0.20 → 0.0.22

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 (196) hide show
  1. package/data/guides/ai-text-generation.md +10 -0
  2. package/data/guides/analytics-and-error-tracking.md +6 -0
  3. package/data/guides/cryptography-and-otp.md +20 -2
  4. package/data/guides/database-setup.md +4 -3
  5. package/data/guides/document-generation.md +26 -0
  6. package/data/guides/email-delivery.md +23 -0
  7. package/data/guides/email-templates.md +298 -0
  8. package/data/guides/esigning-integration.md +1 -1
  9. package/data/guides/getting-started.md +6 -6
  10. package/data/guides/index.md +1 -0
  11. package/data/guides/mcp-server.md +9 -0
  12. package/data/guides/payments-and-feature-gating.md +18 -0
  13. package/data/guides/resource-management.md +9 -9
  14. package/data/guides/telemetry-and-observability.md +7 -1
  15. package/data/packages/platform-analytics/api/Class.AppInsightsAnalyticsClient.md +55 -6
  16. package/data/packages/platform-analytics/api/Class.DatadogAnalyticsClient.md +32 -6
  17. package/data/packages/platform-analytics/api/Class.SentryAnalyticsClient.md +55 -6
  18. package/data/packages/platform-analytics/index.md +13 -0
  19. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +1 -1
  20. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +1 -1
  21. package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +1 -1
  22. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +1 -1
  23. package/data/packages/platform-core/api/Class.ErrorTemplateService.md +1 -1
  24. package/data/packages/platform-core/api/Class.EventHub.md +7 -7
  25. package/data/packages/platform-core/api/Class.HostService.md +1 -1
  26. package/data/packages/platform-core/api/Class.SseHub.md +29 -6
  27. package/data/packages/platform-core/api/Variable.ID_GENERATOR_TOKEN.md +1 -1
  28. package/data/packages/platform-core/api/index.md +0 -27
  29. package/data/packages/platform-core/index.md +8 -4
  30. package/data/packages/platform-cryptography/api/Class.BcryptService.md +4 -4
  31. package/data/packages/platform-cryptography/api/Class.CryptoService.md +3 -3
  32. package/data/packages/platform-cryptography/api/Class.OtpService.md +6 -6
  33. package/data/packages/platform-cryptography/api/Variable.BCRYPT_OPTIONS.md +2 -2
  34. package/data/packages/platform-cryptography/api/Variable.MAX_BCRYPT_PASSWORD_BYTES.md +1 -1
  35. package/data/packages/platform-cryptography/api/Variable.MIN_BCRYPT_ROUNDS.md +1 -1
  36. package/data/packages/platform-cryptography/api/Variable.OTP_OPTIONS.md +2 -2
  37. package/data/packages/platform-cryptography/api/Variable.OTP_SERVICE_TOKEN.md +2 -2
  38. package/data/packages/platform-cryptography/api/Variable.TOTP_EPOCH_TOLERANCE.md +1 -1
  39. package/data/packages/platform-cryptography/api/index.md +3 -3
  40. package/data/packages/platform-cryptography/index.md +10 -0
  41. package/data/packages/platform-documents/api/Class.BaseDocumentRenderer.md +32 -1
  42. package/data/packages/platform-documents/api/Class.DocumentEngine.md +4 -4
  43. package/data/packages/platform-documents/api/Class.DocumentError.md +61 -0
  44. package/data/packages/platform-documents/api/Class.DocumentModule.md +2 -2
  45. package/data/packages/platform-documents/api/Class.DocumentRenderError.md +53 -0
  46. package/data/packages/platform-documents/api/Class.DocumentValidationError.md +52 -0
  47. package/data/packages/platform-documents/api/Class.DocxDocumentRenderer2.md +333 -0
  48. package/data/packages/platform-documents/api/Class.ImageProcessingError.md +53 -0
  49. package/data/packages/platform-documents/api/Class.PdfDocumentRenderer.md +355 -0
  50. package/data/packages/platform-documents/api/Class.SharpImageProcessor.md +5 -5
  51. package/data/packages/platform-documents/api/Interface.IDocumentModuleOptions.md +31 -5
  52. package/data/packages/platform-documents/api/Variable.DOCUMENT_MODULE_OPTIONS.md +1 -1
  53. package/data/packages/platform-documents/api/Variable.DOCUMENT_PARSER_TOKEN.md +1 -1
  54. package/data/packages/platform-documents/api/Variable.DOCUMENT_RENDERER_TOKEN.md +1 -1
  55. package/data/packages/platform-documents/api/Variable.IMAGE_PROCESSOR_TOKEN.md +1 -1
  56. package/data/packages/platform-documents/api/index.md +6 -0
  57. package/data/packages/platform-documents/index.md +27 -0
  58. package/data/packages/platform-esigning/api/Class.EsigningClientPort.md +2 -2
  59. package/data/packages/platform-esigning/api/Class.InternalEsigningProvider.md +8 -8
  60. package/data/packages/platform-esigning/index.md +2 -0
  61. package/data/packages/platform-health/index.md +128 -0
  62. package/data/packages/platform-intelligence/api/Class.IntelligenceCapabilityRegistry.md +3 -3
  63. package/data/packages/platform-intelligence/api/Class.IntelligenceConfigurationError.md +50 -0
  64. package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +27 -4
  65. package/data/packages/platform-intelligence/api/Class.IntelligenceValidationError.md +50 -0
  66. package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +1 -1
  67. package/data/packages/platform-intelligence/api/index.md +2 -0
  68. package/data/packages/platform-intelligence/index.md +32 -0
  69. package/data/packages/platform-logging/api/Class.LoggerModule.md +1 -1
  70. package/data/packages/platform-logging/index.md +2 -0
  71. package/data/packages/platform-mailing/api/Class.DeliveryStrategyBase.md +0 -1
  72. package/data/packages/platform-mailing/api/Class.MailDeliveryError.md +65 -0
  73. package/data/packages/platform-mailing/api/Class.MailModule.md +1 -1
  74. package/data/packages/platform-mailing/api/Class.MailgunDeliveryStrategy.md +3 -3
  75. package/data/packages/platform-mailing/api/Class.PostmarkDeliveryStrategy.md +3 -3
  76. package/data/packages/platform-mailing/api/Class.ResendDeliveryStrategy.md +3 -3
  77. package/data/packages/platform-mailing/api/Class.SendGridDeliveryStrategy.md +3 -3
  78. package/data/packages/platform-mailing/api/Class.SmtpDeliveryStrategy.md +3 -3
  79. package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +0 -5
  80. package/data/packages/platform-mailing/api/Variable.SMTP_CONFIG_ENTRIES.md +14 -0
  81. package/data/packages/platform-mailing/api/Variable.SMTP_HOST.md +14 -0
  82. package/data/packages/platform-mailing/api/Variable.SMTP_PASSWORD.md +14 -0
  83. package/data/packages/platform-mailing/api/Variable.SMTP_PORT.md +14 -0
  84. package/data/packages/platform-mailing/api/Variable.SMTP_SECURE.md +14 -0
  85. package/data/packages/platform-mailing/api/Variable.SMTP_USER.md +14 -0
  86. package/data/packages/platform-mailing/api/index.md +7 -3
  87. package/data/packages/platform-mailing/index.md +29 -0
  88. package/data/packages/platform-mapping/index.md +121 -0
  89. package/data/packages/platform-mcp/api/Class.McpServerService.md +8 -8
  90. package/data/packages/platform-mcp/api/Variable.MCP_MODULE_OPTIONS.md +1 -1
  91. package/data/packages/platform-mcp/index.md +11 -0
  92. package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +4 -4
  93. package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +2 -2
  94. package/data/packages/platform-openapi/index.md +1 -1
  95. package/data/packages/platform-payments/api/Class.LemonSqueezyClient.md +6 -6
  96. package/data/packages/platform-payments/api/Class.MollieClient.md +6 -6
  97. package/data/packages/platform-payments/api/Class.PaddleClient.md +6 -6
  98. package/data/packages/platform-payments/api/Class.PaymentError.md +65 -0
  99. package/data/packages/platform-payments/api/Class.StripeClient.md +6 -6
  100. package/data/packages/platform-payments/api/index.md +1 -0
  101. package/data/packages/platform-payments/index.md +29 -0
  102. package/data/packages/platform-reporting/api/Class.ReportingContributorRegistry.md +1 -1
  103. package/data/packages/platform-reporting/index.md +3 -1
  104. package/data/packages/platform-resources/index.md +135 -0
  105. package/data/packages/platform-telemetry/api/Class.MetricsService.md +29 -3
  106. package/data/packages/platform-telemetry/api/Class.OtelSdkHolder.md +3 -2
  107. package/data/packages/platform-telemetry/api/Class.TelemetryLoggerService.md +6 -6
  108. package/data/packages/platform-telemetry/api/Class.TelemetryRuleEngine.md +3 -3
  109. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_ENABLED.md +1 -1
  110. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_FACADE.md +1 -1
  111. package/data/packages/platform-telemetry/api/Variable.TELEMETRY_OPTIONS.md +1 -1
  112. package/data/packages/platform-telemetry/api/index.md +1 -1
  113. package/data/packages/platform-telemetry/index.md +3 -1
  114. package/{src/knowledge/configPattern.js → data/patterns/config-pattern.md} +44 -47
  115. package/{src/knowledge/dtoPattern.js → data/patterns/dto-pattern.md} +58 -61
  116. package/{src/knowledge/errorHandlingPattern.js → data/patterns/error-handling-pattern.md} +35 -38
  117. package/{src/knowledge/guardPattern.js → data/patterns/guard-pattern.md} +35 -38
  118. package/{src/knowledge/mappingPattern.js → data/patterns/mapping-pattern.md} +43 -144
  119. package/data/patterns/module-pattern.md +182 -0
  120. package/data/patterns/query-pattern.md +137 -0
  121. package/data/patterns/repository-pattern.md +208 -0
  122. package/{src/knowledge/testingPattern.js → data/patterns/testing-pattern.md} +37 -40
  123. package/package.json +1 -1
  124. package/src/PatternsLoader.d.ts +12 -0
  125. package/src/PatternsLoader.js +65 -0
  126. package/src/generators/mappingPatternGenerator.d.ts +5 -0
  127. package/src/generators/mappingPatternGenerator.js +107 -0
  128. package/src/generators/modulePatternGenerator.d.ts +5 -0
  129. package/src/generators/modulePatternGenerator.js +107 -0
  130. package/src/generators/queryPatternGenerator.d.ts +4 -0
  131. package/src/generators/queryPatternGenerator.js +83 -0
  132. package/src/generators/repositoryPatternGenerator.d.ts +5 -0
  133. package/src/generators/repositoryPatternGenerator.js +165 -0
  134. package/src/main.js +15 -9
  135. package/src/models/IPatternDoc.d.ts +15 -0
  136. package/src/models/IPatternDoc.js +3 -0
  137. package/src/tools/registerGetConfigPatternTool.d.ts +2 -1
  138. package/src/tools/registerGetConfigPatternTool.js +4 -3
  139. package/src/tools/registerGetDtoPatternTool.d.ts +2 -1
  140. package/src/tools/registerGetDtoPatternTool.js +4 -3
  141. package/src/tools/registerGetErrorHandlingPatternTool.d.ts +2 -1
  142. package/src/tools/registerGetErrorHandlingPatternTool.js +4 -3
  143. package/src/tools/registerGetGuardPatternTool.d.ts +2 -1
  144. package/src/tools/registerGetGuardPatternTool.js +4 -3
  145. package/src/tools/registerGetMappingPatternTool.d.ts +2 -1
  146. package/src/tools/registerGetMappingPatternTool.js +5 -4
  147. package/src/tools/registerGetModulePatternTool.d.ts +2 -1
  148. package/src/tools/registerGetModulePatternTool.js +5 -4
  149. package/src/tools/registerGetQueryPatternTool.d.ts +2 -1
  150. package/src/tools/registerGetQueryPatternTool.js +5 -4
  151. package/src/tools/registerGetRepositoryPatternTool.d.ts +2 -1
  152. package/src/tools/registerGetRepositoryPatternTool.js +5 -4
  153. package/src/tools/registerGetTestingPatternTool.d.ts +2 -1
  154. package/src/tools/registerGetTestingPatternTool.js +4 -3
  155. package/data/packages/platform-core/api/Class.BlobResourceStrategy.md +0 -195
  156. package/data/packages/platform-core/api/Class.EmbeddedResourceStrategy.md +0 -215
  157. package/data/packages/platform-core/api/Class.FileResourceStrategy.md +0 -192
  158. package/data/packages/platform-core/api/Class.HealthModule.md +0 -42
  159. package/data/packages/platform-core/api/Class.HealthOrchestrator.md +0 -64
  160. package/data/packages/platform-core/api/Class.MappingBuilder.md +0 -110
  161. package/data/packages/platform-core/api/Class.MappingModule.md +0 -46
  162. package/data/packages/platform-core/api/Class.MappingNotRegisteredError.md +0 -56
  163. package/data/packages/platform-core/api/Class.MappingProfileBase.md +0 -52
  164. package/data/packages/platform-core/api/Class.MappingService.md +0 -284
  165. package/data/packages/platform-core/api/Class.ResourceManager.md +0 -565
  166. package/data/packages/platform-core/api/Class.ResourceModule.md +0 -46
  167. package/data/packages/platform-core/api/Class.TypeMappingNotRegisteredError.md +0 -57
  168. package/data/packages/platform-core/api/Function.createMappingKey.md +0 -39
  169. package/data/packages/platform-core/api/Interface.IBlobResourceStrategyConfig.md +0 -28
  170. package/data/packages/platform-core/api/Interface.IBlobServiceAdapter.md +0 -40
  171. package/data/packages/platform-core/api/Interface.IFileResourceStrategyConfig.md +0 -72
  172. package/data/packages/platform-core/api/Interface.IHealthCheckResult.md +0 -46
  173. package/data/packages/platform-core/api/Interface.IHealthIndicator.md +0 -41
  174. package/data/packages/platform-core/api/Interface.IMappingBuilder.md +0 -76
  175. package/data/packages/platform-core/api/Interface.IMappingKey.md +0 -58
  176. package/data/packages/platform-core/api/Interface.IMappingProfile.md +0 -32
  177. package/data/packages/platform-core/api/Interface.IResourceManagerConfig.md +0 -89
  178. package/data/packages/platform-core/api/Interface.IResourceMetadata.md +0 -94
  179. package/data/packages/platform-core/api/Interface.IResourceResult.md +0 -34
  180. package/data/packages/platform-core/api/Interface.IResourceStrategy.md +0 -134
  181. package/data/packages/platform-core/api/Variable.HEALTH_INDICATORS_TOKEN.md +0 -14
  182. package/data/packages/platform-mailing/api/Class.BlobTemplateFetchStrategy.md +0 -60
  183. package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +0 -58
  184. package/data/packages/platform-mailing/api/Class.LogDeliveryStrategy.md +0 -71
  185. package/src/knowledge/configPattern.d.ts +0 -5
  186. package/src/knowledge/dtoPattern.d.ts +0 -5
  187. package/src/knowledge/errorHandlingPattern.d.ts +0 -5
  188. package/src/knowledge/guardPattern.d.ts +0 -5
  189. package/src/knowledge/mappingPattern.d.ts +0 -6
  190. package/src/knowledge/modulePattern.d.ts +0 -6
  191. package/src/knowledge/modulePattern.js +0 -283
  192. package/src/knowledge/queryPattern.d.ts +0 -6
  193. package/src/knowledge/queryPattern.js +0 -215
  194. package/src/knowledge/repositoryPattern.d.ts +0 -6
  195. package/src/knowledge/repositoryPattern.js +0 -367
  196. package/src/knowledge/testingPattern.d.ts +0 -5
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: SMTP\_HOST'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: SMTP\_HOST
7
+
8
+ ```ts
9
+ const SMTP_HOST: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [platform-mailing/src/smtp/env.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L12)
13
+
14
+ SMTP server host.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: SMTP\_PASSWORD'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: SMTP\_PASSWORD
7
+
8
+ ```ts
9
+ const SMTP_PASSWORD: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [platform-mailing/src/smtp/env.ts:24](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L24)
13
+
14
+ SMTP authentication password.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: SMTP\_PORT'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: SMTP\_PORT
7
+
8
+ ```ts
9
+ const SMTP_PORT: IConfigKey<number>;
10
+ ```
11
+
12
+ Defined in: [platform-mailing/src/smtp/env.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L15)
13
+
14
+ SMTP server port.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: SMTP\_SECURE'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: SMTP\_SECURE
7
+
8
+ ```ts
9
+ const SMTP_SECURE: IConfigKey<boolean>;
10
+ ```
11
+
12
+ Defined in: [platform-mailing/src/smtp/env.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L18)
13
+
14
+ Whether the SMTP connection uses TLS.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: SMTP\_USER'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: SMTP\_USER
7
+
8
+ ```ts
9
+ const SMTP_USER: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [platform-mailing/src/smtp/env.ts:21](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/smtp/env.ts#L21)
13
+
14
+ SMTP authentication username.
@@ -9,10 +9,8 @@ editUrl: false
9
9
 
10
10
  | Class | Description |
11
11
  | ------ | ------ |
12
- | [BlobTemplateFetchStrategy](Class.BlobTemplateFetchStrategy) | The `BlobTemplateFetchStrategy` class. |
13
12
  | [DeliveryStrategyBase](Class.DeliveryStrategyBase) | Represents the base class for all email delivery strategies. |
14
- | [FileTemplateFetchStrategy](Class.FileTemplateFetchStrategy) | The `FileTemplateFetchStrategy` class. |
15
- | [LogDeliveryStrategy](Class.LogDeliveryStrategy) | The `LogDeliveryStrategy` class. |
13
+ | [MailDeliveryError](Class.MailDeliveryError) | Domain error thrown when email delivery fails. |
16
14
  | [MailgunDeliveryStrategy](Class.MailgunDeliveryStrategy) | Delivers emails via the Mailgun API. |
17
15
  | [MailHealthIndicator](Class.MailHealthIndicator) | Health indicator for mail service. |
18
16
  | [MailModule](Class.MailModule) | Represents the mail module. |
@@ -75,3 +73,9 @@ editUrl: false
75
73
  | [SEND\_MAIL\_EVENT\_KEY](Variable.SEND_MAIL_EVENT_KEY) | Event key registry for the mail domain events. |
76
74
  | [SENDGRID\_API\_KEY](Variable.SENDGRID_API_KEY) | API key for the SendGrid delivery service. |
77
75
  | [SENDGRID\_CONFIG\_ENTRIES](Variable.SENDGRID_CONFIG_ENTRIES) | Configuration entries required by the SendGrid delivery provider. |
76
+ | [SMTP\_CONFIG\_ENTRIES](Variable.SMTP_CONFIG_ENTRIES) | Configuration entries required by the SMTP delivery provider. |
77
+ | [SMTP\_HOST](Variable.SMTP_HOST) | SMTP server host. |
78
+ | [SMTP\_PASSWORD](Variable.SMTP_PASSWORD) | SMTP authentication password. |
79
+ | [SMTP\_PORT](Variable.SMTP_PORT) | SMTP server port. |
80
+ | [SMTP\_SECURE](Variable.SMTP_SECURE) | Whether the SMTP connection uses TLS. |
81
+ | [SMTP\_USER](Variable.SMTP_USER) | SMTP authentication username. |
@@ -353,6 +353,34 @@ export class OrderEmailService {
353
353
 
354
354
  ---
355
355
 
356
+ ## Error Handling
357
+
358
+ All delivery strategies throw a `MailDeliveryError` when email sending fails. This domain error class wraps the underlying provider SDK error and exposes structured metadata for error handling and observability.
359
+
360
+ ```typescript
361
+ import { MailDeliveryError } from '@breadstone/archipel-platform-mailing';
362
+
363
+ try {
364
+ await this._mail.send(options, content, true);
365
+ } catch (error) {
366
+ if (error instanceof MailDeliveryError) {
367
+ logger.error('Mail delivery failed', {
368
+ provider: error.provider, // 'postmark', 'resend', 'sendgrid', etc.
369
+ code: error.code, // 'MAIL_DELIVERY'
370
+ cause: error.cause, // Original provider SDK error
371
+ });
372
+ }
373
+ }
374
+ ```
375
+
376
+ | Property | Type | Description |
377
+ | ---------- | -------- | ---------------------------------------------- |
378
+ | `code` | `string` | Always `'MAIL_DELIVERY'` |
379
+ | `provider` | `string` | Provider that failed (`smtp`, `postmark`, etc.) |
380
+ | `cause` | `unknown`| Original error from the provider SDK |
381
+
382
+ ---
383
+
356
384
  ## Exports Summary
357
385
 
358
386
  ### Core (`@breadstone/archipel-platform-mailing`)
@@ -372,6 +400,7 @@ export class OrderEmailService {
372
400
  | `FileTemplateFetchStrategy` | Strategy | File-based templates |
373
401
  | `BlobTemplateFetchStrategy` | Strategy | Blob-stored templates |
374
402
  | `MailHealthIndicator` | Health | Mail readiness check |
403
+ | `MailDeliveryError` | Error class | Domain error for delivery failures |
375
404
 
376
405
  ### Provider subpaths
377
406
 
@@ -0,0 +1,121 @@
1
+ ---
2
+ title: platform-mapping
3
+ description: Type-safe object-to-object mapping framework with profile-based configuration.
4
+ order: 2
5
+ tags: [mapping, dto, profiles, type-safe]
6
+ package: '@breadstone/archipel-platform-mapping'
7
+ ---
8
+
9
+ # platform-mapping
10
+
11
+ Type-safe object-to-object mapping framework for transforming domain entities into response DTOs. Extracted from `platform-core` to provide a focused, independently versionable mapping module.
12
+
13
+ **Package:** `@breadstone/archipel-platform-mapping`
14
+
15
+ ## Installation
16
+
17
+ ```typescript
18
+ import {
19
+ MappingModule,
20
+ MappingService,
21
+ MappingProfileBase,
22
+ MappingKey,
23
+ MappingError,
24
+ MappingNotRegisteredError,
25
+ TypeMappingNotRegisteredError,
26
+ } from '@breadstone/archipel-platform-mapping';
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Defining Mapping Keys
32
+
33
+ Mapping keys are branded constants that provide compile-time safety for source → destination pairs:
34
+
35
+ ```typescript
36
+ import { MappingKey } from '@breadstone/archipel-platform-mapping';
37
+ import type { IUserEntity } from './entities';
38
+ import type { UserResponse } from './responses';
39
+
40
+ export const USER_TO_RESPONSE = new MappingKey<IUserEntity, UserResponse>('UserEntity→UserResponse');
41
+ export const USER_TO_SUMMARY = new MappingKey<IUserEntity, UserSummary>('UserEntity→UserSummary');
42
+ ```
43
+
44
+ ## Creating a Mapping Profile
45
+
46
+ Profiles group related mappings into cohesive, injectable classes:
47
+
48
+ ```typescript
49
+ import { Injectable } from '@nestjs/common';
50
+ import { MappingProfileBase, type IMappingBuilder } from '@breadstone/archipel-platform-mapping';
51
+ import { USER_TO_RESPONSE, USER_TO_SUMMARY } from './mapping-keys';
52
+
53
+ @Injectable()
54
+ export class UserMappingProfile extends MappingProfileBase {
55
+ public override configure(builder: IMappingBuilder): void {
56
+ builder.createKeyedMap(USER_TO_RESPONSE, (source) => ({
57
+ id: source.id,
58
+ name: source.userName,
59
+ email: source.email,
60
+ verified: source.isVerified,
61
+ roles: [...source.roles],
62
+ }));
63
+
64
+ builder.createKeyedMap(USER_TO_SUMMARY, (source) => ({
65
+ id: source.id,
66
+ displayName: source.userName ?? source.email ?? 'Anonymous',
67
+ }));
68
+ }
69
+ }
70
+ ```
71
+
72
+ ## Registering Profiles in a Module
73
+
74
+ ```typescript
75
+ import { Module } from '@nestjs/common';
76
+ import { MappingModule } from '@breadstone/archipel-platform-mapping';
77
+ import { UserMappingProfile } from './mappers/UserMappingProfile';
78
+
79
+ @Module({
80
+ imports: [MappingModule.withProfiles([UserMappingProfile])],
81
+ })
82
+ export class AppModule {}
83
+ ```
84
+
85
+ ## Using in a Controller
86
+
87
+ ```typescript
88
+ import { Controller, Get, Param } from '@nestjs/common';
89
+ import { MappingService } from '@breadstone/archipel-platform-mapping';
90
+ import { USER_TO_RESPONSE } from './mapping-keys';
91
+
92
+ @Controller('users')
93
+ export class UserController {
94
+ constructor(
95
+ private readonly _userService: UserService,
96
+ private readonly _mappingService: MappingService,
97
+ ) {}
98
+
99
+ @Get(':id')
100
+ public async getUser(@Param('id') id: string): Promise<UserResponse> {
101
+ const entity = await this._userService.findById(id);
102
+ return this._mappingService.map(USER_TO_RESPONSE, entity);
103
+ }
104
+ }
105
+ ```
106
+
107
+ ---
108
+
109
+ ## Error Classes
110
+
111
+ | Error | Description |
112
+ | ------------------------------ | ----------------------------------------------- |
113
+ | `MappingError` | Base error for all mapping failures |
114
+ | `MappingNotRegisteredError` | Thrown when a mapping key has no registered map |
115
+ | `TypeMappingNotRegisteredError`| Thrown when a type-based mapping is not found |
116
+
117
+ ---
118
+
119
+ ## API Reference
120
+
121
+ See the auto-generated [API Reference](./api/) for full details on all exported classes, interfaces, and types.
@@ -24,7 +24,7 @@ the registry, and provides methods to connect various transports.
24
24
  new McpServerService(_options, _registry): McpServerService;
25
25
  ```
26
26
 
27
- Defined in: [services/McpServerService.ts:50](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L50)
27
+ Defined in: [services/McpServerService.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L51)
28
28
 
29
29
  #### Parameters
30
30
 
@@ -47,7 +47,7 @@ Defined in: [services/McpServerService.ts:50](https://github.com/RueDeRennes/arc
47
47
  get server(): McpServer;
48
48
  ```
49
49
 
50
- Defined in: [services/McpServerService.ts:64](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L64)
50
+ Defined in: [services/McpServerService.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L65)
51
51
 
52
52
  Returns the underlying `McpServer` instance.
53
53
 
@@ -67,7 +67,7 @@ Error if the server has not been initialized yet.
67
67
  connectStdio(): Promise<StdioServerTransport>;
68
68
  ```
69
69
 
70
- Defined in: [services/McpServerService.ts:126](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L126)
70
+ Defined in: [services/McpServerService.ts:129](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L129)
71
71
 
72
72
  Connects the server to a stdio transport.
73
73
  Suitable for local, process-spawned integrations.
@@ -84,7 +84,7 @@ Suitable for local, process-spawned integrations.
84
84
  connectTransport(transport): Promise<void>;
85
85
  ```
86
86
 
87
- Defined in: [services/McpServerService.ts:180](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L180)
87
+ Defined in: [services/McpServerService.ts:183](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L183)
88
88
 
89
89
  Connects a custom transport to the MCP server.
90
90
 
@@ -106,7 +106,7 @@ Connects a custom transport to the MCP server.
106
106
  createSseTransport(options, response): Promise<SSEServerTransport>;
107
107
  ```
108
108
 
109
- Defined in: [services/McpServerService.ts:166](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L166)
109
+ Defined in: [services/McpServerService.ts:169](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L169)
110
110
 
111
111
  Creates an SSE transport for legacy client support.
112
112
  The caller is responsible for wiring the returned transport to Express routes.
@@ -132,7 +132,7 @@ The configured SSE transport instance.
132
132
  createStreamableHttpTransport(options?): Promise<StreamableHTTPServerTransport>;
133
133
  ```
134
134
 
135
- Defined in: [services/McpServerService.ts:143](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L143)
135
+ Defined in: [services/McpServerService.ts:146](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L146)
136
136
 
137
137
  Creates a Streamable HTTP transport for use with Express.
138
138
  The caller is responsible for wiring the transport's `handleRequest`
@@ -158,7 +158,7 @@ The configured transport instance.
158
158
  onModuleDestroy(): Promise<void>;
159
159
  ```
160
160
 
161
- Defined in: [services/McpServerService.ts:102](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L102)
161
+ Defined in: [services/McpServerService.ts:103](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L103)
162
162
 
163
163
  Cleans up all active transports when the module is destroyed.
164
164
 
@@ -180,7 +180,7 @@ OnModuleDestroy.onModuleDestroy
180
180
  onModuleInit(): void;
181
181
  ```
182
182
 
183
- Defined in: [services/McpServerService.ts:80](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L80)
183
+ Defined in: [services/McpServerService.ts:81](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/services/McpServerService.ts#L81)
184
184
 
185
185
  Initializes the MCP server and registers all tools, resources, and prompts
186
186
  from the registry.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const MCP_MODULE_OPTIONS: typeof MCP_MODULE_OPTIONS;
10
10
  ```
11
11
 
12
- Defined in: [constants/McpTokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/constants/McpTokens.ts#L4)
12
+ Defined in: [tokens/McpTokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mcp/src/tokens/McpTokens.ts#L4)
13
13
 
14
14
  Injection tokens used by the MCP module.
@@ -297,3 +297,14 @@ graph TD
297
297
  2. **McpDiscoveryService** runs `onModuleInit`, iterates all providers, reads decorator metadata, and populates the registry.
298
298
  3. **McpServerService** runs `onModuleInit`, creates the `McpServer` instance, and registers all handlers from the registry.
299
299
  4. The application connects a transport (stdio, HTTP, SSE, or custom) to start serving MCP requests.
300
+
301
+ ---
302
+
303
+ ## Resource Limits & Shutdown
304
+
305
+ | Limit | Value | Description |
306
+ | -------------------- | ---------- | ------------------------------------------------------------------------ |
307
+ | **Max transports** | 1,000 | `McpServerService` tracks up to 1,000 active transports |
308
+ | **Shutdown timeout** | 5 seconds | Each transport and the server are closed with a 5-second timeout guard |
309
+
310
+ When the module is destroyed, `McpServerService.onModuleDestroy()` iterates all active transports, closes each with a 5-second timeout, and then closes the MCP server itself.
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: SwaggerMultiDocumentService
7
7
 
8
- Defined in: [services/SwaggerMultiDocumentService.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L14)
8
+ Defined in: [services/SwaggerMultiDocumentService.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L15)
9
9
 
10
10
  ## Constructors
11
11
 
@@ -21,7 +21,7 @@ new SwaggerMultiDocumentService(
21
21
  contentTemplateEngine): SwaggerMultiDocumentService;
22
22
  ```
23
23
 
24
- Defined in: [services/SwaggerMultiDocumentService.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L30)
24
+ Defined in: [services/SwaggerMultiDocumentService.ts:31](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L31)
25
25
 
26
26
  #### Parameters
27
27
 
@@ -49,7 +49,7 @@ generateOpenApiDocuments(): {
49
49
  }[];
50
50
  ```
51
51
 
52
- Defined in: [services/SwaggerMultiDocumentService.ts:78](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L78)
52
+ Defined in: [services/SwaggerMultiDocumentService.ts:79](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L79)
53
53
 
54
54
  Generates OpenAPI documents for every registered feature without wiring HTTP routes.
55
55
 
@@ -68,7 +68,7 @@ Generates OpenAPI documents for every registered feature without wiring HTTP rou
68
68
  setupMultipleSwaggerDocuments(): Promise<void>;
69
69
  ```
70
70
 
71
- Defined in: [services/SwaggerMultiDocumentService.ts:54](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L54)
71
+ Defined in: [services/SwaggerMultiDocumentService.ts:55](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L55)
72
72
 
73
73
  Setup multiple Swagger documents for different features
74
74
 
@@ -17,7 +17,7 @@ The swagger theme class
17
17
  new SwaggerTheme(resourceManager): SwaggerTheme;
18
18
  ```
19
19
 
20
- Defined in: [SwaggerTheme.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L29)
20
+ Defined in: [SwaggerTheme.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L30)
21
21
 
22
22
  Constructs a new instance of the `SwaggerTheme` class.
23
23
 
@@ -39,7 +39,7 @@ Constructs a new instance of the `SwaggerTheme` class.
39
39
  getOptions(): Pick<SwaggerCustomOptions, "customCss" | "customJsStr">;
40
40
  ```
41
41
 
42
- Defined in: [SwaggerTheme.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L37)
42
+ Defined in: [SwaggerTheme.ts:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L38)
43
43
 
44
44
  #### Returns
45
45
 
@@ -201,5 +201,5 @@ const features = registry.getFeatures(); // sorted, read-only copy
201
201
  | `SwaggerFeatureDiscovery` | Service | Auto-discover features |
202
202
  | `SwaggerFeatureRegistry` | Service | Manage feature configs |
203
203
  | `SwaggerMultiDocumentService` | Service | Generate per-feature specs |
204
- | `SwaggerTheme` | Utility | Theme customization |
204
+ | `SwaggerTheme` | Utility | Theme customization (CSS/JS cached after first load) |
205
205
  | `IFeatureSwaggerConfig` | Interface | Feature config shape |
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: LemonSqueezyClient
7
7
 
8
- Defined in: [lemonsqueezy/LemonSqueezyClient.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L30)
8
+ Defined in: [lemonsqueezy/LemonSqueezyClient.ts:31](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L31)
9
9
 
10
10
  LemonSqueezy implementation of the [PaymentClientPort](Class.PaymentClientPort).
11
11
  Uses the official `@lemonsqueezy/lemonsqueezy.js` SDK.
@@ -22,7 +22,7 @@ Uses the official `@lemonsqueezy/lemonsqueezy.js` SDK.
22
22
  new LemonSqueezyClient(configService): LemonSqueezyClient;
23
23
  ```
24
24
 
25
- Defined in: [lemonsqueezy/LemonSqueezyClient.ts:40](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L40)
25
+ Defined in: [lemonsqueezy/LemonSqueezyClient.ts:41](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L41)
26
26
 
27
27
  #### Parameters
28
28
 
@@ -46,7 +46,7 @@ Defined in: [lemonsqueezy/LemonSqueezyClient.ts:40](https://github.com/RueDeRenn
46
46
  constructWebhookEvent(payload, signature): INormalizedWebhookEvent;
47
47
  ```
48
48
 
49
- Defined in: [lemonsqueezy/LemonSqueezyClient.ts:143](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L143)
49
+ Defined in: [lemonsqueezy/LemonSqueezyClient.ts:144](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L144)
50
50
 
51
51
  Construct and normalize a webhook event from raw payload.
52
52
 
@@ -79,7 +79,7 @@ createCheckoutSession(
79
79
  userId?): Promise<INormalizedCheckoutSession>;
80
80
  ```
81
81
 
82
- Defined in: [lemonsqueezy/LemonSqueezyClient.ts:78](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L78)
82
+ Defined in: [lemonsqueezy/LemonSqueezyClient.ts:79](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L79)
83
83
 
84
84
  Create a checkout session.
85
85
 
@@ -110,7 +110,7 @@ Normalized checkout session.
110
110
  fetchPrices(productId): Promise<INormalizedPrice[]>;
111
111
  ```
112
112
 
113
- Defined in: [lemonsqueezy/LemonSqueezyClient.ts:56](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L56)
113
+ Defined in: [lemonsqueezy/LemonSqueezyClient.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L57)
114
114
 
115
115
  Fetch all active prices for a product.
116
116
 
@@ -140,7 +140,7 @@ fetchSubscription(subscriptionId): Promise<
140
140
  | null>;
141
141
  ```
142
142
 
143
- Defined in: [lemonsqueezy/LemonSqueezyClient.ts:124](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L124)
143
+ Defined in: [lemonsqueezy/LemonSqueezyClient.ts:125](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/lemonsqueezy/LemonSqueezyClient.ts#L125)
144
144
 
145
145
  Retrieve subscription details.
146
146
 
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: MollieClient
7
7
 
8
- Defined in: [mollie/MollieClient.ts:24](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L24)
8
+ Defined in: [mollie/MollieClient.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L25)
9
9
 
10
10
  Mollie implementation of the [PaymentClientPort](Class.PaymentClientPort).
11
11
  Uses the official `@mollie/api-client` to interact with the Mollie API.
@@ -22,7 +22,7 @@ Uses the official `@mollie/api-client` to interact with the Mollie API.
22
22
  new MollieClient(configService): MollieClient;
23
23
  ```
24
24
 
25
- Defined in: [mollie/MollieClient.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L35)
25
+ Defined in: [mollie/MollieClient.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L36)
26
26
 
27
27
  #### Parameters
28
28
 
@@ -46,7 +46,7 @@ Defined in: [mollie/MollieClient.ts:35](https://github.com/RueDeRennes/archipel/
46
46
  constructWebhookEvent(payload, signature): INormalizedWebhookEvent;
47
47
  ```
48
48
 
49
- Defined in: [mollie/MollieClient.ts:132](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L132)
49
+ Defined in: [mollie/MollieClient.ts:133](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L133)
50
50
 
51
51
  Construct and normalize a webhook event from raw payload.
52
52
 
@@ -79,7 +79,7 @@ createCheckoutSession(
79
79
  userId?): Promise<INormalizedCheckoutSession>;
80
80
  ```
81
81
 
82
- Defined in: [mollie/MollieClient.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L65)
82
+ Defined in: [mollie/MollieClient.ts:66](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L66)
83
83
 
84
84
  Creates a checkout session for Mollie.
85
85
 
@@ -113,7 +113,7 @@ formatted monetary amount (e.g. "10.00") for the payment creation.
113
113
  fetchPrices(_productId): Promise<INormalizedPrice[]>;
114
114
  ```
115
115
 
116
- Defined in: [mollie/MollieClient.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L49)
116
+ Defined in: [mollie/MollieClient.ts:50](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L50)
117
117
 
118
118
  Fetch all active prices for a product.
119
119
 
@@ -143,7 +143,7 @@ fetchSubscription(subscriptionId): Promise<
143
143
  | null>;
144
144
  ```
145
145
 
146
- Defined in: [mollie/MollieClient.ts:106](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L106)
146
+ Defined in: [mollie/MollieClient.ts:107](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/mollie/MollieClient.ts#L107)
147
147
 
148
148
  Retrieve subscription details.
149
149
 
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: PaddleClient
7
7
 
8
- Defined in: [paddle/PaddleClient.ts:24](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L24)
8
+ Defined in: [paddle/PaddleClient.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L25)
9
9
 
10
10
  Paddle implementation of the [PaymentClientPort](Class.PaymentClientPort).
11
11
  Uses the official `@paddle/paddle-node-sdk` to interact with the Paddle Billing API.
@@ -22,7 +22,7 @@ Uses the official `@paddle/paddle-node-sdk` to interact with the Paddle Billing
22
22
  new PaddleClient(configService): PaddleClient;
23
23
  ```
24
24
 
25
- Defined in: [paddle/PaddleClient.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L35)
25
+ Defined in: [paddle/PaddleClient.ts:36](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L36)
26
26
 
27
27
  #### Parameters
28
28
 
@@ -46,7 +46,7 @@ Defined in: [paddle/PaddleClient.ts:35](https://github.com/RueDeRennes/archipel/
46
46
  constructWebhookEvent(payload, signature): Promise<INormalizedWebhookEvent>;
47
47
  ```
48
48
 
49
- Defined in: [paddle/PaddleClient.ts:121](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L121)
49
+ Defined in: [paddle/PaddleClient.ts:122](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L122)
50
50
 
51
51
  Construct and normalize a webhook event from raw payload.
52
52
 
@@ -79,7 +79,7 @@ createCheckoutSession(
79
79
  userId?): Promise<INormalizedCheckoutSession>;
80
80
  ```
81
81
 
82
- Defined in: [paddle/PaddleClient.ts:72](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L72)
82
+ Defined in: [paddle/PaddleClient.ts:73](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L73)
83
83
 
84
84
  Create a checkout session.
85
85
 
@@ -110,7 +110,7 @@ Normalized checkout session.
110
110
  fetchPrices(productId): Promise<INormalizedPrice[]>;
111
111
  ```
112
112
 
113
- Defined in: [paddle/PaddleClient.ts:52](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L52)
113
+ Defined in: [paddle/PaddleClient.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L53)
114
114
 
115
115
  Fetch all active prices for a product.
116
116
 
@@ -140,7 +140,7 @@ fetchSubscription(subscriptionId): Promise<
140
140
  | null>;
141
141
  ```
142
142
 
143
- Defined in: [paddle/PaddleClient.ts:106](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L106)
143
+ Defined in: [paddle/PaddleClient.ts:107](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/paddle/PaddleClient.ts#L107)
144
144
 
145
145
  Retrieve subscription details.
146
146
 
@@ -0,0 +1,65 @@
1
+ ---
2
+ title: 'Class: PaymentError'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: PaymentError
7
+
8
+ Defined in: [errors/PaymentError.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/errors/PaymentError.ts#L6)
9
+
10
+ Domain error thrown when a payment operation fails.
11
+
12
+ ## Extends
13
+
14
+ - `Error`
15
+
16
+ ## Constructors
17
+
18
+ ### Constructor
19
+
20
+ ```ts
21
+ new PaymentError(
22
+ provider,
23
+ message,
24
+ cause?): PaymentError;
25
+ ```
26
+
27
+ Defined in: [errors/PaymentError.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/errors/PaymentError.ts#L16)
28
+
29
+ #### Parameters
30
+
31
+ | Parameter | Type |
32
+ | ------ | ------ |
33
+ | `provider` | `string` |
34
+ | `message` | `string` |
35
+ | `cause?` | `unknown` |
36
+
37
+ #### Returns
38
+
39
+ `PaymentError`
40
+
41
+ #### Overrides
42
+
43
+ ```ts
44
+ Error.constructor
45
+ ```
46
+
47
+ ## Properties
48
+
49
+ ### code
50
+
51
+ ```ts
52
+ readonly code: "PAYMENT" = 'PAYMENT';
53
+ ```
54
+
55
+ Defined in: [errors/PaymentError.ts:9](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/errors/PaymentError.ts#L9)
56
+
57
+ ***
58
+
59
+ ### provider
60
+
61
+ ```ts
62
+ readonly provider: string;
63
+ ```
64
+
65
+ Defined in: [errors/PaymentError.ts:10](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/errors/PaymentError.ts#L10)