@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
@@ -171,7 +171,13 @@ This prevents noisy endpoints (health checks, readiness probes) from overwhelmin
171
171
 
172
172
  ## Graceful Shutdown
173
173
 
174
- The module registers a shutdown hook that flushes all pending telemetry data before the process exits. This ensures you don't lose metrics or traces during deployments or scaling events.
174
+ The module registers a shutdown hook that flushes all pending telemetry data before the process exits. The SDK shutdown is capped at **5 seconds** to prevent the process from hanging if the OTEL collector is unreachable.
175
+
176
+ ### Lifecycle Details
177
+
178
+ - **`MetricsService`** creates metric instruments eagerly via `OnModuleInit` (not lazily on first use).
179
+ - **`OtelSdkHolder`** enforces a write-once guard — calling `setSdk()` twice logs a warning instead of overwriting.
180
+ - **`TelemetryRuleEngine`** logs rule evaluation failures as warnings instead of silently swallowing errors. This ensures you don't lose metrics or traces during deployments or scaling events.
175
181
 
176
182
  ---
177
183
 
@@ -14,6 +14,11 @@ Uses the `applicationinsights` SDK for error tracking and analytics.
14
14
 
15
15
  - [`AnalyticsClientPort`](Class.AnalyticsClientPort)
16
16
 
17
+ ## Implements
18
+
19
+ - `OnModuleInit`
20
+ - `OnModuleDestroy`
21
+
17
22
  ## Constructors
18
23
 
19
24
  ### Constructor
@@ -22,7 +27,7 @@ Uses the `applicationinsights` SDK for error tracking and analytics.
22
27
  new AppInsightsAnalyticsClient(configService): AppInsightsAnalyticsClient;
23
28
  ```
24
29
 
25
- Defined in: [application-insights/AppInsightsAnalyticsClient.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L32)
30
+ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:33](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L33)
26
31
 
27
32
  #### Parameters
28
33
 
@@ -46,7 +51,7 @@ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:32](https://gith
46
51
  addBreadcrumb(breadcrumb): void;
47
52
  ```
48
53
 
49
- Defined in: [application-insights/AppInsightsAnalyticsClient.ts:81](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L81)
54
+ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:100](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L100)
50
55
 
51
56
  Add a breadcrumb entry to the analytics trail.
52
57
 
@@ -72,7 +77,7 @@ Add a breadcrumb entry to the analytics trail.
72
77
  captureException(error, context?): void;
73
78
  ```
74
79
 
75
- Defined in: [application-insights/AppInsightsAnalyticsClient.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L49)
80
+ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:68](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L68)
76
81
 
77
82
  Capture an exception with optional context.
78
83
 
@@ -102,7 +107,7 @@ captureMessage(
102
107
  context?): void;
103
108
  ```
104
109
 
105
- Defined in: [application-insights/AppInsightsAnalyticsClient.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L57)
110
+ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:76](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L76)
106
111
 
107
112
  Capture a message with a specific severity level.
108
113
 
@@ -130,7 +135,7 @@ Capture a message with a specific severity level.
130
135
  clearUser(): void;
131
136
  ```
132
137
 
133
- Defined in: [application-insights/AppInsightsAnalyticsClient.ts:75](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L75)
138
+ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:94](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L94)
134
139
 
135
140
  Clear the current user context.
136
141
 
@@ -144,13 +149,57 @@ Clear the current user context.
144
149
 
145
150
  ***
146
151
 
152
+ ### onModuleDestroy()
153
+
154
+ ```ts
155
+ onModuleDestroy(): Promise<void>;
156
+ ```
157
+
158
+ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:62](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L62)
159
+
160
+ Flushes pending Application Insights telemetry before shutdown.
161
+
162
+ #### Returns
163
+
164
+ `Promise`\<`void`\>
165
+
166
+ #### Implementation of
167
+
168
+ ```ts
169
+ OnModuleDestroy.onModuleDestroy
170
+ ```
171
+
172
+ ***
173
+
174
+ ### onModuleInit()
175
+
176
+ ```ts
177
+ onModuleInit(): void;
178
+ ```
179
+
180
+ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:47](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L47)
181
+
182
+ Initializes the Application Insights SDK.
183
+
184
+ #### Returns
185
+
186
+ `void`
187
+
188
+ #### Implementation of
189
+
190
+ ```ts
191
+ OnModuleInit.onModuleInit
192
+ ```
193
+
194
+ ***
195
+
147
196
  ### setUser()
148
197
 
149
198
  ```ts
150
199
  setUser(user): void;
