@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
@@ -46,7 +46,7 @@ Defined in: [stripe/StripeClient.ts:40](https://github.com/RueDeRennes/archipel/
46
46
  constructWebhookEvent(payload, signature): INormalizedWebhookEvent;
47
47
  ```
48
48
 
49
- Defined in: [stripe/StripeClient.ts:153](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/stripe/StripeClient.ts#L153)
49
+ Defined in: [stripe/StripeClient.ts:156](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/stripe/StripeClient.ts#L156)
50
50
 
51
51
  Construct and normalize a webhook event.
52
52
 
@@ -79,7 +79,7 @@ createCheckoutSession(
79
79
  userId?): Promise<INormalizedCheckoutSession>;
80
80
  ```
81
81
 
82
- Defined in: [stripe/StripeClient.ts:88](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/stripe/StripeClient.ts#L88)
82
+ Defined in: [stripe/StripeClient.ts:91](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/stripe/StripeClient.ts#L91)
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: [stripe/StripeClient.ts:59](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/stripe/StripeClient.ts#L59)
113
+ Defined in: [stripe/StripeClient.ts:62](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/stripe/StripeClient.ts#L62)
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: [stripe/StripeClient.ts:128](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/stripe/StripeClient.ts#L128)
143
+ Defined in: [stripe/StripeClient.ts:131](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/stripe/StripeClient.ts#L131)
144
144
 
145
145
  Retrieve subscription details.
146
146
 
@@ -161,3 +161,27 @@ Normalized subscription
161
161
  #### Overrides
162
162
 
163
163
  [`PaymentClientPort`](Class.PaymentClientPort).[`fetchSubscription`](Class.PaymentClientPort#fetchsubscription)
164
+
165
+ ***
166
+
167
+ ### ping()
168
+
169
+ ```ts
170
+ ping(): Promise<boolean>;
171
+ ```
172
+
173
+ Defined in: [contracts/PaymentClientPort.ts:76](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-payments/src/contracts/PaymentClientPort.ts#L76)
174
+
175
+ Lightweight connectivity check for the payment provider.
176
+ Override in adapters to perform a real API call (e.g. list products).
177
+ Defaults to `true` if not overridden.
178
+
179
+ #### Returns
180
+
181
+ `Promise`\<`boolean`\>
182
+
183
+ `true` if the provider is reachable.
184
+
185
+ #### Inherited from
186
+
187
+ [`PaymentClientPort`](Class.PaymentClientPort).[`ping`](Class.PaymentClientPort#ping)
@@ -17,6 +17,7 @@ editUrl: false
17
17
  | [PaddleClient](Class.PaddleClient) | Paddle implementation of the [PaymentClientPort](Class.PaymentClientPort). Uses the official `@paddle/paddle-node-sdk` to interact with the Paddle Billing API. |
18
18
  | [PaymentClientPort](Class.PaymentClientPort) | Abstract port for payment provider clients. Each provider (Stripe, Paddle, LemonSqueezy, Mollie) must implement this contract so that the consuming application can switch providers without changing business logic. |
19
19
  | [PaymentError](Class.PaymentError) | Domain error thrown when a payment operation fails. |
20
+ | [PaymentHealthIndicator](Class.PaymentHealthIndicator) | Health indicator for the payment infrastructure. Calls [PaymentClientPort.ping](Class.PaymentClientPort#ping) to verify provider connectivity. |
20
21
  | [PaymentModule](Class.PaymentModule) | NestJS module providing generic payment infrastructure. Exposes a configurable payment client, a feature-gating guard, and a usage-tracking interceptor. The specific payment provider (Stripe, Paddle, LemonSqueezy, Mollie) is selected via the options. |
21
22
  | [StripeClient](Class.StripeClient) | Stripe implementation of the [PaymentClientPort](Class.PaymentClientPort). All Stripe-specific types and logic are encapsulated here. |
22
23
 
@@ -2,7 +2,7 @@
2
2
  title: platform-payments
3
3
  description: Provider-agnostic payment infrastructure with support for Stripe, Paddle, LemonSqueezy, and Mollie.
4
4
  order: 4
5
- tags: [payments, stripe, paddle, lemonsqueezy, mollie, feature-gating, quotas, guards, interceptors, ports-and-adapters]
5
+ tags: [payments, stripe, paddle, lemonsqueezy, mollie, feature-gating, quotas, guards, interceptors, ports-and-adapters, health]
6
6
  package: '@breadstone/archipel-platform-payments'
7
7
  ---
8
8
 
@@ -151,7 +151,7 @@ import { LemonSqueezyClient, LEMONSQUEEZY_CONFIG_ENTRIES } from '@breadstone/arc
151
151
  | Variable | Description | Required |
152
152
  | ----------------------- | -------------------------------------- | -------- |
153
153
  | `MOLLIE_API_KEY` | Mollie API key | Yes |
154
- | `MOLLIE_WEBHOOK_SECRET` | Mollie webhook secret for verification | No |
154
+ | `MOLLIE_WEBHOOK_SECRET` | Mollie webhook secret for verification | Yes |
155
155
 
156
156
  ```typescript
157
157
  import { MollieClient, MOLLIE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-payments/mollie';
@@ -532,6 +532,29 @@ try {
532
532
 
533
533
  ---
534
534
 
535
+ ## Health Check
536
+
537
+ The `PaymentHealthIndicator` verifies that a `PaymentClientPort` is injected. If no payment client is registered, it reports `disabled: true`. Import it from the `/health` subpath:
538
+
539
+ ```typescript
540
+ import { PaymentHealthIndicator } from '@breadstone/archipel-platform-payments/health';
541
+ import { HealthModule } from '@breadstone/archipel-platform-health';
542
+
543
+ @Module({
544
+ imports: [
545
+ PaymentModule.register({ /* ... */ }),
546
+ HealthModule.withIndicators([PaymentHealthIndicator]),
547
+ ],
548
+ })
549
+ export class AppModule {}
550
+ ```
551
+
552
+ | Key | Check | Dependencies |
553
+ | --- | ----- | ------------ |
554
+ | `payment` | `up` if `PaymentClientPort` injected, else `disabled` | `@Optional() PaymentClientPort` |
555
+
556
+ ---
557
+
535
558
  ## Exports Summary
536
559
 
537
560
  ### Core (`@breadstone/archipel-platform-payments`)
@@ -552,6 +575,7 @@ try {
552
575
  | `INormalizedWebhookEvent` | Interface | Normalized webhook event |
553
576
  | `SubscriptionStatus` | Type Alias | Subscription status union |
554
577
  | `PaymentError` | Error class | Domain error for payment failures |
578
+ | `PaymentHealthIndicator` | Health | Payment readiness check (`/health` subpath) |
555
579
 
556
580
  ### Provider subpaths
557
581
 
@@ -0,0 +1,221 @@
1
+ ---
2
+ title: 'Class: AzureQueue'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: AzureQueue
7
+
8
+ Defined in: [azure/AzureQueue.ts:56](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/azure/AzureQueue.ts#L56)
9
+
10
+ Azure Service Bus queue implementation.
11
+
12
+ Uses Azure Service Bus for cloud-native, enterprise-grade messaging.
13
+ Operates in peek-lock mode: dequeued messages remain locked until
14
+ explicitly completed or dead-lettered.
15
+
16
+ ## Remarks
17
+
18
+ Senders and receivers are lazily created per queue name and cached for
19
+ the lifetime of the instance. Call [onModuleDestroy](#onmoduledestroy) (handled
20
+ automatically by NestJS) to release all underlying connections.
21
+
22
+ ## Implements
23
+
24
+ - [`IQueue`](Interface.IQueue)
25
+ - `OnModuleDestroy`
26
+
27
+ ## Constructors
28
+
29
+ ### Constructor
30
+
31
+ ```ts
32
+ new AzureQueue(options): AzureQueue;
33
+ ```
34
+
35
+ Defined in: [azure/AzureQueue.ts:76](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/azure/AzureQueue.ts#L76)
36
+
37
+ Creates a new AzureQueue instance.
38
+
39
+ #### Parameters
40
+
41
+ | Parameter | Type | Description |
42
+ | ------ | ------ | ------ |
43
+ | `options` | [`IAzureQueueOptions`](Interface.IAzureQueueOptions) | Connection and receive configuration. See [IAzureQueueOptions](Interface.IAzureQueueOptions). |
44
+
45
+ #### Returns
46
+
47
+ `AzureQueue`
48
+
49
+ ## Methods
50
+
51
+ ### dequeue()
52
+
53
+ ```ts
54
+ dequeue(queueName): Promise<IQueueJob<unknown> | null>;
55
+ ```
56
+
57
+ Defined in: [azure/AzureQueue.ts:115](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/azure/AzureQueue.ts#L115)
58
+
59
+ Dequeues the next pending job from the named queue.
60
+
61
+ The returned job transitions to `processing` status.
62
+
63
+ #### Parameters
64
+
65
+ | Parameter | Type | Description |
66
+ | ------ | ------ | ------ |
67
+ | `queueName` | `string` | The name of the queue to dequeue from. |
68
+
69
+ #### Returns
70
+
71
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\> \| `null`\>
72
+
73
+ The next pending job, or `null` if the queue is empty.
74
+
75
+ #### Implementation of
76
+
77
+ [`IQueue`](Interface.IQueue).[`dequeue`](Interface.IQueue#dequeue)
78
+
79
+ ***
80
+
81
+ ### enqueue()
82
+
83
+ ```ts
84
+ enqueue<T>(queueName, payload): Promise<IQueueJob<T>>;
85
+ ```
86
+
87
+ Defined in: [azure/AzureQueue.ts:86](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/azure/AzureQueue.ts#L86)
88
+
89
+ Enqueues a new job into the named queue.
90
+
91
+ #### Type Parameters
92
+
93
+ | Type Parameter | Default type | Description |
94
+ | ------ | ------ | ------ |
95
+ | `T` | `unknown` | |
96
+
97
+ #### Parameters
98
+
99
+ | Parameter | Type | Description |
100
+ | ------ | ------ | ------ |
101
+ | `queueName` | `string` | The name of the target queue. |
102
+ | `payload` | `T` | The job payload. |
103
+
104
+ #### Returns
105
+
106
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`T`\>\>
107
+
108
+ The created job in `pending` status.
109
+
110
+ #### Implementation of
111
+
112
+ [`IQueue`](Interface.IQueue).[`enqueue`](Interface.IQueue#enqueue)
113
+
114
+ ***
115
+
116
+ ### getJobs()
117
+
118
+ ```ts
119
+ getJobs(queueName): Promise<readonly IQueueJob<unknown>[]>;
120
+ ```
121
+
122
+ Defined in: [azure/AzureQueue.ts:222](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/azure/AzureQueue.ts#L222)
123
+
124
+ Returns all jobs for the given queue in insertion order.
125
+
126
+ #### Parameters
127
+
128
+ | Parameter | Type | Description |
129
+ | ------ | ------ | ------ |
130
+ | `queueName` | `string` | The name of the queue. |
131
+
132
+ #### Returns
133
+
134
+ `Promise`\<readonly [`IQueueJob`](Interface.IQueueJob)\<`unknown`\>[]\>
135
+
136
+ An array of jobs, possibly empty.
137
+
138
+ #### Implementation of
139
+
140
+ [`IQueue`](Interface.IQueue).[`getJobs`](Interface.IQueue#getjobs)
141
+
142
+ ***
143
+
144
+ ### markCompleted()
145
+
146
+ ```ts
147
+ markCompleted(jobId): Promise<IQueueJob<unknown>>;
148
+ ```
149
+
150
+ Defined in: [azure/AzureQueue.ts:147](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/azure/AzureQueue.ts#L147)
151
+
152
+ Marks a processing job as completed.
153
+
154
+ #### Parameters
155
+
156
+ | Parameter | Type | Description |
157
+ | ------ | ------ | ------ |
158
+ | `jobId` | `string` | The ID of the job to complete. |
159
+
160
+ #### Returns
161
+
162
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\>\>
163
+
164
+ The updated job in `completed` status.
165
+
166
+ #### Implementation of
167
+
168
+ [`IQueue`](Interface.IQueue).[`markCompleted`](Interface.IQueue#markcompleted)
169
+
170
+ ***
171
+
172
+ ### markFailed()
173
+
174
+ ```ts
175
+ markFailed(jobId, errorMessage): Promise<IQueueJob<unknown>>;
176
+ ```
177
+
178
+ Defined in: [azure/AzureQueue.ts:180](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/azure/AzureQueue.ts#L180)
179
+
180
+ Marks a processing job as failed.
181
+
182
+ #### Parameters
183
+
184
+ | Parameter | Type | Description |
185
+ | ------ | ------ | ------ |
186
+ | `jobId` | `string` | The ID of the job to mark as failed. |
187
+ | `errorMessage` | `string` | A human-readable error message. |
188
+
189
+ #### Returns
190
+
191
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\>\>
192
+
193
+ The updated job in `failed` status.
194
+
195
+ #### Implementation of
196
+
197
+ [`IQueue`](Interface.IQueue).[`markFailed`](Interface.IQueue#markfailed)
198
+
199
+ ***
200
+
201
+ ### onModuleDestroy()
202
+
203
+ ```ts
204
+ onModuleDestroy(): Promise<void>;
205
+ ```
206
+
207
+ Defined in: [azure/AzureQueue.ts:247](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/azure/AzureQueue.ts#L247)
208
+
209
+ Closes all senders, receivers, and the underlying Service Bus client.
210
+
211
+ Called automatically by the NestJS lifecycle when the module is destroyed.
212
+
213
+ #### Returns
214
+
215
+ `Promise`\<`void`\>
216
+
217
+ #### Implementation of
218
+
219
+ ```ts
220
+ OnModuleDestroy.onModuleDestroy
221
+ ```
@@ -0,0 +1,220 @@
1
+ ---
2
+ title: 'Class: BullMqQueue'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: BullMqQueue
7
+
8
+ Defined in: [bullmq/BullMqQueue.ts:56](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/bullmq/BullMqQueue.ts#L56)
9
+
10
+ BullMQ-backed queue implementation.
11
+
12
+ Uses Redis via BullMQ for persistent, distributed job processing.
13
+ Supports FIFO ordering, automatic retries, and horizontal scaling.
14
+
15
+ ## Remarks
16
+
17
+ Each named queue lazily creates its own BullMQ Queue and Worker
18
+ instance. Job tokens are tracked internally so that [markCompleted](#markcompleted)
19
+ and [markFailed](#markfailed) can move jobs to the correct terminal state.
20
+
21
+ ## Implements
22
+
23
+ - [`IQueue`](Interface.IQueue)
24
+ - `OnModuleDestroy`
25
+
26
+ ## Constructors
27
+
28
+ ### Constructor
29
+
30
+ ```ts
31
+ new BullMqQueue(options): BullMqQueue;
32
+ ```
33
+
34
+ Defined in: [bullmq/BullMqQueue.ts:75](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/bullmq/BullMqQueue.ts#L75)
35
+
36
+ Creates a new BullMqQueue instance.
37
+
38
+ #### Parameters
39
+
40
+ | Parameter | Type | Description |
41
+ | ------ | ------ | ------ |
42
+ | `options` | [`IBullMqQueueOptions`](Interface.IBullMqQueueOptions) | Redis connection and optional prefix. See [IBullMqQueueOptions](Interface.IBullMqQueueOptions). |
43
+
44
+ #### Returns
45
+
46
+ `BullMqQueue`
47
+
48
+ ## Methods
49
+
50
+ ### dequeue()
51
+
52
+ ```ts
53
+ dequeue(queueName): Promise<IQueueJob<unknown> | null>;
54
+ ```
55
+
56
+ Defined in: [bullmq/BullMqQueue.ts:97](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/bullmq/BullMqQueue.ts#L97)
57
+
58
+ Dequeues the next pending job from the named queue.
59
+
60
+ The returned job transitions to `processing` status.
61
+
62
+ #### Parameters
63
+
64
+ | Parameter | Type | Description |
65
+ | ------ | ------ | ------ |
66
+ | `queueName` | `string` | The name of the queue to dequeue from. |
67
+
68
+ #### Returns
69
+
70
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\> \| `null`\>
71
+
72
+ The next pending job, or `null` if the queue is empty.
73
+
74
+ #### Implementation of
75
+
76
+ [`IQueue`](Interface.IQueue).[`dequeue`](Interface.IQueue#dequeue)
77
+
78
+ ***
79
+
80
+ ### enqueue()
81
+
82
+ ```ts
83
+ enqueue<T>(queueName, payload): Promise<IQueueJob<T>>;
84
+ ```
85
+
86
+ Defined in: [bullmq/BullMqQueue.ts:85](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/bullmq/BullMqQueue.ts#L85)
87
+
88
+ Enqueues a new job into the named queue.
89
+
90
+ #### Type Parameters
91
+
92
+ | Type Parameter | Default type | Description |
93
+ | ------ | ------ | ------ |
94
+ | `T` | `unknown` | |
95
+
96
+ #### Parameters
97
+
98
+ | Parameter | Type | Description |
99
+ | ------ | ------ | ------ |
100
+ | `queueName` | `string` | The name of the target queue. |
101
+ | `payload` | `T` | The job payload. |
102
+
103
+ #### Returns
104
+
105
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`T`\>\>
106
+
107
+ The created job in `pending` status.
108
+
109
+ #### Implementation of
110
+
111
+ [`IQueue`](Interface.IQueue).[`enqueue`](Interface.IQueue#enqueue)
112
+
113
+ ***
114
+
115
+ ### getJobs()
116
+
117
+ ```ts
118
+ getJobs(queueName): Promise<readonly IQueueJob<unknown>[]>;
119
+ ```
120
+
121
+ Defined in: [bullmq/BullMqQueue.ts:190](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/bullmq/BullMqQueue.ts#L190)
122
+
123
+ Returns all jobs for the given queue in insertion order.
124
+
125
+ #### Parameters
126
+
127
+ | Parameter | Type | Description |
128
+ | ------ | ------ | ------ |
129
+ | `queueName` | `string` | The name of the queue. |
130
+
131
+ #### Returns
132
+
133
+ `Promise`\<readonly [`IQueueJob`](Interface.IQueueJob)\<`unknown`\>[]\>
134
+
135
+ An array of jobs, possibly empty.
136
+
137
+ #### Implementation of
138
+
139
+ [`IQueue`](Interface.IQueue).[`getJobs`](Interface.IQueue#getjobs)
140
+
141
+ ***
142
+
143
+ ### markCompleted()
144
+
145
+ ```ts
146
+ markCompleted(jobId): Promise<IQueueJob<unknown>>;
147
+ ```
148
+
149
+ Defined in: [bullmq/BullMqQueue.ts:116](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/bullmq/BullMqQueue.ts#L116)
150
+
151
+ Marks a processing job as completed.
152
+
153
+ #### Parameters
154
+
155
+ | Parameter | Type | Description |
156
+ | ------ | ------ | ------ |
157
+ | `jobId` | `string` | The ID of the job to complete. |
158
+
159
+ #### Returns
160
+
161
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\>\>
162
+
163
+ The updated job in `completed` status.
164
+
165
+ #### Implementation of
166
+
167
+ [`IQueue`](Interface.IQueue).[`markCompleted`](Interface.IQueue#markcompleted)
168
+
169
+ ***
170
+
171
+ ### markFailed()
172
+
173
+ ```ts
174
+ markFailed(jobId, errorMessage): Promise<IQueueJob<unknown>>;
175
+ ```
176
+
177
+ Defined in: [bullmq/BullMqQueue.ts:150](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/bullmq/BullMqQueue.ts#L150)
178
+
179
+ Marks a processing job as failed.
180
+
181
+ #### Parameters
182
+
183
+ | Parameter | Type | Description |
184
+ | ------ | ------ | ------ |
185
+ | `jobId` | `string` | The ID of the job to mark as failed. |
186
+ | `errorMessage` | `string` | A human-readable error message. |
187
+
188
+ #### Returns
189
+
190
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\>\>
191
+
192
+ The updated job in `failed` status.
193
+
194
+ #### Implementation of
195
+
196
+ [`IQueue`](Interface.IQueue).[`markFailed`](Interface.IQueue#markfailed)
197
+
198
+ ***
199
+
200
+ ### onModuleDestroy()
201
+
202
+ ```ts
203
+ onModuleDestroy(): Promise<void>;
204
+ ```
205
+
206
+ Defined in: [bullmq/BullMqQueue.ts:208](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/bullmq/BullMqQueue.ts#L208)
207
+
208
+ Closes all workers and queues, releasing Redis connections.
209
+
210
+ Called automatically by the NestJS lifecycle when the module is destroyed.
211
+
212
+ #### Returns
213
+
214
+ `Promise`\<`void`\>
215
+
216
+ #### Implementation of
217
+
218
+ ```ts
219
+ OnModuleDestroy.onModuleDestroy
220
+ ```