@breadstone/archipel-mcp 0.0.34 → 0.0.35

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 (61) hide show
  1. package/data/guides/email-delivery.md +42 -22
  2. package/data/guides/email-templates.md +29 -19
  3. package/data/packages/platform-feature-flags/api/Class.AzureFeatureFlagReader.md +9 -9
  4. package/data/packages/platform-feature-flags/api/Class.AzureFeatureFlagWriter.md +9 -9
  5. package/data/packages/platform-feature-flags/api/Class.FeatureFlagError.md +4 -4
  6. package/data/packages/platform-feature-flags/api/Class.FeatureFlagGuard.md +3 -3
  7. package/data/packages/platform-feature-flags/api/Class.FeatureFlagModule.md +2 -2
  8. package/data/packages/platform-feature-flags/api/Class.FeatureFlagReaderPort.md +6 -6
  9. package/data/packages/platform-feature-flags/api/Class.FeatureFlagWriterPort.md +7 -7
  10. package/data/packages/platform-feature-flags/api/Class.VercelFeatureFlagReader.md +8 -8
  11. package/data/packages/platform-feature-flags/api/Class.VercelFeatureFlagWriter.md +9 -9
  12. package/data/packages/platform-feature-flags/api/Function.FeatureFlag.md +1 -1
  13. package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagContext.md +4 -4
  14. package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagDefinition.md +6 -6
  15. package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagEvaluation.md +4 -4
  16. package/data/packages/platform-feature-flags/api/Interface.IFeatureFlagModuleOptions.md +5 -5
  17. package/data/packages/platform-feature-flags/api/Variable.AZURE_APPCONFIG_CONNECTION_STRING.md +1 -1
  18. package/data/packages/platform-feature-flags/api/Variable.AZURE_APPCONFIG_ENDPOINT.md +1 -1
  19. package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_CONFIG_ENTRIES.md +1 -1
  20. package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_KEY_FILTER.md +1 -1
  21. package/data/packages/platform-feature-flags/api/Variable.AZURE_FEATURE_FLAG_REFRESH_INTERVAL.md +1 -1
  22. package/data/packages/platform-feature-flags/api/Variable.FEATURE_FLAG_KEY_METADATA.md +1 -1
  23. package/data/packages/platform-feature-flags/api/Variable.PLATFORM_FEATURE_FLAGS_CONFIG_ENTRIES.md +1 -1
  24. package/data/packages/platform-feature-flags/api/Variable.VERCEL_API_TOKEN.md +1 -1
  25. package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG.md +1 -1
  26. package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG_ID.md +1 -1
  27. package/data/packages/platform-feature-flags/api/Variable.VERCEL_EDGE_CONFIG_TOKEN.md +1 -1
  28. package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_CONFIG_ENTRIES.md +1 -1
  29. package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_PREFIX.md +1 -1
  30. package/data/packages/platform-feature-flags/api/Variable.VERCEL_FEATURE_FLAG_WRITER_CONFIG_ENTRIES.md +1 -1
  31. package/data/packages/platform-feature-flags/api/Variable.VERCEL_TEAM_ID.md +1 -1
  32. package/data/packages/platform-mailing/api/Class.FileTemplateFetchStrategy.md +8 -4
  33. package/data/packages/platform-mailing/api/Class.MailModule.md +7 -7
  34. package/data/packages/platform-mailing/api/Class.MailService.md +11 -7
  35. package/data/packages/platform-mailing/api/Class.MailTemplateEngine.md +29 -4
  36. package/data/packages/platform-mailing/api/Class.TemplateFetchStrategyBase.md +5 -11
  37. package/data/packages/platform-mailing/api/Interface.IMailEvents.md +28 -5
  38. package/data/packages/platform-mailing/api/Interface.IMailModuleOptions.md +50 -7
  39. package/data/packages/platform-mailing/api/Interface.IMailTemplateVariants.md +13 -3
  40. package/data/packages/platform-mailing/api/TypeAlias.MailTemplateFormat.md +1 -1
  41. package/data/packages/platform-mailing/api/Variable.MAIL_HOST.md +1 -1
  42. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_API_KEY.md +1 -1
  43. package/data/packages/platform-mailing/api/Variable.MAIL_MAILGUN_DOMAIN.md +1 -1
  44. package/data/packages/platform-mailing/api/Variable.MAIL_PORT.md +1 -1
  45. package/data/packages/platform-mailing/api/Variable.MAIL_POSTMARK_API_KEY.md +1 -1
  46. package/data/packages/platform-mailing/api/Variable.MAIL_RESEND_API_KEY.md +1 -1
  47. package/data/packages/platform-mailing/api/Variable.MAIL_SENDER_EMAIL.md +1 -1
  48. package/data/packages/platform-mailing/api/Variable.MAIL_SENDGRID_API_KEY.md +1 -1
  49. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_HOST.md +1 -1
  50. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PASSWORD.md +1 -1
  51. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_PORT.md +1 -1
  52. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_SECURE.md +1 -1
  53. package/data/packages/platform-mailing/api/Variable.MAIL_SMTP_USER.md +1 -1
  54. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_ENGINE_FORMAT.md +1 -1
  55. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_NAMES_TOKEN.md +12 -0
  56. package/data/packages/platform-mailing/api/Variable.MAIL_USER.md +1 -1
  57. package/data/packages/platform-mailing/api/Variable.PLATFORM_MAILING_CONFIG_ENTRIES.md +1 -1
  58. package/data/packages/platform-mailing/api/index.md +1 -2
  59. package/package.json +1 -1
  60. package/data/packages/platform-mailing/api/Variable.MAIL_DELIVERY_STRATEGY.md +0 -14
  61. package/data/packages/platform-mailing/api/Variable.MAIL_TEMPLATE_STRATEGY.md +0 -14
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: VercelFeatureFlagWriter
7
7
 
