@breadstone/archipel-mcp 0.0.28 → 0.0.30

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 (42) hide show
  1. package/data/guides/queue-infrastructure.md +62 -0
  2. package/data/packages/platform-analytics/index.md +2 -0
  3. package/data/packages/platform-authentication/api/Class.AuthModule.md +3 -3
  4. package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +37 -5
  5. package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +12 -12
  6. package/data/packages/platform-authentication/api/index.md +1 -2
  7. package/data/packages/platform-authentication/index.md +2 -0
  8. package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +1 -1
  9. package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +1 -1
  10. package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +1 -1
  11. package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +1 -1
  12. package/data/packages/platform-blob-storage/index.md +2 -0
  13. package/data/packages/platform-caching/index.md +2 -0
  14. package/data/packages/platform-configuration/index.md +2 -0
  15. package/data/packages/platform-core/index.md +2 -0
  16. package/data/packages/platform-cryptography/index.md +2 -0
  17. package/data/packages/platform-database/index.md +2 -0
  18. package/data/packages/platform-documents/index.md +2 -0
  19. package/data/packages/platform-esigning/index.md +2 -0
  20. package/data/packages/platform-health/index.md +2 -0
  21. package/data/packages/platform-intelligence/index.md +2 -0
  22. package/data/packages/platform-logging/index.md +2 -0
  23. package/data/packages/platform-mailing/index.md +2 -0
  24. package/data/packages/platform-mapping/index.md +2 -0
  25. package/data/packages/platform-mcp/index.md +2 -0
  26. package/data/packages/platform-openapi/index.md +2 -0
  27. package/data/packages/platform-payments/index.md +2 -0
  28. package/data/packages/platform-queue/api/Class.VercelQueue.md +234 -0
  29. package/data/packages/platform-queue/api/Interface.IVercelQueueOptions.md +91 -0
  30. package/data/packages/platform-queue/api/Variable.VERCEL_CONFIG_ENTRIES.md +17 -0
  31. package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_CONSUMER_GROUP.md +14 -0
  32. package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_DEPLOYMENT_ID.md +14 -0
  33. package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_REGION.md +14 -0
  34. package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_TOKEN.md +16 -0
  35. package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS.md +23 -0
  36. package/data/packages/platform-queue/api/index.md +8 -0
  37. package/data/packages/platform-queue/index.md +27 -3
  38. package/data/packages/platform-reporting/index.md +2 -0
  39. package/data/packages/platform-resources/index.md +2 -0
  40. package/data/packages/platform-telemetry/index.md +2 -0
  41. package/package.json +1 -1
  42. package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +0 -40
@@ -28,6 +28,12 @@ For Azure Service Bus:
28
28
  yarn add @azure/service-bus
29
29
  ```
30
30
 
31
+ For Vercel Queues:
32
+
33
+ ```bash
34
+ yarn add @vercel/queue
35
+ ```
36
+
31
37
  ---
32
38
 
33
39
  ## Configuration
@@ -58,6 +64,18 @@ AZURE_RECEIVE_WAIT_MS=5000
58
64
 
59
65
  `AZURE_CONNECTION_STRING` is required when using `AzureQueue`. `AZURE_RECEIVE_WAIT_MS` is optional (defaults to `5000`).
60
66
 
67
+ ### Vercel Queues Variables
68
+
69
+ ```env
70
+ VERCEL_QUEUE_REGION=iad1
71
+ VERCEL_QUEUE_CONSUMER_GROUP=my-consumer
72
+ VERCEL_QUEUE_TOKEN=
73
+ VERCEL_QUEUE_DEPLOYMENT_ID=
74
+ VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS=300
75
+ ```
76
+
77
+ `VERCEL_QUEUE_REGION` and `VERCEL_QUEUE_CONSUMER_GROUP` are required when using `VercelQueue`. `VERCEL_QUEUE_TOKEN` is auto-fetched via OIDC when omitted. `VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS` defaults to `300`.
78
+
61
79
  ### Using Config Keys
62
80
 
63
81
  Import the typed config keys and pass them to your module registration:
@@ -66,6 +84,7 @@ Import the typed config keys and pass them to your module registration:
66
84
  import { PLATFORM_QUEUE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue';
67
85
  import { BULLMQ_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/bullmq';
68
86
  import { AZURE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/azure';
87
+ import { VERCEL_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/vercel';
69
88
  ```
70
89
 
71
90
  ---
