@breadstone/archipel-mcp 0.0.54 → 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.
Files changed (208) hide show
  1. package/data/guides/ai-image-generation.md +96 -0
  2. package/data/guides/ai-realtime-voice.md +69 -464
  3. package/data/guides/ai-text-generation.md +95 -626
  4. package/data/guides/index.md +2 -1
  5. package/data/guides/intelligence-prompts-warm-up.md +63 -283
  6. package/data/packages/platform-intelligence/api/Class.AnthropicIntelligenceProviderAdapter.md +78 -0
  7. package/data/packages/platform-intelligence/api/Class.GatewayIntelligenceProviderAdapter.md +78 -0
  8. package/data/packages/platform-intelligence/api/Class.GoogleIntelligenceProviderAdapter.md +78 -0
  9. package/data/packages/platform-intelligence/api/Class.GrokIntelligenceProviderAdapter.md +78 -0
  10. package/data/packages/platform-intelligence/api/Class.IntelligenceAgent.md +95 -0
  11. package/data/packages/platform-intelligence/api/Class.IntelligenceAgentFactory.md +11 -23
  12. package/data/packages/platform-intelligence/api/Class.IntelligenceEmbeddingGenerator.md +25 -21
  13. package/data/packages/platform-intelligence/api/Class.IntelligenceHealthIndicator.md +11 -7
  14. package/data/packages/platform-intelligence/api/Class.IntelligenceLanguageGenerator.md +159 -0
  15. package/data/packages/platform-intelligence/api/Class.IntelligenceMediaGenerator.md +60 -38
  16. package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +2 -2
  17. package/data/packages/platform-intelligence/api/Class.IntelligencePromptExecutor.md +6 -6
  18. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderAssetUploader.md +21 -15
  19. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderDiagnostics.md +55 -0
  20. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderError.md +14 -4
  21. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderRegistry.md +68 -0
  22. package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeError.md +9 -9
  23. package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeSessionFactory.md +12 -12
  24. package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeSessionPort.md +18 -18
  25. package/data/packages/platform-intelligence/api/Class.IntelligenceReranker.md +58 -0
  26. package/data/packages/platform-intelligence/api/Class.IntelligenceToolBase.md +14 -16
  27. package/data/packages/platform-intelligence/api/Class.IntelligenceToolRegistry.md +10 -14
  28. package/data/packages/platform-intelligence/api/Class.MiMoIntelligenceProviderAdapter.md +78 -0
  29. package/data/packages/platform-intelligence/api/Class.OpenAIIntelligenceProviderAdapter.md +102 -0
  30. package/data/packages/platform-intelligence/api/Function.createAnthropicAdvisor20260301Tool.md +1 -1
  31. package/data/packages/platform-intelligence/api/Function.createAnthropicBash20241022Tool.md +1 -1
  32. package/data/packages/platform-intelligence/api/Function.createAnthropicBash20250124Tool.md +1 -1
  33. package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20250522Tool.md +1 -1
  34. package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20250825Tool.md +1 -1
  35. package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20260120Tool.md +1 -1
  36. package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20241022Tool.md +1 -1
  37. package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20250124Tool.md +1 -1
  38. package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20251124Tool.md +1 -1
  39. package/data/packages/platform-intelligence/api/Function.createAnthropicMemory20250818Tool.md +1 -1
  40. package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20241022Tool.md +1 -1
  41. package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250124Tool.md +1 -1
  42. package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250429Tool.md +1 -1
  43. package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250728Tool.md +1 -1
  44. package/data/packages/platform-intelligence/api/Function.createAnthropicToolSearchBM2520251119Tool.md +1 -1
  45. package/data/packages/platform-intelligence/api/Function.createAnthropicToolSearchRegex20251119Tool.md +1 -1
  46. package/data/packages/platform-intelligence/api/Function.createAnthropicWebFetch20250910Tool.md +1 -1
  47. package/data/packages/platform-intelligence/api/Function.createAnthropicWebFetch20260209Tool.md +1 -1
  48. package/data/packages/platform-intelligence/api/Function.createAnthropicWebSearch20250305Tool.md +1 -1
  49. package/data/packages/platform-intelligence/api/Function.createAnthropicWebSearch20260209Tool.md +1 -1
  50. package/data/packages/platform-intelligence/api/Function.createGoogleCodeExecutionTool.md +1 -1
  51. package/data/packages/platform-intelligence/api/Function.createGoogleEnterpriseWebSearchTool.md +1 -1
  52. package/data/packages/platform-intelligence/api/Function.createGoogleFileSearchTool.md +1 -1
  53. package/data/packages/platform-intelligence/api/Function.createGoogleGoogleMapsTool.md +1 -1
  54. package/data/packages/platform-intelligence/api/Function.createGoogleGoogleSearchTool.md +1 -1
  55. package/data/packages/platform-intelligence/api/Function.createGoogleUrlContextTool.md +1 -1
  56. package/data/packages/platform-intelligence/api/Function.createGoogleVertexRagStoreTool.md +1 -1
  57. package/data/packages/platform-intelligence/api/Function.createGrokCodeExecutionTool.md +1 -1
  58. package/data/packages/platform-intelligence/api/Function.createGrokFileSearchTool.md +1 -1
  59. package/data/packages/platform-intelligence/api/Function.createGrokMcpServerTool.md +1 -1
  60. package/data/packages/platform-intelligence/api/Function.createGrokViewImageTool.md +1 -1
  61. package/data/packages/platform-intelligence/api/Function.createGrokViewXVideoTool.md +1 -1
  62. package/data/packages/platform-intelligence/api/Function.createGrokWebSearchTool.md +1 -1
  63. package/data/packages/platform-intelligence/api/Function.createGrokXSearchTool.md +1 -1
  64. package/data/packages/platform-intelligence/api/Function.createIntelligenceJsonSchema.md +31 -0
  65. package/data/packages/platform-intelligence/api/Function.createIntelligenceTool.md +2 -2
  66. package/data/packages/platform-intelligence/api/Function.createMimoCustomTool.md +5 -5
  67. package/data/packages/platform-intelligence/api/Function.createOpenAIApplyPatchTool.md +1 -1
  68. package/data/packages/platform-intelligence/api/Function.createOpenAICodeInterpreterTool.md +1 -1
  69. package/data/packages/platform-intelligence/api/Function.createOpenAICustomTool.md +1 -1
  70. package/data/packages/platform-intelligence/api/Function.createOpenAIFileSearchTool.md +1 -1
  71. package/data/packages/platform-intelligence/api/Function.createOpenAIImageGenerationTool.md +1 -1
  72. package/data/packages/platform-intelligence/api/Function.createOpenAILocalShellTool.md +1 -1
  73. package/data/packages/platform-intelligence/api/Function.createOpenAIMcpTool.md +1 -1
  74. package/data/packages/platform-intelligence/api/Function.createOpenAIShellTool.md +1 -1
  75. package/data/packages/platform-intelligence/api/Function.createOpenAIToolSearchTool.md +1 -1
  76. package/data/packages/platform-intelligence/api/Function.createOpenAIWebSearchPreviewTool.md +1 -1
  77. package/data/packages/platform-intelligence/api/Function.createOpenAIWebSearchTool.md +1 -1
  78. package/data/packages/platform-intelligence/api/Function.defineIntelligenceTool.md +31 -0
  79. package/data/packages/platform-intelligence/api/Interface.IIntelligenceAgentConfiguration.md +70 -0
  80. package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingBatchOptions.md +124 -0
  81. package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingBatchResult.md +70 -0
  82. package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingOptions.md +114 -0
  83. package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingResult.md +70 -0
  84. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFileUploadOptions.md +102 -0
  85. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFileUploadResult.md +60 -0
  86. package/data/packages/platform-intelligence/api/Interface.IIntelligenceGeneratedFile.md +40 -0
  87. package/data/packages/platform-intelligence/api/Interface.IIntelligenceGenerationStepStartEvent.md +50 -0
  88. package/data/packages/platform-intelligence/api/Interface.IIntelligenceImageGenerationOptions.md +170 -0
  89. package/data/packages/platform-intelligence/api/Interface.IIntelligenceImageGenerationResult.md +60 -0
  90. package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageCompletion.md +141 -0
  91. package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageGenerationOptions.md +234 -0
  92. package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageStream.md +50 -0
  93. package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelReference.md +34 -0
  94. package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelRequestOptions.md +52 -0
  95. package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelStatus.md +30 -0
  96. package/data/packages/platform-intelligence/api/Interface.IIntelligenceModuleOptions.md +33 -27
  97. package/data/packages/platform-intelligence/api/Interface.IIntelligenceObjectStream.md +56 -0
  98. package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +50 -0
  99. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptDefinition.md +14 -14
  100. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptEffectivePolicy.md +1 -1
  101. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptExecutionPolicy.md +1 -1
  102. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptExecutionResult.md +15 -27
  103. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderAdapter.md +73 -0
  104. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +10 -10
  105. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderLoadRequest.md +40 -0
  106. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderProbeResult.md +70 -0
  107. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeModuleOptions.md +9 -21
  108. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeSessionOptions.md +11 -11
  109. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRequestOptions.md +98 -0
  110. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRerankingOptions.md +140 -0
  111. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRerankingResult.md +50 -0
  112. package/data/packages/platform-intelligence/api/Interface.IIntelligenceSkillUploadOptions.md +94 -0
  113. package/data/packages/platform-intelligence/api/Interface.IIntelligenceSkillUploadResult.md +80 -0
  114. package/data/packages/platform-intelligence/api/Interface.IIntelligenceSpeechGenerationOptions.md +164 -0
  115. package/data/packages/platform-intelligence/api/Interface.IIntelligenceSpeechGenerationResult.md +50 -0
  116. package/data/packages/platform-intelligence/api/Interface.IIntelligenceStreamingTranscriptionOptions.md +139 -0
  117. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTool.md +7 -10
  118. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolCall.md +40 -0
  119. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolDefinition.md +91 -0
  120. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolExecutionEndEvent.md +50 -0
  121. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolExecutionStartEvent.md +30 -0
  122. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolRegistry.md +4 -4
  123. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionOptions.md +114 -0
  124. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionResult.md +84 -0
  125. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionStream.md +97 -0
  126. package/data/packages/platform-intelligence/api/Interface.IIntelligenceUsage.md +40 -0
  127. package/data/packages/platform-intelligence/api/Interface.IIntelligenceVideoGenerationOptions.md +229 -0
  128. package/data/packages/platform-intelligence/api/Interface.IIntelligenceVideoGenerationResult.md +50 -0
  129. package/data/packages/platform-intelligence/api/TypeAlias.IIntelligenceModelMessage.md +43 -0
  130. package/data/packages/platform-intelligence/api/TypeAlias.IIntelligencePromptModelRequirement.md +2 -2
  131. package/data/packages/platform-intelligence/api/TypeAlias.IIntelligenceSchema.md +70 -0
  132. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceCapability.md +14 -0
  133. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceDefaultModels.md +14 -0
  134. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceJsonValue.md +22 -0
  135. package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptDefinitionConfiguration.md +2 -2
  136. package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptGenerationOptions.md +1 -1
  137. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +1 -1
  138. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderOptions.md +14 -0
  139. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderProbeStatus.md +14 -0
  140. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderToolOptions.md +17 -0
  141. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeMeteringEvent.md +1 -1
  142. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRequestTimeouts.md +14 -0
  143. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolChoice.md +21 -0
  144. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolOutput.md +22 -0
  145. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolSet.md +14 -0
  146. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceTranscriptionStreamPart.md +46 -0
  147. package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_API_KEY.md +14 -0
  148. package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_BASE_URL.md +14 -0
  149. package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_CONFIG_ENTRIES.md +14 -0
  150. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_API_KEY.md +1 -1
  151. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_BASE_URL.md +1 -1
  152. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +1 -1
  153. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MODEL.md +1 -1
  154. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_PROVIDER.md +2 -2
  155. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TEMPERATURE.md +1 -1
  156. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TOP_P.md +1 -1
  157. package/data/packages/platform-intelligence/api/Variable.IntelligenceCapabilityNames.md +40 -0
  158. package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +2 -0
  159. package/data/packages/platform-intelligence/api/Variable.PLATFORM_INTELLIGENCE_CONFIG_ENTRIES.md +1 -1
  160. package/data/packages/platform-intelligence/api/index.md +78 -30
  161. package/package.json +1 -1
  162. package/data/packages/index.md +0 -8
  163. package/data/packages/platform-analytics/index.md +0 -209
  164. package/data/packages/platform-authentication/index.md +0 -725
  165. package/data/packages/platform-blob-storage/index.md +0 -416
  166. package/data/packages/platform-bootstrap/index.md +0 -162
  167. package/data/packages/platform-caching/index.md +0 -167
  168. package/data/packages/platform-configuration/index.md +0 -226
  169. package/data/packages/platform-core/index.md +0 -504
  170. package/data/packages/platform-cryptography/index.md +0 -142
  171. package/data/packages/platform-database/index.md +0 -337
  172. package/data/packages/platform-documents/index.md +0 -255
  173. package/data/packages/platform-esigning/index.md +0 -710
  174. package/data/packages/platform-feature-flags/index.md +0 -103
  175. package/data/packages/platform-health/index.md +0 -141
  176. package/data/packages/platform-intelligence/api/Class.IntelligenceStructuredGenerator.md +0 -70
  177. package/data/packages/platform-intelligence/api/Class.IntelligenceTelemetryRegistry.md +0 -44
  178. package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +0 -138
  179. package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +0 -39
  180. package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +0 -26
  181. package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +0 -26
  182. package/data/packages/platform-intelligence/api/Function.loadGoogleRealtimeModel.md +0 -25
  183. package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +0 -26
  184. package/data/packages/platform-intelligence/api/Function.loadGrokRealtimeModel.md +0 -25
  185. package/data/packages/platform-intelligence/api/Function.loadMimoLanguageModel.md +0 -26
  186. package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +0 -26
  187. package/data/packages/platform-intelligence/api/Function.loadOpenAIRealtimeModel.md +0 -25
  188. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +0 -46
  189. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +0 -180
  190. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +0 -144
  191. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +0 -78
  192. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextStreamingOptions.md +0 -170
  193. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +0 -24
  194. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoaders.md +0 -14
  195. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeModelLoader.md +0 -25
  196. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeModelLoaders.md +0 -14
  197. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceTextStream.md +0 -14
  198. package/data/packages/platform-intelligence/index.md +0 -627
  199. package/data/packages/platform-logging/index.md +0 -150
  200. package/data/packages/platform-mailing/index.md +0 -470
  201. package/data/packages/platform-mapping/index.md +0 -123
  202. package/data/packages/platform-mcp/index.md +0 -335
  203. package/data/packages/platform-openapi/index.md +0 -207
  204. package/data/packages/platform-payments/index.md +0 -610
  205. package/data/packages/platform-queue/index.md +0 -192
  206. package/data/packages/platform-reporting/index.md +0 -233
  207. package/data/packages/platform-resources/index.md +0 -137
  208. package/data/packages/platform-telemetry/index.md +0 -262