8
- Defined in: vercel/VercelFeatureFlagWriter.ts:33
8
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:33](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L33)
9
9
 
10
10
  Vercel Edge Config implementation of the [FeatureFlagWriterPort](Class.FeatureFlagWriterPort).
11
11
  Uses the Vercel REST API to manage feature flags stored in a Vercel Edge Config store.
@@ -32,7 +32,7 @@ serialized as JSON.
32
32
  new VercelFeatureFlagWriter(configService): VercelFeatureFlagWriter;
33
33
  ```
34
34
 
35
- Defined in: vercel/VercelFeatureFlagWriter.ts:47
35
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:47](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L47)
36
36
 
37
37
  #### Parameters
38
38
 
@@ -56,7 +56,7 @@ Defined in: vercel/VercelFeatureFlagWriter.ts:47
56
56
  createFlag(definition): Promise<void>;
57
57
  ```
58
58
 
59
- Defined in: vercel/VercelFeatureFlagWriter.ts:135
59
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:135](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L135)
60
60
 
61
61
  Creates a new feature flag.
62
62
 
@@ -86,7 +86,7 @@ If the flag already exists or creation fails.
86
86
  deleteFlag(key): Promise<void>;
87
87
  ```
88
88
 
89
- Defined in: vercel/VercelFeatureFlagWriter.ts:200
89
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:200](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L200)
90
90
 
91
91
  Deletes a feature flag.
92
92
 
@@ -118,7 +118,7 @@ getFlag(key): Promise<
118
118
  | undefined>;
119
119
  ```
120
120
 
121
- Defined in: vercel/VercelFeatureFlagWriter.ts:86
121
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:86](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L86)
122
122
 
123
123
  Returns a single feature flag definition by key.
124
124
 
@@ -148,7 +148,7 @@ The flag definition, or `undefined` if not found.
148
148
  listFlags(): Promise<readonly IFeatureFlagDefinition[]>;
149
149
  ```
150
150
 
151
- Defined in: vercel/VercelFeatureFlagWriter.ts:111
151
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:111](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L111)
152
152
 
153
153
  Returns all feature flag definitions managed by the provider.
154
154
 
@@ -170,7 +170,7 @@ Array of flag definitions.
170
170
  onModuleInit(): Promise<void>;
171
171
  ```