@@ -79,6 +98,7 @@ import { AZURE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/azure'
79
98
  | `MemoryQueue` | In-memory | No | Development, testing, single-instance apps |
80
99
  | `BullMqQueue` | Redis via BullMQ | Yes | Multi-instance deployments, distributed jobs|
81
100
  | `AzureQueue` | Azure Service Bus | Yes | Enterprise cloud messaging, peek-lock |
101
+ | `VercelQueue` | Vercel Queues | Yes | Serverless Vercel deployments |
82
102
 
83
103
  All implementations share the same `IQueue` contract, so switching providers requires only changing the import and constructor options — no business logic changes.
84
104
 
@@ -200,6 +220,48 @@ Senders and receivers are lazily created per queue name and cached for the lifet
200
220
 
201
221
  ---
202
222
 
223
+ ## Vercel Queues
224
+
225
+ ### Basic Setup
226
+
227
+ `VercelQueue` uses the official `@vercel/queue` SDK (`PollingQueueClient`) for durable, serverless message streaming on Vercel:
228
+
229
+ ```typescript
230
+ import { Module } from '@nestjs/common';
231
+ import { VercelQueue } from '@breadstone/archipel-platform-queue/vercel';
232
+
233
+ @Module({
234
+ providers: [
235
+ {
236
+ provide: 'IQueue',
237
+ useFactory: () =>
238
+ new VercelQueue({
239
+ region: 'iad1',
240
+ consumerGroup: 'my-consumer',
241
+ }),
242
+ },
243
+ ],
244
+ exports: ['IQueue'],
245
+ })
246
+ export class QueueModule {}
247
+ ```
248
+
249
+ ### How It Works
250
+
251
+ `enqueue()` calls `send()` on the SDK to publish a message to the given topic. `dequeue()` calls `receive()`, which invokes a handler callback when a message is available. The handler is suspended via an internal gate promise until `markCompleted()` or `markFailed()` is called, at which point the handler completes and the SDK auto-acknowledges the message.
252
+
253
+ Both `markCompleted()` and `markFailed()` acknowledge (remove) the message. If retry behaviour is desired, re-enqueue the job explicitly.
254
+
255
+ ### Authentication
256
+
257
+ When deployed on Vercel, the SDK auto-fetches an OIDC token. For local development, provide a `token` in the constructor options.
258
+
259
+ ### Graceful Shutdown
260
+
261
+ `VercelQueue` implements `OnModuleDestroy` and releases all pending gates, causing in-flight SDK handlers to complete normally and acknowledge their messages.
262
+
263
+ ---
264
+
203
265
  ## Usage in Services
204
266
 
205
267
  Inject the `IQueue` token and use the same API regardless of the underlying provider:
@@ -12,6 +12,8 @@ Provider-agnostic analytics and error tracking module supporting multiple backen
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-analytics`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: AuthModule
7
7
 
8
- Defined in: [libs/platform-authentication/src/AuthModule.ts:146](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L146)
8
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:145](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L145)
9
9
 
10
10
  The `AuthModule` handles JWT-based authentication,
11
11
  including token creation and validation.
@@ -39,7 +39,7 @@ new AuthModule(): AuthModule;
39
39
  configure(consumer): void;
40
40
  ```
41
41
 
42
- Defined in: [libs/platform-authentication/src/AuthModule.ts:268](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L268)
42
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:265](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L265)
43
43
 
44
44
  #### Parameters
45
45
 
@@ -59,7 +59,7 @@ Defined in: [libs/platform-authentication/src/AuthModule.ts:268](https://github.
59
59
  static register(options): DynamicModule;
60
60
  ```
61
61
 
62
- Defined in: [libs/platform-authentication/src/AuthModule.ts:156](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L156)
62
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:155](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L155)
63
63
 
64
64
  Registers the auth module with the provided port implementations.
65
65
 
@@ -5,9 +5,12 @@ editUrl: false
5
5
  ---
6
6
  # Class: JwtAuthGuard
7
7
 
8
- Defined in: [libs/platform-authentication/src/guards/JwtAuthGuard.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/guards/JwtAuthGuard.ts#L14)
8
+ Defined in: [libs/platform-authentication/src/guards/JwtAuthGuard.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/guards/JwtAuthGuard.ts#L19)
9
9
 
10
10
  The `JwtAuthGuard` protects routes using JWT-based authentication.
11
+ It checks for the `@Public()` decorator metadata.
12
+ When registered as `APP_GUARD`, all routes require JWT authentication by default.
13
+ Routes decorated with `@Public()` are exempt.
11
14
 
12
15
  ## Extends
13
16
 
@@ -18,23 +21,52 @@ The `JwtAuthGuard` protects routes using JWT-based authentication.
18
21
  ### Constructor
19
22
 
20
23
  ```ts
21
- new JwtAuthGuard(...args): JwtAuthGuard;
24
+ new JwtAuthGuard(reflector): JwtAuthGuard;
22
25
  ```
23
26
 
24
- Defined in: node\_modules/@nestjs/passport/dist/interfaces/type.interface.d.ts:2
27
+ Defined in: [libs/platform-authentication/src/guards/JwtAuthGuard.ts:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/guards/JwtAuthGuard.ts#L22)
25
28
 
26
29
  #### Parameters
27
30
 
28
31
  | Parameter | Type |
29
32
  | ------ | ------ |
30
- | ...`args` | `any`[] |
33
+ | `reflector` | `Reflector` |
31
34
 
32
35
  #### Returns
33
36
 
34
37
  `JwtAuthGuard`
35
38
 
36
- #### Inherited from
39
+ #### Overrides
37
40
 
38
41
  ```ts
39
42
  AuthGuard('jwt').constructor
40
43
  ```
44
+
45
+ ## Methods
46
+
47
+ ### canActivate()
48
+
49
+ ```ts
50
+ canActivate(context): boolean | Promise<boolean> | Observable<boolean>;
51
+ ```
52
+
53
+ Defined in: [libs/platform-authentication/src/guards/JwtAuthGuard.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/guards/JwtAuthGuard.ts#L30)
54
+
55
+ #### Parameters
56
+
57
+ | Parameter | Type | Description |
58
+ | ------ | ------ | ------ |
59
+ | `context` | `ExecutionContext` | Current execution context. Provides access to details about the current request pipeline. |
60
+
61
+ #### Returns
62
+
63
+ `boolean` \| `Promise`\<`boolean`\> \| `Observable`\<`boolean`\>
64
+
65
+ Value indicating whether or not the current request is allowed to
66
+ proceed.
67
+
68
+ #### Overrides
69
+
70
+ ```ts
71
+ AuthGuard('jwt').canActivate
72
+ ```
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IAuthModuleOptions
7
7
 
8
- Defined in: [libs/platform-authentication/src/AuthModule.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L57)
8
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:56](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L56)
9
9
 
10
10
  Options for configuring the `AuthModule`.
11
11
 
@@ -17,7 +17,7 @@ Options for configuring the `AuthModule`.
17
17
  optional additionalConfigEntries?: readonly Omit<IConfigRegistryEntry<unknown>, "module">[];
18
18
  ```
19
19
 
20
- Defined in: [libs/platform-authentication/src/AuthModule.ts:97](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L97)
20
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:96](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L96)
21
21
 
