@breadstone/archipel-mcp 0.0.7 → 0.0.8

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 (104) hide show
  1. package/data/packages/index.md +13 -6
  2. package/data/packages/platform-authentication/api/Class.AppleStrategy.md +1 -1
  3. package/data/packages/platform-authentication/api/Class.AuthModule.md +3 -3
  4. package/data/packages/platform-authentication/api/Class.GithubStrategy.md +1 -1
  5. package/data/packages/platform-authentication/api/Class.GoogleStrategy.md +1 -1
  6. package/data/packages/platform-authentication/api/Class.MicrosoftStrategy.md +1 -1
  7. package/data/packages/platform-authentication/api/Interface.IAuthModuleOptions.md +9 -9
  8. package/data/packages/{platform-core → platform-caching}/api/Class.MemoryLayeredCache.md +41 -33
  9. package/data/packages/platform-caching/api/Class.NoopCacheMetricsRecorder.md +158 -0
  10. package/data/packages/platform-caching/api/Class.RedisLayeredCache.md +296 -0
  11. package/data/packages/platform-caching/api/Interface.ICacheMetricsRecorder.md +122 -0
  12. package/data/packages/platform-caching/api/Interface.ICacheStats.md +71 -0
  13. package/data/packages/platform-caching/api/Interface.ILayeredCache.md +199 -0
  14. package/data/packages/platform-caching/api/Interface.ILayeredCacheOptions.md +76 -0
  15. package/data/packages/platform-caching/api/Interface.IRedisLayeredCacheOptions.md +122 -0
  16. package/data/packages/platform-caching/api/index.md +25 -0
  17. package/data/packages/platform-caching/index.md +116 -0
  18. package/data/packages/platform-core/api/index.md +104 -150
  19. package/data/packages/platform-core/index.md +5 -3
  20. package/data/packages/platform-cryptography/api/Class.BcryptService.md +73 -0
  21. package/data/packages/platform-cryptography/api/Class.CryptoService.md +52 -0
  22. package/data/packages/{platform-core → platform-cryptography}/api/Class.OtpService.md +8 -4
  23. package/data/packages/{platform-core → platform-cryptography}/api/Interface.IOtpService.md +8 -4
  24. package/data/packages/platform-cryptography/api/Interface.IOtpUriOptions.md +47 -0
  25. package/data/packages/{platform-core → platform-cryptography}/api/Variable.OTP_SERVICE_TOKEN.md +1 -1
  26. package/data/packages/{platform-core → platform-cryptography}/api/Variable.TOTP_EPOCH_TOLERANCE.md +1 -1
  27. package/data/packages/platform-cryptography/api/index.md +29 -0
  28. package/data/packages/platform-cryptography/index.md +132 -0
  29. package/data/packages/{platform-core → platform-intelligence}/api/Class.IntelligenceCapabilityRegistrarBase.md +7 -5
  30. package/data/packages/{platform-core → platform-intelligence}/api/Class.IntelligenceCapabilityRegistry.md +19 -15
  31. package/data/packages/{platform-core → platform-intelligence}/api/Class.IntelligenceModule.md +1 -1
  32. package/data/packages/{platform-core → platform-intelligence}/api/Class.IntelligenceTextGenerator.md +7 -7
  33. package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +27 -0
  34. package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +27 -0
  35. package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +27 -0
  36. package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +27 -0
  37. package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +27 -0
  38. package/data/packages/platform-intelligence/api/Function.loadProviderFactory.md +32 -0
  39. package/data/packages/platform-intelligence/api/Interface.IIntelligenceArtifact.md +35 -0
  40. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapability.md +72 -0
  41. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityMetadata.md +71 -0
  42. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityPayload.md +47 -0
  43. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityRegistry.md +79 -0
  44. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCapabilityResult.md +47 -0
  45. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +47 -0
  46. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContext.md +73 -0
  47. package/data/packages/platform-intelligence/api/Interface.IIntelligenceContextBuilder.md +36 -0
  48. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationMessageSnapshot.md +71 -0
  49. package/data/packages/platform-intelligence/api/Interface.IIntelligenceConversationSnapshot.md +59 -0
  50. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFollowUpQuestion.md +47 -0
  51. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntent.md +47 -0
  52. package/data/packages/platform-intelligence/api/Interface.IIntelligenceIntentEntity.md +35 -0
  53. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessageModel.md +71 -0
  54. package/data/packages/platform-intelligence/api/Interface.IIntelligenceMessagePayload.md +35 -0
  55. package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +35 -0
  56. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptMessage.md +35 -0
  57. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +95 -0
  58. package/data/packages/platform-intelligence/api/Interface.IIntelligenceResponseMessage.md +35 -0
  59. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +61 -0
  60. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +47 -0
  61. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +54 -0
  62. package/data/packages/{platform-core → platform-intelligence}/api/TypeAlias.IntelligenceConversationMessageRole.md +1 -1
  63. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +25 -0
  64. package/data/packages/{platform-core → platform-intelligence}/api/TypeAlias.IntelligenceProviderName.md +1 -1
  65. package/data/packages/{platform-core → platform-intelligence}/api/Variable.IntelligenceConversationMessageRoles.md +6 -6
  66. package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +29 -0
  67. package/data/packages/platform-intelligence/api/index.md +70 -0
  68. package/data/packages/platform-intelligence/index.md +131 -0
  69. package/data/packages/platform-telemetry/api/Class.TelemetryCacheMetricsRecorder.md +15 -15
  70. package/package.json +1 -1
  71. package/data/packages/platform-core/api/Class.BcryptService.md +0 -69
  72. package/data/packages/platform-core/api/Class.CryptoService.md +0 -50
  73. package/data/packages/platform-core/api/Class.NoopCacheMetricsRecorder.md +0 -157
  74. package/data/packages/platform-core/api/Class.RedisLayeredCache.md +0 -275
  75. package/data/packages/platform-core/api/Interface.ICacheMetricsRecorder.md +0 -121
  76. package/data/packages/platform-core/api/Interface.ICacheStats.md +0 -71
  77. package/data/packages/platform-core/api/Interface.IIntelligenceArtifact.md +0 -31
  78. package/data/packages/platform-core/api/Interface.IIntelligenceCapability.md +0 -62
  79. package/data/packages/platform-core/api/Interface.IIntelligenceCapabilityMetadata.md +0 -61
  80. package/data/packages/platform-core/api/Interface.IIntelligenceCapabilityPayload.md +0 -41
  81. package/data/packages/platform-core/api/Interface.IIntelligenceCapabilityRegistry.md +0 -69
  82. package/data/packages/platform-core/api/Interface.IIntelligenceCapabilityResult.md +0 -41
  83. package/data/packages/platform-core/api/Interface.IIntelligenceCompletionUsage.md +0 -41
  84. package/data/packages/platform-core/api/Interface.IIntelligenceContext.md +0 -63
  85. package/data/packages/platform-core/api/Interface.IIntelligenceContextBuilder.md +0 -32
  86. package/data/packages/platform-core/api/Interface.IIntelligenceConversationMessageSnapshot.md +0 -61
  87. package/data/packages/platform-core/api/Interface.IIntelligenceConversationSnapshot.md +0 -51
  88. package/data/packages/platform-core/api/Interface.IIntelligenceFollowUpQuestion.md +0 -41
  89. package/data/packages/platform-core/api/Interface.IIntelligenceIntent.md +0 -41
  90. package/data/packages/platform-core/api/Interface.IIntelligenceIntentEntity.md +0 -31
  91. package/data/packages/platform-core/api/Interface.IIntelligenceMessageModel.md +0 -61
  92. package/data/packages/platform-core/api/Interface.IIntelligenceMessagePayload.md +0 -31
  93. package/data/packages/platform-core/api/Interface.IIntelligencePrompt.md +0 -31
  94. package/data/packages/platform-core/api/Interface.IIntelligencePromptMessage.md +0 -31
  95. package/data/packages/platform-core/api/Interface.IIntelligenceProviderConfiguration.md +0 -81
  96. package/data/packages/platform-core/api/Interface.IIntelligenceResponseMessage.md +0 -31
  97. package/data/packages/platform-core/api/Interface.IIntelligenceTextCompletion.md +0 -53
  98. package/data/packages/platform-core/api/Interface.IIntelligenceTextGenerationOptions.md +0 -41
  99. package/data/packages/platform-core/api/Interface.IIntelligenceTextGenerator.md +0 -46
  100. package/data/packages/platform-core/api/Interface.ILayeredCache.md +0 -194
  101. package/data/packages/platform-core/api/Interface.ILayeredCacheOptions.md +0 -71
  102. package/data/packages/platform-core/api/Interface.IOtpUriOptions.md +0 -47
  103. package/data/packages/platform-core/api/Interface.IRedisLayeredCacheOptions.md +0 -108
  104. package/data/packages/platform-core/api/Variable.IntelligenceProviderNames.md +0 -29