172
172
 
173
- Defined in: vercel/VercelFeatureFlagWriter.ts:61
173
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:61](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L61)
174
174
 
175
175
  Initializes the Vercel admin client by reading configuration.
176
176
 
@@ -192,7 +192,7 @@ OnModuleInit.onModuleInit
192
192
  ping(): Promise<boolean>;
193
193
  ```
194
194
 
195
- Defined in: vercel/VercelFeatureFlagWriter.ts:228
195
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:228](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L228)
196
196
 
197
197
  Lightweight connectivity check for the writer provider.
198
198
  Defaults to `true` if not overridden.
@@ -215,7 +215,7 @@ Defaults to `true` if not overridden.
215
215
  updateFlag(key, updates): Promise<void>;
216
216
  ```
217
217
 
218
- Defined in: vercel/VercelFeatureFlagWriter.ts:163
218
+ Defined in: [vercel/VercelFeatureFlagWriter.ts:163](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/VercelFeatureFlagWriter.ts#L163)
219
219
 
220
220
  Updates an existing feature flag.
221
221
  Only the fields present in the partial definition are updated.
@@ -9,7 +9,7 @@ editUrl: false
9
9
  function FeatureFlag(flagKey): CustomDecorator<unknown>;
10
10
  ```
11
11
 
12
- Defined in: decorators/FeatureFlag.ts:17
12
+ Defined in: [decorators/FeatureFlag.ts:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/decorators/FeatureFlag.ts#L17)
13
13
 
14
14
  Decorator to mark endpoints that require a specific feature flag to be enabled.
15
15
  The guard reads this metadata to evaluate the flag before allowing access.
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IFeatureFlagContext
7
7
 
8
- Defined in: models/IFeatureFlagContext.ts:6
8
+ Defined in: [models/IFeatureFlagContext.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagContext.ts#L6)
9
9
 
10
10
  Context passed to feature flag evaluation for targeting and segmentation.
11
11
 
@@ -17,7 +17,7 @@ Context passed to feature flag evaluation for targeting and segmentation.
17
17
  readonly optional attributes?: Readonly<Record<string, unknown>>;
18
18
  ```
19
19
 
20
- Defined in: models/IFeatureFlagContext.ts:14
20
+ Defined in: [models/IFeatureFlagContext.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagContext.ts#L14)
21
21
 
22
22
  Arbitrary attributes for custom targeting rules.
23
23
 
@@ -29,7 +29,7 @@ Arbitrary attributes for custom targeting rules.
29
29
  readonly optional groups?: readonly string[];
30
30
  ```
31
31
 
32
- Defined in: models/IFeatureFlagContext.ts:11
32
+ Defined in: [models/IFeatureFlagContext.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagContext.ts#L11)
33
33
 
34
34
  Groups or segments the user belongs to (e.g. beta testers, enterprise).
35
35
 
@@ -41,6 +41,6 @@ Groups or segments the user belongs to (e.g. beta testers, enterprise).
41
41
  readonly optional userId?: string;
42
42
  ```
43
43
 
44
- Defined in: models/IFeatureFlagContext.ts:8
44
+ Defined in: [models/IFeatureFlagContext.ts:8](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagContext.ts#L8)
45
45
 
46
46
  Unique identifier of the current user.
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IFeatureFlagDefinition
7
7
 
8
- Defined in: models/IFeatureFlagDefinition.ts:6
8
+ Defined in: [models/IFeatureFlagDefinition.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagDefinition.ts#L6)
9
9
 
10
10
  Represents a full feature flag definition for admin operations (create / update / read).
11
11
 
@@ -17,7 +17,7 @@ Represents a full feature flag definition for admin operations (create / update
17
17
  readonly optional description?: string;
18
18
  ```
19
19
 
20
- Defined in: models/IFeatureFlagDefinition.ts:14
20
+ Defined in: [models/IFeatureFlagDefinition.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagDefinition.ts#L14)
21
21
 
22
22
  Optional human-readable description.
23
23
 
@@ -29,7 +29,7 @@ Optional human-readable description.
29
29
  readonly enabled: boolean;
30
30
  ```
31
31
 
32
- Defined in: models/IFeatureFlagDefinition.ts:11
32
+ Defined in: [models/IFeatureFlagDefinition.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagDefinition.ts#L11)
33
33
 
34
34
  Whether the feature flag is currently enabled.
35
35
 
@@ -41,7 +41,7 @@ Whether the feature flag is currently enabled.
41
41
  readonly key: string;
42
42
  ```
43
43
 
44
- Defined in: models/IFeatureFlagDefinition.ts:8
44
+ Defined in: [models/IFeatureFlagDefinition.ts:8](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagDefinition.ts#L8)
45
45
 
46
46
  Unique key identifying the feature flag.
47
47
 
@@ -53,7 +53,7 @@ Unique key identifying the feature flag.
53
53
  readonly optional label?: string;
54
54
  ```
55
55
 
56
- Defined in: models/IFeatureFlagDefinition.ts:17
56
+ Defined in: [models/IFeatureFlagDefinition.ts:17](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagDefinition.ts#L17)
57
57
 
58
58
  Optional label / environment tag (e.g. `"production"`, `"staging"`).
59
59
 
@@ -65,6 +65,6 @@ Optional label / environment tag (e.g. `"production"`, `"staging"`).
65
65
  readonly optional variant?: unknown;
66
66
  ```
67
67
 
68
- Defined in: models/IFeatureFlagDefinition.ts:20
68
+ Defined in: [models/IFeatureFlagDefinition.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagDefinition.ts#L20)
69
69
 
70
70
  Optional variant value for multivariate flags.
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IFeatureFlagEvaluation
7
7
 
8
- Defined in: models/IFeatureFlagEvaluation.ts:6
8
+ Defined in: [models/IFeatureFlagEvaluation.ts:6](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagEvaluation.ts#L6)
9
9
 
10
10
  Result of evaluating a single feature flag.
11
11
 
@@ -17,7 +17,7 @@ Result of evaluating a single feature flag.
17
17
  readonly enabled: boolean;
18
18
  ```
19
19
 
20
- Defined in: models/IFeatureFlagEvaluation.ts:11
20
+ Defined in: [models/IFeatureFlagEvaluation.ts:11](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagEvaluation.ts#L11)
21
21
 
22
22
  Whether the feature flag is currently enabled.
23
23
 
@@ -29,7 +29,7 @@ Whether the feature flag is currently enabled.
29
29
  readonly key: string;
30
30
  ```
31
31
 
32
- Defined in: models/IFeatureFlagEvaluation.ts:8
32
+ Defined in: [models/IFeatureFlagEvaluation.ts:8](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagEvaluation.ts#L8)
33
33
 
34
34
  The unique key identifying the feature flag.
35
35
 
@@ -41,6 +41,6 @@ The unique key identifying the feature flag.
41
41
  readonly optional variant?: unknown;
42
42
  ```
43
43
 
44
- Defined in: models/IFeatureFlagEvaluation.ts:14
44
+ Defined in: [models/IFeatureFlagEvaluation.ts:14](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagEvaluation.ts#L14)
45
45
 
46
46
  Optional variant value for multivariate flags / A/B testing.
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Interface: IFeatureFlagModuleOptions
7
7
 
8
- Defined in: models/IFeatureFlagModuleOptions.ts:15
8
+ Defined in: [models/IFeatureFlagModuleOptions.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagModuleOptions.ts#L15)
9
9
 
10
10
  Configuration options for the [FeatureFlagModule](Class.FeatureFlagModule).
11
11
 
@@ -17,7 +17,7 @@ Configuration options for the [FeatureFlagModule](Class.FeatureFlagModule).
17
17
  readonly optional configEntries?: readonly Omit<IConfigRegistryEntry<unknown>, "module">[];
18
18
  ```
19
19
 
20
- Defined in: models/IFeatureFlagModuleOptions.ts:32
20
+ Defined in: [models/IFeatureFlagModuleOptions.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagModuleOptions.ts#L32)
21
21
 
22
22
  Provider-specific configuration entries to register with the config module.
23
23
 
@@ -29,7 +29,7 @@ Provider-specific configuration entries to register with the config module.
29
29
  readonly featureFlagReader: Type<FeatureFlagReaderPort>;
30
30
  ```
31
31
 
32
- Defined in: models/IFeatureFlagModuleOptions.ts:20
32
+ Defined in: [models/IFeatureFlagModuleOptions.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagModuleOptions.ts#L20)
33
33
 
34
34
  Concrete implementation of the [FeatureFlagReaderPort](Class.FeatureFlagReaderPort).
35
35
  For example, `AzureFeatureFlagReader` or `VercelFeatureFlagReader`.
@@ -42,7 +42,7 @@ For example, `AzureFeatureFlagReader` or `VercelFeatureFlagReader`.
42
42
  readonly optional featureFlagWriter?: Type<FeatureFlagWriterPort>;
43
43
  ```
44
44
 
45
- Defined in: models/IFeatureFlagModuleOptions.ts:27
45
+ Defined in: [models/IFeatureFlagModuleOptions.ts:27](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagModuleOptions.ts#L27)
46
46
 
47
47
  Optional concrete implementation of the [FeatureFlagWriterPort](Class.FeatureFlagWriterPort).
48
48
  For example, `AzureFeatureFlagWriter` or `VercelFeatureFlagWriter`.
@@ -56,6 +56,6 @@ When provided the module will also export the writer port for CRUD operations.
56
56
  readonly optional isGlobal?: boolean;
57
57
  ```
58
58
 
59
- Defined in: models/IFeatureFlagModuleOptions.ts:37
59
+ Defined in: [models/IFeatureFlagModuleOptions.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/models/IFeatureFlagModuleOptions.ts#L37)
60
60
 
61
61
  When `true` the module is registered globally.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const AZURE_APPCONFIG_CONNECTION_STRING: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: azure/env.ts:15
12
+ Defined in: [azure/env.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/azure/env.ts#L15)
13
13
 
14
14
  Azure App Configuration connection string. Alternative to endpoint + Entra ID.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const AZURE_APPCONFIG_ENDPOINT: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: azure/env.ts:12
12
+ Defined in: [azure/env.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/azure/env.ts#L12)
13
13
 
14
14
  Azure App Configuration endpoint URL. Required when using Entra ID authentication.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const AZURE_FEATURE_FLAG_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
10
  ```
11
11
 
12
- Defined in: azure/env.ts:28
12
+ Defined in: [azure/env.ts:28](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/azure/env.ts#L28)
13
13
 
14
14
  Configuration entries required by the Azure feature flag provider.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const AZURE_FEATURE_FLAG_KEY_FILTER: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: azure/env.ts:21
12
+ Defined in: [azure/env.ts:21](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/azure/env.ts#L21)
13
13
 
14
14
  Key filter for selecting feature flags. Defaults to `*` (all).
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const AZURE_FEATURE_FLAG_REFRESH_INTERVAL: IConfigKey<number>;
10
10
  ```
11
11
 
12
- Defined in: azure/env.ts:18
12
+ Defined in: [azure/env.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/azure/env.ts#L18)
13
13
 
14
14
  Refresh interval in milliseconds for feature flag state. Defaults to 30000.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const FEATURE_FLAG_KEY_METADATA: "feature_flag_key" = 'feature_flag_key';
10
10
  ```
11
11
 
12
- Defined in: decorators/FeatureFlag.ts:8
12
+ Defined in: [decorators/FeatureFlag.ts:8](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/decorators/FeatureFlag.ts#L8)
13
13
 
14
14
  Metadata key used to store the feature flag key on route handlers.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const PLATFORM_FEATURE_FLAGS_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
10
  ```
11
11
 
12
- Defined in: env.ts:37
12
+ Defined in: [env.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/env.ts#L37)
13
13
 
14
14
  All configuration entries required by the platform-feature-flags library across all providers.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const VERCEL_API_TOKEN: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: vercel/env.ts:25
12
+ Defined in: [vercel/env.ts:25](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/env.ts#L25)
13
13
 
14
14
  Vercel API token with write access to Edge Config. Required for write operations.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const VERCEL_EDGE_CONFIG: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: vercel/env.ts:12
12
+ Defined in: [vercel/env.ts:12](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/env.ts#L12)
13
13
 
14
14
  Vercel Edge Config connection string (includes store ID and token).
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const VERCEL_EDGE_CONFIG_ID: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: vercel/env.ts:28
12
+ Defined in: [vercel/env.ts:28](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/env.ts#L28)
13
13
 
14
14
  Vercel Edge Config store ID. Required for write operations.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const VERCEL_EDGE_CONFIG_TOKEN: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: vercel/env.ts:15
12
+ Defined in: [vercel/env.ts:15](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/env.ts#L15)
13
13
 
14
14
  Optional: Vercel Edge Config read access token (when not embedded in connection string).
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const VERCEL_FEATURE_FLAG_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
10
  ```
11
11
 
12
- Defined in: vercel/env.ts:38
12
+ Defined in: [vercel/env.ts:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/env.ts#L38)
13
13
 
14
14
  Configuration entries required by the Vercel feature flag provider (read-only).
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const VERCEL_FEATURE_FLAG_PREFIX: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: vercel/env.ts:18
12
+ Defined in: [vercel/env.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/env.ts#L18)
13
13
 
14
14
  Optional: Prefix for feature flag keys in Edge Config. Defaults to `featureFlags`.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const VERCEL_FEATURE_FLAG_WRITER_CONFIG_ENTRIES: ReadonlyArray<Omit<IConfigRegistryEntry, "module">>;
10
10
  ```
11
11
 
12
- Defined in: vercel/env.ts:57
12
+ Defined in: [vercel/env.ts:57](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/env.ts#L57)
13
13
 
14
14
  Configuration entries required by the Vercel feature flag writer provider.
@@ -9,6 +9,6 @@ editUrl: false
9
9
  const VERCEL_TEAM_ID: IConfigKey<string>;
10
10
  ```
11
11
 
12
- Defined in: vercel/env.ts:31
12
+ Defined in: [vercel/env.ts:31](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-feature-flags/src/vercel/env.ts#L31)
13
13
 
14
14
  Optional: Vercel Team ID for team-scoped API calls.
@@ -5,10 +5,13 @@ editUrl: false
5
5
  ---
6
6
  # Class: FileTemplateFetchStrategy
7
7
 
8
- Defined in: [platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts#L16)
8
+ Defined in: [platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts#L20)
9
9
 
10
10
  The `FileTemplateFetchStrategy` class.
11
11
 
12
+ Loads mail templates from the file system via `ResourceManager`.
13
+ Template names are injected via `MAIL_TEMPLATE_NAMES_TOKEN` — defaults to an empty array.
14
+
12
15
  ## Extends
13
16
 
14
17
  - [`TemplateFetchStrategyBase`](Class.TemplateFetchStrategyBase)
@@ -18,16 +21,17 @@ The `FileTemplateFetchStrategy` class.
18
21
  ### Constructor
19
22
 
20
23
  ```ts
21
- new FileTemplateFetchStrategy(resourceManager): FileTemplateFetchStrategy;
24
+ new FileTemplateFetchStrategy(resourceManager, templateNames): FileTemplateFetchStrategy;
22
25
  ```
23
26
 
24
- Defined in: [platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts:26](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts#L26)
27
+ Defined in: [platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts:31](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts#L31)
25
28
 
26
29
  #### Parameters
27
30
 
28
31
  | Parameter | Type |
29
32
  | ------ | ------ |
30
33
  | `resourceManager` | `ResourceManager` |
34
+ | `templateNames` | readonly `string`[] |
31
35
 
32
36
  #### Returns
33
37
 
@@ -45,7 +49,7 @@ Defined in: [platform-mailing/src/templating/strategies/file/FileTemplateFetchSt
45
49
  load(): Promise<Record<string, IMailTemplateVariants>>;
46
50
  ```
47
51
 
48
- Defined in: [platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts:40](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts#L40)
52
+ Defined in: [platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts:46](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/strategies/file/FileTemplateFetchStrategy.ts#L46)
49
53
 
50
54
  Loads mail templates from the file system.
51
55
 
@@ -5,12 +5,12 @@ editUrl: false
5
5
  ---
6
6
  # Class: MailModule
7
7
 
8
- Defined in: [platform-mailing/src/MailModule.ts:67](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/MailModule.ts#L67)
8
+ Defined in: [platform-mailing/src/MailModule.ts:91](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/MailModule.ts#L91)
9
9
 
10
10
  Represents the mail module.
11
11
 
12
- Delivery and template strategies are resolved at runtime based on
13
- configuration keys `MAIL_DELIVERY_STRATEGY` and `MAIL_TEMPLATE_STRATEGY`.
12
+ Delivery and template strategies are selected at compile time via
13
+ `IMailModuleOptions`. NestJS DI resolves the concrete classes.
14
14
 
15
15
  ## Constructors
16
16
 
@@ -29,18 +29,18 @@ new MailModule(): MailModule;
29
29
  ### register()
30
30
 
31
31
  ```ts
32
- static register(options?): DynamicModule;
32
+ static register(options): DynamicModule;
33
33
  ```
34
34
 
35
- Defined in: [platform-mailing/src/MailModule.ts:76](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/MailModule.ts#L76)
35
+ Defined in: [platform-mailing/src/MailModule.ts:102](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/MailModule.ts#L102)
36
36
 
37
- Registers the mail module with optional configuration.
37
+ Registers the mail module with the specified configuration.
38
38
 
39
39
  #### Parameters
40
40
 
41
41
  | Parameter | Type | Description |
42
42
  | ------ | ------ | ------ |
43
- | `options?` | [`IMailModuleOptions`](Interface.IMailModuleOptions) | Module registration options. |
43
+ | `options` | [`IMailModuleOptions`](Interface.IMailModuleOptions) | Module registration options. |
44
44
 
45
45
  #### Returns
46
46
 
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: MailService
7
7
 
8
- Defined in: [platform-mailing/src/services/MailService.ts:23](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/services/MailService.ts#L23)
8
+ Defined in: [platform-mailing/src/services/MailService.ts:20](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/services/MailService.ts#L20)
9
9
 
10
10
  Represents the `MailService` class.
11
11
 
@@ -20,7 +20,7 @@ new MailService(
20
20
  deliveryStrategy): MailService;
21
21
  ```
22
22
 
23
- Defined in: [platform-mailing/src/services/MailService.ts:40](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/services/MailService.ts#L40)
23
+ Defined in: [platform-mailing/src/services/MailService.ts:37](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/services/MailService.ts#L37)
24
24
 
25
25
  Constructs a new instance of the `MailService` class.
26
26
 
@@ -48,7 +48,7 @@ send(
48
48
  attachments?): Promise<void>;
49
49
  ```
50
50
 
51
- Defined in: [platform-mailing/src/services/MailService.ts:70](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/services/MailService.ts#L70)
51
+ Defined in: [platform-mailing/src/services/MailService.ts:67](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/services/MailService.ts#L67)
52
52
 
53
53
  Sends an email with either plain text or HTML content.
54
54
 
@@ -76,22 +76,26 @@ Sends an email with either plain text or HTML content.
76
76
  sendTemplate(mailOptions, templateOptions): Promise<void>;
77
77
  ```
78
78
 
79
- Defined in: [platform-mailing/src/services/MailService.ts:104](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/services/MailService.ts#L104)
79
+ Defined in: [platform-mailing/src/services/MailService.ts:105](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/services/MailService.ts#L105)
80
80
 
81
81
  Sends an email using a predefined template (HTML or text).
82
82
  Automatically uses the template format (either 'html' or 'txt') based on the environment variable.
83
83
 
84
+ When no `subject` is provided in `mailOptions`, the subject is resolved from the
85
+ stored template and interpolated with the given `templateParams` (industry-standard
86
+ behavior matching Mailchimp/SendGrid/Postmark).
87
+
84
88
  #### Parameters
85
89
 
86
90
  | Parameter | Type | Description |
87
91
  | ------ | ------ | ------ |
88
- | `mailOptions` | \{ `from?`: `string`; `subject`: `string`; `to`: `string`; \} | - |
92
+ | `mailOptions` | \{ `from?`: `string`; `subject?`: `string`; `to`: `string`; \} | - |
89
93
  | `mailOptions.from?` | `string` | Sender's email address (optional, defaults to config) |
90
- | `mailOptions.subject` | `string` | Subject of the email |
94
+ | `mailOptions.subject?` | `string` | Subject of the email (optional — resolved from template if omitted) |
91
95
  | `mailOptions.to` | `string` | Recipient's email address |
92
96
  | `templateOptions` | \{ `templateName`: `string`; `templateParams`: `Record`\<`string`, `string` \| `number` \| `boolean` \| `Date` \| `undefined` \| `null`\>; \} | - |
93
97
  | `templateOptions.templateName` | `string` | Name of the template to be used |
94
- | `templateOptions.templateParams` | `Record`\<`string`, `string` \| `number` \| `boolean` \| `Date` \| `undefined` \| `null`\> | - |
98
+ | `templateOptions.templateParams` | `Record`\<`string`, `string` \| `number` \| `boolean` \| `Date` \| `undefined` \| `null`\> | Parameters to inject into the template |
95
99
 
96
100
  #### Returns
97
101
 
@@ -5,7 +5,7 @@ editUrl: false
5
5
  ---
6
6
  # Class: MailTemplateEngine
7
7
 
8
- Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:16](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L16)
8
+ Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L18)
9
9
 
10
10
  The `MailTemplateEngine` class.
11
11
 
@@ -21,7 +21,7 @@ The `MailTemplateEngine` class.
21
21
  new MailTemplateEngine(templateFetchStrategy, contentTemplateEngine): MailTemplateEngine;
22
22
  ```
23
23
 
24
- Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:32](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L32)
24
+ Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:34](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L34)
25
25
 
26
26
  Constructs a new instance of the `MailTemplateEngine` class.
27
27
 
@@ -47,7 +47,7 @@ compileTemplate(
47
47
  format): string;
48
48
  ```
49
49
 
50
- Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L65)
50
+ Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:67](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L67)
51
51
 
52
52
  Compiles a template by replacing placeholders with the provided parameters.
53
53
 
@@ -77,7 +77,7 @@ Error if the template or format is not found.
77
77
  onModuleInit(): Promise<void>;
78
78
  ```
79
79
 
80
- Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:51](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L51)
80
+ Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L53)
81
81
 
82
82
  Lifecycle hook that runs after the module initialization.
83
83
  Loads all templates from the disk and caches them in memory.
@@ -91,3 +91,28 @@ Loads all templates from the disk and caches them in memory.
91
91
  ```ts
92
92
  OnModuleInit.onModuleInit
93
93
  ```
94
+
95
+ ***
96
+
97
+ ### resolveSubject()
98
+
99
+ ```ts
100
+ resolveSubject(templateKey, params): string | undefined;
101
+ ```
102
+
103
+ Defined in: [platform-mailing/src/templating/MailTemplateEngine.ts:97](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-mailing/src/templating/MailTemplateEngine.ts#L97)
104
+
105
+ Resolves and interpolates the subject line from a stored template.
106
+
107
+ #### Parameters
108
+
109
+ | Parameter | Type | Description |
110
+ | ------ | ------ | ------ |
111
+ | `templateKey` | `string` | The key of the template. |
112
+ | `params` | `Record`\<`string`, `unknown`\> | The parameters to insert into the subject. |
113
+
114
+ #### Returns
115
+
116
+ `string` \| `undefined`
117
+
118
+ The compiled subject string, or `undefined` if no subject is stored.