22
22
  Optional additional configuration entries to register (e.g. provider-specific OAuth keys).
23
23
  Import them from the provider-specific sub-paths
@@ -31,7 +31,7 @@ Import them from the provider-specific sub-paths
31
31
  optional additionalProviders?: Provider[];
32
32
  ```
33
33
 
34
- Defined in: [libs/platform-authentication/src/AuthModule.ts:119](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L119)
34
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:118](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L118)
35
35
 
36
36
  Optional additional providers required by optional features (e.g. TOTP MFA).
37
37
  Import them from the provider-specific sub-paths
@@ -45,7 +45,7 @@ Import them from the provider-specific sub-paths
45
45
  authSubject: Type<AuthSubjectPort>;
46
46
  ```
47
47
 
48
- Defined in: [libs/platform-authentication/src/AuthModule.ts:61](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L61)
48
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:60](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L60)
49
49
 
50
50
  Implementation of the auth subject port (user lookup for JWT/Local/Anonymous connectors).
51
51
 
@@ -57,7 +57,7 @@ Implementation of the auth subject port (user lookup for JWT/Local/Anonymous con
57
57
  optional challengeStore?: Type<ChallengeStorePort>;
58
58
  ```
59
59
 
60
- Defined in: [libs/platform-authentication/src/AuthModule.ts:126](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L126)
60
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:125](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L125)
61
61
 
62
62
  Optional implementation of the challenge store port.
63
63
  Defaults to an in-memory store suitable for single-instance deployments.
@@ -71,7 +71,7 @@ For multi-instance deployments, provide a Redis-backed implementation.
71
71
  optional mfaChannels?: Type<any>[];
72
72
  ```
73
73
 
74
- Defined in: [libs/platform-authentication/src/AuthModule.ts:112](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L112)
74
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:111](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L111)
75
75
 
76
76
  Optional array of additional MFA channel types to register (e.g. `TotpMfaChannel`).
77
77
  Import them from the provider-specific sub-paths
@@ -87,7 +87,7 @@ Built-in channels (SMS, Email, Push) are always registered.
87
87
  mfaSubject: Type<MfaSubjectPort>;
88
88
  ```
89
89
 
90
- Defined in: [libs/platform-authentication/src/AuthModule.ts:66](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L66)
90
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L65)
91
91
 
92
92
  Implementation of the MFA subject port (MFA state persistence).
93
93
 
@@ -99,7 +99,7 @@ Implementation of the MFA subject port (MFA state persistence).
99
99
  sessionPersistence: Type<SessionPersistencePort>;
100
100
  ```
101
101
 
102
- Defined in: [libs/platform-authentication/src/AuthModule.ts:71](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L71)
102
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:70](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L70)
103
103
 
104
104
  Implementation of the session persistence port.
105
105
 
@@ -111,7 +111,7 @@ Implementation of the session persistence port.
111
111
  optional socialAuth?: Type<SocialAuthPort>;
112
112
  ```
113
113
 
114
- Defined in: [libs/platform-authentication/src/AuthModule.ts:82](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L82)
114
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:81](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L81)
115
115
 
116
116
  Optional implementation of the social auth port (OAuth connectors).
117
117
  When provided together with `socialConnectors`, the social auth flow is enabled.
@@ -124,7 +124,7 @@ When provided together with `socialConnectors`, the social auth flow is enabled.
124
124
  optional socialConnectors?: Type<any>[];
125
125
  ```
126
126
 
127
- Defined in: [libs/platform-authentication/src/AuthModule.ts:90](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L90)
127
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:89](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L89)
128
128
 
129
129
  Optional array of social connector types to register (e.g. `AppleConnector`, `GithubConnector`).
130
130
  Import them from the provider-specific sub-paths
@@ -139,7 +139,7 @@ Requires `socialAuth` to be set.
139
139
  optional tokenEnricher?: Type<TokenEnricherPort>;
140
140
  ```
141
141
 
142
- Defined in: [libs/platform-authentication/src/AuthModule.ts:103](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L103)
142
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:102](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L102)
143
143
 
144
144
  Optional implementation of the token enricher port.
145
145
  When provided, additional claims are added to JWT tokens.
@@ -152,6 +152,6 @@ When provided, additional claims are added to JWT tokens.
152
152
  verificationSubject: Type<VerificationSubjectPort>;
153
153
  ```
154
154
 
155
- Defined in: [libs/platform-authentication/src/AuthModule.ts:76](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L76)
155
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:75](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L75)
156
156
 
157
157
  Implementation of the verification subject port (email/pin verification).
@@ -17,10 +17,9 @@ editUrl: false
17
17
  | [AuthTokenService](Class.AuthTokenService) | Generic service responsible for creating JWT access tokens. Builds a base payload from [IAuthSubject](Interface.IAuthSubject) and optionally enriches it via the [TokenEnricherPort](Class.TokenEnricherPort) with product-specific claims. |