@@ -5,16 +5,17 @@ description: All Archipel platform packages with their primary capabilities.
5
5
 
6
6
  # Packages
7
7
 
8
- Archipel is organized into 14 independent NestJS modules. Each package can be installed and used on its own — you only pull in what you need.
8
+ Archipel is organized into 17 independent NestJS modules. Each package can be installed and used on its own — you only pull in what you need.
9
9
 
10
10
  Every package follows the same structure: a dynamic NestJS module with `register()` configuration, abstract ports for contracts you implement, and concrete services you consume.
11
11
 
12
12
  ## Foundation
13
13
 
14
- | Package | Description |
15
- | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
16
- | [`platform-core`](./platform-core/) | Caching, configuration, cryptography, mapping, templates, and shared utilities. Every other package depends on this. |
17
- | [`platform-database`](./platform-database/) | Prisma + PostgreSQL integration with the repository/query pattern and transactional support. |
14
+ | Package | Description |
15
+ | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
16
+ | [`platform-core`](./platform-core/) | Configuration, mapping, templates, event pub/sub, and shared utilities. Every other package depends on this. |
17
+ | [`platform-cryptography`](./platform-cryptography/) | Bcrypt password hashing, prefixed UUID generation, and TOTP multi-factor authentication. |
18
+ | [`platform-database`](./platform-database/) | Prisma + PostgreSQL integration with the repository/query pattern and transactional support. |
18
19
 
