From 8a8075972d10d6a3b7cfe5960a6bdfeb24a802d3 Mon Sep 17 00:00:00 2001 From: gnezim Date: Tue, 14 Apr 2026 22:02:56 +0300 Subject: [PATCH] Seed type-only AnalyticsProviders for Env dependency --- src/observability/analytics/types.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/observability/analytics/types.ts diff --git a/src/observability/analytics/types.ts b/src/observability/analytics/types.ts new file mode 100644 index 00000000..b11aa281 --- /dev/null +++ b/src/observability/analytics/types.ts @@ -0,0 +1,27 @@ +// Ownership: src/observability/analytics/ is owned by Phase 1 sub-plan 1G-analytics. +// This type-only seed exists because Phase 1A-1's Env depends on AnalyticsProviders. +// Sub-plan 1G-analytics extends this file with the facade and adapter implementations. + +export interface AnalyticsProviders { + metrica: boolean; + ctm: boolean; + variocube: boolean; + dynatrace: boolean; +} + +export interface AnalyticsProps { + [key: string]: unknown; +} + +export interface AnalyticsEvent { + kind: "track" | "page"; + name: string; + props: AnalyticsProps; + provider: "metrica" | "ctm" | "variocube" | "dynatrace"; + ts: string; +} + +export interface Analytics { + track(event: string, props?: AnalyticsProps): void; + page(url: string, props?: AnalyticsProps): void; +}