18
18
  | [ChallengeService](Class.ChallengeService) | Stores and validates MFA login challenges. |
19
19
  | [ChallengeStorePort](Class.ChallengeStorePort) | Abstract port for persisting MFA challenge state. |
20
- | [GithubAuthGuard](Class.GithubAuthGuard) | The `GithubAuthGuard` protects routes using GitHub authentication. |
21
20
  | [GithubConnector](Class.GithubConnector) | - |
22
21
  | [GoogleConnector](Class.GoogleConnector) | The `GoogleConnector` integrates Google OAuth authentication. |
23
- | [JwtAuthGuard](Class.JwtAuthGuard) | The `JwtAuthGuard` protects routes using JWT-based authentication. |
22
+ | [JwtAuthGuard](Class.JwtAuthGuard) | The `JwtAuthGuard` protects routes using JWT-based authentication. It checks for the `@Public()` decorator metadata. When registered as `APP_GUARD`, all routes require JWT authentication by default. Routes decorated with `@Public()` are exempt. |
24
23
  | [JwtPayloadBase](Class.JwtPayloadBase) | Abstract base class for JWT payloads. Products extend this to add their own claims (e.g. `profileId`, `isPro`). Used as both a serialization contract and NestJS injection token. |
25
24
  | [LastActiveMiddleware](Class.LastActiveMiddleware) | Middleware to automatically update the lastActive timestamp for authenticated sessions. Extracts the JWT token from the Authorization header and updates the session asynchronously. |
26
25
  | [LocalAuthGuard](Class.LocalAuthGuard) | The `LocalAuthGuard` protects routes using local authentication. |
