@plyaz/core 1.1.1 → 1.2.1

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 (243) hide show
  1. package/dist/adapters/index.d.ts +16 -0
  2. package/dist/adapters/index.d.ts.map +1 -0
  3. package/dist/adapters/nestjs.d.ts +79 -0
  4. package/dist/adapters/nestjs.d.ts.map +1 -0
  5. package/dist/adapters/nextjs.d.ts +28 -0
  6. package/dist/adapters/nextjs.d.ts.map +1 -0
  7. package/dist/backend/example/example.controller.d.ts +121 -0
  8. package/dist/backend/example/example.controller.d.ts.map +1 -0
  9. package/dist/backend/example/example.module.d.ts +29 -0
  10. package/dist/backend/example/example.module.d.ts.map +1 -0
  11. package/dist/backend/example/index.d.ts +8 -0
  12. package/dist/backend/example/index.d.ts.map +1 -0
  13. package/dist/backend/featureFlags/FeatureFlagDomainService.d.ts +150 -0
  14. package/dist/backend/featureFlags/FeatureFlagDomainService.d.ts.map +1 -0
  15. package/dist/backend/featureFlags/config/feature-flag.config.d.ts +89 -0
  16. package/dist/backend/featureFlags/config/feature-flag.config.d.ts.map +1 -0
  17. package/dist/backend/featureFlags/config/validation.d.ts +181 -0
  18. package/dist/backend/featureFlags/config/validation.d.ts.map +1 -0
  19. package/dist/backend/featureFlags/decorators/feature-disabled.decorator.d.ts +6 -0
  20. package/dist/backend/featureFlags/decorators/feature-disabled.decorator.d.ts.map +1 -0
  21. package/dist/backend/featureFlags/decorators/feature-enabled.decorator.d.ts +8 -0
  22. package/dist/backend/featureFlags/decorators/feature-enabled.decorator.d.ts.map +1 -0
  23. package/dist/backend/featureFlags/decorators/feature-flag.decorator.d.ts +11 -0
  24. package/dist/backend/featureFlags/decorators/feature-flag.decorator.d.ts.map +1 -0
  25. package/dist/backend/featureFlags/feature-flag.controller.d.ts +14 -56
  26. package/dist/backend/featureFlags/feature-flag.controller.d.ts.map +1 -1
  27. package/dist/backend/featureFlags/feature-flag.module.d.ts +36 -44
  28. package/dist/backend/featureFlags/feature-flag.module.d.ts.map +1 -1
  29. package/dist/backend/featureFlags/guards/feature-flag.guard.d.ts +33 -0
  30. package/dist/backend/featureFlags/guards/feature-flag.guard.d.ts.map +1 -0
  31. package/dist/backend/featureFlags/index.d.ts +14 -41
  32. package/dist/backend/featureFlags/index.d.ts.map +1 -1
  33. package/dist/backend/featureFlags/interceptors/error-handling-interceptor.d.ts +16 -0
  34. package/dist/backend/featureFlags/interceptors/error-handling-interceptor.d.ts.map +1 -0
  35. package/dist/backend/featureFlags/interceptors/feature-flag-logging-interceptor.d.ts +18 -0
  36. package/dist/backend/featureFlags/interceptors/feature-flag-logging-interceptor.d.ts.map +1 -0
  37. package/dist/backend/featureFlags/middleware/feature-flag-middleware.d.ts +162 -0
  38. package/dist/backend/featureFlags/middleware/feature-flag-middleware.d.ts.map +1 -0
  39. package/dist/backend/index.d.ts +5 -0
  40. package/dist/backend/index.d.ts.map +1 -1
  41. package/dist/base/cache/CacheKeyBuilder.d.ts +115 -0
  42. package/dist/base/cache/CacheKeyBuilder.d.ts.map +1 -0
  43. package/dist/base/cache/feature/caching.d.ts +16 -0
  44. package/dist/base/cache/feature/caching.d.ts.map +1 -0
  45. package/dist/base/cache/index.d.ts +2 -0
  46. package/dist/base/cache/index.d.ts.map +1 -1
  47. package/dist/base/cache/strategies/redis.d.ts.map +1 -1
  48. package/dist/base/observability/BaseAdapter.d.ts +79 -0
  49. package/dist/base/observability/BaseAdapter.d.ts.map +1 -0
  50. package/dist/base/observability/CompositeAdapter.d.ts +72 -0
  51. package/dist/base/observability/CompositeAdapter.d.ts.map +1 -0
  52. package/dist/base/observability/DatadogAdapter.d.ts +117 -0
  53. package/dist/base/observability/DatadogAdapter.d.ts.map +1 -0
  54. package/dist/base/observability/LoggerAdapter.d.ts +54 -0
  55. package/dist/base/observability/LoggerAdapter.d.ts.map +1 -0
  56. package/dist/base/observability/ObservabilityService.d.ts +160 -0
  57. package/dist/base/observability/ObservabilityService.d.ts.map +1 -0
  58. package/dist/base/observability/index.d.ts +17 -0
  59. package/dist/base/observability/index.d.ts.map +1 -0
  60. package/dist/domain/base/BaseBackendDomainService.d.ts +528 -0
  61. package/dist/domain/base/BaseBackendDomainService.d.ts.map +1 -0
  62. package/dist/domain/base/BaseDomainService.d.ts +284 -0
  63. package/dist/domain/base/BaseDomainService.d.ts.map +1 -0
  64. package/dist/domain/base/BaseFrontendDomainService.d.ts +493 -0
  65. package/dist/domain/base/BaseFrontendDomainService.d.ts.map +1 -0
  66. package/dist/domain/base/BaseMapper.d.ts +100 -0
  67. package/dist/domain/base/BaseMapper.d.ts.map +1 -0
  68. package/dist/domain/base/BaseValidator.d.ts +105 -0
  69. package/dist/domain/base/BaseValidator.d.ts.map +1 -0
  70. package/dist/domain/base/index.d.ts +10 -0
  71. package/dist/domain/base/index.d.ts.map +1 -0
  72. package/dist/domain/example/BackendExampleDomainService.d.ts +257 -0
  73. package/dist/domain/example/BackendExampleDomainService.d.ts.map +1 -0
  74. package/dist/domain/example/FrontendExampleDomainService.d.ts +164 -0
  75. package/dist/domain/example/FrontendExampleDomainService.d.ts.map +1 -0
  76. package/dist/domain/example/index.d.ts +10 -0
  77. package/dist/domain/example/index.d.ts.map +1 -0
  78. package/dist/domain/example/mappers/ExampleMapper.d.ts +67 -0
  79. package/dist/domain/example/mappers/ExampleMapper.d.ts.map +1 -0
  80. package/dist/domain/example/validators/ExampleValidator.d.ts +33 -0
  81. package/dist/domain/example/validators/ExampleValidator.d.ts.map +1 -0
  82. package/dist/domain/featureFlags/FrontendFeatureFlagDomainService.d.ts +86 -0
  83. package/dist/domain/featureFlags/FrontendFeatureFlagDomainService.d.ts.map +1 -0
  84. package/dist/domain/featureFlags/index.d.ts +10 -5
  85. package/dist/domain/featureFlags/index.d.ts.map +1 -1
  86. package/dist/domain/featureFlags/mappers/FeatureFlagMapper.d.ts +72 -0
  87. package/dist/domain/featureFlags/mappers/FeatureFlagMapper.d.ts.map +1 -0
  88. package/dist/domain/featureFlags/mappers/index.d.ts +8 -0
  89. package/dist/domain/featureFlags/mappers/index.d.ts.map +1 -0
  90. package/dist/domain/featureFlags/module.d.ts +20 -0
  91. package/dist/domain/featureFlags/module.d.ts.map +1 -0
  92. package/dist/domain/featureFlags/provider.d.ts +40 -1
  93. package/dist/domain/featureFlags/provider.d.ts.map +1 -1
  94. package/dist/domain/featureFlags/providers/api.d.ts +59 -34
  95. package/dist/domain/featureFlags/providers/api.d.ts.map +1 -1
  96. package/dist/domain/featureFlags/providers/database.d.ts +59 -52
  97. package/dist/domain/featureFlags/providers/database.d.ts.map +1 -1
  98. package/dist/domain/featureFlags/providers/factory.d.ts +50 -33
  99. package/dist/domain/featureFlags/providers/factory.d.ts.map +1 -1
  100. package/dist/domain/featureFlags/providers/file.d.ts +48 -1
  101. package/dist/domain/featureFlags/providers/file.d.ts.map +1 -1
  102. package/dist/domain/featureFlags/providers/memory.d.ts +32 -6
  103. package/dist/domain/featureFlags/providers/memory.d.ts.map +1 -1
  104. package/dist/domain/featureFlags/providers/redis.d.ts +6 -1
  105. package/dist/domain/featureFlags/providers/redis.d.ts.map +1 -1
  106. package/dist/domain/featureFlags/service.d.ts +112 -0
  107. package/dist/domain/featureFlags/service.d.ts.map +1 -0
  108. package/dist/domain/index.d.ts +2 -0
  109. package/dist/domain/index.d.ts.map +1 -1
  110. package/dist/engine/featureFlags/engine.d.ts +8 -0
  111. package/dist/engine/featureFlags/engine.d.ts.map +1 -1
  112. package/dist/entry-backend.d.ts +24 -0
  113. package/dist/entry-backend.d.ts.map +1 -0
  114. package/dist/entry-backend.js +15635 -0
  115. package/dist/entry-backend.js.map +1 -0
  116. package/dist/entry-backend.mjs +15506 -0
  117. package/dist/entry-backend.mjs.map +1 -0
  118. package/dist/entry-frontend.d.ts +23 -0
  119. package/dist/entry-frontend.d.ts.map +1 -0
  120. package/dist/entry-frontend.js +11152 -0
  121. package/dist/entry-frontend.js.map +1 -0
  122. package/dist/entry-frontend.mjs +11089 -0
  123. package/dist/entry-frontend.mjs.map +1 -0
  124. package/dist/events/CoreEventManager.d.ts +116 -0
  125. package/dist/events/CoreEventManager.d.ts.map +1 -0
  126. package/dist/events/index.d.ts +27 -0
  127. package/dist/events/index.d.ts.map +1 -0
  128. package/dist/frontend/base/index.d.ts +8 -0
  129. package/dist/frontend/base/index.d.ts.map +1 -0
  130. package/dist/frontend/components/InitializationError.d.ts +25 -0
  131. package/dist/frontend/components/InitializationError.d.ts.map +1 -0
  132. package/dist/frontend/components/InitializationLoading.d.ts +22 -0
  133. package/dist/frontend/components/InitializationLoading.d.ts.map +1 -0
  134. package/dist/frontend/components/index.d.ts +9 -0
  135. package/dist/frontend/components/index.d.ts.map +1 -0
  136. package/dist/frontend/example/index.d.ts +9 -0
  137. package/dist/frontend/example/index.d.ts.map +1 -0
  138. package/dist/frontend/featureFlags/index.d.ts +28 -7
  139. package/dist/frontend/featureFlags/index.d.ts.map +1 -1
  140. package/dist/frontend/index.d.ts +5 -0
  141. package/dist/frontend/index.d.ts.map +1 -1
  142. package/dist/frontend/providers/ApiProvider.d.ts +41 -0
  143. package/dist/frontend/providers/ApiProvider.d.ts.map +1 -0
  144. package/dist/frontend/providers/PlyazProvider.d.ts +305 -0
  145. package/dist/frontend/providers/PlyazProvider.d.ts.map +1 -0
  146. package/dist/frontend/providers/index.d.ts +8 -0
  147. package/dist/frontend/providers/index.d.ts.map +1 -0
  148. package/dist/frontend/store/feature-flags.d.ts +63 -0
  149. package/dist/frontend/store/feature-flags.d.ts.map +1 -0
  150. package/dist/frontend/store/index.d.ts +14 -0
  151. package/dist/frontend/store/index.d.ts.map +1 -0
  152. package/dist/frontend/store/integrations.d.ts +36 -0
  153. package/dist/frontend/store/integrations.d.ts.map +1 -0
  154. package/dist/frontend/store/service-accessors.d.ts +78 -0
  155. package/dist/frontend/store/service-accessors.d.ts.map +1 -0
  156. package/dist/index.d.ts +6 -2
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +15450 -0
  159. package/dist/index.js.map +1 -0
  160. package/dist/index.mjs +13461 -2440
  161. package/dist/index.mjs.map +1 -1
  162. package/dist/init/CoreInitializer.d.ts +582 -0
  163. package/dist/init/CoreInitializer.d.ts.map +1 -0
  164. package/dist/init/ServiceRegistry.d.ts +256 -0
  165. package/dist/init/ServiceRegistry.d.ts.map +1 -0
  166. package/dist/init/index.d.ts +14 -0
  167. package/dist/init/index.d.ts.map +1 -0
  168. package/dist/init/nestjs/CoreModule.d.ts +63 -0
  169. package/dist/init/nestjs/CoreModule.d.ts.map +1 -0
  170. package/dist/init/nestjs/index.d.ts +5 -0
  171. package/dist/init/nestjs/index.d.ts.map +1 -0
  172. package/dist/init/nestjs/index.js +9059 -0
  173. package/dist/init/nestjs/index.js.map +1 -0
  174. package/dist/init/nestjs/index.mjs +9055 -0
  175. package/dist/init/nestjs/index.mjs.map +1 -0
  176. package/dist/init/react.d.ts +33 -0
  177. package/dist/init/react.d.ts.map +1 -0
  178. package/dist/models/example/ExampleRepository.d.ts +124 -0
  179. package/dist/models/example/ExampleRepository.d.ts.map +1 -0
  180. package/dist/models/example/index.d.ts +7 -0
  181. package/dist/models/example/index.d.ts.map +1 -0
  182. package/dist/models/featureFlags/FeatureFlagRepository.d.ts +560 -0
  183. package/dist/models/featureFlags/FeatureFlagRepository.d.ts.map +1 -0
  184. package/dist/models/featureFlags/index.d.ts +7 -0
  185. package/dist/models/featureFlags/index.d.ts.map +1 -0
  186. package/dist/models/index.d.ts +9 -0
  187. package/dist/models/index.d.ts.map +1 -0
  188. package/dist/services/ApiClientService.d.ts +178 -0
  189. package/dist/services/ApiClientService.d.ts.map +1 -0
  190. package/dist/services/CacheService.d.ts +176 -0
  191. package/dist/services/CacheService.d.ts.map +1 -0
  192. package/dist/services/DbService.d.ts +391 -0
  193. package/dist/services/DbService.d.ts.map +1 -0
  194. package/dist/services/NotificationService.d.ts +151 -0
  195. package/dist/services/NotificationService.d.ts.map +1 -0
  196. package/dist/services/StorageService.d.ts +144 -0
  197. package/dist/services/StorageService.d.ts.map +1 -0
  198. package/dist/services/index.d.ts +12 -0
  199. package/dist/services/index.d.ts.map +1 -0
  200. package/dist/utils/common/id.d.ts +83 -0
  201. package/dist/utils/common/id.d.ts.map +1 -0
  202. package/dist/utils/common/index.d.ts +3 -1
  203. package/dist/utils/common/index.d.ts.map +1 -1
  204. package/dist/utils/common/object.d.ts +70 -0
  205. package/dist/utils/common/object.d.ts.map +1 -0
  206. package/dist/utils/common/validation.d.ts +20 -0
  207. package/dist/utils/common/validation.d.ts.map +1 -0
  208. package/dist/utils/featureFlags/conditions.d.ts.map +1 -1
  209. package/dist/utils/featureFlags/context.d.ts +0 -1
  210. package/dist/utils/featureFlags/context.d.ts.map +1 -1
  211. package/dist/utils/index.d.ts +1 -0
  212. package/dist/utils/index.d.ts.map +1 -1
  213. package/dist/utils/mapperUtils.d.ts +38 -0
  214. package/dist/utils/mapperUtils.d.ts.map +1 -0
  215. package/dist/utils/runtime.d.ts +15 -0
  216. package/dist/utils/runtime.d.ts.map +1 -0
  217. package/dist/version.d.ts +24 -0
  218. package/dist/version.d.ts.map +1 -0
  219. package/dist/web_app/auth/add_user.d.ts +3 -0
  220. package/dist/web_app/auth/add_user.d.ts.map +1 -0
  221. package/dist/web_app/auth/update_user.d.ts +2 -0
  222. package/dist/web_app/auth/update_user.d.ts.map +1 -0
  223. package/package.json +102 -15
  224. package/dist/backend/featureFlags/feature-flag.repository.d.ts +0 -85
  225. package/dist/backend/featureFlags/feature-flag.repository.d.ts.map +0 -1
  226. package/dist/backend/featureFlags/feature-flag.service.d.ts +0 -123
  227. package/dist/backend/featureFlags/feature-flag.service.d.ts.map +0 -1
  228. package/dist/frontend/featureFlags/hooks/useFeatureFlag.d.ts +0 -103
  229. package/dist/frontend/featureFlags/hooks/useFeatureFlag.d.ts.map +0 -1
  230. package/dist/frontend/featureFlags/hooks/useFeatureFlagActions.d.ts +0 -35
  231. package/dist/frontend/featureFlags/hooks/useFeatureFlagActions.d.ts.map +0 -1
  232. package/dist/frontend/featureFlags/hooks/useFeatureFlagHelpers.d.ts +0 -55
  233. package/dist/frontend/featureFlags/hooks/useFeatureFlagHelpers.d.ts.map +0 -1
  234. package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts +0 -57
  235. package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts.map +0 -1
  236. package/dist/frontend/featureFlags/providers/FeatureFlagProvider.d.ts +0 -99
  237. package/dist/frontend/featureFlags/providers/FeatureFlagProvider.d.ts.map +0 -1
  238. package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts +0 -31
  239. package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts.map +0 -1
  240. package/dist/frontend/featureFlags/providers/types.d.ts +0 -21
  241. package/dist/frontend/featureFlags/providers/types.d.ts.map +0 -1
  242. package/dist/index.cjs +0 -4383
  243. package/dist/index.cjs.map +0 -1
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Logger Adapter
3
+ *
4
+ * Uses @plyaz/logger for observability output.
5
+ * Can be used standalone OR alongside other adapters (Datadog, Grafana)
6
+ * to always have console/file logging regardless of external providers.
7
+ *
8
+ * @example Standalone usage
9
+ * ```typescript
10
+ * const logger = new LoggerAdapter();
11
+ * await logger.initialize({ serviceName: 'my-service' });
12
+ * ```
13
+ *
14
+ * @example As console fallback with Datadog
15
+ * ```typescript
16
+ * const observability = new ObservabilityService({
17
+ * mode: 'parallel',
18
+ * adapters: [datadogAdapter, loggerAdapter], // Both receive all events
19
+ * });
20
+ * ```
21
+ *
22
+ * @module base/observability
23
+ */
24
+ import type { ObservabilityAdapterConfig, Metric, SpanOptions, Span, LogEntry, ObservabilityEvent } from '@plyaz/types/observability';
25
+ import { BaseAdapter } from './BaseAdapter';
26
+ /**
27
+ * Logger adapter that uses @plyaz/logger for output.
28
+ *
29
+ * This adapter integrates observability with the existing logging infrastructure,
30
+ * providing structured logging for metrics, spans, and events through PackageLogger.
31
+ *
32
+ * Use this adapter:
33
+ * - As standalone for development/debugging
34
+ * - Alongside Datadog/Grafana to always have local console output
35
+ * - As a fallback in priority mode when external providers fail
36
+ */
37
+ export declare class LoggerAdapter extends BaseAdapter {
38
+ readonly provider: "console";
39
+ readonly name = "LoggerAdapter";
40
+ private observabilityLogger;
41
+ private logMetrics;
42
+ private logSpans;
43
+ private logEvents;
44
+ protected doInitialize(config: ObservabilityAdapterConfig): Promise<void>;
45
+ protected doShutdown(): Promise<void>;
46
+ protected doHealthCheck(): Promise<boolean>;
47
+ protected doRecordMetric(metric: Metric): Promise<void>;
48
+ protected doStartSpan(options: SpanOptions): Span;
49
+ protected doGetActiveSpan(): Span | null;
50
+ protected doLog(entry: LogEntry): Promise<void>;
51
+ protected doSendEvent(event: ObservabilityEvent): Promise<void>;
52
+ protected doFlush(): Promise<void>;
53
+ }
54
+ //# sourceMappingURL=LoggerAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggerAdapter.d.ts","sourceRoot":"","sources":["../../../src/base/observability/LoggerAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EACV,0BAA0B,EAC1B,MAAM,EACN,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAMnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAU;IACvC,QAAQ,CAAC,IAAI,mBAAmB;IAEhC,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAQ;cAET,YAAY,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;cAiB/D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cAI3B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;cAIjC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7D,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IA6EjD,SAAS,CAAC,eAAe,IAAI,IAAI,GAAG,IAAI;cAIxB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cA4BrC,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;cAUrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Observability Service
3
+ *
4
+ * Injectable service for observability (metrics, tracing, logging).
5
+ * Works like CacheManager, DatabaseService, and ApiClient - can be injected into domain services.
6
+ *
7
+ * Adapters are initialized separately with their own configs.
8
+ * This service only orchestrates - it doesn't know about adapter-specific configs.
9
+ *
10
+ * @module base/observability
11
+ */
12
+ import type { ObservabilityAdapter, ObservabilityAdapterConfig, Metric, SpanOptions, Span, LogEntry, ObservabilityEvent, OperationContext, MonitoringOperationResult, ObservabilityServiceConfig, ObservabilityServiceInterface } from '@plyaz/types/observability';
13
+ /**
14
+ * ObservabilityService - Main observability service that implements ObservabilityAdapter.
15
+ *
16
+ * This service orchestrates multiple adapters and can be injected into domain services.
17
+ * Logger adapter is always included by default for console output.
18
+ *
19
+ * ```typescript
20
+ * // 1. Initialize adapters separately
21
+ * const datadogAdapter = new DatadogAdapter();
22
+ * await datadogAdapter.initialize({ apiKey: '...', serviceName: 'my-service' });
23
+ *
24
+ * // 2. Create service - logger is auto-added by default
25
+ * const observability = new ObservabilityService();
26
+ * await observability.initialize({
27
+ * mode: 'parallel',
28
+ * adapters: [datadogAdapter], // Logger added automatically
29
+ * serviceName: 'my-service',
30
+ * });
31
+ *
32
+ * // 3. Use in domain services (implements ObservabilityAdapter)
33
+ * await observability.incrementCounter('api.requests', 1);
34
+ * ```
35
+ */
36
+ export declare class ObservabilityService implements ObservabilityAdapter, ObservabilityServiceInterface {
37
+ readonly provider: "custom";
38
+ readonly name = "ObservabilityService";
39
+ private _isInitialized;
40
+ private _config;
41
+ private readonly logger;
42
+ private readonly adapterEntries;
43
+ private mode;
44
+ private readonly noopAdapter;
45
+ private loggerAdapter;
46
+ constructor();
47
+ get isInitialized(): boolean;
48
+ /**
49
+ * Check if service has at least one working adapter
50
+ */
51
+ get isReady(): boolean;
52
+ /**
53
+ * Get all adapters (for compatibility)
54
+ */
55
+ private get adapters();
56
+ /**
57
+ * Get initialized adapter entries
58
+ */
59
+ private get initializedEntries();
60
+ /**
61
+ * Get primary (non-failover) initialized adapters
62
+ */
63
+ private get primaryEntries();
64
+ /**
65
+ * Get failover initialized adapters
66
+ */
67
+ private get failoverEntries();
68
+ /**
69
+ * Check if input is an adapter with priority config
70
+ */
71
+ private isAdapterWithPriority;
72
+ /**
73
+ * Normalize adapter input to adapter with priority and failover config
74
+ */
75
+ private normalizeAdapter;
76
+ /**
77
+ * Initialize the observability service.
78
+ * Logger adapter is always added by default unless explicitly disabled.
79
+ * Adapters are sorted by priority (higher = first), with failover adapters after primary.
80
+ */
81
+ initialize(config: ObservabilityAdapterConfig & ObservabilityServiceConfig): Promise<void>;
82
+ shutdown(): Promise<void>;
83
+ isHealthy(): Promise<boolean>;
84
+ flush(): Promise<void>;
85
+ private get config();
86
+ private executeOnAdapters;
87
+ private executeSingle;
88
+ /**
89
+ * Execute on primary adapters in parallel.
90
+ * If all primary adapters fail, execute on failover adapters.
91
+ */
92
+ private executeParallelWithFailover;
93
+ private executeParallel;
94
+ /**
95
+ * Execute on primary adapters in priority order.
96
+ * If all primary adapters fail, try failover adapters.
97
+ */
98
+ private executePriorityWithFailover;
99
+ private withTimeout;
100
+ recordMetric(metric: Metric): Promise<void>;
101
+ incrementCounter(name: string, value?: number, tags?: Record<string, string>): Promise<void>;
102
+ setGauge(name: string, value: number, tags?: Record<string, string>): Promise<void>;
103
+ recordHistogram(name: string, value: number, tags?: Record<string, string>): Promise<void>;
104
+ startSpan(options: SpanOptions): Span;
105
+ withSpan<T>(options: SpanOptions, fn: (span: Span) => Promise<T>): Promise<T>;
106
+ getActiveSpan(): Span | null;
107
+ log(entry: LogEntry): Promise<void>;
108
+ sendEvent(event: ObservabilityEvent): Promise<void>;
109
+ /**
110
+ * Track a service operation with automatic metrics and tracing.
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const { result, metrics } = await observability.trackOperation(
115
+ * {
116
+ * serviceName: 'UserService',
117
+ * operation: 'create',
118
+ * entityType: 'user',
119
+ * startTime: Date.now(),
120
+ * },
121
+ * async () => {
122
+ * return await this.repository.create(userData);
123
+ * }
124
+ * );
125
+ * ```
126
+ */
127
+ trackOperation<T>(context: OperationContext, operation: () => Promise<T>): Promise<{
128
+ result: T;
129
+ metrics: MonitoringOperationResult;
130
+ }>;
131
+ }
132
+ /**
133
+ * Create an ObservabilityService with pre-initialized adapters.
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * // Initialize adapters first
138
+ * const datadogAdapter = new DatadogAdapter();
139
+ * await datadogAdapter.initialize({ apiKey: '...', serviceName: 'my-service' });
140
+ *
141
+ * // Create and initialize service (logger auto-added)
142
+ * const observability = await createObservabilityService({
143
+ * mode: 'parallel',
144
+ * adapters: [datadogAdapter],
145
+ * serviceName: 'my-service',
146
+ * });
147
+ *
148
+ * // Priority mode (fallback chain)
149
+ * const observability = await createObservabilityService({
150
+ * mode: 'priority',
151
+ * adapters: [datadogAdapter, grafanaAdapter],
152
+ * serviceName: 'my-service',
153
+ * });
154
+ * ```
155
+ */
156
+ export declare function createObservabilityService(config?: ObservabilityServiceConfig & {
157
+ serviceName?: string;
158
+ environment?: string;
159
+ }): Promise<ObservabilityService>;
160
+ //# sourceMappingURL=ObservabilityService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservabilityService.d.ts","sourceRoot":"","sources":["../../../src/base/observability/ObservabilityService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Observability Module
3
+ *
4
+ * Adapter-based observability system supporting multiple providers
5
+ * (Datadog, Grafana, OpenTelemetry, etc.) with parallel and priority modes.
6
+ *
7
+ * @module base/observability
8
+ */
9
+ export { BaseAdapter, NoopAdapter } from './BaseAdapter';
10
+ export { LoggerAdapter } from './LoggerAdapter';
11
+ export { CompositeAdapter } from './CompositeAdapter';
12
+ export { DatadogAdapter } from './DatadogAdapter';
13
+ export type { DatadogApiClient, DatadogMetricPayload, DatadogLogPayload, DatadogEventPayload, DatadogAdapterConfigExtended, } from './DatadogAdapter';
14
+ export { ObservabilityService, createObservabilityService } from './ObservabilityService';
15
+ export type { ObservabilityAdapter, ObservabilityAdapterConfig, ObservabilityProvider, Metric, SpanOptions, Span, LogEntry, ObservabilityEvent, SpanContext, SpanAttributes, SpanEvent, SpanStatus, DatadogAdapterConfig, OpenTelemetryAdapterConfig, GrafanaAdapterConfig, ConsoleAdapterConfig, CompositeMode, CompositeAdapterConfig, OperationContext, MonitoringOperationResult, AdapterWithPriority, AdapterEntry, ObservabilityServiceConfig, ObservabilityServiceInterface, } from '@plyaz/types/observability';
16
+ export { OBSERVABILITY_METRICS, OBSERVABILITY_SPANS } from '@plyaz/types/observability';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/observability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAG1F,YAAY,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,MAAM,EACN,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}