@@ -1,262 +0,0 @@
1
- ---
2
- title: platform-telemetry
3
- description: OpenTelemetry integration with tracing, metrics, and graceful no-op fallback.
4
- order: 11
5
- tags: [telemetry, opentelemetry, tracing, metrics, observability, health]
6
- package: '@breadstone/archipel-platform-telemetry'
7
- ---
8
-
9
- # platform-telemetry
10
-
11
- OpenTelemetry integration providing distributed tracing, metrics collection, and a graceful no-op fallback when telemetry is disabled. Wraps the OTEL SDK with a clean facade pattern.
12
-
13
- **Package:** `@breadstone/archipel-platform-telemetry`
14
-
15
- <InstallTabs />
16
-
17
- ## Quick Start
18
-
19
- ```typescript
20
- import { Module } from '@nestjs/common';
21
- import { TelemetryModule } from '@breadstone/archipel-platform-telemetry';
22
-
23
- @Module({
24
- imports: [
25
- TelemetryModule.register({
26
- enabled: true,
27
- }),
28
- ],
29
- })
30
- export class AppModule {}
31
- ```
32
-
33
- ---
34
-
35
- ## Module Configuration
36
-
37
- ### ITelemetryOptions
38
-
39
- | Property | Type | Default | Description |
40
- | --------- | --------- | ------- | ------------------------ |
41
- | `enabled` | `boolean` | `false` | Enable/disable telemetry |
42
-
43
- When disabled, the `NoopTelemetryFacade` is injected instead — all method calls are no-ops with zero overhead.
44
-
45
- ```typescript
46
- // Disabled telemetry — safe, no-overhead
47
- TelemetryModule.register({ enabled: false });
48
-
49
- // Enabled telemetry — full OTEL SDK
50
- TelemetryModule.register({ enabled: true });
51
- ```
52
-
53
- ---
54
-
55
- ## TelemetryFacade
56
-
57
- Main API for recording operations, cache events, and custom metrics.
58
-
59
- ### Wrap Operations
60
-
61
- Automatically trace async operations with duration, success/failure status, and error capture:
62
-
63
- ```typescript
64
- import { TelemetryFacade, TELEMETRY_FACADE } from '@breadstone/archipel-platform-telemetry';
65
-
66
- @Injectable()
67
- export class OrderService {
68
- constructor(@Inject(TELEMETRY_FACADE) private readonly _telemetry: TelemetryFacade) {}
69
-
70
- public async processOrder(orderId: string): Promise<IOrder> {
71
- return this._telemetry.runOperation('processOrder', async () => {
72
- const order = await this._orderRepo.findById(orderId);
73
- await this._paymentService.charge(order);
74
- await this._inventoryService.reserve(order.items);
75
- return order;
76
- });
77
- // Automatically records:
78
- // - operation.name = 'processOrder'
79
- // - duration_ms
80
- // - status = 'success' | 'error'
81
- // - error details (if thrown)
82
- }
83
- }
84
- ```
85
-
86
- ### Record Cache Events
87
-
88
- Track cache hits and misses:
89
-
90
- ```typescript
91
- this._telemetry.recordCacheEvent({
92
- cache: 'products',
93
- outcome: 'hit', // 'hit' | 'miss'
94
- phase: 'memory', // optional: 'memory' | 'redis' | 'db'
95
- });
96
- ```
97
-
98
- ### Record Custom Metrics
99
-
100
- ```typescript
101
- this._telemetry.recordClientMetric('order_total_amount', 'histogram', order.total, { currency: 'EUR', region: 'DE' });
102
- ```
103
-
104
- ### Get Logger
105
-
106
- ```typescript
107
- const logger = this._telemetry.getLogger();
108
- logger.log('Order processed', { orderId, total: order.total });
109
- ```
110
-
111
- ---
112
-
113
- ## TelemetryCacheMetricsRecorder
114
-
115
- Bridges the `ICacheMetricsRecorder` interface (from `platform-core`) with the telemetry facade:
116
-
117
- ```typescript
118
- import { TelemetryCacheMetricsRecorder } from '@breadstone/archipel-platform-telemetry';
119
- import { MemoryLayeredCache } from '@breadstone/archipel-platform-core';
120
-
121
- // In a module provider
122
- {
123
- provide: 'PRODUCT_CACHE',
124
- useFactory: (recorder: TelemetryCacheMetricsRecorder) => {
125
- return new MemoryLayeredCache<string, IProduct>(
126
- async (key) => fetchProduct(key),
127
- {
128
- ttlMs: 60_000,
129
- metricsRecorder: recorder,
130
- cacheName: 'products',
131
- }
132
- );
133
- },
134
- inject: [TelemetryCacheMetricsRecorder],
135
- }
136
- ```
137
-
138
- ---
139
-
140
- ## TelemetryRuleEngine
141
-
142
- Conditionally enable/disable telemetry recording per operation:
143
-
144
- ```typescript
145
- import { TelemetryRuleEngine } from '@breadstone/archipel-platform-telemetry';
146
-
147
- @Injectable()
148
- export class AppTelemetryRules extends TelemetryRuleEngine {
149
- public shouldRecord(operationName: string): boolean {
150
- // Skip noisy health checks
151
- if (operationName === 'healthCheck') return false;
152
- return true;
153
- }
154
- }
155
- ```
156
-
157
- ---
158
-
159
- ## OpenTelemetry Internals
160
-
161
- The module initializes these OTEL components:
162
-
163
- | Component | Implementation |
164
- | ----------------------- | ---------------------------------------- |
165
- | Trace exporter | OTLP/HTTP |
166
- | Metrics exporter | OTLP/HTTP |
167
- | Express instrumentation | `@opentelemetry/instrumentation-express` |
168
- | HTTP instrumentation | `@opentelemetry/instrumentation-http` |
169
- | SDK shutdown hook | Graceful on `OnModuleDestroy` (5-second timeout) |
170
- | SDK init guard | `OtelSdkHolder` write-once — prevents double-init |
171
- | Metric instruments | Eager init via `MetricsService.onModuleInit()` |
172
-
173
- ---
174
-
175
- ## Real-World Example: Full Observability Stack
176
-
177
- ```typescript
178
- @Module({
179
- imports: [
180
- TelemetryModule.register({ enabled: process.env.OTEL_ENABLED === 'true' }),
181
- LoggerModule, // Sentry integration
182
- DatabaseModule.forRoot(),
183
- ],
184
- })
185
- export class AppModule {}
186
-
187
- // In a service
188
- @Injectable()
189
- export class ProductService {
190
- constructor(
191
- @Inject(TELEMETRY_FACADE) private readonly _telemetry: TelemetryFacade,
192
- private readonly _analytics: AnalyticsService,
193
- private readonly _productRepo: ProductRepository,
194
- ) {}
195
-
196
- public async searchProducts(query: string): Promise<IProduct[]> {
197
- return this._telemetry.runOperation('searchProducts', async () => {
198
- const results = await this._productRepo.execute(searchProducts(query));
199
-
200
- this._telemetry.recordClientMetric('search_results_count', 'histogram', results.length, {
201
- query_length: query.length.toString(),
202
- });
203
-
204
- return results;
205
- });
206
- }
207
- }
208
- ```
209
-
210
- ---
211
-
212
- ## Graceful Degradation
213
-
214
- When `enabled: false` or when the OTEL SDK fails to initialize:
215
-
216
- - `NoopTelemetryFacade` is injected instead of `TelemetryFacade`
217
- - All operations execute normally without tracing overhead
218
- - `runOperation()` simply invokes the callback
219
- - `recordCacheEvent()` and `recordClientMetric()` are no-ops
220
- - No errors thrown — the application runs normally
221
-
222
- ---
223
-
224
- ## Health Check
225
-
226
- The `TelemetryHealthIndicator` verifies that the `OtelSdkHolder` is injected. If the OpenTelemetry SDK is not initialized, it reports `disabled: true`. Import it from the `/health` subpath:
227
-
228
- ```typescript
229
- import { TelemetryHealthIndicator } from '@breadstone/archipel-platform-telemetry/health';
230
- import { HealthModule } from '@breadstone/archipel-platform-health';
231
-
232
- @Module({
233
- imports: [
234
- TelemetryModule,
235
- HealthModule.withIndicators([TelemetryHealthIndicator]),
236
- ],
237
- })
238
- export class AppModule {}
239
- ```
240
-
241
- | Key | Check | Dependencies |
242
- | --- | ----- | ------------ |
243
- | `telemetry` | `up` if `OtelSdkHolder` injected, else `disabled` | `@Optional() OtelSdkHolder` |
244
-
245
- ---
246
-
247
- ## Exports Summary
248
-
249
- | Export | Type | Description |
250
- | ------------------------------- | ------------- | -------------------------- |
251
- | `TelemetryModule` | NestJS Module | `register()` configuration |
252
- | `TelemetryFacade` | Service | Main telemetry API |
253
- | `NoopTelemetryFacade` | Service | Disabled-mode fallback |
254
- | `TelemetryCacheMetricsRecorder` | Service | Bridge for cache metrics |
255
- | `TelemetryRuleEngine` | Service | Conditional recording |
256
- | `TelemetryLoggerService` | Service | Logger integration |
257
- | `OperationTelemetryInterceptor` | Interceptor | Auto-trace HTTP requests (returns `Observable<unknown>`) |
258
- | `TELEMETRY_FACADE` | Token | Injection token for facade |
259
- | `TELEMETRY_ENABLED` | Token | Boolean enabled flag |
260
- | `TELEMETRY_OPTIONS` | Token | Configuration options |
261
- | `TELEMETRY_SHUTDOWN` | Token | Shutdown hook |
262
- | `TelemetryHealthIndicator` | Health | Telemetry readiness check (`/health` subpath) |