@breadstone/archipel-mcp 0.0.30 → 0.0.32
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/feature-flags.md +358 -0
- package/data/guides/index.md +1 -0
- package/data/packages/platform-feature-flags/api/Class.AzureFeatureFlagReader.md +230 -0
- package/data/packages/platform-feature-flags/api/Class.AzureFeatureFlagWriter.md +235 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagError.md +65 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagGuard.md +68 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagModule.md +49 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagReaderPort.md +150 -0
- package/data/packages/platform-feature-flags/api/Class.FeatureFlagWriterPort.md +180 -0
- package/data/packages/platform-feature-flags/api/Class.VercelFeatureFlagReader.md +223 -0
- package/data/packages/platform-feature-flags/api/Class.VercelFeatureFlagWriter.md +240 -0
- package/data/packages/platform-feature-flags/api/Function.FeatureFlag.md +25 -0
- package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagContext.md +46 -0
- package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagDefinition.md +70 -0
- package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagEvaluation.md +46 -0
- package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagModuleOptions.md +61 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_APPCONFIG_CONNECTION_STRING.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_APPCONFIG_ENDPOINT.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_KEY_FILTER.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_REFRESH_INTERVAL.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.FEATURE_FLAG_KEY_METADATA.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.PLATFORM_FEATURE_FLAGS_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_API_TOKEN.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG_ID.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG_TOKEN.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_PREFIX.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_WRITER_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-feature-flags/api/Variable.VERCEL_TEAM_ID.md +14 -0
- package/data/packages/platform-feature-flags/api/index.md +55 -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/package.json +1 -1
|
@@ -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.32",
|
|
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",
|