@breadstone/archipel-mcp 0.0.54 → 0.0.56

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 (216) hide show
  1. package/data/guides/ai-image-generation.md +101 -0
  2. package/data/guides/ai-realtime-voice.md +85 -473
  3. package/data/guides/ai-text-generation.md +98 -635
  4. package/data/guides/health-indicators.md +67 -66
  5. package/data/guides/index.md +2 -1
  6. package/data/guides/intelligence-prompts-warm-up.md +81 -312
  7. package/data/packages/platform-intelligence/api/Class.AnthropicIntelligenceProviderAdapter.md +122 -0
  8. package/data/packages/platform-intelligence/api/Class.GatewayIntelligenceProviderAdapter.md +122 -0
  9. package/data/packages/platform-intelligence/api/Class.GoogleIntelligenceProviderAdapter.md +122 -0
  10. package/data/packages/platform-intelligence/api/Class.GrokIntelligenceProviderAdapter.md +122 -0
  11. package/data/packages/platform-intelligence/api/Class.IntelligenceAgent.md +95 -0
  12. package/data/packages/platform-intelligence/api/Class.IntelligenceAgentFactory.md +11 -23
  13. package/data/packages/platform-intelligence/api/Class.IntelligenceEmbeddingGenerator.md +25 -21
  14. package/data/packages/platform-intelligence/api/Class.IntelligenceHealthIndicator.md +15 -10
  15. package/data/packages/platform-intelligence/api/Class.IntelligenceImageGenerator.md +117 -0
  16. package/data/packages/platform-intelligence/api/Class.IntelligenceLanguageGenerator.md +159 -0
  17. package/data/packages/platform-intelligence/api/Class.IntelligenceModule.md +2 -2
  18. package/data/packages/platform-intelligence/api/Class.IntelligencePromptExecutor.md +6 -6
  19. package/data/packages/platform-intelligence/api/Class.IntelligencePromptPolicyPort.md +1 -1
  20. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderAdapterPort.md +104 -0
  21. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderAssetUploader.md +21 -15
  22. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderDiagnostics.md +55 -0
  23. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderError.md +14 -4
  24. package/data/packages/platform-intelligence/api/Class.IntelligenceProviderRegistry.md +68 -0
  25. package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeError.md +9 -9
  26. package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeMeteringPort.md +1 -1
  27. package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeSessionFactory.md +8 -8
  28. package/data/packages/platform-intelligence/api/Class.IntelligenceRealtimeSessionPort.md +18 -18
  29. package/data/packages/platform-intelligence/api/Class.IntelligenceReranker.md +58 -0
  30. package/data/packages/platform-intelligence/api/Class.IntelligenceSpeechGenerator.md +117 -0
  31. package/data/packages/platform-intelligence/api/Class.IntelligenceToolBase.md +14 -16
  32. package/data/packages/platform-intelligence/api/Class.IntelligenceToolRegistry.md +14 -18
  33. package/data/packages/platform-intelligence/api/Class.IntelligenceTranscriptionGenerator.md +139 -0
  34. package/data/packages/platform-intelligence/api/Class.IntelligenceVideoGenerator.md +117 -0
  35. package/data/packages/platform-intelligence/api/Class.MiMoIntelligenceProviderAdapter.md +122 -0
  36. package/data/packages/platform-intelligence/api/Class.OpenAIIntelligenceProviderAdapter.md +122 -0
  37. package/data/packages/platform-intelligence/api/Function.createAnthropicAdvisor20260301Tool.md +1 -1
  38. package/data/packages/platform-intelligence/api/Function.createAnthropicBash20241022Tool.md +1 -1
  39. package/data/packages/platform-intelligence/api/Function.createAnthropicBash20250124Tool.md +1 -1
  40. package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20250522Tool.md +1 -1
  41. package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20250825Tool.md +1 -1
  42. package/data/packages/platform-intelligence/api/Function.createAnthropicCodeExecution20260120Tool.md +1 -1
  43. package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20241022Tool.md +1 -1
  44. package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20250124Tool.md +1 -1
  45. package/data/packages/platform-intelligence/api/Function.createAnthropicComputer20251124Tool.md +1 -1
  46. package/data/packages/platform-intelligence/api/Function.createAnthropicMemory20250818Tool.md +1 -1
  47. package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20241022Tool.md +1 -1
  48. package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250124Tool.md +1 -1
  49. package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250429Tool.md +1 -1
  50. package/data/packages/platform-intelligence/api/Function.createAnthropicTextEditor20250728Tool.md +1 -1
  51. package/data/packages/platform-intelligence/api/Function.createAnthropicToolSearchBM2520251119Tool.md +1 -1
  52. package/data/packages/platform-intelligence/api/Function.createAnthropicToolSearchRegex20251119Tool.md +1 -1
  53. package/data/packages/platform-intelligence/api/Function.createAnthropicWebFetch20250910Tool.md +1 -1
  54. package/data/packages/platform-intelligence/api/Function.createAnthropicWebFetch20260209Tool.md +1 -1
  55. package/data/packages/platform-intelligence/api/Function.createAnthropicWebSearch20250305Tool.md +1 -1
  56. package/data/packages/platform-intelligence/api/Function.createAnthropicWebSearch20260209Tool.md +1 -1
  57. package/data/packages/platform-intelligence/api/Function.createGoogleCodeExecutionTool.md +1 -1
  58. package/data/packages/platform-intelligence/api/Function.createGoogleEnterpriseWebSearchTool.md +1 -1
  59. package/data/packages/platform-intelligence/api/Function.createGoogleFileSearchTool.md +1 -1
  60. package/data/packages/platform-intelligence/api/Function.createGoogleGoogleMapsTool.md +1 -1
  61. package/data/packages/platform-intelligence/api/Function.createGoogleGoogleSearchTool.md +1 -1
  62. package/data/packages/platform-intelligence/api/Function.createGoogleUrlContextTool.md +1 -1
  63. package/data/packages/platform-intelligence/api/Function.createGoogleVertexRagStoreTool.md +1 -1
  64. package/data/packages/platform-intelligence/api/Function.createGrokCodeExecutionTool.md +1 -1
  65. package/data/packages/platform-intelligence/api/Function.createGrokFileSearchTool.md +1 -1
  66. package/data/packages/platform-intelligence/api/Function.createGrokMcpServerTool.md +1 -1
  67. package/data/packages/platform-intelligence/api/Function.createGrokViewImageTool.md +1 -1
  68. package/data/packages/platform-intelligence/api/Function.createGrokViewXVideoTool.md +1 -1
  69. package/data/packages/platform-intelligence/api/Function.createGrokWebSearchTool.md +1 -1
  70. package/data/packages/platform-intelligence/api/Function.createGrokXSearchTool.md +1 -1
  71. package/data/packages/platform-intelligence/api/Function.createIntelligenceJsonSchema.md +31 -0
  72. package/data/packages/platform-intelligence/api/Function.createIntelligenceTool.md +2 -2
  73. package/data/packages/platform-intelligence/api/Function.createMimoCustomTool.md +5 -5
  74. package/data/packages/platform-intelligence/api/Function.createOpenAIApplyPatchTool.md +1 -1
  75. package/data/packages/platform-intelligence/api/Function.createOpenAICodeInterpreterTool.md +1 -1
  76. package/data/packages/platform-intelligence/api/Function.createOpenAICustomTool.md +1 -1
  77. package/data/packages/platform-intelligence/api/Function.createOpenAIFileSearchTool.md +1 -1
  78. package/data/packages/platform-intelligence/api/Function.createOpenAIImageGenerationTool.md +1 -1
  79. package/data/packages/platform-intelligence/api/Function.createOpenAILocalShellTool.md +1 -1
  80. package/data/packages/platform-intelligence/api/Function.createOpenAIMcpTool.md +1 -1
  81. package/data/packages/platform-intelligence/api/Function.createOpenAIShellTool.md +1 -1
  82. package/data/packages/platform-intelligence/api/Function.createOpenAIToolSearchTool.md +1 -1
  83. package/data/packages/platform-intelligence/api/Function.createOpenAIWebSearchPreviewTool.md +1 -1
  84. package/data/packages/platform-intelligence/api/Function.createOpenAIWebSearchTool.md +1 -1
  85. package/data/packages/platform-intelligence/api/Function.defineIntelligenceTool.md +31 -0
  86. package/data/packages/platform-intelligence/api/Interface.IIntelligenceAgentConfiguration.md +70 -0
  87. package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingBatchOptions.md +140 -0
  88. package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingBatchResult.md +70 -0
  89. package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingOptions.md +130 -0
  90. package/data/packages/platform-intelligence/api/Interface.IIntelligenceEmbeddingResult.md +70 -0
  91. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFileUploadOptions.md +118 -0
  92. package/data/packages/platform-intelligence/api/Interface.IIntelligenceFileUploadResult.md +60 -0
  93. package/data/packages/platform-intelligence/api/Interface.IIntelligenceGeneratedFile.md +40 -0
  94. package/data/packages/platform-intelligence/api/Interface.IIntelligenceGenerationStepStartEvent.md +50 -0
  95. package/data/packages/platform-intelligence/api/Interface.IIntelligenceImageGenerationOptions.md +186 -0
  96. package/data/packages/platform-intelligence/api/Interface.IIntelligenceImageGenerationResult.md +60 -0
  97. package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageCompletion.md +141 -0
  98. package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageGenerationOptions.md +250 -0
  99. package/data/packages/platform-intelligence/api/Interface.IIntelligenceLanguageStream.md +50 -0
  100. package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelReference.md +34 -0
  101. package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelRequestOptions.md +72 -0
  102. package/data/packages/platform-intelligence/api/Interface.IIntelligenceModelStatus.md +30 -0
  103. package/data/packages/platform-intelligence/api/Interface.IIntelligenceModuleOptions.md +54 -26
  104. package/data/packages/platform-intelligence/api/Interface.IIntelligenceObjectStream.md +56 -0
  105. package/data/packages/platform-intelligence/api/Interface.IIntelligencePrompt.md +50 -0
  106. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptDefinition.md +14 -14
  107. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptEffectivePolicy.md +1 -1
  108. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptExecutionPolicy.md +1 -1
  109. package/data/packages/platform-intelligence/api/Interface.IIntelligencePromptExecutionResult.md +15 -27
  110. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderConfiguration.md +10 -10
  111. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderLoadRequest.md +54 -0
  112. package/data/packages/platform-intelligence/api/Interface.IIntelligenceProviderProbeResult.md +70 -0
  113. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeModuleOptions.md +9 -21
  114. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeSessionOptions.md +23 -11
  115. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRealtimeUsage.md +174 -10
  116. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRequestOptions.md +114 -0
  117. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRerankingOptions.md +156 -0
  118. package/data/packages/platform-intelligence/api/Interface.IIntelligenceRerankingResult.md +50 -0
  119. package/data/packages/platform-intelligence/api/Interface.IIntelligenceSkillUploadOptions.md +110 -0
  120. package/data/packages/platform-intelligence/api/Interface.IIntelligenceSkillUploadResult.md +80 -0
  121. package/data/packages/platform-intelligence/api/Interface.IIntelligenceSpeechGenerationOptions.md +180 -0
  122. package/data/packages/platform-intelligence/api/Interface.IIntelligenceSpeechGenerationResult.md +50 -0
  123. package/data/packages/platform-intelligence/api/Interface.IIntelligenceStreamingTranscriptionOptions.md +155 -0
  124. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTool.md +7 -10
  125. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolCall.md +40 -0
  126. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolDefinition.md +91 -0
  127. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolExecutionEndEvent.md +50 -0
  128. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolExecutionStartEvent.md +30 -0
  129. package/data/packages/platform-intelligence/api/Interface.IIntelligenceToolRegistry.md +4 -4
  130. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionOptions.md +130 -0
  131. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionResult.md +84 -0
  132. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTranscriptionStream.md +97 -0
  133. package/data/packages/platform-intelligence/api/Interface.IIntelligenceUsage.md +197 -0
  134. package/data/packages/platform-intelligence/api/Interface.IIntelligenceVideoGenerationOptions.md +245 -0
  135. package/data/packages/platform-intelligence/api/Interface.IIntelligenceVideoGenerationResult.md +50 -0
  136. package/data/packages/platform-intelligence/api/TypeAlias.IIntelligenceModelMessage.md +43 -0
  137. package/data/packages/platform-intelligence/api/TypeAlias.IIntelligencePromptModelRequirement.md +2 -2
  138. package/data/packages/platform-intelligence/api/TypeAlias.IIntelligenceSchema.md +70 -0
  139. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceCapability.md +14 -0
  140. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceDefaultModels.md +14 -0
  141. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceJsonValue.md +22 -0
  142. package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptDefinitionConfiguration.md +2 -2
  143. package/data/packages/platform-intelligence/api/TypeAlias.IntelligencePromptGenerationOptions.md +1 -1
  144. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderName.md +1 -1
  145. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderOptions.md +14 -0
  146. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderProbeStatus.md +14 -0
  147. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceProviderToolOptions.md +17 -0
  148. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeMeteringEvent.md +1 -1
  149. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRequestTimeouts.md +14 -0
  150. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolChoice.md +21 -0
  151. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolOutput.md +22 -0
  152. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceToolSet.md +14 -0
  153. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceTranscriptionStreamPart.md +46 -0
  154. package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_API_KEY.md +14 -0
  155. package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_BASE_URL.md +14 -0
  156. package/data/packages/platform-intelligence/api/Variable.AI_GATEWAY_CONFIG_ENTRIES.md +14 -0
  157. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_API_KEY.md +1 -1
  158. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_BASE_URL.md +1 -1
  159. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MAX_OUTPUT_TOKENS.md +1 -1
  160. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_MODEL.md +1 -1
  161. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_PROVIDER.md +2 -2
  162. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TEMPERATURE.md +1 -1
  163. package/data/packages/platform-intelligence/api/Variable.INTELLIGENCE_TOP_P.md +1 -1
  164. package/data/packages/platform-intelligence/api/Variable.IntelligenceCapabilityNames.md +40 -0
  165. package/data/packages/platform-intelligence/api/Variable.IntelligenceProviderNames.md +2 -0
  166. package/data/packages/platform-intelligence/api/Variable.PLATFORM_INTELLIGENCE_CONFIG_ENTRIES.md +2 -2
  167. package/data/packages/platform-intelligence/api/index.md +83 -32
  168. package/data/packages/platform-intelligence/index.md +81 -622
  169. package/package.json +1 -1
  170. package/data/packages/index.md +0 -8
  171. package/data/packages/platform-analytics/index.md +0 -209
  172. package/data/packages/platform-authentication/index.md +0 -725
  173. package/data/packages/platform-blob-storage/index.md +0 -416
  174. package/data/packages/platform-bootstrap/index.md +0 -162
  175. package/data/packages/platform-caching/index.md +0 -167
  176. package/data/packages/platform-configuration/index.md +0 -226
  177. package/data/packages/platform-core/index.md +0 -504
  178. package/data/packages/platform-cryptography/index.md +0 -142
  179. package/data/packages/platform-database/index.md +0 -337
  180. package/data/packages/platform-documents/index.md +0 -255
  181. package/data/packages/platform-esigning/index.md +0 -710
  182. package/data/packages/platform-feature-flags/index.md +0 -103
  183. package/data/packages/platform-health/index.md +0 -141
  184. package/data/packages/platform-intelligence/api/Class.IntelligenceMediaGenerator.md +0 -118
  185. package/data/packages/platform-intelligence/api/Class.IntelligenceStructuredGenerator.md +0 -70
  186. package/data/packages/platform-intelligence/api/Class.IntelligenceTelemetryRegistry.md +0 -44
  187. package/data/packages/platform-intelligence/api/Class.IntelligenceTextGenerator.md +0 -138
  188. package/data/packages/platform-intelligence/api/Function.createProviderOptions.md +0 -39
  189. package/data/packages/platform-intelligence/api/Function.loadAnthropicLanguageModel.md +0 -26
  190. package/data/packages/platform-intelligence/api/Function.loadGoogleLanguageModel.md +0 -26
  191. package/data/packages/platform-intelligence/api/Function.loadGoogleRealtimeModel.md +0 -25
  192. package/data/packages/platform-intelligence/api/Function.loadGrokLanguageModel.md +0 -26
  193. package/data/packages/platform-intelligence/api/Function.loadGrokRealtimeModel.md +0 -25
  194. package/data/packages/platform-intelligence/api/Function.loadMimoLanguageModel.md +0 -26
  195. package/data/packages/platform-intelligence/api/Function.loadOpenAILanguageModel.md +0 -26
  196. package/data/packages/platform-intelligence/api/Function.loadOpenAIRealtimeModel.md +0 -25
  197. package/data/packages/platform-intelligence/api/Interface.IIntelligenceCompletionUsage.md +0 -46
  198. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextCompletion.md +0 -180
  199. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerationOptions.md +0 -144
  200. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextGenerator.md +0 -78
  201. package/data/packages/platform-intelligence/api/Interface.IIntelligenceTextStreamingOptions.md +0 -170
  202. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoader.md +0 -24
  203. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceLanguageModelLoaders.md +0 -14
  204. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeModelLoader.md +0 -25
  205. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceRealtimeModelLoaders.md +0 -14
  206. package/data/packages/platform-intelligence/api/TypeAlias.IntelligenceTextStream.md +0 -14
  207. package/data/packages/platform-logging/index.md +0 -150
  208. package/data/packages/platform-mailing/index.md +0 -470
  209. package/data/packages/platform-mapping/index.md +0 -123
  210. package/data/packages/platform-mcp/index.md +0 -335
  211. package/data/packages/platform-openapi/index.md +0 -207
  212. package/data/packages/platform-payments/index.md +0 -610
  213. package/data/packages/platform-queue/index.md +0 -192
  214. package/data/packages/platform-reporting/index.md +0 -233
  215. package/data/packages/platform-resources/index.md +0 -137
  216. 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) |