@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.
Files changed (43) hide show
  1. package/data/guides/feature-flags.md +358 -0
  2. package/data/guides/index.md +1 -0
  3. package/data/packages/platform-feature-flags/api/Class.AzureFeatureFlagReader.md +230 -0
  4. package/data/packages/platform-feature-flags/api/Class.AzureFeatureFlagWriter.md +235 -0
  5. package/data/packages/platform-feature-flags/api/Class.FeatureFlagError.md +65 -0
  6. package/data/packages/platform-feature-flags/api/Class.FeatureFlagGuard.md +68 -0
  7. package/data/packages/platform-feature-flags/api/Class.FeatureFlagModule.md +49 -0
  8. package/data/packages/platform-feature-flags/api/Class.FeatureFlagReaderPort.md +150 -0
  9. package/data/packages/platform-feature-flags/api/Class.FeatureFlagWriterPort.md +180 -0
  10. package/data/packages/platform-feature-flags/api/Class.VercelFeatureFlagReader.md +223 -0
  11. package/data/packages/platform-feature-flags/api/Class.VercelFeatureFlagWriter.md +240 -0
  12. package/data/packages/platform-feature-flags/api/Function.FeatureFlag.md +25 -0
  13. package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagContext.md +46 -0
  14. package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagDefinition.md +70 -0
  15. package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagEvaluation.md +46 -0
  16. package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagModuleOptions.md +61 -0
  17. package/data/packages/platform-feature-flags/api/Variable.AZURE_APPCONFIG_CONNECTION_STRING.md +14 -0
  18. package/data/packages/platform-feature-flags/api/Variable.AZURE_APPCONFIG_ENDPOINT.md +14 -0
  19. package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_CONFIG_ENTRIES.md +14 -0
  20. package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_KEY_FILTER.md +14 -0
  21. package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_REFRESH_INTERVAL.md +14 -0
  22. package/data/packages/platform-feature-flags/api/Variable.FEATURE_FLAG_KEY_METADATA.md +14 -0
  23. package/data/packages/platform-feature-flags/api/Variable.PLATFORM_FEATURE_FLAGS_CONFIG_ENTRIES.md +14 -0
  24. package/data/packages/platform-feature-flags/api/Variable.VERCEL_API_TOKEN.md +14 -0
  25. package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG.md +14 -0
  26. package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG_ID.md +14 -0
  27. package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG_TOKEN.md +14 -0
  28. package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_CONFIG_ENTRIES.md +14 -0
  29. package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_PREFIX.md +14 -0
  30. package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_WRITER_CONFIG_ENTRIES.md +14 -0
  31. package/data/packages/platform-feature-flags/api/Variable.VERCEL_TEAM_ID.md +14 -0
  32. package/data/packages/platform-feature-flags/api/index.md +55 -0
  33. package/data/packages/platform-openapi/api/Class.SwaggerFeatureDiscovery.md +54 -3
  34. package/data/packages/platform-openapi/api/Class.SwaggerMultiDocumentService.md +7 -5
  35. package/data/packages/platform-openapi/api/Class.SwaggerTheme.md +24 -7
  36. package/data/packages/platform-openapi/api/Function.SwaggerFeature.md +18 -6
  37. package/data/packages/platform-openapi/api/Function.getRegisteredSwaggerFeatures.md +9 -2
  38. package/data/packages/platform-openapi/api/Function.getSwaggerFeatureMetadata.md +8 -5
  39. package/data/packages/platform-openapi/api/Interface.ISwaggerFeatureMetadata.md +33 -7
  40. package/data/packages/platform-openapi/api/Interface.ISwaggerThemeConfig.md +59 -0
  41. package/data/packages/platform-openapi/api/Variable.SWAGGER_FEATURE_METADATA_KEY.md +4 -1
  42. package/data/packages/platform-openapi/api/index.md +6 -5
  43. 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:92](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L92)
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
- Decorator to register a module as a Swagger feature.
15
- This allows the SwaggerMultiDocumentService to automatically discover and create documentation.
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) | The feature configuration for Swagger documentation |
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:120](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L120)
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
- Retrieves all Swagger features that have been registered through the decorator.
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:111](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L111)
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
- Get the Swagger feature metadata from a module class
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:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L16)
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:19](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L19)
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:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L17)
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:22](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L22)
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:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L20)
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:21](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L21)
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:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L18)
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:7](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/decorators/SwaggerFeature.ts#L7)
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) | Retrieves all Swagger features that have been registered through the decorator. |
41
- | [getSwaggerFeatureMetadata](Function.getSwaggerFeatureMetadata) | Get the Swagger feature metadata from a module class |
42
- | [SwaggerFeature](Function.SwaggerFeature) | Decorator to register a module as a Swagger feature. This allows the SwaggerMultiDocumentService to automatically discover and create documentation. |
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.30",
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",