@breadstone/archipel-mcp 0.0.27 → 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.
- package/data/guides/queue-infrastructure.md +62 -0
- package/data/packages/platform-analytics/index.md +2 -0
- package/data/packages/platform-authentication/api/Class.AuthModule.md +3 -3
- package/data/packages/platform-authentication/api/Class.JwtAuthGuard.md +37 -5
- package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +12 -12
- package/data/packages/platform-authentication/api/index.md +1 -2
- package/data/packages/platform-authentication/index.md +2 -0
- package/data/packages/platform-blob-storage/api/Variable.AWS_S3_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.AZURE_BLOB_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.BLOB_PROVIDER.md +1 -1
- package/data/packages/platform-blob-storage/api/Variable.VERCEL_BLOB_PROVIDER_OPTIONS.md +1 -1
- package/data/packages/platform-blob-storage/index.md +2 -0
- package/data/packages/platform-caching/api/Class.CachingHealthIndicator.md +68 -0
- package/data/packages/platform-caching/api/index.md +1 -0
- package/data/packages/platform-caching/index.md +2 -0
- package/data/packages/platform-configuration/index.md +2 -0
- package/data/packages/platform-core/index.md +2 -0
- package/data/packages/platform-cryptography/index.md +2 -0
- package/data/packages/platform-database/index.md +2 -0
- package/data/packages/platform-documents/index.md +2 -0
- package/data/packages/platform-esigning/index.md +2 -0
- package/data/packages/platform-health/index.md +2 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceHealthIndicator.md +4 -4
- package/data/packages/platform-intelligence/index.md +2 -0
- package/data/packages/platform-logging/index.md +2 -0
- package/data/packages/platform-mailing/index.md +2 -0
- package/data/packages/platform-mapping/index.md +2 -0
- package/data/packages/platform-mcp/index.md +2 -0
- package/data/packages/platform-openapi/index.md +2 -0
- package/data/packages/platform-payments/index.md +2 -0
- package/data/packages/platform-queue/api/Class.QueueHealthIndicator.md +3 -3
- package/data/packages/platform-queue/api/Class.VercelQueue.md +234 -0
- package/data/packages/platform-queue/api/Interface.IVercelQueueOptions.md +91 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_CONFIG_ENTRIES.md +17 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_CONSUMER_GROUP.md +14 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_DEPLOYMENT_ID.md +14 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_REGION.md +14 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_TOKEN.md +16 -0
- package/data/packages/platform-queue/api/Variable.VERCEL_QUEUE_VISIBILITY_TIMEOUT_SECONDS.md +23 -0
- package/data/packages/platform-queue/api/index.md +8 -0
- package/data/packages/platform-queue/index.md +27 -3
- package/data/packages/platform-reporting/index.md +2 -0
- package/data/packages/platform-resources/index.md +2 -0
- package/data/packages/platform-telemetry/index.md +2 -0
- package/package.json +1 -1
- package/data/packages/platform-authentication/api/Class.GithubAuthGuard.md +0 -40
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: QueueHealthIndicator
|
|
7
7
|
|
|
8
|
-
Defined in: health/QueueHealthIndicator.ts:15
|
|
8
|
+
Defined in: [health/QueueHealthIndicator.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/health/QueueHealthIndicator.ts#L15)
|
|
9
9
|
|
|
10
10
|
Health indicator for the queue infrastructure.
|
|
11
11
|
|
|
@@ -33,7 +33,7 @@ new QueueHealthIndicator(): QueueHealthIndicator;
|
|
|
33
33
|
readonly key: string = 'queue';
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
Defined in: health/QueueHealthIndicator.ts:18
|
|
36
|
+
Defined in: [health/QueueHealthIndicator.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/health/QueueHealthIndicator.ts#L18)
|
|
37
37
|
|
|
38
38
|
Unique key identifying the indicator
|
|
39
39
|
|
|
@@ -51,7 +51,7 @@ IHealthIndicator.key
|
|
|
51
51
|
check(): HealthIndicatorResult<string>;
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
Defined in: health/QueueHealthIndicator.ts:30
|
|
54
|
+
Defined in: [health/QueueHealthIndicator.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-queue/src/health/QueueHealthIndicator.ts#L30)
|
|
55
55
|
|
|
56
56
|
Returns the health status of the queue infrastructure.
|
|
57
57
|
|
|
@@ -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),
|
|
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
|
|
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 |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@breadstone/archipel-mcp",
|
|
3
|
-
"version": "0.0.
|
|
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
|
-
```
|