151
200
  ```
152
201
 
153
- Defined in: [application-insights/AppInsightsAnalyticsClient.ts:66](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L66)
202
+ Defined in: [application-insights/AppInsightsAnalyticsClient.ts:85](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/application-insights/AppInsightsAnalyticsClient.ts#L85)
154
203
 
155
204
  Set the current user context for subsequent events.
156
205
 
@@ -14,6 +14,10 @@ Uses the `dd-trace` SDK for error tracking and analytics.
14
14
 
15
15
  - [`AnalyticsClientPort`](Class.AnalyticsClientPort)
16
16
 
17
+ ## Implements
18
+
19
+ - `OnModuleInit`
20
+
17
21
  ## Constructors
18
22
 
19
23
  ### Constructor
@@ -22,7 +26,7 @@ Uses the `dd-trace` SDK for error tracking and analytics.
22
26
  new DatadogAnalyticsClient(configService): DatadogAnalyticsClient;
23
27
  ```
24
28
 
25
- Defined in: [datadog/DatadogAnalyticsClient.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L32)
29
+ Defined in: [datadog/DatadogAnalyticsClient.ts:33](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L33)
26
30
 
27
31
  #### Parameters
28
32
 
@@ -46,7 +50,7 @@ Defined in: [datadog/DatadogAnalyticsClient.ts:32](https://github.com/RueDeRenne
46
50
  addBreadcrumb(breadcrumb): void;
47
51
  ```
48
52
 
49
- Defined in: [datadog/DatadogAnalyticsClient.ts:119](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L119)
53
+ Defined in: [datadog/DatadogAnalyticsClient.ts:129](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L129)
50
54
 
51
55
  Add a breadcrumb entry to the analytics trail.
52
56
 
@@ -72,7 +76,7 @@ Add a breadcrumb entry to the analytics trail.
72
76
  captureException(error, context?): void;
73
77
  ```
74
78
 
75
- Defined in: [datadog/DatadogAnalyticsClient.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L49)
79
+ Defined in: [datadog/DatadogAnalyticsClient.ts:59](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L59)
76
80
 
77
81
  Capture an exception with optional context.
78
82
 
@@ -102,7 +106,7 @@ captureMessage(
102
106
  context?): void;
103
107
  ```
104
108
 
105
- Defined in: [datadog/DatadogAnalyticsClient.ts:74](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L74)
109
+ Defined in: [datadog/DatadogAnalyticsClient.ts:84](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L84)
106
110
 
107
111
  Capture a message with a specific severity level.
108
112
 
@@ -130,7 +134,7 @@ Capture a message with a specific severity level.
130
134
  clearUser(): void;
131
135
  ```
132
136
 
133
- Defined in: [datadog/DatadogAnalyticsClient.ts:114](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L114)
137
+ Defined in: [datadog/DatadogAnalyticsClient.ts:124](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L124)
134
138
 
135
139
  Clear the current user context.
136
140
 
@@ -144,13 +148,35 @@ Clear the current user context.
144
148
 
145
149
  ***
146
150
 
151
+ ### onModuleInit()
152
+
153
+ ```ts
154
+ onModuleInit(): void;
155
+ ```
156
+
157
+ Defined in: [datadog/DatadogAnalyticsClient.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L49)
158
+
159
+ Initializes the Datadog tracer SDK.
160
+
161
+ #### Returns
162
+
163
+ `void`
164
+
165
+ #### Implementation of
166
+
167
+ ```ts
168
+ OnModuleInit.onModuleInit
169
+ ```
170
+
171
+ ***
172
+
147
173
  ### setUser()
148
174
 
149
175
  ```ts
150
176
  setUser(user): void;
151
177
  ```
152
178
 
153
- Defined in: [datadog/DatadogAnalyticsClient.ts:95](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L95)
179
+ Defined in: [datadog/DatadogAnalyticsClient.ts:105](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/datadog/DatadogAnalyticsClient.ts#L105)
154
180
 
155
181
  Set the current user context for subsequent events.
156
182
 
@@ -14,6 +14,11 @@ Uses the official `@sentry/node` SDK for error tracking and analytics.
14
14
 
15
15
  - [`AnalyticsClientPort`](Class.AnalyticsClientPort)
16
16
 
17
+ ## Implements
18
+
19
+ - `OnModuleInit`
20
+ - `OnModuleDestroy`
21
+
17
22
  ## Constructors
18
23
 
19
24
  ### Constructor
@@ -22,7 +27,7 @@ Uses the official `@sentry/node` SDK for error tracking and analytics.
22
27
  new SentryAnalyticsClient(configService): SentryAnalyticsClient;
23
28
  ```
24
29
 
25
- Defined in: [sentry/SentryAnalyticsClient.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L30)
30
+ Defined in: [sentry/SentryAnalyticsClient.ts:31](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L31)
26
31
 
27
32
  #### Parameters
28
33
 
@@ -46,7 +51,7 @@ Defined in: [sentry/SentryAnalyticsClient.ts:30](https://github.com/RueDeRennes/
46
51
  addBreadcrumb(breadcrumb): void;
47
52
  ```
48
53
 
49
- Defined in: [sentry/SentryAnalyticsClient.ts:74](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L74)
54
+ Defined in: [sentry/SentryAnalyticsClient.ts:92](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L92)
50
55
 
51
56
  Add a breadcrumb entry to the analytics trail.
52
57
 
@@ -72,7 +77,7 @@ Add a breadcrumb entry to the analytics trail.
72
77
  captureException(error, context?): void;
73
78
  ```
74
79
 
75
- Defined in: [sentry/SentryAnalyticsClient.ts:46](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L46)
80
+ Defined in: [sentry/SentryAnalyticsClient.ts:64](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L64)
76
81
 
77
82
  Capture an exception with optional context.
78
83
 
@@ -102,7 +107,7 @@ captureMessage(
102
107
  context?): void;
103
108
  ```
104
109
 
105
- Defined in: [sentry/SentryAnalyticsClient.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L51)
110
+ Defined in: [sentry/SentryAnalyticsClient.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L69)
106
111
 
107
112
  Capture a message with a specific severity level.
108
113
 
@@ -130,7 +135,7 @@ Capture a message with a specific severity level.
130
135
  clearUser(): void;
131
136
  ```
132
137
 
133
- Defined in: [sentry/SentryAnalyticsClient.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L69)
138
+ Defined in: [sentry/SentryAnalyticsClient.ts:87](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L87)
134
139
 
135
140
  Clear the current user context.
136
141
 
@@ -144,13 +149,57 @@ Clear the current user context.
144
149
 
145
150
  ***
146
151
 
152
+ ### onModuleDestroy()
153
+
154
+ ```ts
155
+ onModuleDestroy(): Promise<void>;
156
+ ```
157
+
158
+ Defined in: [sentry/SentryAnalyticsClient.ts:59](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L59)
159
+
160
+ Flushes pending Sentry events before shutdown.
161
+
162
+ #### Returns
163
+
164
+ `Promise`\<`void`\>
165
+
166
+ #### Implementation of
167
+
168
+ ```ts
169
+ OnModuleDestroy.onModuleDestroy
170
+ ```
171
+
172
+ ***
173
+
174
+ ### onModuleInit()
175
+
176
+ ```ts
177
+ onModuleInit(): void;
178
+ ```
179
+
180
+ Defined in: [sentry/SentryAnalyticsClient.ts:45](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L45)
181
+
182
+ Initializes the Sentry SDK.
183
+
184
+ #### Returns
185
+
186
+ `void`
187
+
188
+ #### Implementation of
189
+
190
+ ```ts
191
+ OnModuleInit.onModuleInit
192
+ ```
193
+
194
+ ***
195
+
147
196
  ### setUser()
148
197
 
149
198
  ```ts
150
199
  setUser(user): void;
151
200
  ```
152
201
 
153
- Defined in: [sentry/SentryAnalyticsClient.ts:59](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L59)
202
+ Defined in: [sentry/SentryAnalyticsClient.ts:77](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-analytics/src/sentry/SentryAnalyticsClient.ts#L77)
154
203
 
155
204
  Set the current user context for subsequent events.
156
205
 
@@ -155,6 +155,19 @@ Each provider is tree-shakeable via sub-path imports:
155
155
 
156
156
  ---
157
157
 
158
+ ## Lifecycle & Shutdown
159
+
160
+ All built-in clients implement `OnModuleInit` and `OnModuleDestroy`:
161
+
162
+ | Phase | Behavior |
163
+ | ----------- | --------------------------------------------------------------------------- |
164
+ | **Init** | SDK initialization is deferred to `onModuleInit()` — no constructor I/O |
165
+ | **Destroy** | Pending events are flushed and the SDK is closed with a 5-second timeout |
166
+
167
+ This ensures no events are lost during application shutdown and prevents hanging processes if the analytics backend is unreachable.
168
+
169
+ ---
170
+
158
171
  ## Exports Summary
159
172
 
160
173
  | Export | Type | Description |
@@ -9,4 +9,4 @@ editUrl: false
9
9
  const AWS_S3_PROVIDER_OPTIONS: typeof AWS_S3_PROVIDER_OPTIONS;
10
10
  ```
11
11
 
12
- Defined in: [tokens.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens.ts#L6)
12
+ Defined in: [BlobStorageTokens.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L6)
@@ -9,4 +9,4 @@ editUrl: false
9
9
  const AZURE_BLOB_PROVIDER_OPTIONS: typeof AZURE_BLOB_PROVIDER_OPTIONS;
10
10
  ```
11
11
 
12
- Defined in: [tokens.ts:5](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens.ts#L5)
12
+ Defined in: [BlobStorageTokens.ts:5](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L5)
@@ -9,4 +9,4 @@ editUrl: false
9
9
  const BLOB_PROVIDER: typeof BLOB_PROVIDER;
10
10
  ```
11
11
 
12
- Defined in: [tokens.ts:3](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens.ts#L3)
12
+ Defined in: [BlobStorageTokens.ts:3](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L3)
@@ -9,4 +9,4 @@ editUrl: false
9
9
  const VERCEL_BLOB_PROVIDER_OPTIONS: typeof VERCEL_BLOB_PROVIDER_OPTIONS;
10
10
  ```
11
11
 
12
- Defined in: [tokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens.ts#L4)
12
+ Defined in: [BlobStorageTokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L4)
@@ -30,7 +30,7 @@ Constructs a new instance of the `ErrorTemplateService` class.
30
30
  | ------ | ------ |
31
31
  | `configService` | `ConfigService` |
32
32
  | `contentTemplateEngine` | [`ContentTemplateEngine`](Class.ContentTemplateEngine) |
33
- | `resourceManager` | [`ResourceManager`](Class.ResourceManager) |
33
+ | `resourceManager` | `ResourceManager` |
34
34
 
35
35
  #### Returns
36
36
 
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: EventHub
7
7
 
8
- Defined in: [events/EventHub.ts:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L38)
8
+ Defined in: [events/EventHub.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L37)
9
9
 
10
10
  Provides a strongly typed event hub that can publish and subscribe to events.
11
11
 
@@ -21,7 +21,7 @@ Provides a strongly typed event hub that can publish and subscribe to events.
21
21
  new EventHub(): EventHub;
22
22
  ```
23
23
 
24
- Defined in: [events/EventHub.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L51)
24
+ Defined in: [events/EventHub.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L49)
25
25
 
26
26
  Initializes a new instance of the EventHub class.
27
27
 
@@ -39,7 +39,7 @@ Initializes a new instance of the EventHub class.
39
39
  get events(): Observable<AnyEventNotification>;
40
40
  ```
41
41
 
42
- Defined in: [events/EventHub.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L65)
42
+ Defined in: [events/EventHub.ts:63](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L63)
43
43
 
44
44
  Gets the observable sequence that exposes all events published within the hub.
45
45
 
@@ -55,7 +55,7 @@ Gets the observable sequence that exposes all events published within the hub.
55
55
  observe<TEvents, TKey>(eventKey): Observable<TEvents[TKey]>;
56
56
  ```
57
57
 
58
- Defined in: [events/EventHub.ts:118](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L118)
58
+ Defined in: [events/EventHub.ts:122](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L122)
59
59
 
60
60
  Returns an observable that emits payloads for the specified event.
61
61
 
@@ -86,7 +86,7 @@ An observable sequence that emits payloads of the specified event
86
86
  onModuleDestroy(): void;
87
87
  ```
88
88
 
89
- Defined in: [events/EventHub.ts:134](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L134)
89
+ Defined in: [events/EventHub.ts:140](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L140)
90
90
 
91
91
  Completes the event stream when the module is destroyed.
92
92
 
@@ -108,7 +108,7 @@ OnModuleDestroy.onModuleDestroy
108
108
  publish<TEvents, TKey>(eventKey, payload): void;
109
109
  ```
110
110
 
111
- Defined in: [events/EventHub.ts:80](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L80)
111
+ Defined in: [events/EventHub.ts:78](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L78)
112
112
 
113
113
  Publishes an event with the specified payload to all subscribers.
114
114
 
@@ -138,7 +138,7 @@ Publishes an event with the specified payload to all subscribers.
138
138
  subscribe<TEvents, TKey>(eventKey, handler): Subscription;
139
139
  ```
140
140
 
141
- Defined in: [events/EventHub.ts:101](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L101)
141
+ Defined in: [events/EventHub.ts:102](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/events/EventHub.ts#L102)
142
142
 
143
143
  Subscribes to the specified event and invokes the handler whenever the event is published.
144
144
 
@@ -30,7 +30,7 @@ Constructs a new instance of the `HostService` class.
30
30
  | ------ | ------ |
31
31
  | `configService` | `ConfigService` |
32
32
  | `contentTemplateEngine` | [`ContentTemplateEngine`](Class.ContentTemplateEngine) |
33
- | `resourceManager` | [`ResourceManager`](Class.ResourceManager) |
33
+ | `resourceManager` | `ResourceManager` |
34
34
 
35
35
  #### Returns
36
36
 
@@ -12,6 +12,7 @@ Represents a server-sent event service.
12
12
  ## Implements
13
13
 
14
14
  - [`ISseHub`](Interface.ISseHub)
15
+ - `OnModuleDestroy`
15
16
 
16
17
  ## Constructors
17
18
 
@@ -37,7 +38,7 @@ Constructs a new instance of the `SseService` class.
37
38
  clearEvent(id): void;
38
39
  ```
39
40
 
40
- Defined in: [sse/services/SseHub.ts:98](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L98)
41
+ Defined in: [sse/services/SseHub.ts:122](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L122)
41
42
 
42
43
  Clears the event with the specified ID.
43
44
 
@@ -63,7 +64,7 @@ Clears the event with the specified ID.
63
64
  emitEvent(id, data): void;
64
65
  ```
65
66
 
66
- Defined in: [sse/services/SseHub.ts:77](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L77)
67
+ Defined in: [sse/services/SseHub.ts:94](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L94)
67
68
 
68
69
  Emits an event with the specified ID and data.
69
70
 
@@ -90,7 +91,7 @@ Emits an event with the specified ID and data.
90
91
  getObservable(eventId): Observable<ISseEventData<unknown>>;
91
92
  ```
92
93
 
93
- Defined in: [sse/services/SseHub.ts:128](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L128)
94
+ Defined in: [sse/services/SseHub.ts:152](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L152)
94
95
 
95
96
  Gets an observable for the event with the specified ID.
96
97
 
@@ -118,7 +119,7 @@ An observable for the event.
118
119
  isEventActive(id): boolean;
119
120
  ```
120
121
 
121
- Defined in: [sse/services/SseHub.ts:115](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L115)
122
+ Defined in: [sse/services/SseHub.ts:139](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L139)
122
123
 
123
124
  Determines whether the event with the specified ID is active.
124
125
 
@@ -140,13 +141,35 @@ Determines whether the event with the specified ID is active.
140
141
 
141
142
  ***
142
143
 
144
+ ### onModuleDestroy()
145
+
146
+ ```ts
147
+ onModuleDestroy(): void;
148
+ ```
149
+
150
+ Defined in: [sse/services/SseHub.ts:44](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L44)
151
+
152
+ Completes all active event subjects and clears the registry on module destruction.
153
+
154
+ #### Returns
155
+
156
+ `void`
157
+
158
+ #### Implementation of
159
+
160
+ ```ts
161
+ OnModuleDestroy.onModuleDestroy
162
+ ```
163
+
164
+ ***
165
+
143
166
  ### registerEvent()
144
167
 
145
168
  ```ts
146
169
  registerEvent(id): void;
147
170
  ```
148
171
 
149
- Defined in: [sse/services/SseHub.ts:45](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L45)
172
+ Defined in: [sse/services/SseHub.ts:58](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L58)
150
173
 
151
174
  Registers an event with the specified ID.
152
175
 
@@ -168,7 +191,7 @@ Registers an event with the specified ID.
168
191
  unregisterEvent(id): void;
169
192
  ```
170
193
 
171
- Defined in: [sse/services/SseHub.ts:60](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L60)
194
+ Defined in: [sse/services/SseHub.ts:77](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/sse/services/SseHub.ts#L77)
172
195
 
173
196
  Unregisters an event with the specified ID.
174
197
 
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const ID_GENERATOR_TOKEN: typeof ID_GENERATOR_TOKEN;
10
10
  ```
11
11
 
12
- Defined in: [identifiers/IdentifierTokens.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/identifiers/IdentifierTokens.ts#L6)
12
+ Defined in: [identifiers/tokens/IdentifierTokens.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/identifiers/tokens/IdentifierTokens.ts#L6)
13
13
 
14
14
  Interface for ID generators