19
20
  ## Identity & Access
20
21
 
@@ -28,6 +29,7 @@ Every package follows the same structure: a dynamic NestJS module with `register
28
29
  | Package | Description |
29
30
  | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
30
31
  | [`platform-blob-storage`](./platform-blob-storage/) | Provider-agnostic blob storage (Vercel, Azure, AWS S3) with metadata tracking and image variant support. |
32
+ | [`platform-caching`](./platform-caching/) | Layered caching with in-memory LRU and Redis-backed implementations, TTL, stale-while-revalidate, and metrics. |
31
33
  | [`platform-esigning`](./platform-esigning/) | Provider-agnostic e-signing with support for DocuSign, Adobe Sign, Dropbox Sign, signNow, and a built-in internal provider. |
32
34
  | [`platform-mailing`](./platform-mailing/) | Multi-strategy email delivery (SMTP, Postmark, Resend, Plunk, Log) with template rendering and verification flows. |
33
35
  | [`platform-documents`](./platform-documents/) | Document generation with pluggable renderers for DOCX, PDF, and image processing. |
@@ -40,6 +42,11 @@ Every package follows the same structure: a dynamic NestJS module with `register
40
42
  | [`platform-logging`](./platform-logging/) | Sentry integration for structured error tracking and analytics. |
41
43
  | [`platform-telemetry`](./platform-telemetry/) | OpenTelemetry tracing, metrics, a rule engine for conditional recording, and graceful noop fallback. |
42
44
  | [`platform-analytics`](./platform-analytics/) | Provider-agnostic analytics and error tracking (Sentry, Application Insights, Datadog) with no-op fallback. |
43
- | [`platform-analytics`](./platform-analytics/) | Provider-agnostic analytics and error tracking (Sentry, Application Insights, Datadog) with no-op fallback. |
44
45
  | [`platform-reporting`](./platform-reporting/) | Contributor-based reporting engine with dataset registration and query execution. |
45
46
  | [`platform-mcp`](./platform-mcp/) | Decorator-driven MCP (Model Context Protocol) server module with auto-discovery and multi-transport support. |
