@kubuild/core 0.5.0 → 0.6.0

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.
@@ -4,4 +4,5 @@ export * from './interpolator';
4
4
  export * from './conditional-resolver';
5
5
  export * from './pipeline-executor';
6
6
  export * from './state-store';
7
+ export * from './server-tracking';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,110 @@
1
+ import type { TrackingConfig, MetaTrackingProviderConfig, GoogleTrackingProviderConfig, TikTokTrackingProviderConfig, CustomTrackingProviderConfig } from '@kubuild/schema';
2
+ /**
3
+ * Normalized Server Tracking Event
4
+ */
5
+ export interface ServerTrackingEvent {
6
+ eventName: string;
7
+ eventType?: 'standard' | 'custom';
8
+ eventId?: string;
9
+ eventTime?: number;
10
+ eventSourceUrl?: string;
11
+ actionSource?: 'website' | 'app' | 'system_generated';
12
+ params?: Record<string, unknown>;
13
+ userData?: {
14
+ email?: string;
15
+ phone?: string;
16
+ firstName?: string;
17
+ lastName?: string;
18
+ gender?: string;
19
+ dateOfBirth?: string;
20
+ city?: string;
21
+ state?: string;
22
+ zip?: string;
23
+ country?: string;
24
+ clientIp?: string;
25
+ clientUserAgent?: string;
26
+ fbp?: string;
27
+ fbc?: string;
28
+ externalId?: string;
29
+ [key: string]: unknown;
30
+ };
31
+ customData?: Record<string, unknown>;
32
+ }
33
+ /**
34
+ * Result of a single provider delivery
35
+ */
36
+ export interface TrackingDeliveryResult {
37
+ provider: string;
38
+ success: boolean;
39
+ status?: number;
40
+ data?: unknown;
41
+ error?: string;
42
+ skipped?: boolean;
43
+ }
44
+ /**
45
+ * Aggregate result from dispatchServerTracking
46
+ */
47
+ export interface ServerTrackingDispatchResult {
48
+ success: boolean;
49
+ eventId: string;
50
+ skipped?: boolean;
51
+ reason?: string;
52
+ results: Record<string, TrackingDeliveryResult>;
53
+ }
54
+ /**
55
+ * Options for configuring server tracking dispatch
56
+ */
57
+ export interface ServerTrackingOptions {
58
+ fetchFn?: typeof fetch;
59
+ clientIp?: string;
60
+ clientUserAgent?: string;
61
+ sourceUrl?: string;
62
+ simulateInDebug?: boolean;
63
+ onLog?: (message: string, data?: unknown) => void;
64
+ }
65
+ /**
66
+ * Normalizes an email string (lowercase, trim) according to Meta CAPI specification.
67
+ */
68
+ export declare function normalizeEmail(email: string): string;
69
+ /**
70
+ * Normalizes a phone number (removes non-digits, strips leading zeros if needed) per CAPI spec.
71
+ */
72
+ export declare function normalizePhone(phone: string): string;
73
+ /**
74
+ * Normalizes text names (trim, lowercase).
75
+ */
76
+ export declare function normalizeText(text: string): string;
77
+ /**
78
+ * Generates a SHA-256 hash formatted as a hex string.
79
+ * Uses universal Web Crypto API (supported in Node 18+, Bun, Deno, and modern browsers).
80
+ */
81
+ export declare function hashSha256(value: string): Promise<string>;
82
+ /**
83
+ * Generates a unique deduplication event ID.
84
+ */
85
+ export declare function generateTrackingEventId(prefix?: string): string;
86
+ /**
87
+ * Dispatches an event to Meta Conversions API (CAPI).
88
+ * Spec: https://developers.facebook.com/docs/marketing-api/conversions-api
89
+ */
90
+ export declare function sendMetaCapiEvent(event: ServerTrackingEvent, config: MetaTrackingProviderConfig, options?: ServerTrackingOptions): Promise<TrackingDeliveryResult>;
91
+ /**
92
+ * Dispatches an event to TikTok Events API.
93
+ * Spec: https://business-api.tiktok.com/portal/docs
94
+ */
95
+ export declare function sendTikTokEventsApi(event: ServerTrackingEvent, config: TikTokTrackingProviderConfig, options?: ServerTrackingOptions): Promise<TrackingDeliveryResult>;
96
+ /**
97
+ * Dispatches an event to Google Analytics 4 Measurement Protocol.
98
+ * Spec: https://developers.google.com/analytics/devguides/collection/protocol/ga4
99
+ */
100
+ export declare function sendGa4MeasurementEvent(event: ServerTrackingEvent, config: GoogleTrackingProviderConfig, options?: ServerTrackingOptions): Promise<TrackingDeliveryResult>;
101
+ /**
102
+ * Dispatches an event to a Custom Webhook.
103
+ */
104
+ export declare function sendCustomWebhookEvent(event: ServerTrackingEvent, config: CustomTrackingProviderConfig, options?: ServerTrackingOptions): Promise<TrackingDeliveryResult>;
105
+ /**
106
+ * High-Level Server Tracking Dispatcher
107
+ * Evaluates dynamic enabled state, filters enabled providers, and dispatches events.
108
+ */
109
+ export declare function dispatchServerTracking(event: ServerTrackingEvent, config?: TrackingConfig, options?: ServerTrackingOptions): Promise<ServerTrackingDispatchResult>;
110
+ //# sourceMappingURL=server-tracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-tracking.d.ts","sourceRoot":"","sources":["../../src/runtime/server-tracking.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubuild/core",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Framework-agnostic engine for KUBUILD: document utilities, command engine, history, migration, and validation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -41,7 +41,7 @@
41
41
  "homepage": "https://github.com/kustora/kubuild#readme",
42
42
  "dependencies": {
43
43
  "fflate": "^0.8.3",
44
- "@kubuild/schema": "0.5.0"
44
+ "@kubuild/schema": "0.6.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "tsup": "^8.3.6",