@breadstone/archipel-mcp 0.0.30 → 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/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/package.json +1 -1
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: SwaggerFeatureDiscovery
|
|
7
7
|
|
|
8
|
-
Defined in: [discovery/SwaggerFeatureDiscovery.ts:
|
|
8
|
+
Defined in: [discovery/SwaggerFeatureDiscovery.ts:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L19)
|
|
9
9
|
|
|
10
10
|
Centralizes the discovery of Swagger features declared across backend modules.
|
|
11
11
|
|
|
@@ -29,7 +29,7 @@ new SwaggerFeatureDiscovery(): SwaggerFeatureDiscovery;
|
|
|
29
29
|
registerDefaultFeatures(featureRegistry): this;
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
Defined in: [discovery/SwaggerFeatureDiscovery.ts:
|
|
32
|
+
Defined in: [discovery/SwaggerFeatureDiscovery.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L51)
|
|
33
33
|
|
|
34
34
|
Registers the default composite Swagger documents that aggregate the complete API.
|
|
35
35
|
|
|
@@ -53,7 +53,7 @@ The discovery instance for chaining.
|
|
|
53
53
|
registerDiscoveredFeatures(featureRegistry): this;
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
Defined in: [discovery/SwaggerFeatureDiscovery.ts:
|
|
56
|
+
Defined in: [discovery/SwaggerFeatureDiscovery.ts:29](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L29)
|
|
57
57
|
|
|
58
58
|
Registers all discovered feature modules in the provided Swagger registry.
|
|
59
59
|
|
|
@@ -68,3 +68,54 @@ Registers all discovered feature modules in the provided Swagger registry.
|
|
|
68
68
|
`this`
|
|
69
69
|
|
|
70
70
|
The discovery instance for chaining.
|
|
71
|
+
|
|
72
|
+
***
|
|
73
|
+
|
|
74
|
+
### setupMultiDocumentSwagger()
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
static setupMultiDocumentSwagger(
|
|
78
|
+
app,
|
|
79
|
+
config,
|
|
80
|
+
host,
|
|
81
|
+
resource,
|
|
82
|
+
content,
|
|
83
|
+
themeConfig?): Promise<void>;
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Defined in: [discovery/SwaggerFeatureDiscovery.ts:90](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L90)
|
|
87
|
+
|
|
88
|
+
Auto-discovers and sets up multi-document Swagger in a single call.
|
|
89
|
+
Handles feature discovery, registry setup, and service initialization.
|
|
90
|
+
|
|
91
|
+
#### Parameters
|
|
92
|
+
|
|
93
|
+
| Parameter | Type | Description |
|
|
94
|
+
| ------ | ------ | ------ |
|
|
95
|
+
| `app` | `INestApplication` | The NestJS application instance |
|
|
96
|
+
| `config` | `ConfigService` | Configuration service for reading app settings |
|
|
97
|
+
| `host` | `HostService` | Host service for determining base URL |
|
|
98
|
+
| `resource` | `ResourceManager` | Resource manager for loading theme assets |
|
|
99
|
+
| `content` | `ContentTemplateEngine` | Content template engine for rendering HTML |
|
|
100
|
+
| `themeConfig?` | [`ISwaggerThemeConfig`](Interface.ISwaggerThemeConfig) | Optional theme configuration for branding colors |
|
|
101
|
+
|
|
102
|
+
#### Returns
|
|
103
|
+
|
|
104
|
+
`Promise`\<`void`\>
|
|
105
|
+
|
|
106
|
+
Promise resolving when setup is complete
|
|
107
|
+
|
|
108
|
+
#### Static
|
|
109
|
+
|
|
110
|
+
#### Example
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
await SwaggerFeatureDiscovery.setupMultiDocumentSwagger(
|
|
114
|
+
app,
|
|
115
|
+
config,
|
|
116
|
+
host,
|
|
117
|
+
resource,
|
|
118
|
+
content,
|
|
119
|
+
{ primary: '#0066cc', secondary: '#003d99' }
|
|
120
|
+
);
|
|
121
|
+
```
|
|
@@ -5,7 +5,7 @@ editUrl: false
|
|
|
5
5
|
---
|
|
6
6
|
# Class: SwaggerMultiDocumentService
|
|
7
7
|
|
|
8
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
8
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L16)
|
|
9
9
|
|
|
10
10
|
## Constructors
|
|
11
11
|
|
|
@@ -18,10 +18,11 @@ new SwaggerMultiDocumentService(
|
|
|
18
18
|
hostService,
|
|
19
19
|
featureRegistry,
|
|
20
20
|
resourceManager,
|
|
21
|
-
contentTemplateEngine
|
|
21
|
+
contentTemplateEngine,
|
|
22
|
+
themeConfig?): SwaggerMultiDocumentService;
|
|
22
23
|
```
|
|
23
24
|
|
|
24
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
25
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L32)
|
|
25
26
|
|
|
26
27
|
#### Parameters
|
|
27
28
|
|
|
@@ -33,6 +34,7 @@ Defined in: [services/SwaggerMultiDocumentService.ts:31](https://github.com/RueD
|
|
|
33
34
|
| `featureRegistry` | [`SwaggerFeatureRegistry`](Class.SwaggerFeatureRegistry) |
|
|
34
35
|
| `resourceManager` | `ResourceManager` |
|
|
35
36
|
| `contentTemplateEngine` | `ContentTemplateEngine` |
|
|
37
|
+
| `themeConfig?` | [`ISwaggerThemeConfig`](Interface.ISwaggerThemeConfig) |
|
|
36
38
|
|
|
37
39
|
#### Returns
|
|
38
40
|
|
|
@@ -49,7 +51,7 @@ generateOpenApiDocuments(): {
|
|
|
49
51
|
}[];
|
|
50
52
|
```
|
|
51
53
|
|
|
52
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
54
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:81](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L81)
|
|
53
55
|
|
|
54
56
|
Generates OpenAPI documents for every registered feature without wiring HTTP routes.
|
|
55
57
|
|
|
@@ -68,7 +70,7 @@ Generates OpenAPI documents for every registered feature without wiring HTTP rou
|
|
|
68
70
|
setupMultipleSwaggerDocuments(): Promise<void>;
|
|
69
71
|
```
|
|
70
72
|
|
|
71
|
-
Defined in: [services/SwaggerMultiDocumentService.ts:
|
|
73
|
+
Defined in: [services/SwaggerMultiDocumentService.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L57)
|
|
72
74
|
|
|
73
75
|
Setup multiple Swagger documents for different features
|
|
74
76
|
|
|
@@ -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. |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@breadstone/archipel-mcp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.31",
|
|
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",
|