@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
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: 'Interface: IFeatureFlagDefinition'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Interface: IFeatureFlagDefinition
7
+
8
+ Defined in: models/IFeatureFlagDefinition.ts:6
9
+
10
+ Represents a full feature flag definition for admin operations (create / update / read).
11
+
12
+ ## Properties
13
+
14
+ ### description?
15
+
16
+ ```ts
17
+ readonly optional description?: string;
18
+ ```
19
+
20
+ Defined in: models/IFeatureFlagDefinition.ts:14
21
+
22
+ Optional human-readable description.
23
+
24
+ ***
25
+
26
+ ### enabled
27
+
28
+ ```ts
29
+ readonly enabled: boolean;
30
+ ```
31
+
32
+ Defined in: models/IFeatureFlagDefinition.ts:11
33
+
34
+ Whether the feature flag is currently enabled.
35
+
36
+ ***
37
+
38
+ ### key
39
+
40
+ ```ts
41
+ readonly key: string;
42
+ ```
43
+
44
+ Defined in: models/IFeatureFlagDefinition.ts:8
45
+
46
+ Unique key identifying the feature flag.
47
+
48
+ ***
49
+
50
+ ### label?
51
+
52
+ ```ts
53
+ readonly optional label?: string;
54
+ ```
55
+
56
+ Defined in: models/IFeatureFlagDefinition.ts:17
57
+
58
+ Optional label / environment tag (e.g. `"production"`, `"staging"`).
59
+
60
+ ***
61
+
62
+ ### variant?
63
+
64
+ ```ts
65
+ readonly optional variant?: unknown;
66
+ ```
67
+
68
+ Defined in: models/IFeatureFlagDefinition.ts:20
69
+
70
+ Optional variant value for multivariate flags.
@@ -0,0 +1,46 @@
1
+ ---
2
+ title: 'Interface: IFeatureFlagEvaluation'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Interface: IFeatureFlagEvaluation
7
+
8
+ Defined in: models/IFeatureFlagEvaluation.ts:6
9
+
10
+ Result of evaluating a single feature flag.
11
+
12
+ ## Properties
13
+
14
+ ### enabled
15
+
16
+ ```ts
17
+ readonly enabled: boolean;
18
+ ```
19
+
20
+ Defined in: models/IFeatureFlagEvaluation.ts:11
21
+
22
+ Whether the feature flag is currently enabled.
23
+
24
+ ***
25
+
26
+ ### key
27
+
28
+ ```ts
29
+ readonly key: string;
30
+ ```
31
+
32
+ Defined in: models/IFeatureFlagEvaluation.ts:8
33
+
34
+ The unique key identifying the feature flag.
35
+
36
+ ***
37
+
38
+ ### variant?
39
+
40
+ ```ts
41
+ readonly optional variant?: unknown;
42
+ ```
43
+
44
+ Defined in: models/IFeatureFlagEvaluation.ts:14
45
+
46
+ Optional variant value for multivariate flags / A/B testing.
@@ -0,0 +1,61 @@
1
+ ---
2
+ title: 'Interface: IFeatureFlagModuleOptions'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Interface: IFeatureFlagModuleOptions
7
+
8
+ Defined in: models/IFeatureFlagModuleOptions.ts:15
9
+
10
+ Configuration options for the [FeatureFlagModule](Class.FeatureFlagModule).
11
+
12
+ ## Properties
13
+
14
+ ### configEntries?
15
+
16
+ ```ts
17
+ readonly optional configEntries?: readonly Omit<IConfigRegistryEntry<unknown>, "module">[];
18
+ ```
19
+
20
+ Defined in: models/IFeatureFlagModuleOptions.ts:32
21
+
22
+ Provider-specific configuration entries to register with the config module.
23
+
24
+ ***
25
+
26
+ ### featureFlagReader
27
+
28
+ ```ts
29
+ readonly featureFlagReader: Type<FeatureFlagReaderPort>;
30
+ ```
31
+
32
+ Defined in: models/IFeatureFlagModuleOptions.ts:20
33
+
34
+ Concrete implementation of the [FeatureFlagReaderPort](Class.FeatureFlagReaderPort).
35
+ For example, `AzureFeatureFlagReader` or `VercelFeatureFlagReader`.
36
+
37
+ ***
38
+
39
+ ### featureFlagWriter?
40
+
41
+ ```ts
42
+ readonly optional featureFlagWriter?: Type<FeatureFlagWriterPort>;
43
+ ```
44
+
45
+ Defined in: models/IFeatureFlagModuleOptions.ts:27
46
+
47
+ Optional concrete implementation of the [FeatureFlagWriterPort](Class.FeatureFlagWriterPort).
48
+ For example, `AzureFeatureFlagWriter` or `VercelFeatureFlagWriter`.
49
+ When provided the module will also export the writer port for CRUD operations.
50
+
51
+ ***
52
+
53
+ ### isGlobal?
54
+
55
+ ```ts
56
+ readonly optional isGlobal?: boolean;
57
+ ```
58
+
59
+ Defined in: models/IFeatureFlagModuleOptions.ts:37
60
+
61
+ When `true` the module is registered globally.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AZURE\_APPCONFIG\_CONNECTION\_STRING'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AZURE\_APPCONFIG\_CONNECTION\_STRING
7
+
8
+ ```ts
9
+ const AZURE_APPCONFIG_CONNECTION_STRING: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: azure/env.ts:15
13
+
14
+ Azure App Configuration connection string. Alternative to endpoint + Entra ID.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AZURE\_APPCONFIG\_ENDPOINT'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AZURE\_APPCONFIG\_ENDPOINT
7
+
8
+ ```ts
9
+ const AZURE_APPCONFIG_ENDPOINT: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: azure/env.ts:12
13
+
14
+ Azure App Configuration endpoint URL. Required when using Entra ID authentication.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AZURE\_FEATURE\_FLAG\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AZURE\_FEATURE\_FLAG\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const AZURE_FEATURE_FLAG_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: azure/env.ts:28
13
+
14
+ Configuration entries required by the Azure feature flag provider.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AZURE\_FEATURE\_FLAG\_KEY\_FILTER'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AZURE\_FEATURE\_FLAG\_KEY\_FILTER
7
+
8
+ ```ts
9
+ const AZURE_FEATURE_FLAG_KEY_FILTER: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: azure/env.ts:21
13
+
14
+ Key filter for selecting feature flags. Defaults to `*` (all).
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: AZURE\_FEATURE\_FLAG\_REFRESH\_INTERVAL'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: AZURE\_FEATURE\_FLAG\_REFRESH\_INTERVAL
7
+
8
+ ```ts
9
+ const AZURE_FEATURE_FLAG_REFRESH_INTERVAL: IConfigKey<number>;
10
+ ```
11
+
12
+ Defined in: azure/env.ts:18
13
+
14
+ Refresh interval in milliseconds for feature flag state. Defaults to 30000.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: FEATURE\_FLAG\_KEY\_METADATA'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: FEATURE\_FLAG\_KEY\_METADATA
7
+
8
+ ```ts
9
+ const FEATURE_FLAG_KEY_METADATA: "feature_flag_key" = 'feature_flag_key';
10
+ ```
11
+
12
+ Defined in: decorators/FeatureFlag.ts:8
13
+
14
+ Metadata key used to store the feature flag key on route handlers.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: PLATFORM\_FEATURE\_FLAGS\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: PLATFORM\_FEATURE\_FLAGS\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const PLATFORM_FEATURE_FLAGS_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: env.ts:37
13
+
14
+ All configuration entries required by the platform-feature-flags library across all providers.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_API\_TOKEN'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_API\_TOKEN
7
+
8
+ ```ts
9
+ const VERCEL_API_TOKEN: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: vercel/env.ts:25
13
+
14
+ Vercel API token with write access to Edge Config. Required for write operations.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_EDGE\_CONFIG'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_EDGE\_CONFIG
7
+
8
+ ```ts
9
+ const VERCEL_EDGE_CONFIG: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: vercel/env.ts:12
13
+
14
+ Vercel Edge Config connection string (includes store ID and token).
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_EDGE\_CONFIG\_ID'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_EDGE\_CONFIG\_ID
7
+
8
+ ```ts
9
+ const VERCEL_EDGE_CONFIG_ID: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: vercel/env.ts:28
13
+
14
+ Vercel Edge Config store ID. Required for write operations.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_EDGE\_CONFIG\_TOKEN'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_EDGE\_CONFIG\_TOKEN
7
+
8
+ ```ts
9
+ const VERCEL_EDGE_CONFIG_TOKEN: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: vercel/env.ts:15
13
+
14
+ Optional: Vercel Edge Config read access token (when not embedded in connection string).
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_FEATURE\_FLAG\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_FEATURE\_FLAG\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const VERCEL_FEATURE_FLAG_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: vercel/env.ts:38
13
+
14
+ Configuration entries required by the Vercel feature flag provider (read-only).
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_FEATURE\_FLAG\_PREFIX'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_FEATURE\_FLAG\_PREFIX
7
+
8
+ ```ts
9
+ const VERCEL_FEATURE_FLAG_PREFIX: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: vercel/env.ts:18
13
+
14
+ Optional: Prefix for feature flag keys in Edge Config. Defaults to `featureFlags`.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_FEATURE\_FLAG\_WRITER\_CONFIG\_ENTRIES'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_FEATURE\_FLAG\_WRITER\_CONFIG\_ENTRIES
7
+
8
+ ```ts
9
+ const VERCEL_FEATURE_FLAG_WRITER_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
+ ```
11
+
12
+ Defined in: vercel/env.ts:57
13
+
14
+ Configuration entries required by the Vercel feature flag writer provider.
@@ -0,0 +1,14 @@
1
+ ---
2
+ title: 'Variable: VERCEL\_TEAM\_ID'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Variable: VERCEL\_TEAM\_ID
7
+
8
+ ```ts
9
+ const VERCEL_TEAM_ID: IConfigKey<string>;
10
+ ```
11
+
12
+ Defined in: vercel/env.ts:31
13
+
14
+ Optional: Vercel Team ID for team-scoped API calls.
@@ -0,0 +1,55 @@
1
+ ---
2
+ title: '@breadstone/archipel-platform-feature-flags'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # @breadstone/archipel-platform-feature-flags
7
+
8
+ ## Classes
9
+
10
+ | Class | Description |
11
+ | ------ | ------ |
12
+ | [AzureFeatureFlagReader](Class.AzureFeatureFlagReader) | Azure App Configuration implementation of the [FeatureFlagReaderPort](Class.FeatureFlagReaderPort). Uses `@azure/app-configuration-provider` for connecting to Azure App Configuration and `@microsoft/feature-management` for evaluating feature flags. |
13
+ | [AzureFeatureFlagWriter](Class.AzureFeatureFlagWriter) | Azure App Configuration implementation of the [FeatureFlagWriterPort](Class.FeatureFlagWriterPort). Uses `@azure/app-configuration` (`AppConfigurationClient`) for CRUD operations on feature flags stored in Azure App Configuration. |
14
+ | [FeatureFlagError](Class.FeatureFlagError) | Domain error thrown when a feature flag operation fails. |
15
+ | [FeatureFlagGuard](Class.FeatureFlagGuard) | Guard that checks if a feature flag is enabled before allowing access to a route. Use the [FeatureFlag](Function.FeatureFlag) decorator to specify which flag to check. |
16
+ | [FeatureFlagModule](Class.FeatureFlagModule) | NestJS module providing feature flag infrastructure. Exposes a configurable feature flag reader and a route guard. Optionally exposes a writer port for CRUD operations when `featureFlagWriter` is provided. The specific provider (Azure App Configuration, Vercel Edge Config) is selected via the options. |
17
+ | [FeatureFlagReaderPort](Class.FeatureFlagReaderPort) | Abstract port for feature flag reader operations. Each provider (Azure App Configuration, Vercel Edge Config) must implement this contract so that the consuming application can switch providers without changing business logic. |
18
+ | [FeatureFlagWriterPort](Class.FeatureFlagWriterPort) | Abstract port for feature flag writer operations (CRUD). Each provider (Azure App Configuration, Vercel Edge Config) must implement this contract so that the admin UI backend can manage flags without being coupled to a specific provider. |
19
+ | [VercelFeatureFlagReader](Class.VercelFeatureFlagReader) | Vercel Edge Config implementation of the [FeatureFlagReaderPort](Class.FeatureFlagReaderPort). Uses `@vercel/edge-config` for reading feature flag state from a Vercel Edge Config store. |
20
+ | [VercelFeatureFlagWriter](Class.VercelFeatureFlagWriter) | Vercel Edge Config implementation of the [FeatureFlagWriterPort](Class.FeatureFlagWriterPort). Uses the Vercel REST API to manage feature flags stored in a Vercel Edge Config store. |
21
+
22
+ ## Interfaces
23
+
24
+ | Interface | Description |
25
+ | ------ | ------ |
26
+ | [IFeatureFlagContext](Interface.IFeatureFlagContext) | Context passed to feature flag evaluation for targeting and segmentation. |
27
+ | [IFeatureFlagDefinition](Interface.IFeatureFlagDefinition) | Represents a full feature flag definition for admin operations (create / update / read). |
28
+ | [IFeatureFlagEvaluation](Interface.IFeatureFlagEvaluation) | Result of evaluating a single feature flag. |
29
+ | [IFeatureFlagModuleOptions](Interface.IFeatureFlagModuleOptions) | Configuration options for the [FeatureFlagModule](Class.FeatureFlagModule). |
30
+
31
+ ## Variables
32
+
33
+ | Variable | Description |
34
+ | ------ | ------ |
35
+ | [AZURE\_APPCONFIG\_CONNECTION\_STRING](Variable.AZURE_APPCONFIG_CONNECTION_STRING) | Azure App Configuration connection string. Alternative to endpoint + Entra ID. |
36
+ | [AZURE\_APPCONFIG\_ENDPOINT](Variable.AZURE_APPCONFIG_ENDPOINT) | Azure App Configuration endpoint URL. Required when using Entra ID authentication. |
37
+ | [AZURE\_FEATURE\_FLAG\_CONFIG\_ENTRIES](Variable.AZURE_FEATURE_FLAG_CONFIG_ENTRIES) | Configuration entries required by the Azure feature flag provider. |
38
+ | [AZURE\_FEATURE\_FLAG\_KEY\_FILTER](Variable.AZURE_FEATURE_FLAG_KEY_FILTER) | Key filter for selecting feature flags. Defaults to `*` (all). |
39
+ | [AZURE\_FEATURE\_FLAG\_REFRESH\_INTERVAL](Variable.AZURE_FEATURE_FLAG_REFRESH_INTERVAL) | Refresh interval in milliseconds for feature flag state. Defaults to 30000. |
40
+ | [FEATURE\_FLAG\_KEY\_METADATA](Variable.FEATURE_FLAG_KEY_METADATA) | Metadata key used to store the feature flag key on route handlers. |
41
+ | [PLATFORM\_FEATURE\_FLAGS\_CONFIG\_ENTRIES](Variable.PLATFORM_FEATURE_FLAGS_CONFIG_ENTRIES) | All configuration entries required by the platform-feature-flags library across all providers. |
42
+ | [VERCEL\_API\_TOKEN](Variable.VERCEL_API_TOKEN) | Vercel API token with write access to Edge Config. Required for write operations. |
43
+ | [VERCEL\_EDGE\_CONFIG](Variable.VERCEL_EDGE_CONFIG) | Vercel Edge Config connection string (includes store ID and token). |
44
+ | [VERCEL\_EDGE\_CONFIG\_ID](Variable.VERCEL_EDGE_CONFIG_ID) | Vercel Edge Config store ID. Required for write operations. |
45
+ | [VERCEL\_EDGE\_CONFIG\_TOKEN](Variable.VERCEL_EDGE_CONFIG_TOKEN) | Optional: Vercel Edge Config read access token (when not embedded in connection string). |
46
+ | [VERCEL\_FEATURE\_FLAG\_CONFIG\_ENTRIES](Variable.VERCEL_FEATURE_FLAG_CONFIG_ENTRIES) | Configuration entries required by the Vercel feature flag provider (read-only). |
47
+ | [VERCEL\_FEATURE\_FLAG\_PREFIX](Variable.VERCEL_FEATURE_FLAG_PREFIX) | Optional: Prefix for feature flag keys in Edge Config. Defaults to `featureFlags`. |
48
+ | [VERCEL\_FEATURE\_FLAG\_WRITER\_CONFIG\_ENTRIES](Variable.VERCEL_FEATURE_FLAG_WRITER_CONFIG_ENTRIES) | Configuration entries required by the Vercel feature flag writer provider. |
49
+ | [VERCEL\_TEAM\_ID](Variable.VERCEL_TEAM_ID) | Optional: Vercel Team ID for team-scoped API calls. |
50
+
51
+ ## Functions
52
+
53
+ | Function | Description |
54
+ | ------ | ------ |
55
+ | [FeatureFlag](Function.FeatureFlag) | Decorator to mark endpoints that require a specific feature flag to be enabled. The guard reads this metadata to evaluate the flag before allowing access. |
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: SwaggerFeatureDiscovery
7
7
 
8
- Defined in: [discovery/SwaggerFeatureDiscovery.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L13)
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:45](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L45)
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:23](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/discovery/SwaggerFeatureDiscovery.ts#L23)
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:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L15)
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): SwaggerMultiDocumentService;
21
+ contentTemplateEngine,
22
+ themeConfig?): SwaggerMultiDocumentService;
22
23
  ```
23
24
 
24
- Defined in: [services/SwaggerMultiDocumentService.ts:31](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L31)
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:79](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L79)
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:55](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/services/SwaggerMultiDocumentService.ts#L55)
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:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L14)
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:30](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L30)
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:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-openapi/src/SwaggerTheme.ts#L38)
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