@breadstone/archipel-mcp 0.0.53 → 0.0.55
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.
- package/data/guides/ai-image-generation.md +96 -0
- package/data/guides/ai-realtime-voice.md +69 -464
- package/data/guides/ai-text-generation.md +95 -622
- package/data/guides/index.md +3 -1
- package/data/guides/intelligence-prompts-warm-up.md +138 -0
- package/data/packages/platform-intelligence/api/Class.AnthropicIntelligenceProviderAdapter.md +78 -0
- package/data/packages/platform-intelligence/api/Class.DefaultIntelligencePromptPolicyAdapter.md +54 -0
- package/data/packages/platform-intelligence/api/Class.GatewayIntelligenceProviderAdapter.md +78 -0
- package/data/packages/platform-intelligence/api/Class.GoogleIntelligenceProviderAdapter.md +78 -0
- package/data/packages/platform-intelligence/api/Class.GrokIntelligenceProviderAdapter.md +78 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceAgent.md +95 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceAgentFactory.md +11 -23
- package/data/packages/platform-intelligence/api/Class.IntelligenceEmbeddingGenerator.md +25 -21
- package/data/packages/platform-intelligence/api/Class.IntelligenceHealthIndicator.md +11 -7
- package/data/packages/platform-intelligence/api/Class.IntelligenceLanguageGenerator.md +159 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceMediaGenerator.md +60 -38
- package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +2 -2
- package/data/packages/platform-intelligence/api/Class.IntelligencePromptExecutor.md +88 -0
- package/data/packages/platform-intelligence/api/Class.IntelligencePromptPolicyPort.md +48 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceProviderAssetUploader.md +21 -15
- package/data/packages/platform-intelligence/api/Class.IntelligenceProviderDiagnostics.md +55 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceProviderError.md +14 -4
- package/data/packages/platform-intelligence/api/Class.IntelligenceProviderRegistry.md +68 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeError.md +9 -9
- package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeMeteringPort.md +2 -2
- package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeSessionFactory.md +12 -12
- package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeSessionPort.md +18 -18
- package/data/packages/platform-intelligence/api/Class.IntelligenceReranker.md +58 -0
- package/data/packages/platform-intelligence/api/Class.IntelligenceToolBase.md +14 -16
- package/data/packages/platform-intelligence/api/Class.IntelligenceToolRegistry.md +10 -14
- package/data/packages/platform-intelligence/api/Class.MiMoIntelligenceProviderAdapter.md +78 -0
- package/data/packages/platform-intelligence/api/Class.OpenAIIntelligenceProviderAdapter.md +102 -0
- package/data/packages/platform-intelligence/api/Function.createAnthropicAdvisor20260301Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicBash20241022Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicBash20250124Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20250522Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20250825Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20260120Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20241022Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20250124Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20251124Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicMemory20250818Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20241022Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250124Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250429Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250728Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicToolSearchBM2520251119Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicToolSearchRegex20251119Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicWebFetch20250910Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicWebFetch20260209Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicWebSearch20250305Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createAnthropicWebSearch20260209Tool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGoogleCodeExecutionTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGoogleEnterpriseWebSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGoogleFileSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGoogleGoogleMapsTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGoogleGoogleSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGoogleUrlContextTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGoogleVertexRagStoreTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGrokCodeExecutionTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGrokFileSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGrokMcpServerTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGrokViewImageTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGrokViewXVideoTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGrokWebSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createGrokXSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createIntelligenceJsonSchema.md +31 -0
- package/data/packages/platform-intelligence/api/Function.createIntelligenceTool.md +2 -2
- package/data/packages/platform-intelligence/api/Function.createMimoCustomTool.md +5 -5
- package/data/packages/platform-intelligence/api/Function.createOpenAIApplyPatchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAICodeInterpreterTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAICustomTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAIFileSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAIImageGenerationTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAILocalShellTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAIMcpTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAIShellTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAIToolSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAIWebSearchPreviewTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.createOpenAIWebSearchTool.md +1 -1
- package/data/packages/platform-intelligence/api/Function.defineIntelligenceTool.md +31 -0
- package/data/packages/platform-intelligence/api/Function.intelligencePrompt.md +31 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceAgentConfiguration.md +70 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingBatchOptions.md +124 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingBatchResult.md +70 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingOptions.md +114 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingResult.md +70 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceFileUploadOptions.md +102 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceFileUploadResult.md +60 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceGeneratedFile.md +40 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceGenerationStepStartEvent.md +50 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceImageGenerationOptions.md +170 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceImageGenerationResult.md +60 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageCompletion.md +141 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageGenerationOptions.md +234 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageStream.md +50 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelReference.md +34 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelRequestOptions.md +52 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelStatus.md +30 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceModuleOptions.md +43 -25
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceObjectStream.md +56 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +50 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptDefinition.md +145 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptEffectivePolicy.md +30 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptExecutionContext.md +20 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptExecutionPolicy.md +70 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptExecutionResult.md +127 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptInvocation.md +49 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptPolicyRequest.md +60 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptRenderContext.md +26 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderAdapter.md +73 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +10 -10
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderLoadRequest.md +40 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderProbeResult.md +70 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeAudioFormat.md +3 -3
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeCloseEvent.md +4 -4
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeModuleOptions.md +9 -21
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeSessionConfiguration.md +11 -11
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeSessionOptions.md +11 -11
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeToolDefinition.md +5 -5
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeTranscriptionConfiguration.md +4 -4
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeTurnDetectionConfiguration.md +5 -5
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeUsage.md +10 -10
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRequestOptions.md +98 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRerankingOptions.md +140 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceRerankingResult.md +50 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceSkillUploadOptions.md +94 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceSkillUploadResult.md +80 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceSpeechGenerationOptions.md +164 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceSpeechGenerationResult.md +50 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceStreamingTranscriptionOptions.md +139 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTool.md +7 -10
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolCall.md +40 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolDefinition.md +91 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolExecutionEndEvent.md +50 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolExecutionStartEvent.md +30 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolRegistry.md +4 -4
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionOptions.md +114 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionResult.md +84 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionStream.md +97 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceUsage.md +40 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceVideoGenerationOptions.md +229 -0
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceVideoGenerationResult.md +50 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IIntelligenceModelMessage.md +43 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IIntelligencePromptModelRequirement.md +25 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IIntelligenceSchema.md +70 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceCapability.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceDefaultModels.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceJsonValue.md +22 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptCapability.md +20 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptDefinitionConfiguration.md +29 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptGenerationOptions.md +16 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptLatency.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptMode.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptQuality.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptReasoning.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +1 -1
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderOptions.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderProbeStatus.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderToolOptions.md +17 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeClientEvent.md +1 -1
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeMetadataValue.md +1 -1
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeMeteringEvent.md +1 -1
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeServerEvent.md +1 -1
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeStatus.md +1 -1
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRequestTimeouts.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolChoice.md +21 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolOutput.md +22 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolSet.md +14 -0
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceTranscriptionStreamPart.md +46 -0
- package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_API_KEY.md +14 -0
- package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_BASE_URL.md +14 -0
- package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_CONFIG_ENTRIES.md +14 -0
- package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_API_KEY.md +1 -1
- package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_BASE_URL.md +1 -1
- package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +1 -1
- package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MODEL.md +1 -1
- package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_PROVIDER.md +2 -2
- package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TEMPERATURE.md +1 -1
- package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TOP_P.md +1 -1
- package/data/packages/platform-intelligence/api/Variable.IntelligenceCapabilityNames.md +40 -0
- package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +2 -0
- package/data/packages/platform-intelligence/api/Variable.PLATFORM_INTELLIGENCE_CONFIG_ENTRIES.md +1 -1
- package/data/packages/platform-intelligence/api/index.md +98 -30
- package/package.json +1 -1
- package/data/packages/index.md +0 -8
- package/data/packages/platform-analytics/index.md +0 -209
- package/data/packages/platform-authentication/index.md +0 -725
- package/data/packages/platform-blob-storage/index.md +0 -416
- package/data/packages/platform-bootstrap/index.md +0 -162
- package/data/packages/platform-caching/index.md +0 -167
- package/data/packages/platform-configuration/index.md +0 -226
- package/data/packages/platform-core/index.md +0 -504
- package/data/packages/platform-cryptography/index.md +0 -142
- package/data/packages/platform-database/index.md +0 -337
- package/data/packages/platform-documents/index.md +0 -255
- package/data/packages/platform-esigning/index.md +0 -710
- package/data/packages/platform-feature-flags/index.md +0 -103
- package/data/packages/platform-health/index.md +0 -141
- package/data/packages/platform-intelligence/api/Class.IntelligenceStructuredGenerator.md +0 -70
- package/data/packages/platform-intelligence/api/Class.IntelligenceTelemetryRegistry.md +0 -44
- package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +0 -138
- package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +0 -39
- package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadGoogleRealtimeModel.md +0 -25
- package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadGrokRealtimeModel.md +0 -25
- package/data/packages/platform-intelligence/api/Function.loadMimoLanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +0 -26
- package/data/packages/platform-intelligence/api/Function.loadOpenAIRealtimeModel.md +0 -25
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +0 -46
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +0 -168
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +0 -144
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +0 -78
- package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextStreamingOptions.md +0 -170
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +0 -24
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoaders.md +0 -14
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeModelLoader.md +0 -25
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeModelLoaders.md +0 -14
- package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceTextStream.md +0 -14
- package/data/packages/platform-intelligence/index.md +0 -549
- package/data/packages/platform-logging/index.md +0 -150
- package/data/packages/platform-mailing/index.md +0 -470
- package/data/packages/platform-mapping/index.md +0 -123
- package/data/packages/platform-mcp/index.md +0 -335
- package/data/packages/platform-openapi/index.md +0 -207
- package/data/packages/platform-payments/index.md +0 -610
- package/data/packages/platform-queue/index.md +0 -192
- package/data/packages/platform-reporting/index.md +0 -233
- package/data/packages/platform-resources/index.md +0 -137
- package/data/packages/platform-telemetry/index.md +0 -262
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: platform-caching
|
|
3
|
-
description: Layered caching with in-memory LRU and Redis-backed implementations, TTL, stale-while-revalidate, and metrics.
|
|
4
|
-
order: 15
|
|
5
|
-
tags: [caching, lru, redis, ttl, stale-while-revalidate, metrics, health]
|
|
6
|
-
package: '@breadstone/archipel-platform-caching'
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# platform-caching
|
|
10
|
-
|
|
11
|
-
Layered caching library providing both an in-memory LRU cache and a Redis-backed distributed cache. Both implementations share the `ILayeredCache` contract and support TTL expiration, stale-while-revalidate, warm-up, and pluggable metrics recording.
|
|
12
|
-
|
|
13
|
-
**Package:** `@breadstone/archipel-platform-caching`
|
|
14
|
-
|
|
15
|
-
<InstallTabs />
|
|
16
|
-
|
|
17
|
-
## Quick Start
|
|
18
|
-
|
|
19
|
-
```typescript
|
|
20
|
-
import { MemoryLayeredCache } from '@breadstone/archipel-platform-caching';
|
|
21
|
-
|
|
22
|
-
const cache = new MemoryLayeredCache<string, IProduct>(async (key) => productRepository.findById(key), {
|
|
23
|
-
ttlMs: 60_000,
|
|
24
|
-
maxEntries: 500,
|
|
25
|
-
staleWhileRevalidate: true,
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
const product = await cache.getAsync('prod-123');
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
For Redis-backed caching:
|
|
32
|
-
|
|
33
|
-
```typescript
|
|
34
|
-
import { RedisLayeredCache } from '@breadstone/archipel-platform-caching/redis';
|
|
35
|
-
|
|
36
|
-
const cache = new RedisLayeredCache<string, IProduct>(redisClient, async (key) => productRepository.findById(key), {
|
|
37
|
-
url: 'redis://localhost:6379',
|
|
38
|
-
keyPrefix: 'products:',
|
|
39
|
-
ttlSeconds: 300,
|
|
40
|
-
cacheName: 'products',
|
|
41
|
-
});
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## ILayeredCache Interface
|
|
47
|
-
|
|
48
|
-
Both implementations share this contract:
|
|
49
|
-
|
|
50
|
-
| Method | Description |
|
|
51
|
-
| ---------------------- | ----------------------------------------------------------------- |
|
|
52
|
-
| `get(key)` | Synchronous cache lookup. |
|
|
53
|
-
| `getAsync(key)` | Asynchronous cache lookup — triggers the load function on a miss. |
|
|
54
|
-
| `set(key, value)` | Synchronous write. |
|
|
55
|
-
| `setAsync(key, value)` | Asynchronous write. |
|
|
56
|
-
| `invalidate(key)` | Synchronous eviction. |
|
|
57
|
-
| `invalidateAsync(key)` | Asynchronous eviction. |
|
|
58
|
-
| `warm(key)` | Proactively loads and caches a value. |
|
|
59
|
-
| `stats()` | Returns hit/miss/eviction counters as `ICacheStats`. |
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Configuration Options
|
|
64
|
-
|
|
65
|
-
### ILayeredCacheOptions (In-Memory)
|
|
66
|
-
|
|
67
|
-
| Property | Type | Default | Description |
|
|
68
|
-
| ---------------------- | ----------------------- | ---------- | ------------------------------------------------------- |
|
|
69
|
-
| `ttlMs` | `number` | ∞ | Time-to-live in milliseconds. |
|
|
70
|
-
| `staleWhileRevalidate` | `boolean` | `false` | Serve stale entries while refreshing in the background. |
|
|
71
|
-
| `maxEntries` | `number` | ∞ | LRU eviction threshold. |
|
|
72
|
-
| `metricsRecorder` | `ICacheMetricsRecorder` | Noop | Pluggable metrics hook. |
|
|
73
|
-
| `cacheName` | `string` | `'memory'` | Label used in metrics and logging. |
|
|
74
|
-
|
|
75
|
-
### IRedisLayeredCacheOptions
|
|
76
|
-
|
|
77
|
-
| Property | Type | Default | Description |
|
|
78
|
-
| ---------------------- | ----------------------- | ---------------- | ------------------------------------------------------- |
|
|
79
|
-
| `url` | `string` | — | Redis connection URL (e.g. `redis://localhost:6379`). |
|
|
80
|
-
| `keyPrefix` | `string` | — | Key prefix applied to all Redis keys. |
|
|
81
|
-
| `ttlSeconds` | `number` | ∞ | Time-to-live in seconds. |
|
|
82
|
-
| `serialize` | `(value) => string` | `JSON.stringify` | Custom serializer for cache values. |
|
|
83
|
-
| `deserialize` | `(raw) => value` | `JSON.parse` | Custom deserializer for cache entries. |
|
|
84
|
-
| `metricsRecorder` | `ICacheMetricsRecorder` | Noop | Pluggable metrics hook. |
|
|
85
|
-
| `cacheName` | `string` | `'redis'` | Label used in metrics and logging. |
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Environment Variables
|
|
90
|
-
|
|
91
|
-
### Core (optional)
|
|
92
|
-
|
|
93
|
-
| Variable | Description | Default | Required |
|
|
94
|
-
| ------------------------------ | ------------------------------------------------------------ | ------- | -------- |
|
|
95
|
-
| `CACHE_DEFAULT_TTL_MS` | Default cache TTL in milliseconds | — | No |
|
|
96
|
-
| `CACHE_MAX_ENTRIES` | Maximum number of entries retained in an in-memory cache | — | No |
|
|
97
|
-
| `CACHE_STALE_WHILE_REVALIDATE` | Whether expired entries are served during background refresh | `false` | No |
|
|
98
|
-
|
|
99
|
-
### Redis
|
|
100
|
-
|
|
101
|
-
**Subpath:** `@breadstone/archipel-platform-caching/redis`
|
|
102
|
-
**SDK:** `ioredis` ≥ 5.0.0
|
|
103
|
-
|
|
104
|
-
| Variable | Description | Default | Required |
|
|
105
|
-
| ------------------- | ----------------------------------- | ------- | -------- |
|
|
106
|
-
| `REDIS_URL` | Redis connection URL | — | Yes |
|
|
107
|
-
| `REDIS_KEY_PREFIX` | Key prefix for all Redis cache keys | `''` | No |
|
|
108
|
-
| `REDIS_TTL_SECONDS` | TTL in seconds for Redis entries | — | No |
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Metrics
|
|
113
|
-
|
|
114
|
-
Implement `ICacheMetricsRecorder` to forward cache statistics to your telemetry system:
|
|
115
|
-
|
|
116
|
-
```typescript
|
|
117
|
-
import { ICacheMetricsRecorder } from '@breadstone/archipel-platform-caching';
|
|
118
|
-
|
|
119
|
-
class TelemetryCacheRecorder implements ICacheMetricsRecorder {
|
|
120
|
-
recordHit(cacheName: string): void {
|
|
121
|
-
/* increment counter */
|
|
122
|
-
}
|
|
123
|
-
recordMiss(cacheName: string): void {
|
|
124
|
-
/* increment counter */
|
|
125
|
-
}
|
|
126
|
-
recordLoadSuccess(cacheName: string, durationMs: number): void {
|
|
127
|
-
/* histogram */
|
|
128
|
-
}
|
|
129
|
-
recordLoadError(cacheName: string): void {
|
|
130
|
-
/* increment counter */
|
|
131
|
-
}
|
|
132
|
-
recordEviction(cacheName: string): void {
|
|
133
|
-
/* increment counter */
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
When no recorder is provided, `NoopCacheMetricsRecorder` is used as a silent fallback.
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Health Check
|
|
143
|
-
|
|
144
|
-
The `CachingHealthIndicator` reports the caching subsystem as available. Import it from the `/health` subpath:
|
|
145
|
-
|
|
146
|
-
```typescript
|
|
147
|
-
import { CachingHealthIndicator } from '@breadstone/archipel-platform-caching/health';
|
|
148
|
-
import { HealthModule } from '@breadstone/archipel-platform-health';
|
|
149
|
-
|
|
150
|
-
@Module({
|
|
151
|
-
imports: [
|
|
152
|
-
CachingModule,
|
|
153
|
-
HealthModule.withIndicators([CachingHealthIndicator]),
|
|
154
|
-
],
|
|
155
|
-
})
|
|
156
|
-
export class AppModule {}
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
| Key | Check | Dependencies |
|
|
160
|
-
| --- | ----- | ------------ |
|
|
161
|
-
| `caching` | Always reports `up` | None |
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## API Reference
|
|
166
|
-
|
|
167
|
-
See the full [API documentation](./api/) for all exported types and classes.
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: platform-configuration
|
|
3
|
-
description: Type-safe configuration management with strategy-based resolution for NestJS applications.
|
|
4
|
-
order: 2
|
|
5
|
-
tags: [configuration, config, environment, dotenv, strategy-pattern]
|
|
6
|
-
package: '@breadstone/archipel-platform-configuration'
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# platform-configuration
|
|
10
|
-
|
|
11
|
-
Type-safe configuration management for NestJS applications. Provides compile-time safe config keys, a strategy-based resolution pattern (environment variables, `.env` files, or custom sources), a global NestJS module, and a central registry for config discovery and validation.
|
|
12
|
-
|
|
13
|
-
> **Note:** This package was extracted from [`platform-core`](../platform-core/). Re-exports are still available from `platform-core` for backward compatibility.
|
|
14
|
-
|
|
15
|
-
**Package:** `@breadstone/archipel-platform-configuration`
|
|
16
|
-
|
|
17
|
-
<InstallTabs />
|
|
18
|
-
|
|
19
|
-
## Quick Start
|
|
20
|
-
|
|
21
|
-
```typescript
|
|
22
|
-
import { Module } from '@nestjs/common';
|
|
23
|
-
import { ConfigModule, EnvironmentConfigStrategy } from '@breadstone/archipel-platform-configuration';
|
|
24
|
-
|
|
25
|
-
@Module({
|
|
26
|
-
imports: [
|
|
27
|
-
ConfigModule.forRoot({
|
|
28
|
-
strategyFactory: () => new EnvironmentConfigStrategy(),
|
|
29
|
-
}),
|
|
30
|
-
],
|
|
31
|
-
})
|
|
32
|
-
export class AppModule {}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Config Keys
|
|
38
|
-
|
|
39
|
-
Type-safe config keys encode both the key name and the expected value type at compile time. This eliminates scattered `process.env` access and provides IDE autocomplete, "find usages", and refactoring support.
|
|
40
|
-
|
|
41
|
-
### Defining Config Keys
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
import { createConfigKey } from '@breadstone/archipel-platform-configuration';
|
|
45
|
-
|
|
46
|
-
export const DATABASE_URL = createConfigKey<string>('DATABASE_URL');
|
|
47
|
-
export const CACHE_TTL = createConfigKey<number>('CACHE_TTL');
|
|
48
|
-
export const FEATURE_ENABLED = createConfigKey<boolean>('FEATURE_ENABLED');
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### IConfigKey Interface
|
|
52
|
-
|
|
53
|
-
```typescript
|
|
54
|
-
interface IConfigKey<TType = unknown> {
|
|
55
|
-
readonly _type?: TType; // Phantom type — compile-time only
|
|
56
|
-
readonly key: string; // The unique string identifier
|
|
57
|
-
}
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## ConfigModule
|
|
63
|
-
|
|
64
|
-
### forRoot — Application Root
|
|
65
|
-
|
|
66
|
-
Call once in the root module to bootstrap the global `ConfigService`.
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
ConfigModule.forRoot({
|
|
70
|
-
strategyFactory: () => new EnvironmentConfigStrategy(),
|
|
71
|
-
statics: { APP_VERSION: '1.0.0' }, // optional static overrides
|
|
72
|
-
});
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### register — Library Modules
|
|
76
|
-
|
|
77
|
-
Call in each library module to declare configuration dependencies.
|
|
78
|
-
|
|
79
|
-
```typescript
|
|
80
|
-
import { createConfigKey, type IConfigRegistryEntry } from '@breadstone/archipel-platform-configuration';
|
|
81
|
-
|
|
82
|
-
const SMTP_HOST = createConfigKey<string>('SMTP_HOST');
|
|
83
|
-
const SMTP_PORT = createConfigKey<number>('SMTP_PORT');
|
|
84
|
-
|
|
85
|
-
export const MAIL_CONFIG_ENTRIES: ReadonlyArray<IConfigRegistryEntry> = [
|
|
86
|
-
{ key: SMTP_HOST, module: 'mailing', required: true, description: 'SMTP server hostname' },
|
|
87
|
-
{ key: SMTP_PORT, module: 'mailing', required: false, defaultValue: 587, description: 'SMTP port' },
|
|
88
|
-
];
|
|
89
|
-
|
|
90
|
-
@Module({
|
|
91
|
-
imports: [ConfigModule.register('mailing', MAIL_CONFIG_ENTRIES)],
|
|
92
|
-
})
|
|
93
|
-
export class MailModule {}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### IConfigModuleOptions
|
|
97
|
-
|
|
98
|
-
| Property | Type | Description |
|
|
99
|
-
| ----------------- | -------------------------- | -------------------------------------------------------------- |
|
|
100
|
-
| `strategyFactory` | `() => ConfigStrategyBase` | Factory that creates the resolution strategy for config values |
|
|
101
|
-
| `statics` | `Record<string, string>` | Optional key-value overrides injected at startup |
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## ConfigService
|
|
106
|
-
|
|
107
|
-
Injected globally after `ConfigModule.forRoot()`. Automatically parses raw string values into numbers, booleans, and null.
|
|
108
|
-
|
|
109
|
-
```typescript
|
|
110
|
-
import { Injectable } from '@nestjs/common';
|
|
111
|
-
import { ConfigService } from '@breadstone/archipel-platform-configuration';
|
|
112
|
-
|
|
113
|
-
@Injectable()
|
|
114
|
-
export class SmtpClient {
|
|
115
|
-
private readonly _host: string;
|
|
116
|
-
private readonly _port: number;
|
|
117
|
-
|
|
118
|
-
constructor(configService: ConfigService) {
|
|
119
|
-
this._host = configService.get<string>('SMTP_HOST');
|
|
120
|
-
this._port = configService.tryGet<number>('SMTP_PORT', 587);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
| Method | Description |
|
|
126
|
-
| -------------------------- | --------------------------------------------------------------------- |
|
|
127
|
-
| `get<T>(key)` | Returns the parsed value. Throws `ConfigKeyNotFoundError` if missing. |
|
|
128
|
-
| `tryGet<T>(key, fallback)` | Returns the parsed value, or `fallback` if the key is not set. |
|
|
129
|
-
| `has(key)` | Returns `true` if the key exists in the strategy. |
|
|
130
|
-
|
|
131
|
-
---
|
|
132
|
-
|
|
133
|
-
## ConfigRegistry
|
|
134
|
-
|
|
135
|
-
Static, global registry that collects all configuration keys registered by platform libraries. Enables a central overview of every environment variable the application depends on, grouped by source module.
|
|
136
|
-
|
|
137
|
-
```typescript
|
|
138
|
-
import { ConfigRegistry } from '@breadstone/archipel-platform-configuration';
|
|
139
|
-
|
|
140
|
-
// All registered entries
|
|
141
|
-
const all = ConfigRegistry.getAll();
|
|
142
|
-
|
|
143
|
-
// Grouped by module
|
|
144
|
-
const grouped = ConfigRegistry.getByModule();
|
|
145
|
-
// Map { 'mailing' => [...], 'authentication' => [...] }
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## Strategies
|
|
151
|
-
|
|
152
|
-
### EnvironmentConfigStrategy
|
|
153
|
-
|
|
154
|
-
Resolves values from `process.env`.
|
|
155
|
-
|
|
156
|
-
```typescript
|
|
157
|
-
import { EnvironmentConfigStrategy } from '@breadstone/archipel-platform-configuration';
|
|
158
|
-
|
|
159
|
-
ConfigModule.forRoot({
|
|
160
|
-
strategyFactory: () => new EnvironmentConfigStrategy(),
|
|
161
|
-
});
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### FileConfigStrategy
|
|
165
|
-
|
|
166
|
-
Resolves values from a `.env` file on disk using `dotenv`.
|
|
167
|
-
|
|
168
|
-
```typescript
|
|
169
|
-
import { FileConfigStrategy } from '@breadstone/archipel-platform-configuration';
|
|
170
|
-
|
|
171
|
-
ConfigModule.forRoot({
|
|
172
|
-
strategyFactory: () => new FileConfigStrategy('.env'),
|
|
173
|
-
});
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Custom Strategies
|
|
177
|
-
|
|
178
|
-
Extend `ConfigStrategyBase` to implement custom resolution (e.g. Azure App Configuration, AWS Parameter Store).
|
|
179
|
-
|
|
180
|
-
```typescript
|
|
181
|
-
import { ConfigStrategyBase } from '@breadstone/archipel-platform-configuration';
|
|
182
|
-
|
|
183
|
-
export class AzureAppConfigStrategy extends ConfigStrategyBase {
|
|
184
|
-
public initialize(): void {
|
|
185
|
-
// Connect to Azure App Configuration
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
public resolve<T>(key: string): T {
|
|
189
|
-
// Fetch from Azure
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
public tryResolve<T>(key: string, fallback: T): T {
|
|
193
|
-
// Attempt fetch, return fallback on miss
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
public has(key: string): boolean {
|
|
197
|
-
// Check existence
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## Error Handling
|
|
205
|
-
|
|
206
|
-
| Error | Description |
|
|
207
|
-
| ------------------------ | ----------------------------------------------------------------------------------- |
|
|
208
|
-
| `ConfigKeyNotFoundError` | Thrown when `get()` is called for a key that does not exist in the active strategy. |
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
## Module Summary
|
|
213
|
-
|
|
214
|
-
| Export | Type | Description |
|
|
215
|
-
| --------------------------- | -------------- | -------------------------------------------------- |
|
|
216
|
-
| `ConfigModule` | NestJS Module | Global configuration bootstrap and registration |
|
|
217
|
-
| `ConfigService` | Service | Type-safe config value access |
|
|
218
|
-
| `ConfigRegistry` | Static class | Central registry of all registered config entries |
|
|
219
|
-
| `ConfigStrategyBase` | Abstract class | Base class for configuration resolution strategies |
|
|
220
|
-
| `EnvironmentConfigStrategy` | Strategy | Resolves from `process.env` |
|
|
221
|
-
| `FileConfigStrategy` | Strategy | Resolves from `.env` files via dotenv |
|
|
222
|
-
| `createConfigKey<T>()` | Factory | Creates a typed config key |
|
|
223
|
-
| `IConfigKey<T>` | Interface | Typed config key contract |
|
|
224
|
-
| `IConfigRegistryEntry<T>` | Interface | Registry entry with module, required, default |
|
|
225
|
-
| `IConfigModuleOptions` | Interface | Options for `ConfigModule.forRoot()` |
|
|
226
|
-
| `ConfigKeyNotFoundError` | Error | Thrown on missing required config keys |
|