@breadstone/archipel-mcp 0.0.28 → 0.0.31
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/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/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/api/Class.SwaggerFeatureDiscovery.md +54 -3
- package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +7 -5
- package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +24 -7
- package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +18 -6
- package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +9 -2
- package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +8 -5
- package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +33 -7
- package/data/packages/platform-openapi/api/Interface.ISwaggerThemeConfig.md +59 -0
- package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +4 -1
- package/data/packages/platform-openapi/api/index.md +6 -5
- 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.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: SwaggerTheme
|
|
7
7
|
|
|
8
|
-
Defined in: [SwaggerTheme.ts:
|
|
8
|
+
Defined in: [SwaggerTheme.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L15)
|
|
9
9
|
|
|
10
10
|
The swagger theme class
|
|
11
11
|
|
|
@@ -14,18 +14,19 @@ The swagger theme class
|
|
|
14
14
|
### Constructor
|
|
15
15
|
|
|
16
16
|
```ts
|
|
17
|
-
new SwaggerTheme(resourceManager): SwaggerTheme;
|
|
17
|
+
new SwaggerTheme(resourceManager, config?): SwaggerTheme;
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
Defined in: [SwaggerTheme.ts:
|
|
20
|
+
Defined in: [SwaggerTheme.ts:34](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L34)
|
|
21
21
|
|
|
22
22
|
Constructs a new instance of the `SwaggerTheme` class.
|
|
23
23
|
|
|
24
24
|
#### Parameters
|
|
25
25
|
|
|
26
|
-
| Parameter | Type |
|
|
27
|
-
| ------ | ------ |
|
|
28
|
-
| `resourceManager` | `ResourceManager` |
|
|
26
|
+
| Parameter | Type | Description |
|
|
27
|
+
| ------ | ------ | ------ |
|
|
28
|
+
| `resourceManager` | `ResourceManager` | Resource manager for loading theme files |
|
|
29
|
+
| `config?` | [`ISwaggerThemeConfig`](Interface.ISwaggerThemeConfig) | Optional theme configuration for branding colors |
|
|
29
30
|
|
|
30
31
|
#### Returns
|
|
31
32
|
|
|
@@ -33,13 +34,29 @@ Constructs a new instance of the `SwaggerTheme` class.
|
|
|
33
34
|
|
|
34
35
|
## Methods
|
|
35
36
|
|
|
37
|
+
### getConfig()
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
getConfig(): ISwaggerThemeConfig;
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Defined in: [SwaggerTheme.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L49)
|
|
44
|
+
|
|
45
|
+
Returns the theme configuration
|
|
46
|
+
|
|
47
|
+
#### Returns
|
|
48
|
+
|
|
49
|
+
[`ISwaggerThemeConfig`](Interface.ISwaggerThemeConfig)
|
|
50
|
+
|
|
51
|
+
***
|
|
52
|
+
|
|
36
53
|
### getOptions()
|
|
37
54
|
|
|
38
55
|
```ts
|
|
39
56
|
getOptions(): Pick<SwaggerCustomOptions, "customCss" | "customJsStr">;
|
|
40
57
|
```
|
|
41
58
|
|
|
42
|
-
Defined in: [SwaggerTheme.ts:
|
|
59
|
+
Defined in: [SwaggerTheme.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L57)
|
|
43
60
|
|
|
44
61
|
#### Returns
|
|
45
62
|
|
|
@@ -9,19 +9,30 @@ editUrl: false
|
|
|
9
9
|
function SwaggerFeature(metadata): (target) => (...args) => object;
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
12
|
+
Defined in: [decorators/SwaggerFeature.ts:176](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L176)
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
Class decorator that marks a NestJS module as a Swagger feature.
|
|
15
|
+
|
|
16
|
+
When applied, the decorator:
|
|
17
|
+
1. Attaches the resolved [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata) to the class via
|
|
18
|
+
`Reflect.defineMetadata` (retrievable with [getSwaggerFeatureMetadata](Function.getSwaggerFeatureMetadata)).
|
|
19
|
+
2. Registers the metadata in a process-global store so that
|
|
20
|
+
[getRegisteredSwaggerFeatures](Function.getRegisteredSwaggerFeatures) can discover all features at bootstrap
|
|
21
|
+
without requiring an explicit import of every module.
|
|
22
|
+
|
|
23
|
+
If [path](Interface.ISwaggerFeatureMetadata#path) is not provided, it defaults
|
|
24
|
+
to `docs/{name}`.
|
|
16
25
|
|
|
17
26
|
## Parameters
|
|
18
27
|
|
|
19
28
|
| Parameter | Type | Description |
|
|
20
29
|
| ------ | ------ | ------ |
|
|
21
|
-
| `metadata` | [`ISwaggerFeatureMetadata`](Interface.ISwaggerFeatureMetadata) |
|
|
30
|
+
| `metadata` | [`ISwaggerFeatureMetadata`](Interface.ISwaggerFeatureMetadata) | Configuration describing the feature's OpenAPI document. |
|
|
22
31
|
|
|
23
32
|
## Returns
|
|
24
33
|
|
|
34
|
+
A class decorator function.
|
|
35
|
+
|
|
25
36
|
(`target`) => (...`args`) => `object`
|
|
26
37
|
|
|
27
38
|
## Example
|
|
@@ -31,12 +42,13 @@ This allows the SwaggerMultiDocumentService to automatically discover and create
|
|
|
31
42
|
name: 'tip',
|
|
32
43
|
title: 'My App API - Tips',
|
|
33
44
|
description: 'API endpoints for tip management',
|
|
34
|
-
tag: 'Tip'
|
|
45
|
+
tag: 'Tip',
|
|
46
|
+
tags: ['Tip'],
|
|
35
47
|
})
|
|
36
48
|
@Module({
|
|
37
49
|
controllers: [TipController],
|
|
38
50
|
providers: [TipService],
|
|
39
|
-
exports: [TipService]
|
|
51
|
+
exports: [TipService],
|
|
40
52
|
})
|
|
41
53
|
export class TipModule {}
|
|
42
54
|
```
|
|
@@ -9,10 +9,17 @@ editUrl: false
|
|
|
9
9
|
function getRegisteredSwaggerFeatures(): ISwaggerFeatureMetadata[];
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
12
|
+
Defined in: [decorators/SwaggerFeature.ts:217](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L217)
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Returns all [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata) entries that have been registered
|
|
15
|
+
via the [SwaggerFeature](Function.SwaggerFeature) decorator, sorted alphabetically by
|
|
16
|
+
[name](Interface.ISwaggerFeatureMetadata#name).
|
|
17
|
+
|
|
18
|
+
Typically called once during application bootstrap to build the multi-document
|
|
19
|
+
Swagger setup.
|
|
15
20
|
|
|
16
21
|
## Returns
|
|
17
22
|
|
|
18
23
|
[`ISwaggerFeatureMetadata`](Interface.ISwaggerFeatureMetadata)[]
|
|
24
|
+
|
|
25
|
+
A sorted array of feature metadata. Empty if no features were registered.
|
|
@@ -11,17 +11,20 @@ function getSwaggerFeatureMetadata(target):
|
|
|
11
11
|
| undefined;
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
14
|
+
Defined in: [decorators/SwaggerFeature.ts:199](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L199)
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Reads the [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata) previously attached to a module class
|
|
17
|
+
by the [SwaggerFeature](Function.SwaggerFeature) decorator.
|
|
17
18
|
|
|
18
19
|
## Parameters
|
|
19
20
|
|
|
20
|
-
| Parameter | Type |
|
|
21
|
-
| ------ | ------ |
|
|
22
|
-
| `target` | (...`args`) => `object` |
|
|
21
|
+
| Parameter | Type | Description |
|
|
22
|
+
| ------ | ------ | ------ |
|
|
23
|
+
| `target` | (...`args`) => `object` | The module class to inspect. |
|
|
23
24
|
|
|
24
25
|
## Returns
|
|
25
26
|
|
|
26
27
|
\| [`ISwaggerFeatureMetadata`](Interface.ISwaggerFeatureMetadata)
|
|
27
28
|
\| `undefined`
|
|
29
|
+
|
|
30
|
+
The feature metadata, or `undefined` if the class was not decorated.
|
|
@@ -5,7 +5,10 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Interface: ISwaggerFeatureMetadata
|
|
7
7
|
|
|
8
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
8
|
+
Defined in: [decorators/SwaggerFeature.ts:35](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L35)
|
|
9
|
+
|
|
10
|
+
Describes a single Swagger feature module that should be exposed as its own
|
|
11
|
+
OpenAPI document via the multi-document setup.
|
|
9
12
|
|
|
10
13
|
## Properties
|
|
11
14
|
|
|
@@ -15,7 +18,9 @@ Defined in: [decorators/SwaggerFeature.ts:16](https://github.com/RueDeRennes/arc
|
|
|
15
18
|
readonly description: string;
|
|
16
19
|
```
|
|
17
20
|
|
|
18
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
21
|
+
Defined in: [decorators/SwaggerFeature.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L49)
|
|
22
|
+
|
|
23
|
+
Short description shown below the title in Swagger UI.
|
|
19
24
|
|
|
20
25
|
***
|
|
21
26
|
|
|
@@ -25,7 +30,10 @@ Defined in: [decorators/SwaggerFeature.ts:19](https://github.com/RueDeRennes/arc
|
|
|
25
30
|
readonly name: string;
|
|
26
31
|
```
|
|
27
32
|
|
|
28
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
33
|
+
Defined in: [decorators/SwaggerFeature.ts:40](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L40)
|
|
34
|
+
|
|
35
|
+
Unique machine-readable identifier for this feature (e.g. `'tip'`, `'user'`).
|
|
36
|
+
Used to deduplicate registrations and to derive the default [path](#path).
|
|
29
37
|
|
|
30
38
|
***
|
|
31
39
|
|
|
@@ -35,7 +43,16 @@ Defined in: [decorators/SwaggerFeature.ts:17](https://github.com/RueDeRennes/arc
|
|
|
35
43
|
readonly optional path?: string;
|
|
36
44
|
```
|
|
37
45
|
|
|
38
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
46
|
+
Defined in: [decorators/SwaggerFeature.ts:69](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L69)
|
|
47
|
+
|
|
48
|
+
URL path segment where the Swagger UI for this feature is served.
|
|
49
|
+
Defaults to `docs/{name}` when omitted.
|
|
50
|
+
|
|
51
|
+
#### Example
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
`'docs/tips'`
|
|
55
|
+
```
|
|
39
56
|
|
|
40
57
|
***
|
|
41
58
|
|
|
@@ -45,7 +62,10 @@ Defined in: [decorators/SwaggerFeature.ts:22](https://github.com/RueDeRennes/arc
|
|
|
45
62
|
readonly tag: string;
|
|
46
63
|
```
|
|
47
64
|
|
|
48
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
65
|
+
Defined in: [decorators/SwaggerFeature.ts:55](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L55)
|
|
66
|
+
|
|
67
|
+
Primary OpenAPI tag applied to every controller that belongs to this feature.
|
|
68
|
+
Controllers are grouped under this tag in the generated document.
|
|
49
69
|
|
|
50
70
|
***
|
|
51
71
|
|
|
@@ -55,7 +75,10 @@ Defined in: [decorators/SwaggerFeature.ts:20](https://github.com/RueDeRennes/arc
|
|
|
55
75
|
readonly tags: string[];
|
|
56
76
|
```
|
|
57
77
|
|
|
58
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
78
|
+
Defined in: [decorators/SwaggerFeature.ts:61](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L61)
|
|
79
|
+
|
|
80
|
+
Additional OpenAPI tags to include in the generated document.
|
|
81
|
+
Useful when a feature module spans multiple controller groups.
|
|
59
82
|
|
|
60
83
|
***
|
|
61
84
|
|
|
@@ -65,4 +88,7 @@ Defined in: [decorators/SwaggerFeature.ts:21](https://github.com/RueDeRennes/arc
|
|
|
65
88
|
readonly title: string;
|
|
66
89
|
```
|
|
67
90
|
|
|
68
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
91
|
+
Defined in: [decorators/SwaggerFeature.ts:46](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L46)
|
|
92
|
+
|
|
93
|
+
Human-readable title displayed in the Swagger UI header
|
|
94
|
+
(e.g. `'My App API - Tips'`).
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Interface: ISwaggerThemeConfig'
|
|
3
|
+
generated: true
|
|
4
|
+
editUrl: false
|
|
5
|
+
---
|
|
6
|
+
# Interface: ISwaggerThemeConfig
|
|
7
|
+
|
|
8
|
+
Defined in: [ISwaggerThemeConfig.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/ISwaggerThemeConfig.ts#L11)
|
|
9
|
+
|
|
10
|
+
Configuration interface for Swagger theme styling.
|
|
11
|
+
Allows customization of primary and secondary branding colors.
|
|
12
|
+
|
|
13
|
+
## Properties
|
|
14
|
+
|
|
15
|
+
### faviconUrl?
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
readonly optional faviconUrl?: string;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Defined in: [ISwaggerThemeConfig.ts:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/ISwaggerThemeConfig.ts#L30)
|
|
22
|
+
|
|
23
|
+
Optional custom favicon URL
|
|
24
|
+
|
|
25
|
+
***
|
|
26
|
+
|
|
27
|
+
### logoUrl?
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
readonly optional logoUrl?: string;
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Defined in: [ISwaggerThemeConfig.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/ISwaggerThemeConfig.ts#L25)
|
|
34
|
+
|
|
35
|
+
Optional custom logo URL
|
|
36
|
+
|
|
37
|
+
***
|
|
38
|
+
|
|
39
|
+
### primary
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
readonly primary: string;
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Defined in: [ISwaggerThemeConfig.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/ISwaggerThemeConfig.ts#L15)
|
|
46
|
+
|
|
47
|
+
Primary branding color (hex format, e.g., '#e6492a')
|
|
48
|
+
|
|
49
|
+
***
|
|
50
|
+
|
|
51
|
+
### secondary
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
readonly secondary: string;
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Defined in: [ISwaggerThemeConfig.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/ISwaggerThemeConfig.ts#L20)
|
|
58
|
+
|
|
59
|
+
Secondary branding color (hex format, e.g., '#c7206a')
|
|
@@ -9,4 +9,7 @@ editUrl: false
|
|
|
9
9
|
const SWAGGER_FEATURE_METADATA_KEY: "swagger:feature" = 'swagger:feature';
|
|
10
10
|
```
|
|
11
11
|
|
|
12
|
-
Defined in: [decorators/SwaggerFeature.ts:
|
|
12
|
+
Defined in: [decorators/SwaggerFeature.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L13)
|
|
13
|
+
|
|
14
|
+
Metadata key used by `Reflect.defineMetadata` to attach [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata)
|
|
15
|
+
to a NestJS module class decorated with [SwaggerFeature](Function.SwaggerFeature).
|
|
@@ -19,7 +19,8 @@ editUrl: false
|
|
|
19
19
|
| Interface | Description |
|
|
20
20
|
| ------ | ------ |
|
|
21
21
|
| [IFeatureSwaggerConfig](Interface.IFeatureSwaggerConfig) | - |
|
|
22
|
-
| [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata) | - |
|
|
22
|
+
| [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata) | Describes a single Swagger feature module that should be exposed as its own OpenAPI document via the multi-document setup. |
|
|
23
|
+
| [ISwaggerThemeConfig](Interface.ISwaggerThemeConfig) | Configuration interface for Swagger theme styling. Allows customization of primary and secondary branding colors. |
|
|
23
24
|
|
|
24
25
|
## Variables
|
|
25
26
|
|
|
@@ -30,13 +31,13 @@ editUrl: false
|
|
|
30
31
|
| [SWAGGER\_CONTACT\_EMAIL](Variable.SWAGGER_CONTACT_EMAIL) | Contact e-mail displayed in the Swagger document. |
|
|
31
32
|
| [SWAGGER\_CONTACT\_NAME](Variable.SWAGGER_CONTACT_NAME) | Contact name displayed in the Swagger document. |
|
|
32
33
|
| [SWAGGER\_CONTACT\_URL](Variable.SWAGGER_CONTACT_URL) | Contact URL displayed in the Swagger document. |
|
|
33
|
-
| [SWAGGER\_FEATURE\_METADATA\_KEY](Variable.SWAGGER_FEATURE_METADATA_KEY) |
|
|
34
|
+
| [SWAGGER\_FEATURE\_METADATA\_KEY](Variable.SWAGGER_FEATURE_METADATA_KEY) | Metadata key used by `Reflect.defineMetadata` to attach [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata) to a NestJS module class decorated with [SwaggerFeature](Function.SwaggerFeature). |
|
|
34
35
|
|
|
35
36
|
## Functions
|
|
36
37
|
|
|
37
38
|
| Function | Description |
|
|
38
39
|
| ------ | ------ |
|
|
39
40
|
| [Api](Function.Api) | Composite Swagger decorator that wraps all NestJS OpenAPI decorators into a single declaration. |
|
|
40
|
-
| [getRegisteredSwaggerFeatures](Function.getRegisteredSwaggerFeatures) |
|
|
41
|
-
| [getSwaggerFeatureMetadata](Function.getSwaggerFeatureMetadata) |
|
|
42
|
-
| [SwaggerFeature](Function.SwaggerFeature) |
|
|
41
|
+
| [getRegisteredSwaggerFeatures](Function.getRegisteredSwaggerFeatures) | Returns all [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata) entries that have been registered via the [SwaggerFeature](Function.SwaggerFeature) decorator, sorted alphabetically by [name](Interface.ISwaggerFeatureMetadata#name). |
|
|
42
|
+
| [getSwaggerFeatureMetadata](Function.getSwaggerFeatureMetadata) | Reads the [ISwaggerFeatureMetadata](Interface.ISwaggerFeatureMetadata) previously attached to a module class by the [SwaggerFeature](Function.SwaggerFeature) decorator. |
|
|
43
|
+
| [SwaggerFeature](Function.SwaggerFeature) | Class decorator that marks a NestJS module as a Swagger feature. |
|
|
@@ -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
|
+
```
|