@iann29/rastro 0.6.0 → 0.8.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/README.md +90 -0
- package/agent/integration.md +19 -0
- package/agent/manifest.json +4 -4
- package/dist/client/federation.d.ts +34 -9
- package/dist/client/federation.d.ts.map +1 -1
- package/dist/client/federation.js +14 -2
- package/dist/client/federation.js.map +1 -1
- package/dist/client/index.d.ts +365 -5
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +98 -6
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +2 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +163 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/constants.d.ts +5 -0
- package/dist/component/constants.d.ts.map +1 -1
- package/dist/component/constants.js +8 -0
- package/dist/component/constants.js.map +1 -1
- package/dist/component/ingest.d.ts.map +1 -1
- package/dist/component/ingest.js +7 -5
- package/dist/component/ingest.js.map +1 -1
- package/dist/component/leads.d.ts +190 -0
- package/dist/component/leads.d.ts.map +1 -0
- package/dist/component/leads.js +689 -0
- package/dist/component/leads.js.map +1 -0
- package/dist/component/reports.d.ts +3 -0
- package/dist/component/reports.d.ts.map +1 -1
- package/dist/component/reports.js +16 -5
- package/dist/component/reports.js.map +1 -1
- package/dist/component/sanitize.d.ts +3 -1
- package/dist/component/sanitize.d.ts.map +1 -1
- package/dist/component/sanitize.js +30 -1
- package/dist/component/sanitize.js.map +1 -1
- package/dist/component/schema.d.ts +122 -1
- package/dist/component/schema.js +39 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/component/sites.d.ts +4 -0
- package/dist/component/sites.d.ts.map +1 -1
- package/dist/component/sites.js +13 -2
- package/dist/component/sites.js.map +1 -1
- package/dist/component/validators.d.ts +696 -1
- package/dist/component/validators.d.ts.map +1 -1
- package/dist/component/validators.js +130 -0
- package/dist/component/validators.js.map +1 -1
- package/dist/tracker/generated.d.ts +1 -1
- package/dist/tracker/generated.js +1 -1
- package/docs/federation-setup.md +29 -0
- package/docs/upgrading.md +57 -0
- package/llms.txt +2 -0
- package/package.json +1 -1
- package/src/component/_generated/api.ts +2 -0
- package/src/component/_generated/component.ts +186 -0
- package/src/component/constants.ts +8 -0
- package/src/component/ingest.ts +8 -3
- package/src/component/leads.ts +823 -0
- package/src/component/reports.ts +23 -5
- package/src/component/sanitize.ts +46 -1
- package/src/component/schema.ts +45 -0
- package/src/component/sites.ts +14 -1
- package/src/component/validators.ts +165 -0
- package/src/tracker/generated.ts +1 -1
|
@@ -38,6 +38,14 @@ export const MAX_TRACKED_LINKS_PER_SITE = 200;
|
|
|
38
38
|
// plus its last 30 days, and a full site of 200 links must stay under the
|
|
39
39
|
// 32,000 documents a query may read (see trackedLinks.ts).
|
|
40
40
|
export const TRACKED_LINK_CLICK_SHARDS = 4;
|
|
41
|
+
// Leads (see leads.ts). The report reads at most MAX_LEAD_REPORT_ROWS rollup
|
|
42
|
+
// rows across every site and dimension, plus two documents per ad it names,
|
|
43
|
+
// so its worst case stays well under the 32,000 documents a query may read.
|
|
44
|
+
export const MAX_LEAD_REPORT_ROWS = 12_000;
|
|
45
|
+
export const MAX_LEAD_REPORT_ADS = 1_000;
|
|
46
|
+
export const MAX_LEAD_LIST = 50;
|
|
47
|
+
export const MAX_LEAD_EVENTS_PER_LEAD = 1_000;
|
|
48
|
+
export const MAX_AD_CATALOG_BATCH = 100;
|
|
41
49
|
export const MAX_FUNNEL_STEPS = 10;
|
|
42
50
|
export const MAX_PROPERTIES = 16;
|
|
43
51
|
export const MAX_REPORT_SITES = 10;
|
package/src/component/ingest.ts
CHANGED
|
@@ -582,6 +582,7 @@ export const ingestBatch = mutation({
|
|
|
582
582
|
recordTelemetry: true,
|
|
583
583
|
timezone,
|
|
584
584
|
siteDomains: site.domains,
|
|
585
|
+
routePatterns: site.routePatterns,
|
|
585
586
|
financialConversion: false,
|
|
586
587
|
trustedGoalKey: undefined,
|
|
587
588
|
now,
|
|
@@ -713,6 +714,7 @@ export const trackConversion = mutation({
|
|
|
713
714
|
recordTelemetry: existingTelemetry === null && !telemetry.saturated,
|
|
714
715
|
timezone: localDayTimezone(site.timezone),
|
|
715
716
|
siteDomains: site.domains,
|
|
717
|
+
routePatterns: site.routePatterns,
|
|
716
718
|
financialConversion: true,
|
|
717
719
|
trustedGoalKey,
|
|
718
720
|
now: Date.now(),
|
|
@@ -853,6 +855,7 @@ async function accountEvent(
|
|
|
853
855
|
timezone?: string;
|
|
854
856
|
/** The site's own domains: a referrer on them is not an origin. */
|
|
855
857
|
siteDomains: string[];
|
|
858
|
+
routePatterns?: string[];
|
|
856
859
|
financialConversion: boolean;
|
|
857
860
|
trustedGoalKey: string | undefined;
|
|
858
861
|
now: number;
|
|
@@ -882,6 +885,7 @@ async function accountEvent(
|
|
|
882
885
|
event,
|
|
883
886
|
session,
|
|
884
887
|
input.existingSession,
|
|
888
|
+
input.routePatterns,
|
|
885
889
|
);
|
|
886
890
|
}
|
|
887
891
|
|
|
@@ -2407,8 +2411,9 @@ function foldRouteRollups(
|
|
|
2407
2411
|
event: TrackerEvent,
|
|
2408
2412
|
session: SessionState,
|
|
2409
2413
|
existing: CachedDocument<"sessions"> | null,
|
|
2414
|
+
patterns?: string[],
|
|
2410
2415
|
) {
|
|
2411
|
-
const route = normalizeRoute(event.path);
|
|
2416
|
+
const route = normalizeRoute(event.path, patterns);
|
|
2412
2417
|
const priorPageviews = existing?.pageviewCount ?? 0;
|
|
2413
2418
|
const firstPageview = existing === null || priorPageviews === 0;
|
|
2414
2419
|
foldRouteDelta(
|
|
@@ -2426,7 +2431,7 @@ function foldRouteRollups(
|
|
|
2426
2431
|
// Out-of-order telemetry keeps its view but cannot say where it came from.
|
|
2427
2432
|
if (existing === null || firstPageview) return;
|
|
2428
2433
|
if (event.timestamp < existing.lastSeenAt) return;
|
|
2429
|
-
const previous = normalizeRoute(existing.exitPath);
|
|
2434
|
+
const previous = normalizeRoute(existing.exitPath, patterns);
|
|
2430
2435
|
const lastPageviewAt = existing.lastPageviewAt;
|
|
2431
2436
|
foldRouteDelta(
|
|
2432
2437
|
deltas,
|
|
@@ -2446,7 +2451,7 @@ function foldRouteRollups(
|
|
|
2446
2451
|
foldRouteDelta(
|
|
2447
2452
|
deltas,
|
|
2448
2453
|
siteId,
|
|
2449
|
-
normalizeRoute(existing.entryPath),
|
|
2454
|
+
normalizeRoute(existing.entryPath, patterns),
|
|
2450
2455
|
existing.startedAt,
|
|
2451
2456
|
event.visitorId,
|
|
2452
2457
|
(delta) => {
|