@@ -12,6 +12,8 @@ Full-featured authentication library supporting JWT tokens, OAuth social login (
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-authentication`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -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: [BlobStorageTokens.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L6)
12
+ Defined in: [tokens/BlobStorageTokens.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/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: [BlobStorageTokens.ts:5](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L5)
12
+ Defined in: [tokens/BlobStorageTokens.ts:5](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/BlobStorageTokens.ts#L5)
@@ -9,4 +9,4 @@ editUrl: false
9
9
  const BLOB_PROVIDER: typeof BLOB_PROVIDER;
10
10
  ```
11
11
 
12
- Defined in: [BlobStorageTokens.ts:3](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L3)
12
+ Defined in: [tokens/BlobStorageTokens.ts:3](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/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: [BlobStorageTokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/BlobStorageTokens.ts#L4)
12
+ Defined in: [tokens/BlobStorageTokens.ts:4](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-blob-storage/src/tokens/BlobStorageTokens.ts#L4)
@@ -12,6 +12,8 @@ Cloud file storage abstraction supporting pluggable providers and optional metad
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-blob-storage`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Layered caching library providing both an in-memory LRU cache and a Redis-backed
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-caching`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -14,6 +14,8 @@ Type-safe configuration management for NestJS applications. Provides compile-tim
14
14
 
15
15
  **Package:** `@breadstone/archipel-platform-configuration`
16
16
 
17
+ <InstallTabs />
18
+
17
19
  ## Quick Start
18
20
 
19
21
  ```typescript
@@ -14,6 +14,8 @@ The foundation library that every other Archipel package depends on. Provides ob
14
14
 
15
15
  **Package:** `@breadstone/archipel-platform-core`
16
16
 
17
+ <InstallTabs />
18
+
17
19
  ## Installation
18
20
 
19
21
  ```typescript
@@ -12,6 +12,8 @@ Cryptographic building blocks for NestJS applications: bcrypt password hashing,
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-cryptography`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Prisma ORM integration with PostgreSQL featuring a repository base class, type-s
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-database`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Template-based document generation engine supporting DOCX and PDF output. Uses p
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-documents`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Provider-agnostic e-signing infrastructure for NestJS. Exposes a unified `Esigni
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-esigning`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Architecture
16
18
 
17
19
  ```mermaid
@@ -12,6 +12,8 @@ Health check orchestration for NestJS applications built on `@nestjs/terminus`.
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-health`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Installation
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Multi-provider AI text generation library supporting OpenAI, Anthropic, Google G
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-intelligence`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Configurable logging module for NestJS applications with application-wide log-le
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-logging`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Multi-strategy email delivery system with pluggable transports (SMTP, Postmark,
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-mailing`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Architecture
16
18
 
17
19
  ```mermaid
@@ -12,6 +12,8 @@ Type-safe object-to-object mapping framework for transforming domain entities in
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-mapping`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Installation
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ A reusable NestJS module for building [Model Context Protocol (MCP)](https://mod
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-mcp`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Installation
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Multi-tenant Swagger/OpenAPI documentation system with feature-scoped discovery,
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-openapi`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Provider-agnostic payment infrastructure for NestJS. Exposes a unified `PaymentC
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-payments`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Architecture
16
18
 
17
19
  ```mermaid
@@ -0,0 +1,234 @@
1
+ ---
2
+ title: 'Class: VercelQueue'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: VercelQueue
7
+
8
+ Defined in: [vercel/VercelQueue.ts:117](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L117)
9
+
10
+ Vercel Queues implementation of the [IQueue](Interface.IQueue) contract.
11
+
12
+ Uses the official `@vercel/queue` SDK (`PollingQueueClient`) for
13
+ durable, serverless message streaming. Messages are published to
14
+ topics and consumed via poll-based consumer groups.
15
+
16
+ ## Remarks
17
+
18
+ This adapter maps the topic/consumer-group model to the
19
+ [IQueue](Interface.IQueue) interface by treating topic names as queue names.
20
+
21
+ [dequeue](#dequeue) calls `receive()` on the SDK. The handler callback
22
+ is suspended via an internal gate promise until
23
+ [markCompleted](#markcompleted) or [markFailed](#markfailed) is invoked, at which
24
+ point the handler completes and the SDK auto-acknowledges the
25
+ message. This gives callers explicit control over the job lifecycle
26
+ while relying on the SDK for authentication, serialisation, and
27
+ visibility-timeout extension.
28
+
29
+ Both [markCompleted](#markcompleted) and [markFailed](#markfailed) acknowledge
30
+ (remove) the message. If retry behaviour is desired, re-enqueue
31
+ the job explicitly.
32
+
33
+ ## Implements
34
+
35
+ - [`IQueue`](Interface.IQueue)
36
+ - `OnModuleDestroy`
37
+
38
+ ## Constructors
39
+
40
+ ### Constructor
41
+
42
+ ```ts
43
+ new VercelQueue(options): VercelQueue;
44
+ ```
45
+
46
+ Defined in: [vercel/VercelQueue.ts:160](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L160)
47
+
48
+ Creates a new VercelQueue instance.
49
+
50
+ #### Parameters
51
+
52
+ | Parameter | Type | Description |
53
+ | ------ | ------ | ------ |
54
+ | `options` | [`IVercelQueueOptions`](Interface.IVercelQueueOptions) | Region, consumer group, and optional SDK configuration. See [IVercelQueueOptions](Interface.IVercelQueueOptions). |
55
+
56
+ #### Returns
57
+
58
+ `VercelQueue`
59
+
60
+ ## Methods
61
+
62
+ ### dequeue()
63
+
64
+ ```ts
65
+ dequeue(queueName): Promise<IQueueJob<unknown> | null>;
66
+ ```
67
+
68
+ Defined in: [vercel/VercelQueue.ts:202](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L202)
69
+
70
+ Dequeues the next pending job from the named queue.
71
+
72
+ The returned job transitions to `processing` status.
73
+
74
+ #### Parameters
75
+
76
+ | Parameter | Type | Description |
77
+ | ------ | ------ | ------ |
78
+ | `queueName` | `string` | The name of the queue to dequeue from. |
79
+
80
+ #### Returns
81
+
82
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\> \| `null`\>
83
+
84
+ The next pending job, or `null` if the queue is empty.
85
+
86
+ #### Implementation of
87
+
88
+ [`IQueue`](Interface.IQueue).[`dequeue`](Interface.IQueue#dequeue)
89
+
90
+ ***
91
+
92
+ ### enqueue()
93
+
94
+ ```ts
95
+ enqueue<T>(queueName, payload): Promise<IQueueJob<T>>;
96
+ ```
97
+
98
+ Defined in: [vercel/VercelQueue.ts:175](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L175)
99
+
100
+ Enqueues a new job into the named queue.
101
+
102
+ #### Type Parameters
103
+
104
+ | Type Parameter | Default type | Description |
105
+ | ------ | ------ | ------ |
106
+ | `T` | `unknown` | |
107
+
108
+ #### Parameters
109
+
110
+ | Parameter | Type | Description |
111
+ | ------ | ------ | ------ |
112
+ | `queueName` | `string` | The name of the target queue. |
113
+ | `payload` | `T` | The job payload. |
114
+
115
+ #### Returns
116
+
117
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`T`\>\>
118
+
119
+ The created job in `pending` status.
120
+
121
+ #### Implementation of
122
+
123
+ [`IQueue`](Interface.IQueue).[`enqueue`](Interface.IQueue#enqueue)
124
+
125
+ ***
126
+
127
+ ### getJobs()
128
+
129
+ ```ts
130
+ getJobs(queueName): Promise<readonly IQueueJob<unknown>[]>;
131
+ ```
132
+
133
+ Defined in: [vercel/VercelQueue.ts:326](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L326)
134
+
135
+ Returns all jobs for the given queue in insertion order.
136
+
137
+ #### Parameters
138
+
139
+ | Parameter | Type | Description |
140
+ | ------ | ------ | ------ |
141
+ | `queueName` | `string` | The name of the queue. |
142
+
143
+ #### Returns
144
+
145
+ `Promise`\<readonly [`IQueueJob`](Interface.IQueueJob)\<`unknown`\>[]\>
146
+
147
+ An array of jobs, possibly empty.
148
+
149
+ #### Implementation of
150
+
151
+ [`IQueue`](Interface.IQueue).[`getJobs`](Interface.IQueue#getjobs)
152
+
153
+ ***
154
+
155
+ ### markCompleted()
156
+
157
+ ```ts
158
+ markCompleted(jobId): Promise<IQueueJob<unknown>>;
159
+ ```
160
+
161
+ Defined in: [vercel/VercelQueue.ts:250](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L250)
162
+
163
+ Marks a processing job as completed.
164
+
165
+ #### Parameters
166
+
167
+ | Parameter | Type | Description |
168
+ | ------ | ------ | ------ |
169
+ | `jobId` | `string` | The ID of the job to complete. |
170
+
171
+ #### Returns
172
+
173
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\>\>
174
+
175
+ The updated job in `completed` status.
176
+
177
+ #### Implementation of
178
+
179
+ [`IQueue`](Interface.IQueue).[`markCompleted`](Interface.IQueue#markcompleted)
180
+
181
+ ***
182
+
183
+ ### markFailed()
184
+
185
+ ```ts
186
+ markFailed(jobId, errorMessage): Promise<IQueueJob<unknown>>;
187
+ ```
188
+
189
+ Defined in: [vercel/VercelQueue.ts:285](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L285)
190
+
191
+ Marks a processing job as failed.
192
+
193
+ #### Parameters
194
+
195
+ | Parameter | Type | Description |
196
+ | ------ | ------ | ------ |
197
+ | `jobId` | `string` | The ID of the job to mark as failed. |
198
+ | `errorMessage` | `string` | A human-readable error message. |
199
+
200
+ #### Returns
201
+
202
+ `Promise`\<[`IQueueJob`](Interface.IQueueJob)\<`unknown`\>\>
203
+
204
+ The updated job in `failed` status.
205
+
206
+ #### Implementation of
207
+
208
+ [`IQueue`](Interface.IQueue).[`markFailed`](Interface.IQueue#markfailed)
209
+
210
+ ***
211
+
212
+ ### onModuleDestroy()
213
+
214
+ ```ts
215
+ onModuleDestroy(): Promise<void>;
216
+ ```
217
+
218
+ Defined in: [vercel/VercelQueue.ts:341](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L341)
219
+
220
+ Releases all pending gates and clears internal tracking maps.
221
+
222
+ Releasing the gates causes pending SDK handlers to complete
223
+ normally, acknowledging in-flight messages. This prevents
224
+ dangling handlers during graceful shutdown.
225
+
226
+ #### Returns
227
+
228
+ `Promise`\<`void`\>
229
+
230
+ #### Implementation of
231
+
232
+ ```ts
233
+ OnModuleDestroy.onModuleDestroy
234
+ ```
@@ -0,0 +1,91 @@
1
+ ---
2
+ title: 'Interface: IVercelQueueOptions'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Interface: IVercelQueueOptions
7
+
8
+ Defined in: [vercel/VercelQueue.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L35)
9
+
10
+ Configuration options for [VercelQueue](Class.VercelQueue).
11
+
12
+ ## Properties
13
+
14
+ ### consumerGroup
15
+
16
+ ```ts
17
+ consumerGroup: string;
18
+ ```
19
+
20
+ Defined in: [vercel/VercelQueue.ts:55](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L55)
21
+
22
+ Consumer group name used when receiving messages.
23
+
24
+ Each consumer group independently tracks its position in the topic.
25
+
26
+ ***
27
+
28
+ ### deploymentId?
29
+
30
+ ```ts
31
+ optional deploymentId?: string | null;
32
+ ```
33
+
34
+ Defined in: [vercel/VercelQueue.ts:75](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L75)
35
+
36
+ Deployment ID for per-deployment message isolation.
37
+
38
+ - `undefined` — auto-detected from `VERCEL_DEPLOYMENT_ID` (pinned).
39
+ - `null` — unpinned (messages shared across deployments).
40
+ - Explicit string — pinned to the given deployment.
41
+
42
+ ***
43
+
44
+ ### region
45
+
46
+ ```ts
47
+ region: string;
48
+ ```
49
+
50
+ Defined in: [vercel/VercelQueue.ts:46](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L46)
51
+
52
+ Vercel region code (e.g. `iad1`, `fra1`, `sfo1`).
53
+
54
+ Required — messages can only be consumed from the region they were
55
+ sent to. Use a fixed region for both sending and receiving.
56
+
57
+ ***
58
+
59
+ ### token?
60
+
61
+ ```ts
62
+ optional token?: string;
63
+ ```
64
+
65
+ Defined in: [vercel/VercelQueue.ts:64](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L64)
66
+
67
+ Vercel OIDC bearer token for authentication.
68
+
69
+ When omitted the SDK auto-fetches a token via OIDC.
70
+
71
+ ***
72
+
73
+ ### visibilityTimeoutSeconds?
74
+
75
+ ```ts
76
+ optional visibilityTimeoutSeconds?: number;
77
+ ```
78
+
79
+ Defined in: [vercel/VercelQueue.ts:86](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/VercelQueue.ts#L86)
80
+
81
+ Visibility timeout in seconds for received messages.
82
+
83
+ The SDK automatically re-extends the lease while the handler is
84
+ running, so the default of 300 s is suitable for most workloads.
85
+
86
+ #### Default Value
87
+
88
+ ```ts
89
+ 300
90
+ @public
91
+ ```
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const VERCEL_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: [vercel/env.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/env.ts#L65)
13
+
14
+ All configuration entries required by the Vercel queue provider.
15
+
16
+ Pass this array to the module's `register()` method so that the
17
+ configuration service validates and provides the values at startup.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_QUEUE\_CONSUMER\_GROUP'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_QUEUE\_CONSUMER\_GROUP
7
+
8
+ ```ts
9
+ const VERCEL_QUEUE_CONSUMER_GROUP: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [vercel/env.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/env.ts#L32)
13
+
14
+ Consumer group name for receiving messages.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_QUEUE\_DEPLOYMENT\_ID'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_QUEUE\_DEPLOYMENT\_ID
7
+
8
+ ```ts
9
+ const VERCEL_QUEUE_DEPLOYMENT_ID: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [vercel/env.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/env.ts#L51)
13
+
14
+ Optional Vercel deployment ID for per-deployment message isolation.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_QUEUE\_REGION'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_QUEUE\_REGION
7
+
8
+ ```ts
9
+ const VERCEL_QUEUE_REGION: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [vercel/env.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/env.ts#L16)
13
+
14
+ Vercel region code (e.g. `iad1`, `fra1`, `sfo1`).
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_QUEUE\_TOKEN'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_QUEUE\_TOKEN
7
+
8
+ ```ts
9
+ const VERCEL_QUEUE_TOKEN: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: [vercel/env.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/env.ts#L25)
13
+
14
+ Vercel OIDC bearer token for queue authentication.
15
+
16
+ When omitted the SDK auto-fetches a token via OIDC.
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_QUEUE\_VISIBILITY\_TIMEOUT\_SECONDS'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_QUEUE\_VISIBILITY\_TIMEOUT\_SECONDS
7
+
8
+ ```ts
9
+ const VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS: IConfigKey<number>;
10
+ ```
11
+
12
+ Defined in: [vercel/env.ts:42](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/vercel/env.ts#L42)
13
+
14
+ Visibility timeout in seconds for received messages.
15
+
16
+ The SDK automatically re-extends the lease while the handler runs.
17
+
18
+ ## Default Value
19
+
20
+ ```ts
21
+ 300
22
+ @public
23
+ ```
@@ -17,6 +17,7 @@ editUrl: false
17
17
  | [QueueJobNotFoundError](Class.QueueJobNotFoundError) | Thrown when a queue job cannot be found by its ID. |
18
18
  | [QueueJobStateError](Class.QueueJobStateError) | Thrown when a queue job is in an invalid state for the requested transition. |
19
19
  | [QueueValidationError](Class.QueueValidationError) | Thrown when a queue operation receives invalid input. |
20
+ | [VercelQueue](Class.VercelQueue) | Vercel Queues implementation of the [IQueue](Interface.IQueue) contract. |
20
21
 
21
22
  ## Interfaces
22
23
 
@@ -27,6 +28,7 @@ editUrl: false
27
28
  | [IMemoryQueueOptions](Interface.IMemoryQueueOptions) | Configuration options for [MemoryQueue](Class.MemoryQueue). |
28
29
  | [IQueue](Interface.IQueue) | Contract for queue implementations. |
29
30
  | [IQueueJob](Interface.IQueueJob) | Represents a job in a named queue with tracking metadata. |
31
+ | [IVercelQueueOptions](Interface.IVercelQueueOptions) | Configuration options for [VercelQueue](Class.VercelQueue). |
30
32
 
31
33
  ## Type Aliases
32
34
 
@@ -47,3 +49,9 @@ editUrl: false
47
49
  | [PLATFORM\_QUEUE\_CONFIG\_ENTRIES](Variable.PLATFORM_QUEUE_CONFIG_ENTRIES) | All configuration entries required by `platform-queue`. |
48
50
  | [QUEUE\_JOB\_STATUS](Variable.QUEUE_JOB_STATUS) | Possible statuses of a queue job. |
49
51
  | [QUEUE\_MAX\_JOBS](Variable.QUEUE_MAX_JOBS) | Maximum number of jobs retained in the in-memory queue before eviction. |
52
+ | [VERCEL\_CONFIG\_ENTRIES](Variable.VERCEL_CONFIG_ENTRIES) | All configuration entries required by the Vercel queue provider. |
53
+ | [VERCEL\_QUEUE\_CONSUMER\_GROUP](Variable.VERCEL_QUEUE_CONSUMER_GROUP) | Consumer group name for receiving messages. |
54
+ | [VERCEL\_QUEUE\_DEPLOYMENT\_ID](Variable.VERCEL_QUEUE_DEPLOYMENT_ID) | Optional Vercel deployment ID for per-deployment message isolation. |
55
+ | [VERCEL\_QUEUE\_REGION](Variable.VERCEL_QUEUE_REGION) | Vercel region code (e.g. `iad1`, `fra1`, `sfo1`). |
56
+ | [VERCEL\_QUEUE\_TOKEN](Variable.VERCEL_QUEUE_TOKEN) | Vercel OIDC bearer token for queue authentication. |
57
+ | [VERCEL\_QUEUE\_VISIBILITY\_TIMEOUT\_SECONDS](Variable.VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS) | Visibility timeout in seconds for received messages. |
@@ -1,17 +1,19 @@
1
1
  ---
2
2
  title: platform-queue
3
- description: Provider-agnostic queue infrastructure with support for in-memory FIFO, BullMQ (Redis), and Azure Service Bus.
3
+ description: Provider-agnostic queue infrastructure with support for in-memory FIFO, BullMQ (Redis), Azure Service Bus, and Vercel Queues.
4
4
  order: 19
5
- tags: [queue, job-queue, fifo, memory-queue, bullmq, redis, azure-service-bus, ports-and-adapters, health]
5
+ tags: [queue, job-queue, fifo, memory-queue, bullmq, redis, azure-service-bus, vercel-queues, ports-and-adapters, health]
6
6
  package: '@breadstone/archipel-platform-queue'
7
7
  ---
8
8
 
9
9
  # platform-queue
10
10
 
11
- Provider-agnostic queue infrastructure for NestJS. Exposes a unified `IQueue` contract with three ready-made implementations: in-memory FIFO (`MemoryQueue`), BullMQ/Redis (`BullMqQueue`), and Azure Service Bus (`AzureQueue`). Jobs follow a lifecycle from pending through processing to completed or failed, with full metadata tracking.
11
+ Provider-agnostic queue infrastructure for NestJS. Exposes a unified `IQueue` contract with four ready-made implementations: in-memory FIFO (`MemoryQueue`), BullMQ/Redis (`BullMqQueue`), Azure Service Bus (`AzureQueue`), and Vercel Queues (`VercelQueue`). Jobs follow a lifecycle from pending through processing to completed or failed, with full metadata tracking.
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-queue`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Architecture
16
18
 
17
19
  ```mermaid
@@ -19,12 +21,15 @@ graph TD
19
21
  Core["@breadstone/archipel-platform-queue<br/><i>IQueue, models, errors, MemoryQueue</i>"]
20
22
  BullMQ["@breadstone/archipel-platform-queue/bullmq<br/><i>BullMqQueue</i>"]
21
23
  Azure["@breadstone/archipel-platform-queue/azure<br/><i>AzureQueue</i>"]
24
+ Vercel["@breadstone/archipel-platform-queue/vercel<br/><i>VercelQueue</i>"]
22
25
 
23
26
  BullMQ -->|implements| Core
24
27
  Azure -->|implements| Core
28
+ Vercel -->|implements| Core
25
29
 
26
30
  BullMQ -.-|requires| R["bullmq"]
27
31
  Azure -.-|requires| S["@azure/service-bus"]
32
+ Vercel -.-|requires| V["@vercel/queue"]
28
33
  ```
29
34
 
30
35
  Each provider SDK is an **optional peer dependency**. Install only the one you need. `MemoryQueue` ships with the core entry point and requires no additional dependencies.
@@ -39,6 +44,7 @@ Each provider SDK is an **optional peer dependency**. Install only the one you n
39
44
  # Pick one (or use MemoryQueue without any extra SDK):
40
45
  yarn add bullmq
41
46
  yarn add @azure/service-bus
47
+ yarn add @vercel/queue
42
48
  ```
43
49
 
44
50
  ### 2. Register the queue
@@ -112,6 +118,23 @@ import { BullMqQueue, BULLMQ_CONFIG_ENTRIES } from '@breadstone/archipel-platfor
112
118
  import { AzureQueue, AZURE_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/azure';
113
119
  ```
114
120
 
121
+ ### Vercel Queues
122
+
123
+ **Subpath:** `@breadstone/archipel-platform-queue/vercel`
124
+ **SDK:** `@vercel/queue` ≥ 0.1.0
125
+
126
+ | Variable | Required | Default | Description |
127
+ | --------------------------------------- | -------- | ------- | ----------------------------------------------------- |
128
+ | `VERCEL_QUEUE_REGION` | Yes | — | Vercel region code (e.g. `iad1`, `fra1`, `sfo1`) |
129
+ | `VERCEL_QUEUE_CONSUMER_GROUP` | Yes | — | Consumer group name for receiving messages |
130
+ | `VERCEL_QUEUE_TOKEN` | No | — | OIDC bearer token (auto-fetched when omitted) |
131
+ | `VERCEL_QUEUE_DEPLOYMENT_ID` | No | — | Deployment ID for per-deployment message isolation |
132
+ | `VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS`| No | `300` | Visibility timeout in seconds for received messages |
133
+
134
+ ```typescript
135
+ import { VercelQueue, VERCEL_CONFIG_ENTRIES } from '@breadstone/archipel-platform-queue/vercel';
136
+ ```
137
+
115
138
  ---
116
139
 
117
140
  ## Job Lifecycle
@@ -166,3 +189,4 @@ export class AppModule {}
166
189
  | `@nestjs/common` | Yes | NestJS core |
167
190
  | `bullmq` | Optional | Required for BullMQ provider |
168
191
  | `@azure/service-bus` | Optional | Required for Azure Service Bus |
192
+ | `@vercel/queue` | Optional | Required for Vercel Queues |
@@ -12,6 +12,8 @@ Extensible business reporting framework using a contributor registry pattern. Fe
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-reporting`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ Multi-strategy resource management for NestJS applications. Loads files from the
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-resources`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Installation
16
18
 
17
19
  ```typescript
@@ -12,6 +12,8 @@ OpenTelemetry integration providing distributed tracing, metrics collection, and
12
12
 
13
13
  **Package:** `@breadstone/archipel-platform-telemetry`
14
14
 
15
+ <InstallTabs />
16
+
15
17
  ## Quick Start
16
18
 
17
19
  ```typescript
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breadstone/archipel-mcp",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "description": "MCP server providing Archipel platform knowledge - documentation, query patterns, and coding conventions - to AI development tools.",
5
5
  "type": "commonjs",
6
6
  "main": "./src/main.js",
@@ -1,40 +0,0 @@
1
- ---
2
- title: 'Class: GithubAuthGuard'
3
- generated: true
4
- editUrl: false
5
- ---
6
- # Class: GithubAuthGuard
7
-
8
- Defined in: [libs/platform-authentication/src/guards/GithubAuthGuard.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/guards/GithubAuthGuard.ts#L14)
9
-
10
- The `GithubAuthGuard` protects routes using GitHub authentication.
11
-
12
- ## Extends
13
-
14
- - `IAuthGuard`
15
-
16
- ## Constructors
17
-
18
- ### Constructor
19
-
20
- ```ts
21
- new GithubAuthGuard(...args): GithubAuthGuard;
22
- ```
23
-
24
- Defined in: node\_modules/@nestjs/passport/dist/interfaces/type.interface.d.ts:2
25
-
26
- #### Parameters
27
-
28
- | Parameter | Type |
29
- | ------ | ------ |
30
- | ...`args` | `any`[] |
31
-
32
- #### Returns
33
-
34
- `GithubAuthGuard`
35
-
36
- #### Inherited from
37
-
38
- ```ts
39
- AuthGuard('github').constructor
40
- ```