47
+
48
+ ## AI & Extensibility
49
+
50
+ | Package | Description |
51
+ | --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
52
+ | [`platform-intelligence`](./platform-intelligence/) | Multi-provider AI text generation (OpenAI, Anthropic, Google, Grok) with capability registry and intent orchestration. |
@@ -55,7 +55,7 @@ validate(
55
55
  profile): Promise<IAuthSubject>;
56
56
  ```
57
57
 
58
- Defined in: [libs/platform-authentication/src/strategies/AppleStrategy.ts:72](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/strategies/AppleStrategy.ts#L72)
58
+ Defined in: [libs/platform-authentication/src/strategies/AppleStrategy.ts:73](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/strategies/AppleStrategy.ts#L73)
59
59
 
60
60
  Validates the Apple authentication payload.
61
61
 
@@ -6,7 +6,7 @@ editUrl: false
6
6
 
7
7
  # Class: AuthModule
8
8
 
9
- Defined in: [libs/platform-authentication/src/AuthModule.ts:116](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L116)
9
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:102](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L102)
10
10
 
11
11
  The `AuthModule` handles JWT-based authentication,
12
12
  including token creation and validation.
@@ -31,7 +31,7 @@ new AuthModule(): AuthModule;
31
31
  configure(consumer): void;
32
32
  ```
33
33
 
34
- Defined in: [libs/platform-authentication/src/AuthModule.ts:227](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L227)
34
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:213](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L213)
35
35
 
36
36
  #### Parameters
37
37
 
