@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,235 @@
1
+ ---
2
+ title: 'Class: AzureFeatureFlagWriter'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: AzureFeatureFlagWriter
7
+
8
+ Defined in: azure/AzureFeatureFlagWriter.ts:28
9
+
10
+ Azure App Configuration implementation of the [FeatureFlagWriterPort](Class.FeatureFlagWriterPort).
11
+ Uses `@azure/app-configuration` (`AppConfigurationClient`) for CRUD operations
12
+ on feature flags stored in Azure App Configuration.
13
+
14
+ ## Extends
15
+
16
+ - [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort)
17
+
18
+ ## Implements
19
+
20
+ - `OnModuleInit`
21
+
22
+ ## Constructors
23
+
24
+ ### Constructor
25
+
26
+ ```ts
27
+ new AzureFeatureFlagWriter(configService): AzureFeatureFlagWriter;
28
+ ```
29
+
30
+ Defined in: azure/AzureFeatureFlagWriter.ts:39
31
+
32
+ #### Parameters
33
+
34
+ | Parameter | Type |
35
+ | ------ | ------ |
36
+ | `configService` | `ConfigService` |
37
+
38
+ #### Returns
39
+
40
+ `AzureFeatureFlagWriter`
41
+
42
+ #### Overrides
43
+
44
+ [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`constructor`](Class.FeatureFlagWriterPort#constructor)
45
+
46
+ ## Methods
47
+
48
+ ### createFlag()
49
+
50
+ ```ts
51
+ createFlag(definition): Promise<void>;
52
+ ```
53
+
54
+ Defined in: azure/AzureFeatureFlagWriter.ts:150
55
+
56
+ Creates a new feature flag.
57
+
58
+ #### Parameters
59
+
60
+ | Parameter | Type | Description |
61
+ | ------ | ------ | ------ |
62
+ | `definition` | [`IFeatureFlagDefinition`](Interface.IFeatureFlagDefinition) | The flag definition to create. |
63
+
64
+ #### Returns
65
+
66
+ `Promise`\<`void`\>
67
+
68
+ #### Throws
69
+
70
+ If the flag already exists or creation fails.
71
+
72
+ #### Overrides
73
+
74
+ [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`createFlag`](Class.FeatureFlagWriterPort#createflag)
75
+
76
+ ***
77
+
78
+ ### deleteFlag()
79
+
80
+ ```ts
81
+ deleteFlag(key): Promise<void>;
82
+ ```
83
+
84
+ Defined in: azure/AzureFeatureFlagWriter.ts:218
85
+
86
+ Deletes a feature flag.
87
+
88
+ #### Parameters
89
+
90
+ | Parameter | Type | Description |
91
+ | ------ | ------ | ------ |
92
+ | `key` | `string` | The unique key of the flag to delete. |
93
+
94
+ #### Returns
95
+
96
+ `Promise`\<`void`\>
97
+
98
+ #### Throws
99
+
100
+ If the deletion fails.
101
+
102
+ #### Overrides
103
+
104
+ [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`deleteFlag`](Class.FeatureFlagWriterPort#deleteflag)
105
+
106
+ ***
107
+
108
+ ### getFlag()
109
+
110
+ ```ts
111
+ getFlag(key): Promise<
112
+ | IFeatureFlagDefinition
113
+ | undefined>;
114
+ ```
115
+
116
+ Defined in: azure/AzureFeatureFlagWriter.ts:81
117
+
118
+ Returns a single feature flag definition by key.
119
+
120
+ #### Parameters
121
+
122
+ | Parameter | Type | Description |
123
+ | ------ | ------ | ------ |
124
+ | `key` | `string` | The unique key identifying the feature flag. |
125
+
126
+ #### Returns
127
+
128
+ `Promise`\<
129
+ \| [`IFeatureFlagDefinition`](Interface.IFeatureFlagDefinition)
130
+ \| `undefined`\>
131
+
132
+ The flag definition, or `undefined` if not found.
133
+
134
+ #### Overrides
135
+
136
+ [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`getFlag`](Class.FeatureFlagWriterPort#getflag)
137
+
138
+ ***
139
+
140
+ ### listFlags()
141
+
142
+ ```ts
143
+ listFlags(): Promise<readonly IFeatureFlagDefinition[]>;
144
+ ```
145
+
146
+ Defined in: azure/AzureFeatureFlagWriter.ts:115
147
+
148
+ Returns all feature flag definitions managed by the provider.
149
+
150
+ #### Returns
151
+
152
+ `Promise`\<readonly [`IFeatureFlagDefinition`](Interface.IFeatureFlagDefinition)[]\>
153
+
154
+ Array of flag definitions.
155
+
156
+ #### Overrides
157
+
158
+ [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`listFlags`](Class.FeatureFlagWriterPort#listflags)
159
+
160
+ ***
161
+
162
+ ### onModuleInit()
163
+
164
+ ```ts
165
+ onModuleInit(): Promise<void>;
166
+ ```
167
+
168
+ Defined in: azure/AzureFeatureFlagWriter.ts:53
169
+
170
+ Initializes the Azure App Configuration management client.
171
+
172
+ #### Returns
173
+
174
+ `Promise`\<`void`\>
175
+
176
+ #### Implementation of
177
+
178
+ ```ts
179
+ OnModuleInit.onModuleInit
180
+ ```
181
+
182
+ ***
183
+
184
+ ### ping()
185
+
186
+ ```ts
187
+ ping(): Promise<boolean>;
188
+ ```
189
+
190
+ Defined in: azure/AzureFeatureFlagWriter.ts:237
191
+
192
+ Lightweight connectivity check for the writer provider.
193
+ Defaults to `true` if not overridden.
194
+
195
+ #### Returns
196
+
197
+ `Promise`\<`boolean`\>
198
+
199
+ `true` if the provider is reachable.
200
+
201
+ #### Overrides
202
+
203
+ [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`ping`](Class.FeatureFlagWriterPort#ping)
204
+
205
+ ***
206
+
207
+ ### updateFlag()
208
+
209
+ ```ts
210
+ updateFlag(key, updates): Promise<void>;
211
+ ```
212
+
213
+ Defined in: azure/AzureFeatureFlagWriter.ts:177
214
+
215
+ Updates an existing feature flag.
216
+ Only the fields present in the partial definition are updated.
217
+
218
+ #### Parameters
219
+
220
+ | Parameter | Type | Description |
221
+ | ------ | ------ | ------ |
222
+ | `key` | `string` | The unique key of the flag to update. |
223
+ | `updates` | `Partial`\<`Omit`\<[`IFeatureFlagDefinition`](Interface.IFeatureFlagDefinition), `"key"`\>\> | Partial definition with the fields to update. |
224
+
225
+ #### Returns
226
+
227
+ `Promise`\<`void`\>
228
+
229
+ #### Throws
230
+
231
+ If the flag does not exist or the update fails.
232
+
233
+ #### Overrides
234
+
235
+ [`FeatureFlagWriterPort`](Class.FeatureFlagWriterPort).[`updateFlag`](Class.FeatureFlagWriterPort#updateflag)
@@ -0,0 +1,65 @@
1
+ ---
2
+ title: 'Class: FeatureFlagError'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: FeatureFlagError
7
+
8
+ Defined in: errors/FeatureFlagError.ts:6
9
+
10
+ Domain error thrown when a feature flag operation fails.
11
+
12
+ ## Extends
13
+
14
+ - `Error`
15
+
16
+ ## Constructors
17
+
18
+ ### Constructor
19
+
20
+ ```ts
21
+ new FeatureFlagError(
22
+ provider,
23
+ message,
24
+ cause?): FeatureFlagError;
25
+ ```
26
+
27
+ Defined in: errors/FeatureFlagError.ts:16
28
+
29
+ #### Parameters
30
+
31
+ | Parameter | Type |
32
+ | ------ | ------ |
33
+ | `provider` | `string` |
34
+ | `message` | `string` |
35
+ | `cause?` | `unknown` |
36
+
37
+ #### Returns
38
+
39
+ `FeatureFlagError`
40
+
41
+ #### Overrides
42
+
43
+ ```ts
44
+ Error.constructor
45
+ ```
46
+
47
+ ## Properties
48
+
49
+ ### code
50
+
51
+ ```ts
52
+ readonly code: "FEATURE_FLAG" = 'FEATURE_FLAG';
53
+ ```
54
+
55
+ Defined in: errors/FeatureFlagError.ts:9
56
+
57
+ ***
58
+
59
+ ### provider
60
+
61
+ ```ts
62
+ readonly provider: string;
63
+ ```
64
+
65
+ Defined in: errors/FeatureFlagError.ts:10
@@ -0,0 +1,68 @@
1
+ ---
2
+ title: 'Class: FeatureFlagGuard'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: FeatureFlagGuard
7
+
8
+ Defined in: guards/FeatureFlagGuard.ts:17
9
+
10
+ Guard that checks if a feature flag is enabled before allowing access to a route.
11
+ Use the [FeatureFlag](Function.FeatureFlag) decorator to specify which flag to check.
12
+
13
+ ## Implements
14
+
15
+ - `CanActivate`
16
+
17
+ ## Constructors
18
+
19
+ ### Constructor
20
+
21
+ ```ts
22
+ new FeatureFlagGuard(featureFlagReader, reflector): FeatureFlagGuard;
23
+ ```
24
+
25
+ Defined in: guards/FeatureFlagGuard.ts:35
26
+
27
+ Constructs a new instance of the `FeatureFlagGuard` class.
28
+
29
+ #### Parameters
30
+
31
+ | Parameter | Type | Description |
32
+ | ------ | ------ | ------ |
33
+ | `featureFlagReader` | [`FeatureFlagReaderPort`](Class.FeatureFlagReaderPort) | The feature flag reader port. |
34
+ | `reflector` | `Reflector` | The NestJS reflector. |
35
+
36
+ #### Returns
37
+
38
+ `FeatureFlagGuard`
39
+
40
+ ## Methods
41
+
42
+ ### canActivate()
43
+
44
+ ```ts
45
+ canActivate(context): Promise<boolean>;
46
+ ```
47
+
48
+ Defined in: guards/FeatureFlagGuard.ts:51
49
+
50
+ Determines whether the guarded feature flag is enabled.
51
+
52
+ #### Parameters
53
+
54
+ | Parameter | Type | Description |
55
+ | ------ | ------ | ------ |
56
+ | `context` | `ExecutionContext` | The execution context. |
57
+
58
+ #### Returns
59
+
60
+ `Promise`\<`boolean`\>
61
+
62
+ `true` when the feature flag is enabled and access is allowed.
63
+
64
+ #### Implementation of
65
+
66
+ ```ts
67
+ CanActivate.canActivate
68
+ ```
@@ -0,0 +1,49 @@
1
+ ---
2
+ title: 'Class: FeatureFlagModule'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Class: FeatureFlagModule
7
+
8
+ Defined in: FeatureFlagModule.ts:21
9
+
10
+ NestJS module providing feature flag infrastructure.
11
+ Exposes a configurable feature flag reader and a route guard.
12
+ Optionally exposes a writer port for CRUD operations when `featureFlagWriter` is provided.
13
+ The specific provider (Azure App Configuration, Vercel Edge Config) is selected via the options.
14
+
15
+ ## Constructors
16
+
17
+ ### Constructor
18
+
19
+ ```ts
20
+ new FeatureFlagModule(): FeatureFlagModule;
21
+ ```
22
+
23
+ #### Returns
24
+
25
+ `FeatureFlagModule`
26
+
27
+ ## Methods
28
+
29
+ ### register()
30
+
31
+ ```ts
32
+ static register(options): DynamicModule;
33
+ ```
34
+
35
+ Defined in: FeatureFlagModule.ts:31
36
+
37
+ Configures the module with the specified options.
38
+
39
+ #### Parameters
40
+
41
+ | Parameter | Type | Description |
42
+ | ------ | ------ | ------ |
43
+ | `options` | [`IFeatureFlagModuleOptions`](Interface.IFeatureFlagModuleOptions) | The module configuration options. |
44
+
45
+ #### Returns
46
+
47
+ `DynamicModule`
48
+
49
+ Dynamic module definition.
@@ -0,0 +1,150 @@
1
+ ---
2
+ title: 'Abstract Class: FeatureFlagReaderPort'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+ # Abstract Class: FeatureFlagReaderPort
7
+
8
+ Defined in: contracts/FeatureFlagReaderPort.ts:15
9
+
10
+ Abstract port for feature flag reader operations.
11
+ Each provider (Azure App Configuration, Vercel Edge Config) must implement this contract
12
+ so that the consuming application can switch providers without changing business logic.
13
+
14
+ ## Extended by
15
+
16
+ - [`AzureFeatureFlagReader`](Class.AzureFeatureFlagReader)
17
+ - [`VercelFeatureFlagReader`](Class.VercelFeatureFlagReader)
18
+
19
+ ## Constructors
20
+
21
+ ### Constructor
22
+
23
+ ```ts
24
+ new FeatureFlagReaderPort(): FeatureFlagReaderPort;
25
+ ```
26
+
27
+ #### Returns
28
+
29
+ `FeatureFlagReaderPort`
30
+
31
+ ## Methods
32
+
33
+ ### getAllFlags()
34
+
35
+ ```ts
36
+ abstract getAllFlags(context?): Promise<readonly IFeatureFlagEvaluation[]>;
37
+ ```
38
+
39
+ Defined in: contracts/FeatureFlagReaderPort.ts:46
40
+
41
+ Returns all known feature flags with their current evaluation.
42
+
43
+ #### Parameters
44
+
45
+ | Parameter | Type | Description |
46
+ | ------ | ------ | ------ |
47
+ | `context?` | [`IFeatureFlagContext`](Interface.IFeatureFlagContext) | Optional evaluation context for targeting and segmentation. |
48
+
49
+ #### Returns
50
+
51
+ `Promise`\<readonly [`IFeatureFlagEvaluation`](Interface.IFeatureFlagEvaluation)[]\>
52
+
53
+ Array of evaluated feature flags.
54
+
55
+ ***
56
+
57
+ ### getVariant()
58
+
59
+ ```ts
60
+ abstract getVariant<T>(
61
+ key,
62
+ defaultValue,
63
+ context?): Promise<T>;
64
+ ```
65
+
66
+ Defined in: contracts/FeatureFlagReaderPort.ts:37
67
+
68
+ Returns the variant value of a feature flag for multivariate flags and A/B testing.
69
+
70
+ #### Type Parameters
71
+
72
+ | Type Parameter | Default type |
73
+ | ------ | ------ |
74
+ | `T` | `unknown` |
75
+
76
+ #### Parameters
77
+
78
+ | Parameter | Type | Description |
79
+ | ------ | ------ | ------ |
80
+ | `key` | `string` | The unique key identifying the feature flag. |
81
+ | `defaultValue` | `T` | The default value to return if the flag is not found. |
82
+ | `context?` | [`IFeatureFlagContext`](Interface.IFeatureFlagContext) | Optional evaluation context for targeting and segmentation. |
83
+
84
+ #### Returns
85
+
86
+ `Promise`\<`T`\>
87
+
88
+ The variant value of the feature flag.
89
+
90
+ ***
91
+
92
+ ### isEnabled()
93
+
94
+ ```ts
95
+ abstract isEnabled(key, context?): Promise<boolean>;
96
+ ```
97
+
98
+ Defined in: contracts/FeatureFlagReaderPort.ts:26
99
+
100
+ Evaluates whether a feature flag is enabled.
101
+
102
+ #### Parameters
103
+
104
+ | Parameter | Type | Description |
105
+ | ------ | ------ | ------ |
106
+ | `key` | `string` | The unique key identifying the feature flag. |
107
+ | `context?` | [`IFeatureFlagContext`](Interface.IFeatureFlagContext) | Optional evaluation context for targeting and segmentation. |
108
+
109
+ #### Returns
110
+
111
+ `Promise`\<`boolean`\>
112
+
113
+ `true` if the feature flag is enabled.
114
+
115
+ ***
116
+
117
+ ### ping()
118
+
119
+ ```ts
120
+ ping(): Promise<boolean>;
121
+ ```
122
+
123
+ Defined in: contracts/FeatureFlagReaderPort.ts:64
124
+
125
+ Lightweight connectivity check for the feature flag provider.
126
+ Override in adapters to perform a real API call.
127
+ Defaults to `true` if not overridden.
128
+
129
+ #### Returns
130
+
131
+ `Promise`\<`boolean`\>
132
+
133
+ `true` if the provider is reachable.
134
+
135
+ ***
136
+
137
+ ### refresh()
138
+
139
+ ```ts
140
+ abstract refresh(): Promise<void>;
141
+ ```
142
+
143
+ Defined in: contracts/FeatureFlagReaderPort.ts:54
144
+
145
+ Refreshes the flag state from the remote provider.
146
+ Implementations should reload configuration from the upstream source.
147
+
148
+ #### Returns
149
+
150
+ `Promise`\<`void`\>