@mazyos/lp-tracker 0.1.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.
- package/AGENTS.md +71 -0
- package/LICENSE +16 -0
- package/README.md +208 -0
- package/SKILL.md +71 -0
- package/dist/attribution.d.ts +16 -0
- package/dist/attribution.d.ts.map +1 -0
- package/dist/attribution.js +77 -0
- package/dist/attribution.js.map +1 -0
- package/dist/checkout/profiles.d.ts +18 -0
- package/dist/checkout/profiles.d.ts.map +1 -0
- package/dist/checkout/profiles.js +89 -0
- package/dist/checkout/profiles.js.map +1 -0
- package/dist/checkout/resolve.d.ts +16 -0
- package/dist/checkout/resolve.d.ts.map +1 -0
- package/dist/checkout/resolve.js +95 -0
- package/dist/checkout/resolve.js.map +1 -0
- package/dist/checkout.d.ts +3 -0
- package/dist/checkout.d.ts.map +1 -0
- package/dist/checkout.js +3 -0
- package/dist/checkout.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +78 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/browser-attribution.d.ts +9 -0
- package/dist/client/browser-attribution.d.ts.map +1 -0
- package/dist/client/browser-attribution.js +116 -0
- package/dist/client/browser-attribution.js.map +1 -0
- package/dist/client/delegated.d.ts +6 -0
- package/dist/client/delegated.d.ts.map +1 -0
- package/dist/client/delegated.js +139 -0
- package/dist/client/delegated.js.map +1 -0
- package/dist/client/engagement-tracking.d.ts +11 -0
- package/dist/client/engagement-tracking.d.ts.map +1 -0
- package/dist/client/engagement-tracking.js +138 -0
- package/dist/client/engagement-tracking.js.map +1 -0
- package/dist/client/events.d.ts +43 -0
- package/dist/client/events.d.ts.map +1 -0
- package/dist/client/events.js +223 -0
- package/dist/client/events.js.map +1 -0
- package/dist/client/meta-pixel.d.ts +33 -0
- package/dist/client/meta-pixel.d.ts.map +1 -0
- package/dist/client/meta-pixel.js +143 -0
- package/dist/client/meta-pixel.js.map +1 -0
- package/dist/client/provider.d.ts +4 -0
- package/dist/client/provider.d.ts.map +1 -0
- package/dist/client/provider.js +113 -0
- package/dist/client/provider.js.map +1 -0
- package/dist/client/public-api.d.ts +7 -0
- package/dist/client/public-api.d.ts.map +1 -0
- package/dist/client/public-api.js +74 -0
- package/dist/client/public-api.js.map +1 -0
- package/dist/client/retry-queue.d.ts +20 -0
- package/dist/client/retry-queue.d.ts.map +1 -0
- package/dist/client/retry-queue.js +165 -0
- package/dist/client/retry-queue.js.map +1 -0
- package/dist/client/runtime.d.ts +81 -0
- package/dist/client/runtime.d.ts.map +1 -0
- package/dist/client/runtime.js +301 -0
- package/dist/client/runtime.js.map +1 -0
- package/dist/client/spa-tracking.d.ts +3 -0
- package/dist/client/spa-tracking.d.ts.map +1 -0
- package/dist/client/spa-tracking.js +54 -0
- package/dist/client/spa-tracking.js.map +1 -0
- package/dist/client/transport.d.ts +14 -0
- package/dist/client/transport.d.ts.map +1 -0
- package/dist/client/transport.js +54 -0
- package/dist/client/transport.js.map +1 -0
- package/dist/client/view-tracking.d.ts +3 -0
- package/dist/client/view-tracking.d.ts.map +1 -0
- package/dist/client/view-tracking.js +71 -0
- package/dist/client/view-tracking.js.map +1 -0
- package/dist/doctor/format.d.ts +3 -0
- package/dist/doctor/format.d.ts.map +1 -0
- package/dist/doctor/format.js +18 -0
- package/dist/doctor/format.js.map +1 -0
- package/dist/doctor/remote-checks.d.ts +3 -0
- package/dist/doctor/remote-checks.d.ts.map +1 -0
- package/dist/doctor/remote-checks.js +132 -0
- package/dist/doctor/remote-checks.js.map +1 -0
- package/dist/doctor/run.d.ts +3 -0
- package/dist/doctor/run.d.ts.map +1 -0
- package/dist/doctor/run.js +18 -0
- package/dist/doctor/run.js.map +1 -0
- package/dist/doctor/scan.d.ts +2 -0
- package/dist/doctor/scan.d.ts.map +1 -0
- package/dist/doctor/scan.js +70 -0
- package/dist/doctor/scan.js.map +1 -0
- package/dist/doctor/static-checks.d.ts +5 -0
- package/dist/doctor/static-checks.d.ts.map +1 -0
- package/dist/doctor/static-checks.js +130 -0
- package/dist/doctor/static-checks.js.map +1 -0
- package/dist/doctor/types.d.ts +20 -0
- package/dist/doctor/types.d.ts.map +1 -0
- package/dist/doctor/types.js +2 -0
- package/dist/doctor/types.js.map +1 -0
- package/dist/handler/body.d.ts +7 -0
- package/dist/handler/body.d.ts.map +1 -0
- package/dist/handler/body.js +67 -0
- package/dist/handler/body.js.map +1 -0
- package/dist/handler/create.d.ts +16 -0
- package/dist/handler/create.d.ts.map +1 -0
- package/dist/handler/create.js +69 -0
- package/dist/handler/create.js.map +1 -0
- package/dist/handler/forward.d.ts +13 -0
- package/dist/handler/forward.d.ts.map +1 -0
- package/dist/handler/forward.js +65 -0
- package/dist/handler/forward.js.map +1 -0
- package/dist/handler/health.d.ts +7 -0
- package/dist/handler/health.d.ts.map +1 -0
- package/dist/handler/health.js +85 -0
- package/dist/handler/health.js.map +1 -0
- package/dist/handler/sanitize.d.ts +12 -0
- package/dist/handler/sanitize.d.ts.map +1 -0
- package/dist/handler/sanitize.js +87 -0
- package/dist/handler/sanitize.js.map +1 -0
- package/dist/ids.d.ts +4 -0
- package/dist/ids.d.ts.map +1 -0
- package/dist/ids.js +37 -0
- package/dist/ids.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/capture.d.ts +11 -0
- package/dist/middleware/capture.d.ts.map +1 -0
- package/dist/middleware/capture.js +78 -0
- package/dist/middleware/capture.js.map +1 -0
- package/dist/middleware.d.ts +8 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +9 -0
- package/dist/middleware.js.map +1 -0
- package/dist/next.d.ts +8 -0
- package/dist/next.d.ts.map +1 -0
- package/dist/next.js +10 -0
- package/dist/next.js.map +1 -0
- package/dist/server/site.d.ts +23 -0
- package/dist/server/site.d.ts.map +1 -0
- package/dist/server/site.js +147 -0
- package/dist/server/site.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -0
- package/dist/types.d.ts +170 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
const MAX_CACHE_ENTRIES = 50;
|
|
3
|
+
const MAX_CACHE_TTL_MS = 60_000;
|
|
4
|
+
const siteCache = new Map();
|
|
5
|
+
export async function getMazyosSite(options = {}) {
|
|
6
|
+
const coreUrl = required(options.coreUrl ?? process.env.MAZYOS_CORE_URL, "MAZYOS_CORE_URL");
|
|
7
|
+
const secret = required(options.secret ?? process.env.MAZYOS_SITE_SECRET, "MAZYOS_SITE_SECRET");
|
|
8
|
+
const endpoint = siteEndpoint(coreUrl);
|
|
9
|
+
const key = cacheKey(endpoint.href, secret);
|
|
10
|
+
const now = (options.now ?? Date.now)();
|
|
11
|
+
const cached = siteCache.get(key);
|
|
12
|
+
if (cached && cached.expiresAt > now) {
|
|
13
|
+
return cached.value;
|
|
14
|
+
}
|
|
15
|
+
siteCache.delete(key);
|
|
16
|
+
let response;
|
|
17
|
+
try {
|
|
18
|
+
response = await (options.fetch ?? globalThis.fetch)(endpoint, {
|
|
19
|
+
cache: "no-store",
|
|
20
|
+
headers: { authorization: `Bearer ${secret}` },
|
|
21
|
+
signal: AbortSignal.timeout(options.timeoutMs ?? 2_500),
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
throw new Error(`Unable to reach MazyOS core at ${endpoint.origin}. Verify MAZYOS_CORE_URL and network access.`, { cause: error });
|
|
26
|
+
}
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
await response.body?.cancel().catch(() => undefined);
|
|
29
|
+
throw new Error(`MazyOS site configuration failed with HTTP ${response.status}. Verify MAZYOS_SITE_SECRET and the configured landing-page site.`);
|
|
30
|
+
}
|
|
31
|
+
let raw;
|
|
32
|
+
try {
|
|
33
|
+
raw = await response.json();
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
throw new Error("MazyOS core returned an invalid site configuration response.", { cause: error });
|
|
37
|
+
}
|
|
38
|
+
const site = validateSite(raw);
|
|
39
|
+
const ttl = Math.min(Math.max(options.cacheTtlMs ?? MAX_CACHE_TTL_MS, 0), MAX_CACHE_TTL_MS);
|
|
40
|
+
pruneCache(now);
|
|
41
|
+
siteCache.set(key, { expiresAt: now + ttl, value: site });
|
|
42
|
+
return site;
|
|
43
|
+
}
|
|
44
|
+
export function clearMazyosSiteCache() {
|
|
45
|
+
siteCache.clear();
|
|
46
|
+
}
|
|
47
|
+
function validateSite(raw) {
|
|
48
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw)) {
|
|
49
|
+
throw invalidSite("response must be an object");
|
|
50
|
+
}
|
|
51
|
+
const value = raw;
|
|
52
|
+
const name = stringField(value, "name");
|
|
53
|
+
const origins = stringArrayField(value, "allowed_origins");
|
|
54
|
+
const contentIds = stringArrayField(value, "default_content_ids");
|
|
55
|
+
const trackerVersion = stringField(value, "tracker_min_version");
|
|
56
|
+
const consentMode = value.consent_mode;
|
|
57
|
+
const pageviewPolicy = value.pageview_policy;
|
|
58
|
+
if (consentMode !== "required" && consentMode !== "implied") {
|
|
59
|
+
throw invalidSite("consent_mode must be required or implied");
|
|
60
|
+
}
|
|
61
|
+
if (pageviewPolicy !== "pixel_only" && pageviewPolicy !== "ledger") {
|
|
62
|
+
throw invalidSite("pageview_policy must be pixel_only or ledger");
|
|
63
|
+
}
|
|
64
|
+
return Object.freeze({
|
|
65
|
+
allowed_origins: Object.freeze(origins),
|
|
66
|
+
...optionalString(value, "checkout_url"),
|
|
67
|
+
consent_mode: consentMode,
|
|
68
|
+
default_content_ids: Object.freeze(contentIds),
|
|
69
|
+
...optionalString(value, "default_content_name"),
|
|
70
|
+
...optionalString(value, "gateway"),
|
|
71
|
+
name,
|
|
72
|
+
pageview_policy: pageviewPolicy,
|
|
73
|
+
...optionalString(value, "pixel_id"),
|
|
74
|
+
tracker_min_version: trackerVersion,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function optionalString(value, key) {
|
|
78
|
+
const field = value[key];
|
|
79
|
+
if (field === undefined || field === null || field === "") {
|
|
80
|
+
return {};
|
|
81
|
+
}
|
|
82
|
+
if (typeof field !== "string") {
|
|
83
|
+
throw invalidSite(`${key} must be a string when present`);
|
|
84
|
+
}
|
|
85
|
+
return { [key]: field };
|
|
86
|
+
}
|
|
87
|
+
function stringField(value, key) {
|
|
88
|
+
const field = value[key];
|
|
89
|
+
if (typeof field !== "string" || !field.trim()) {
|
|
90
|
+
throw invalidSite(`${key} must be a non-empty string`);
|
|
91
|
+
}
|
|
92
|
+
return field;
|
|
93
|
+
}
|
|
94
|
+
function stringArrayField(value, key) {
|
|
95
|
+
const field = value[key];
|
|
96
|
+
if (!Array.isArray(field) || !field.every((item) => typeof item === "string")) {
|
|
97
|
+
throw invalidSite(`${key} must be an array of strings`);
|
|
98
|
+
}
|
|
99
|
+
return field;
|
|
100
|
+
}
|
|
101
|
+
function invalidSite(detail) {
|
|
102
|
+
return new Error(`Invalid MazyOS site configuration: ${detail}.`);
|
|
103
|
+
}
|
|
104
|
+
function required(value, name) {
|
|
105
|
+
const normalized = value?.trim();
|
|
106
|
+
if (!normalized) {
|
|
107
|
+
throw new Error(`${name} is required. Configure it as a server-only environment variable.`);
|
|
108
|
+
}
|
|
109
|
+
return normalized;
|
|
110
|
+
}
|
|
111
|
+
function siteEndpoint(coreUrl) {
|
|
112
|
+
let endpoint;
|
|
113
|
+
try {
|
|
114
|
+
endpoint = new URL(coreUrl);
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
throw new Error("MAZYOS_CORE_URL must be an absolute http(s) URL.");
|
|
118
|
+
}
|
|
119
|
+
if (endpoint.protocol !== "http:" && endpoint.protocol !== "https:") {
|
|
120
|
+
throw new Error("MAZYOS_CORE_URL must use http or https.");
|
|
121
|
+
}
|
|
122
|
+
endpoint.pathname = `${endpoint.pathname.replace(/\/+$/, "")}/conversions/site`;
|
|
123
|
+
endpoint.search = "";
|
|
124
|
+
endpoint.hash = "";
|
|
125
|
+
return endpoint;
|
|
126
|
+
}
|
|
127
|
+
function cacheKey(coreUrl, secret) {
|
|
128
|
+
const lookupDigest = createHash("sha256")
|
|
129
|
+
.update(secret)
|
|
130
|
+
.digest("hex")
|
|
131
|
+
.slice(0, 32);
|
|
132
|
+
return `${coreUrl}:${lookupDigest}`;
|
|
133
|
+
}
|
|
134
|
+
function pruneCache(now) {
|
|
135
|
+
for (const [key, entry] of siteCache) {
|
|
136
|
+
if (entry.expiresAt <= now) {
|
|
137
|
+
siteCache.delete(key);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
while (siteCache.size >= MAX_CACHE_ENTRIES) {
|
|
141
|
+
const oldest = siteCache.keys().next().value;
|
|
142
|
+
if (!oldest)
|
|
143
|
+
break;
|
|
144
|
+
siteCache.delete(oldest);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=site.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.js","sourceRoot":"","sources":["../../src/server/site.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,GAGd,MAAM,kBAAkB,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export declare const BROWSER_EVENT_NAMES: readonly ["PageView", "ViewContent", "Lead", "AddToCart", "InitiateCheckout", "CompleteRegistration", "Contact"];
|
|
3
|
+
export type BrowserEventName = (typeof BROWSER_EVENT_NAMES)[number];
|
|
4
|
+
export type ConsentDecision = "granted" | "denied";
|
|
5
|
+
export type ConsentMode = "required" | "implied";
|
|
6
|
+
export type ConsentState = "pending" | ConsentDecision;
|
|
7
|
+
export type StorageMode = "local" | "session" | "off";
|
|
8
|
+
export type PageViewPolicy = "ledger" | "pixel_only";
|
|
9
|
+
export interface DataProcessingOptions {
|
|
10
|
+
country?: number;
|
|
11
|
+
options: readonly string[];
|
|
12
|
+
state?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface MazyosIdentity {
|
|
15
|
+
city?: string;
|
|
16
|
+
country?: string;
|
|
17
|
+
dateOfBirth?: string;
|
|
18
|
+
email?: string;
|
|
19
|
+
externalId?: string;
|
|
20
|
+
firstName?: string;
|
|
21
|
+
fullName?: string;
|
|
22
|
+
gender?: string;
|
|
23
|
+
lastName?: string;
|
|
24
|
+
phone?: string;
|
|
25
|
+
state?: string;
|
|
26
|
+
zip?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface TrackProperties {
|
|
29
|
+
contentCategory?: string;
|
|
30
|
+
contentIds?: readonly string[];
|
|
31
|
+
contentName?: string;
|
|
32
|
+
contentType?: string;
|
|
33
|
+
currency?: string;
|
|
34
|
+
gateway?: string;
|
|
35
|
+
numItems?: number;
|
|
36
|
+
userData?: MazyosIdentity;
|
|
37
|
+
valueCents?: number;
|
|
38
|
+
}
|
|
39
|
+
export interface MazyosProviderProps {
|
|
40
|
+
children: ReactNode;
|
|
41
|
+
checkoutProfile?: string;
|
|
42
|
+
collectUrl?: string;
|
|
43
|
+
consentMode?: ConsentMode;
|
|
44
|
+
cookieDomain?: string;
|
|
45
|
+
dataProcessingOptions?: DataProcessingOptions;
|
|
46
|
+
debug?: boolean;
|
|
47
|
+
defaultContentIds?: readonly string[];
|
|
48
|
+
defaultContentName?: string;
|
|
49
|
+
pageviewPolicy?: PageViewPolicy;
|
|
50
|
+
pixelId?: string;
|
|
51
|
+
storage?: StorageMode;
|
|
52
|
+
}
|
|
53
|
+
export interface MazyosState {
|
|
54
|
+
consent: ConsentState;
|
|
55
|
+
mzc: string | null;
|
|
56
|
+
ready: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface MazyosActions {
|
|
59
|
+
consent: (decision: ConsentDecision) => void;
|
|
60
|
+
identify: (identity: MazyosIdentity) => string | undefined;
|
|
61
|
+
track: (event: BrowserEventName, properties?: TrackProperties) => string;
|
|
62
|
+
}
|
|
63
|
+
export interface MazyosMeta {
|
|
64
|
+
trackerVersion: string;
|
|
65
|
+
}
|
|
66
|
+
export interface MazyosContextValue {
|
|
67
|
+
actions: MazyosActions;
|
|
68
|
+
meta: MazyosMeta;
|
|
69
|
+
state: MazyosState;
|
|
70
|
+
}
|
|
71
|
+
export interface AttributionData {
|
|
72
|
+
fbc?: string;
|
|
73
|
+
fbclid?: string;
|
|
74
|
+
fbp?: string;
|
|
75
|
+
gbraid?: string;
|
|
76
|
+
gclid?: string;
|
|
77
|
+
mzc: string;
|
|
78
|
+
ttclid?: string;
|
|
79
|
+
ttp?: string;
|
|
80
|
+
/** Every observed utm_* key, including non-standard campaign dimensions. */
|
|
81
|
+
utm?: Record<string, string>;
|
|
82
|
+
utm_campaign?: string;
|
|
83
|
+
utm_content?: string;
|
|
84
|
+
utm_medium?: string;
|
|
85
|
+
utm_source?: string;
|
|
86
|
+
utm_term?: string;
|
|
87
|
+
wbraid?: string;
|
|
88
|
+
/** Complete query string as a multi-value map for later reconstruction. */
|
|
89
|
+
query?: Record<string, string[]>;
|
|
90
|
+
}
|
|
91
|
+
export interface CollectEvent {
|
|
92
|
+
custom_data: {
|
|
93
|
+
content_category?: string;
|
|
94
|
+
content_ids?: string[];
|
|
95
|
+
content_name?: string;
|
|
96
|
+
content_type?: string;
|
|
97
|
+
currency?: string;
|
|
98
|
+
gateway?: string;
|
|
99
|
+
num_items?: number;
|
|
100
|
+
value_cents?: number;
|
|
101
|
+
};
|
|
102
|
+
data_processing_options?: {
|
|
103
|
+
country?: number;
|
|
104
|
+
options: string[];
|
|
105
|
+
state?: number;
|
|
106
|
+
};
|
|
107
|
+
event_id: string;
|
|
108
|
+
event_name: BrowserEventName;
|
|
109
|
+
event_source_url: string;
|
|
110
|
+
event_time: string;
|
|
111
|
+
mzc: string;
|
|
112
|
+
path: string;
|
|
113
|
+
query?: Record<string, string[]>;
|
|
114
|
+
referrer?: string | undefined;
|
|
115
|
+
tracker_version: string;
|
|
116
|
+
user_data: {
|
|
117
|
+
city?: string;
|
|
118
|
+
client_ip_address?: string;
|
|
119
|
+
client_user_agent?: string;
|
|
120
|
+
country?: string;
|
|
121
|
+
date_of_birth?: string;
|
|
122
|
+
email?: string;
|
|
123
|
+
external_id?: string;
|
|
124
|
+
fbc?: string;
|
|
125
|
+
fbclid?: string;
|
|
126
|
+
fbp?: string;
|
|
127
|
+
first_name?: string;
|
|
128
|
+
full_name?: string;
|
|
129
|
+
gbraid?: string;
|
|
130
|
+
gclid?: string;
|
|
131
|
+
gender?: string;
|
|
132
|
+
last_name?: string;
|
|
133
|
+
phone?: string;
|
|
134
|
+
state?: string;
|
|
135
|
+
ttclid?: string;
|
|
136
|
+
ttp?: string;
|
|
137
|
+
wbraid?: string;
|
|
138
|
+
zip?: string;
|
|
139
|
+
};
|
|
140
|
+
utm: Record<string, string>;
|
|
141
|
+
}
|
|
142
|
+
export type TrackingPulseType = "page_start" | "heartbeat" | "visibility" | "page_exit" | "route_change";
|
|
143
|
+
export interface TrackingPulse {
|
|
144
|
+
engagement_ms: number;
|
|
145
|
+
event_id: string;
|
|
146
|
+
event_source_url: string;
|
|
147
|
+
event_time: string;
|
|
148
|
+
interaction_count: number;
|
|
149
|
+
is_bounce?: boolean | undefined;
|
|
150
|
+
max_scroll_percent: number;
|
|
151
|
+
mzc: string;
|
|
152
|
+
navigation_type?: string | undefined;
|
|
153
|
+
pageview_event_id?: string | undefined;
|
|
154
|
+
path: string;
|
|
155
|
+
payload_type: "pulse";
|
|
156
|
+
pulse_type: TrackingPulseType;
|
|
157
|
+
query: Record<string, string[]>;
|
|
158
|
+
referrer?: string | undefined;
|
|
159
|
+
screen_height?: number | undefined;
|
|
160
|
+
screen_width?: number | undefined;
|
|
161
|
+
session_id: string;
|
|
162
|
+
tracker_version: string;
|
|
163
|
+
user_data: CollectEvent["user_data"];
|
|
164
|
+
utm: Record<string, string>;
|
|
165
|
+
viewport_height?: number | undefined;
|
|
166
|
+
viewport_width?: number | undefined;
|
|
167
|
+
visibility_state?: string | undefined;
|
|
168
|
+
}
|
|
169
|
+
export type TrackingPayload = CollectEvent | TrackingPulse;
|
|
170
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,aAAa;IACb,MAAM;IACN,WAAW;IACX,kBAAkB;IAClB,sBAAsB;IACtB,SAAS;CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mazyos/lp-tracker",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "First-party full-funnel tracking for MazyOS landing pages",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
8
|
+
"author": "MazyOS",
|
|
9
|
+
"homepage": "https://github.com/kenji-himura/Backoffice-MazyOS/tree/main/packages/lp-tracker",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/kenji-himura/Backoffice-MazyOS.git",
|
|
13
|
+
"directory": "packages/lp-tracker"
|
|
14
|
+
},
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/kenji-himura/Backoffice-MazyOS/issues"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"mazyos",
|
|
20
|
+
"tracking",
|
|
21
|
+
"conversions",
|
|
22
|
+
"landing-page",
|
|
23
|
+
"next.js",
|
|
24
|
+
"react"
|
|
25
|
+
],
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": ">=22.0.0"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"AGENTS.md",
|
|
32
|
+
"LICENSE",
|
|
33
|
+
"README.md",
|
|
34
|
+
"SKILL.md"
|
|
35
|
+
],
|
|
36
|
+
"main": "./dist/index.js",
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"exports": {
|
|
39
|
+
".": {
|
|
40
|
+
"types": "./dist/index.d.ts",
|
|
41
|
+
"import": "./dist/index.js",
|
|
42
|
+
"default": "./dist/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./next": {
|
|
45
|
+
"types": "./dist/next.d.ts",
|
|
46
|
+
"import": "./dist/next.js",
|
|
47
|
+
"default": "./dist/next.js"
|
|
48
|
+
},
|
|
49
|
+
"./middleware": {
|
|
50
|
+
"types": "./dist/middleware.d.ts",
|
|
51
|
+
"import": "./dist/middleware.js",
|
|
52
|
+
"default": "./dist/middleware.js"
|
|
53
|
+
},
|
|
54
|
+
"./checkout": {
|
|
55
|
+
"types": "./dist/checkout.d.ts",
|
|
56
|
+
"import": "./dist/checkout.js",
|
|
57
|
+
"default": "./dist/checkout.js"
|
|
58
|
+
},
|
|
59
|
+
"./server": {
|
|
60
|
+
"types": "./dist/server.d.ts",
|
|
61
|
+
"import": "./dist/server.js",
|
|
62
|
+
"default": "./dist/server.js"
|
|
63
|
+
},
|
|
64
|
+
"./package.json": "./package.json"
|
|
65
|
+
},
|
|
66
|
+
"bin": {
|
|
67
|
+
"lp-tracker": "./dist/cli.js",
|
|
68
|
+
"mazyos-lp-doctor": "./dist/cli.js"
|
|
69
|
+
},
|
|
70
|
+
"peerDependencies": {
|
|
71
|
+
"next": ">=16.0.0 <17.0.0",
|
|
72
|
+
"react": ">=19.0.0 <20.0.0"
|
|
73
|
+
},
|
|
74
|
+
"publishConfig": {
|
|
75
|
+
"access": "public"
|
|
76
|
+
},
|
|
77
|
+
"devDependencies": {
|
|
78
|
+
"@testing-library/dom": "10.4.1",
|
|
79
|
+
"@testing-library/jest-dom": "7.0.1",
|
|
80
|
+
"@testing-library/react": "16.3.3",
|
|
81
|
+
"@types/node": "26.4.0",
|
|
82
|
+
"@types/react": "19.2.18",
|
|
83
|
+
"@types/react-dom": "19.2.5",
|
|
84
|
+
"jsdom": "30.0.1",
|
|
85
|
+
"next": "16.3.3",
|
|
86
|
+
"oxlint": "1.80.0",
|
|
87
|
+
"react": "19.2.8",
|
|
88
|
+
"react-dom": "19.2.8",
|
|
89
|
+
"typescript": "7.0.2",
|
|
90
|
+
"vitest": "4.1.11"
|
|
91
|
+
},
|
|
92
|
+
"scripts": {
|
|
93
|
+
"build": "node ./scripts/clean.mjs && tsc -p tsconfig.build.json && node ./scripts/postbuild.mjs",
|
|
94
|
+
"lint": "oxlint --deny-warnings src tests scripts e2e",
|
|
95
|
+
"typecheck": "tsc --noEmit",
|
|
96
|
+
"test": "vitest",
|
|
97
|
+
"test:run": "vitest run"
|
|
98
|
+
}
|
|
99
|
+
}
|