@@ -51,7 +51,7 @@ Defined in: [libs/platform-authentication/src/AuthModule.ts:227](https://github.
51
51
  static register(options): DynamicModule;
52
52
  ```
53
53
 
54
- Defined in: [libs/platform-authentication/src/AuthModule.ts:126](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L126)
54
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:112](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L112)
55
55
 
56
56
  Registers the auth module with the provided port implementations.
57
57
 
@@ -52,7 +52,7 @@ validate(
52
52
  profile): Promise<IAuthSubject>;
53
53
  ```
54
54
 
55
- Defined in: [libs/platform-authentication/src/strategies/GithubStrategy.ts:52](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/strategies/GithubStrategy.ts#L52)
55
+ Defined in: [libs/platform-authentication/src/strategies/GithubStrategy.ts:53](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/strategies/GithubStrategy.ts#L53)
56
56
 
57
57
  #### Parameters
58
58
 
@@ -54,7 +54,7 @@ validate(
54
54
  profile): Promise<IAuthSubject>;
55
55
  ```
56
56
 
57
- Defined in: [libs/platform-authentication/src/strategies/GoogleStrategy.ts:64](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/strategies/GoogleStrategy.ts#L64)
57
+ Defined in: [libs/platform-authentication/src/strategies/GoogleStrategy.ts:65](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/strategies/GoogleStrategy.ts#L65)
58
58
 
59
59
  Validates the Google authentication payload.
60
60
 
@@ -54,7 +54,7 @@ validate(
54
54
  profile): Promise<IAuthSubject>;
55
55
  ```
56
56
 
57
- Defined in: [libs/platform-authentication/src/strategies/MicrosoftStrategy.ts:66](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/strategies/MicrosoftStrategy.ts#L66)
57
+ Defined in: [libs/platform-authentication/src/strategies/MicrosoftStrategy.ts:67](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/strategies/MicrosoftStrategy.ts#L67)
58
58
 
59
59
  Validates the Microsoft authentication payload.
60
60
 
@@ -6,7 +6,7 @@ editUrl: false
6
6
 
7
7
  # Interface: IAuthModuleOptions
8
8
 
9
- Defined in: [libs/platform-authentication/src/AuthModule.ts:59](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L59)
9
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:45](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L45)
10
10
 
11
11
  Options for configuring the `AuthModule`.
12
12
 
@@ -18,7 +18,7 @@ Options for configuring the `AuthModule`.
18
18
  optional additionalConfigEntries?: readonly Omit<IConfigRegistryEntry<unknown>, "module">[];
19
19
  ```
20
20
 
21
- Defined in: [libs/platform-authentication/src/AuthModule.ts:99](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L99)
21
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:85](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L85)
22
22
 
23
23
  Optional additional configuration entries to register (e.g. provider-specific OAuth keys).
24
24
  Import them from the provider-specific sub-paths
@@ -32,7 +32,7 @@ Import them from the provider-specific sub-paths
32
32
  authSubject: Type<AuthSubjectPort>;
33
33
  ```
34
34
 
35
- Defined in: [libs/platform-authentication/src/AuthModule.ts:63](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L63)
35
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:49](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L49)
36
36
 
37
37
  Implementation of the auth subject port (user lookup for JWT/Local/Anonymous strategies).
38
38
 
@@ -44,7 +44,7 @@ Implementation of the auth subject port (user lookup for JWT/Local/Anonymous str
44
44
  mfaSubject: Type<MfaSubjectPort>;
45
45
  ```
46
46
 
47
- Defined in: [libs/platform-authentication/src/AuthModule.ts:68](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L68)
47
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:54](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L54)
48
48
 
49
49
  Implementation of the MFA subject port (MFA state persistence).
50
50
 
@@ -56,7 +56,7 @@ Implementation of the MFA subject port (MFA state persistence).
56
56
  sessionPersistence: Type<SessionPersistencePort>;
57
57
  ```
58
58
 
59
- Defined in: [libs/platform-authentication/src/AuthModule.ts:73](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L73)
59
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:59](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L59)
60
60
 
61
61
  Implementation of the session persistence port.
62
62
 
@@ -68,7 +68,7 @@ Implementation of the session persistence port.
68
68
  optional socialAuth?: Type<SocialAuthPort>;
69
69
  ```
70
70
 
71
- Defined in: [libs/platform-authentication/src/AuthModule.ts:84](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L84)
71
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:70](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L70)
72
72
 
73
73
  Optional implementation of the social auth port (OAuth strategies).
74
74
  When provided together with `socialStrategies`, the social auth flow is enabled.
@@ -81,7 +81,7 @@ When provided together with `socialStrategies`, the social auth flow is enabled.
81
81
  optional socialStrategies?: Type<any>[];
82
82
  ```
83
83
 
84
- Defined in: [libs/platform-authentication/src/AuthModule.ts:92](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L92)
84
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:78](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L78)
85
85
 
86
86
  Optional array of social strategy types to register (e.g. `AppleStrategy`, `GithubStrategy`).
87
87
  Import them from the provider-specific sub-paths
@@ -96,7 +96,7 @@ Requires `socialAuth` to be set.
96
96
  optional tokenEnricher?: Type<TokenEnricherPort>;
97
97
  ```
98
98
 
99
- Defined in: [libs/platform-authentication/src/AuthModule.ts:105](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L105)
99
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:91](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L91)
100
100
 
101
101
  Optional implementation of the token enricher port.
102
102
  When provided, additional claims are added to JWT tokens.
@@ -109,6 +109,6 @@ When provided, additional claims are added to JWT tokens.
109
109
  verificationSubject: Type<VerificationSubjectPort>;
110
110
  ```
111
111
 
112
- Defined in: [libs/platform-authentication/src/AuthModule.ts:78](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L78)
112
+ Defined in: [libs/platform-authentication/src/AuthModule.ts:64](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-authentication/src/AuthModule.ts#L64)
113
113
 
114
114
  Implementation of the verification subject port (email/pin verification).
@@ -6,9 +6,11 @@ editUrl: false
6
6
 
7
7
  # Class: MemoryLayeredCache\<TKey, TValue\>
8
8
 
9
- Defined in: [cache/MemoryLayeredCache.ts:66](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L66)
9
+ Defined in: [MemoryLayeredCache.ts:73](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L73)
10
10
 
11
- In-memory layered cache implementation.
11
+ In-memory layered cache with LRU eviction, TTL expiration and
12
+ optional stale-while-revalidate support. Falls back to an
13
+ asynchronous loader function on cache misses.
12
14
 
13
15
  ## Type Parameters
14
16
 
@@ -29,14 +31,16 @@ In-memory layered cache implementation.
29
31
  new MemoryLayeredCache<TKey, TValue>(loadFn, options?): MemoryLayeredCache<TKey, TValue>;
30
32
  ```
31
33
 
32
- Defined in: [cache/MemoryLayeredCache.ts:87](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L87)
34
+ Defined in: [MemoryLayeredCache.ts:100](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L100)
35
+
36
+ Initializes a new instance of the MemoryLayeredCache class.
33
37
 
34
38
  #### Parameters
35
39
 
36
- | Parameter | Type |
37
- | ---------- | -------------------------------------------------------- |
38
- | `loadFn` | (`key`) => `Promise`\<`TValue` \| `undefined`\> |
39
- | `options?` | [`ILayeredCacheOptions`](Interface.ILayeredCacheOptions) |
40
+ | Parameter | Type | Description |
41
+ | ---------- | -------------------------------------------------------- | ------------------------------------------------ |
42
+ | `loadFn` | (`key`) => `Promise`\<`TValue` \| `undefined`\> | Async loader invoked on cache misses. |
43
+ | `options?` | [`ILayeredCacheOptions`](Interface.ILayeredCacheOptions) | Optional configuration for TTL, LRU and metrics. |
40
44
 
41
45
  #### Returns
42
46
 
@@ -50,9 +54,9 @@ Defined in: [cache/MemoryLayeredCache.ts:87](https://github.com/RueDeRennes/arch
50
54
  get(key): TValue | undefined;
51
55
  ```
52
56
 
53
- Defined in: [cache/MemoryLayeredCache.ts:107](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L107)
57
+ Defined in: [MemoryLayeredCache.ts:115](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L115)
54
58
 
55
- Retrieves a value from the cache.
59
+ Retrieves a value from the cache synchronously.
56
60
 
57
61
  #### Parameters
58
62
 
@@ -64,6 +68,8 @@ Retrieves a value from the cache.
64
68
 
65
69
  `TValue` \| `undefined`
66
70
 
71
+ The cached value or `undefined` on a miss.
72
+
67
73
  #### Implementation of
68
74
 
69
75
  [`ILayeredCache`](Interface.ILayeredCache).[`get`](Interface.ILayeredCache#get)
@@ -76,9 +82,9 @@ Retrieves a value from the cache.
76
82
  getAsync(key): Promise<TValue | undefined>;
77
83
  ```
78
84
 
79
- Defined in: [cache/MemoryLayeredCache.ts:133](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L133)
85
+ Defined in: [MemoryLayeredCache.ts:136](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L136)
80
86
 
81
- Retrieves a value from the cache (asynchronous).
87
+ Retrieves a value from the cache asynchronously.
82
88
 
83
89
  #### Parameters
84
90
 
@@ -90,6 +96,8 @@ Retrieves a value from the cache (asynchronous).
90
96
 
91
97
  `Promise`\<`TValue` \| `undefined`\>
92
98
 
99
+ A promise resolving to the cached value or `undefined` on a miss.
100
+
93
101
  #### Implementation of
94
102
 
95
103
  [`ILayeredCache`](Interface.ILayeredCache).[`getAsync`](Interface.ILayeredCache#getasync)
@@ -102,9 +110,9 @@ Retrieves a value from the cache (asynchronous).
102
110
  invalidate(key): void;
103
111
  ```
104
112
 
105
- Defined in: [cache/MemoryLayeredCache.ts:193](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L193)
113
+ Defined in: [MemoryLayeredCache.ts:180](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L180)
106
114
 
107
- Invalidates a key in the cache.
115
+ Invalidates a key in the cache synchronously.
108
116
 
109
117
  #### Parameters
110
118
 
@@ -128,9 +136,9 @@ Invalidates a key in the cache.
128
136
  invalidateAsync(key): Promise<void>;
129
137
  ```
130
138
 
131
- Defined in: [cache/MemoryLayeredCache.ts:203](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L203)
139
+ Defined in: [MemoryLayeredCache.ts:185](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L185)
132
140
 
133
- Invalidates a key in the cache (asynchronous).
141
+ Invalidates a key in the cache asynchronously.
134
142
 
135
143
  #### Parameters
136
144
 
@@ -154,16 +162,16 @@ Invalidates a key in the cache (asynchronous).
154
162
  set(key, value): void;
155
163
  ```
156
164
 
157
- Defined in: [cache/MemoryLayeredCache.ts:161](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L161)
165
+ Defined in: [MemoryLayeredCache.ts:158](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L158)
158
166
 
159
- Sets a value in the cache.
167
+ Stores a value in the cache synchronously.
160
168
 
161
169
  #### Parameters
162
170
 
163
- | Parameter | Type | Description |
164
- | --------- | -------- | ----------------- |
165
- | `key` | `TKey` | The key to set. |
166
- | `value` | `TValue` | The value to set. |
171
+ | Parameter | Type | Description |
172
+ | --------- | -------- | ------------------- |
173
+ | `key` | `TKey` | The key to store. |
174
+ | `value` | `TValue` | The value to store. |
167
175
 
168
176
  #### Returns
169
177
 
@@ -181,16 +189,16 @@ Sets a value in the cache.
181
189
  setAsync(key, value): Promise<void>;
182
190
  ```
183
191
 
184
- Defined in: [cache/MemoryLayeredCache.ts:175](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L175)
192
+ Defined in: [MemoryLayeredCache.ts:166](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L166)
185
193
 
186
- Sets a value in the cache (asynchronous).
194
+ Stores a value in the cache asynchronously.
187
195
 
188
196
  #### Parameters
189
197
 
190
- | Parameter | Type | Description |
191
- | --------- | -------- | ----------------- |
192
- | `key` | `TKey` | The key to set. |
193
- | `value` | `TValue` | The value to set. |
198
+ | Parameter | Type | Description |
199
+ | --------- | -------- | ------------------- |
200
+ | `key` | `TKey` | The key to store. |
201
+ | `value` | `TValue` | The value to store. |
194
202
 
195
203
  #### Returns
196
204
 
@@ -208,15 +216,15 @@ Sets a value in the cache (asynchronous).
208
216
  stats(): ICacheStats;
209
217
  ```
210
218
 
211
- Defined in: [cache/MemoryLayeredCache.ts:207](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L207)
219
+ Defined in: [MemoryLayeredCache.ts:190](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L190)
212
220
 
213
- Retrieves cache statistics.
221
+ Returns current cache statistics.
214
222
 
215
223
  #### Returns
216
224
 
217
225
  [`ICacheStats`](Interface.ICacheStats)
218
226
 
219
- The cache statistics.
227
+ The cache statistics snapshot.
220
228
 
221
229
  #### Implementation of
222
230
 
@@ -230,9 +238,9 @@ The cache statistics.
230
238
  warm(key): Promise<TValue | undefined>;
231
239
  ```
232
240
 
233
- Defined in: [cache/MemoryLayeredCache.ts:182](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-core/src/cache/MemoryLayeredCache.ts#L182)
241
+ Defined in: [MemoryLayeredCache.ts:174](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/MemoryLayeredCache.ts#L174)
234
242
 
235
- Proactively warms the cache for a given key (optional).
243
+ Proactively warms the cache for a given key.
236
244
 
237
245
  #### Parameters
238
246
 
@@ -244,7 +252,7 @@ Proactively warms the cache for a given key (optional).
244
252
 
245
253
  `Promise`\<`TValue` \| `undefined`\>
246
254
 
247
- The value that was loaded and cached, or undefined if not found.
255
+ The value that was loaded and cached, or `undefined` if not found.
248
256
 
249
257
  #### Implementation of
250
258
 
@@ -0,0 +1,158 @@
1
+ ---
2
+ title: 'Class: NoopCacheMetricsRecorder'
3
+ generated: true
4
+ editUrl: false
5
+ ---
6
+
7
+ # Class: NoopCacheMetricsRecorder
8
+
9
+ Defined in: [NoopCacheMetricsRecorder.ts:13](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L13)
10
+
11
+ No-op implementation of [ICacheMetricsRecorder](Interface.ICacheMetricsRecorder) used as the default
12
+ when no external metrics backend is configured.
13
+
14
+ ## Implements
15
+
16
+ - [`ICacheMetricsRecorder`](Interface.ICacheMetricsRecorder)
17
+
18
+ ## Constructors
19
+
20
+ ### Constructor
21
+
22
+ ```ts
23
+ new NoopCacheMetricsRecorder(): NoopCacheMetricsRecorder;
24
+ ```
25
+
26
+ #### Returns
27
+
28
+ `NoopCacheMetricsRecorder`
29
+
30
+ ## Methods
31
+
32
+ ### recordEviction()?
33
+
34
+ ```ts
35
+ optional recordEviction(_cache): void;
36
+ ```
37
+
38
+ Defined in: [NoopCacheMetricsRecorder.ts:38](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L38)
39
+
40
+ Records a cache eviction.
41
+
42
+ #### Parameters
43
+
44
+ | Parameter | Type | Description |
45
+ | --------- | -------- | ----------------------- |
46
+ | `_cache` | `string` | The cache name / label. |
47
+
48
+ #### Returns
49
+
50
+ `void`
51
+
52
+ #### Implementation of
53
+
54
+ [`ICacheMetricsRecorder`](Interface.ICacheMetricsRecorder).[`recordEviction`](Interface.ICacheMetricsRecorder#recordeviction)
55
+
56
+ ---
57
+
58
+ ### recordHit()
59
+
60
+ ```ts
61
+ recordHit(_cache): void;
62
+ ```
63
+
64
+ Defined in: [NoopCacheMetricsRecorder.ts:18](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L18)
65
+
66
+ Records a cache hit.
67
+
68
+ #### Parameters
69
+
70
+ | Parameter | Type | Description |
71
+ | --------- | -------- | ----------------------- |
72
+ | `_cache` | `string` | The cache name / label. |
73
+
74
+ #### Returns
75
+
76
+ `void`
77
+
78
+ #### Implementation of
79
+
80
+ [`ICacheMetricsRecorder`](Interface.ICacheMetricsRecorder).[`recordHit`](Interface.ICacheMetricsRecorder#recordhit)
81
+
82
+ ---
83
+
84
+ ### recordLoadError()
85
+
86
+ ```ts
87
+ recordLoadError(_cache): void;
88
+ ```
89
+
90
+ Defined in: [NoopCacheMetricsRecorder.ts:33](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L33)
91
+
92
+ Records a failed cache load.
93
+
94
+ #### Parameters
95
+
96
+ | Parameter | Type | Description |
97
+ | --------- | -------- | ----------------------- |
98
+ | `_cache` | `string` | The cache name / label. |
99
+
100
+ #### Returns
101
+
102
+ `void`
103
+
104
+ #### Implementation of
105
+
106
+ [`ICacheMetricsRecorder`](Interface.ICacheMetricsRecorder).[`recordLoadError`](Interface.ICacheMetricsRecorder#recordloaderror)
107
+
108
+ ---
109
+
110
+ ### recordLoadSuccess()
111
+
112
+ ```ts
113
+ recordLoadSuccess(_cache): void;
114
+ ```
115
+
116
+ Defined in: [NoopCacheMetricsRecorder.ts:28](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L28)
117
+
118
+ Records a successful cache load.
119
+
120
+ #### Parameters
121
+
122
+ | Parameter | Type | Description |
123
+ | --------- | -------- | ----------------------- |
124
+ | `_cache` | `string` | The cache name / label. |
125
+
126
+ #### Returns
127
+
128
+ `void`
129
+
130
+ #### Implementation of
131
+
132
+ [`ICacheMetricsRecorder`](Interface.ICacheMetricsRecorder).[`recordLoadSuccess`](Interface.ICacheMetricsRecorder#recordloadsuccess)
133
+
134
+ ---
135
+
136
+ ### recordMiss()
137
+
138
+ ```ts
139
+ recordMiss(_cache): void;
140
+ ```
141
+
142
+ Defined in: [NoopCacheMetricsRecorder.ts:23](https://github.com/RueDeRennes/archipel/blob/main/libs/platform-caching/src/NoopCacheMetricsRecorder.ts#L23)
143
+
144
+ Records a cache miss.
145
+
146
+ #### Parameters
147
+
148
+ | Parameter | Type | Description |
149
+ | --------- | -------- | ----------------------- |
150
+ | `_cache` | `string` | The cache name / label. |
151
+
152
+ #### Returns
153
+
154
+ `void`
155
+
156
+ #### Implementation of
157
+
158
+ [`ICacheMetricsRecorder`](Interface.ICacheMetricsRecorder).[`recordMiss`](Interface.ICacheMetricsRecorder#recordmiss)