@iann29/rastro 0.1.0-alpha.7 → 0.1.0-alpha.9
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 +60 -32
- package/agent/integration.md +14 -6
- package/agent/manifest.json +9 -7
- package/agent/manifest.schema.json +8 -5
- package/dist/client/federation.d.ts +13 -8
- package/dist/client/federation.d.ts.map +1 -1
- package/dist/client/federation.js +4 -1
- package/dist/client/federation.js.map +1 -1
- package/dist/client/index.d.ts +419 -17
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +55 -2
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/component.d.ts +71 -7
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/constants.d.ts +6 -1
- package/dist/component/constants.d.ts.map +1 -1
- package/dist/component/constants.js +13 -1
- package/dist/component/constants.js.map +1 -1
- package/dist/component/coverage.d.ts +1 -0
- package/dist/component/coverage.d.ts.map +1 -1
- package/dist/component/coverage.js +13 -2
- package/dist/component/coverage.js.map +1 -1
- package/dist/component/eventStore.d.ts +1 -1
- package/dist/component/http.d.ts.map +1 -1
- package/dist/component/http.js +2 -0
- package/dist/component/http.js.map +1 -1
- package/dist/component/ingest.d.ts +1 -1
- package/dist/component/ingest.d.ts.map +1 -1
- package/dist/component/ingest.js +173 -3
- package/dist/component/ingest.js.map +1 -1
- package/dist/component/reports.d.ts +77 -3
- package/dist/component/reports.d.ts.map +1 -1
- package/dist/component/reports.js +275 -3
- package/dist/component/reports.js.map +1 -1
- package/dist/component/retention.d.ts +4 -4
- package/dist/component/retention.d.ts.map +1 -1
- package/dist/component/retention.js +12 -2
- package/dist/component/retention.js.map +1 -1
- package/dist/component/sanitize.d.ts +9 -0
- package/dist/component/sanitize.d.ts.map +1 -1
- package/dist/component/sanitize.js +25 -0
- package/dist/component/sanitize.js.map +1 -1
- package/dist/component/schema.d.ts +69 -7
- package/dist/component/schema.js +25 -0
- package/dist/component/schema.js.map +1 -1
- package/dist/component/validators.d.ts +7 -7
- package/dist/component/validators.d.ts.map +1 -1
- package/dist/component/validators.js +1 -1
- package/dist/component/validators.js.map +1 -1
- package/dist/tracker/generated.d.ts +4 -4
- package/dist/tracker/generated.d.ts.map +1 -1
- package/dist/tracker/generated.js +4 -4
- package/dist/tracker/generated.js.map +1 -1
- package/dist/tracker/tracker.d.ts +1 -1
- package/dist/tracker/tracker.d.ts.map +1 -1
- package/dist/tracker/tracker.js +24 -2
- package/dist/tracker/tracker.js.map +1 -1
- package/dist/tracker.min.js +1 -1
- package/docs/federation-setup.md +2 -0
- package/docs/federation.md +4 -0
- package/docs/upgrading.md +91 -10
- package/llms.txt +3 -1
- package/package.json +1 -1
- package/src/component/_generated/component.ts +58 -1
- package/src/component/constants.ts +13 -1
- package/src/component/coverage.ts +12 -1
- package/src/component/http.ts +2 -0
- package/src/component/ingest.ts +278 -1
- package/src/component/reports.ts +364 -2
- package/src/component/retention.ts +16 -1
- package/src/component/sanitize.ts +31 -0
- package/src/component/schema.ts +26 -0
- package/src/component/validators.ts +1 -0
package/dist/client/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { type FederatedAnalyticsAuthorizerOptions, type FederatedAnalyticsConnec
|
|
|
6
6
|
export { eventPropertiesValidator, eventTypeValidator, funnelStepValidator, goalMatchTypeValidator, ingestContextValidator, ingestResultValidator, trackerEventValidator, vitalMetricValidator, };
|
|
7
7
|
export type { EventProperties, EventType, FunnelStep, IngestContext, TrackerEvent, } from "../component/validators.js";
|
|
8
8
|
export { VITAL_METRICS, VITAL_THRESHOLDS } from "../component/vitals.js";
|
|
9
|
+
export { normalizeRoute } from "../component/sanitize.js";
|
|
9
10
|
export type { VitalMetric } from "../component/vitals.js";
|
|
10
11
|
export { FEDERATED_ANALYTICS_CLAIMS, FEDERATED_ANALYTICS_CONNECTOR_MANIFEST, FEDERATED_ANALYTICS_ERROR_CODES, FEDERATED_ANALYTICS_READ_PERMISSION, FEDERATED_ANALYTICS_REQUIRED_CAPABILITIES, FEDERATED_ANALYTICS_REQUIRED_FUNCTIONS, } from "./federation.js";
|
|
11
12
|
export type { FederatedAnalyticsCapability, FederatedAnalyticsAuthorizerOptions, FederatedAnalyticsConnection, FederatedAnalyticsConnectionStatus, FederatedAnalyticsErrorCode, FederatedAnalyticsIdentity, FederatedAnalyticsManifest, FederatedSiteSummary, ResolveFederatedAnalyticsConnection, } from "./federation.js";
|
|
@@ -42,6 +43,8 @@ export type AffiliatesReportInput = FunctionArgs<ComponentApi["reports"]["affili
|
|
|
42
43
|
export type AffiliatesReport = Infer<typeof hostAffiliatesReportValidator>;
|
|
43
44
|
export type VitalsReportInput = FunctionArgs<ComponentApi["reports"]["vitalsReport"]>;
|
|
44
45
|
export type VitalsReport = Infer<typeof hostVitalsReportValidator>;
|
|
46
|
+
export type SiteMapInput = FunctionArgs<ComponentApi["reports"]["siteMap"]>;
|
|
47
|
+
export type SiteMap = Infer<typeof hostSiteMapValidator>;
|
|
45
48
|
export type UpsertGoalInput = FunctionArgs<ComponentApi["goals"]["upsert"]>;
|
|
46
49
|
export type UpsertGoalOutput = FunctionReturnType<ComponentApi["goals"]["upsert"]>;
|
|
47
50
|
export type Goal = FunctionReturnType<ComponentApi["goals"]["list"]>[number];
|
|
@@ -72,7 +75,7 @@ export type DataCoverage = {
|
|
|
72
75
|
from: number;
|
|
73
76
|
to: number;
|
|
74
77
|
datasets: Array<{
|
|
75
|
-
dataset: "overviewHour" | "overviewDay" | "events" | "sessions" | "conversions" | "goals" | "funnels" | "affiliates" | "vitals";
|
|
78
|
+
dataset: "overviewHour" | "overviewDay" | "events" | "sessions" | "conversions" | "goals" | "funnels" | "affiliates" | "vitals" | "siteMap";
|
|
76
79
|
coverage: CoverageStatus;
|
|
77
80
|
}>;
|
|
78
81
|
};
|
|
@@ -105,7 +108,7 @@ export type RetentionStatus = {
|
|
|
105
108
|
}>;
|
|
106
109
|
backlog: number;
|
|
107
110
|
};
|
|
108
|
-
export type RetentionKind = "events" | "sessions" | "conversions" | "goalCompletions" | "aggregateHour" | "aggregateDay" | "funnelProgress" | "funnelSteps" | "affiliateStats" | "goalRollups" | "funnelRollups" | "affiliateRollups" | "vitalRollups" | "attributions" | "liveSessions" | "ingestWindows" | "siteIngestWindows";
|
|
111
|
+
export type RetentionKind = "events" | "sessions" | "conversions" | "goalCompletions" | "aggregateHour" | "aggregateDay" | "funnelProgress" | "funnelSteps" | "affiliateStats" | "goalRollups" | "funnelRollups" | "affiliateRollups" | "vitalRollups" | "siteMapRollups" | "attributions" | "liveSessions" | "ingestWindows" | "siteIngestWindows";
|
|
109
112
|
export type RunRetentionPolicyInput = {
|
|
110
113
|
siteId: string;
|
|
111
114
|
kind: RetentionKind;
|
|
@@ -275,9 +278,11 @@ export declare class Rastro {
|
|
|
275
278
|
lastSeenAt: number;
|
|
276
279
|
latitude?: number;
|
|
277
280
|
longitude?: number;
|
|
281
|
+
movedAt?: number;
|
|
278
282
|
os: string;
|
|
279
283
|
pageviewCount: number;
|
|
280
284
|
path: string;
|
|
285
|
+
previousPath?: string;
|
|
281
286
|
sessionId: string;
|
|
282
287
|
siteId: string;
|
|
283
288
|
source: string;
|
|
@@ -351,7 +356,7 @@ export declare class Rastro {
|
|
|
351
356
|
siteId: string;
|
|
352
357
|
target?: string;
|
|
353
358
|
timestamp: number;
|
|
354
|
-
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "outbound" | "vital";
|
|
359
|
+
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "leave" | "outbound" | "vital";
|
|
355
360
|
visitorId: string;
|
|
356
361
|
}>;
|
|
357
362
|
pageStatus?: "SplitRecommended" | "SplitRequired" | null;
|
|
@@ -406,7 +411,7 @@ export declare class Rastro {
|
|
|
406
411
|
siteId: string;
|
|
407
412
|
target?: string;
|
|
408
413
|
timestamp: number;
|
|
409
|
-
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "outbound" | "vital";
|
|
414
|
+
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "leave" | "outbound" | "vital";
|
|
410
415
|
visitorId: string;
|
|
411
416
|
}[]>;
|
|
412
417
|
goalsReport(ctx: QueryCtx | MutationCtx | ActionCtx, args: GoalsReportInput): Promise<{
|
|
@@ -572,6 +577,64 @@ export declare class Rastro {
|
|
|
572
577
|
}>;
|
|
573
578
|
truncated: boolean;
|
|
574
579
|
}>;
|
|
580
|
+
siteMap(ctx: QueryCtx | MutationCtx | ActionCtx, args: SiteMapInput): Promise<{
|
|
581
|
+
from: number;
|
|
582
|
+
metadata: {
|
|
583
|
+
basis: "dailyRollup" | "boundedLegacy";
|
|
584
|
+
coverage: {
|
|
585
|
+
availableFrom: number | null;
|
|
586
|
+
availableThrough: number | null;
|
|
587
|
+
generation: number | null;
|
|
588
|
+
retainedBefore: number | null;
|
|
589
|
+
state: "complete" | "partial" | "retained" | "unavailable";
|
|
590
|
+
};
|
|
591
|
+
limits: {
|
|
592
|
+
routesPerDay: number;
|
|
593
|
+
rows: number;
|
|
594
|
+
transitionSlots: number;
|
|
595
|
+
};
|
|
596
|
+
range: {
|
|
597
|
+
boundary: "inclusive";
|
|
598
|
+
from: number;
|
|
599
|
+
timezone: "UTC";
|
|
600
|
+
to: number;
|
|
601
|
+
};
|
|
602
|
+
visitors: {
|
|
603
|
+
basis: "estimatedUnique";
|
|
604
|
+
exact: boolean;
|
|
605
|
+
};
|
|
606
|
+
};
|
|
607
|
+
routes: Array<{
|
|
608
|
+
bounces: number;
|
|
609
|
+
daily: Array<{
|
|
610
|
+
bucketStart: number;
|
|
611
|
+
pageviews: number;
|
|
612
|
+
}>;
|
|
613
|
+
dwellMs: number;
|
|
614
|
+
dwellSamples: number;
|
|
615
|
+
entries: number;
|
|
616
|
+
exits: number;
|
|
617
|
+
pageviews: number;
|
|
618
|
+
route: string;
|
|
619
|
+
transitionsIn: number;
|
|
620
|
+
transitionsOut: number;
|
|
621
|
+
visitors: number;
|
|
622
|
+
}>;
|
|
623
|
+
to: number;
|
|
624
|
+
transitions: Array<{
|
|
625
|
+
count: number;
|
|
626
|
+
from: string;
|
|
627
|
+
to: string;
|
|
628
|
+
}>;
|
|
629
|
+
truncated: {
|
|
630
|
+
routes: boolean;
|
|
631
|
+
transitions: boolean;
|
|
632
|
+
};
|
|
633
|
+
window: {
|
|
634
|
+
from: number;
|
|
635
|
+
to: number;
|
|
636
|
+
} | null;
|
|
637
|
+
}>;
|
|
575
638
|
upsertGoal(ctx: MutationCtx, args: UpsertGoalInput): Promise<string>;
|
|
576
639
|
listGoals(ctx: QueryCtx | MutationCtx | ActionCtx, siteId: string): Promise<{
|
|
577
640
|
_creationTime: number;
|
|
@@ -633,7 +696,7 @@ export declare class Rastro {
|
|
|
633
696
|
retainedBefore: number | null;
|
|
634
697
|
state: "complete" | "partial" | "retained" | "unavailable";
|
|
635
698
|
};
|
|
636
|
-
dataset: "overviewHour" | "overviewDay" | "events" | "sessions" | "conversions" | "goals" | "funnels" | "affiliates" | "vitals";
|
|
699
|
+
dataset: "overviewHour" | "overviewDay" | "events" | "sessions" | "conversions" | "goals" | "funnels" | "affiliates" | "vitals" | "siteMap";
|
|
637
700
|
}>;
|
|
638
701
|
from: number;
|
|
639
702
|
siteId: string;
|
|
@@ -646,7 +709,7 @@ export declare class Rastro {
|
|
|
646
709
|
jobs: Array<{
|
|
647
710
|
before: number;
|
|
648
711
|
deleted: number;
|
|
649
|
-
kind: "events" | "sessions" | "conversions" | "goalCompletions" | "aggregateHour" | "aggregateDay" | "funnelProgress" | "funnelSteps" | "affiliateStats" | "goalRollups" | "funnelRollups" | "affiliateRollups" | "vitalRollups" | "attributions" | "liveSessions" | "ingestWindows" | "siteIngestWindows";
|
|
712
|
+
kind: "events" | "sessions" | "conversions" | "goalCompletions" | "aggregateHour" | "aggregateDay" | "funnelProgress" | "funnelSteps" | "affiliateStats" | "goalRollups" | "funnelRollups" | "affiliateRollups" | "vitalRollups" | "siteMapRollups" | "attributions" | "liveSessions" | "ingestWindows" | "siteIngestWindows";
|
|
650
713
|
scheduledAt: number | null;
|
|
651
714
|
status: "pending" | "running" | "complete";
|
|
652
715
|
updatedAt: number;
|
|
@@ -666,7 +729,7 @@ export declare class Rastro {
|
|
|
666
729
|
hasMore: boolean;
|
|
667
730
|
}>;
|
|
668
731
|
}
|
|
669
|
-
export type AnalyticsOperation = "site.create" | "site.update" | "site.get" | "site.list" | "ingest" | "conversion.track" | "visitor.link" | "report.overview" | "report.live" | "report.sessions" | "report.sessionJourney" | "report.conversions" | "report.visitorJourney" | "report.goals" | "report.funnels" | "report.affiliates" | "report.vitals" | "goal.upsert" | "goal.list" | "goal.remove" | "funnel.upsert" | "funnel.list" | "funnel.remove" | "affiliate.upsert" | "affiliate.list" | "affiliate.remove" | "retention.cleanup" | "retention.policy" | "retention.status" | "coverage.read";
|
|
732
|
+
export type AnalyticsOperation = "site.create" | "site.update" | "site.get" | "site.list" | "ingest" | "conversion.track" | "visitor.link" | "report.overview" | "report.live" | "report.sessions" | "report.sessionJourney" | "report.conversions" | "report.visitorJourney" | "report.goals" | "report.funnels" | "report.affiliates" | "report.vitals" | "report.siteMap" | "goal.upsert" | "goal.list" | "goal.remove" | "funnel.upsert" | "funnel.list" | "funnel.remove" | "affiliate.upsert" | "affiliate.list" | "affiliate.remove" | "retention.cleanup" | "retention.policy" | "retention.status" | "coverage.read";
|
|
670
733
|
export type AnalyticsAuthorizationRequest = {
|
|
671
734
|
operation: AnalyticsOperation;
|
|
672
735
|
siteIds: string[];
|
|
@@ -1700,6 +1763,216 @@ declare const hostVitalsReportValidator: import("convex/values").VObject<{
|
|
|
1700
1763
|
}, "required", "boundary" | "from" | "timezone" | "to">;
|
|
1701
1764
|
}, "required", "basis" | "coverage" | "coverage.availableFrom" | "coverage.availableThrough" | "coverage.generation" | "coverage.retainedBefore" | "coverage.state" | "range" | "range.boundary" | "range.from" | "range.timezone" | "range.to">;
|
|
1702
1765
|
}, "required", "metadata" | "metadata.basis" | "metadata.coverage" | "metadata.coverage.availableFrom" | "metadata.coverage.availableThrough" | "metadata.coverage.generation" | "metadata.coverage.retainedBefore" | "metadata.coverage.state" | "metadata.range" | "metadata.range.boundary" | "metadata.range.from" | "metadata.range.timezone" | "metadata.range.to" | "metrics" | "truncated">;
|
|
1766
|
+
declare const hostSiteMapValidator: import("convex/values").VObject<{
|
|
1767
|
+
from: number;
|
|
1768
|
+
metadata: {
|
|
1769
|
+
basis: "boundedLegacy" | "dailyRollup";
|
|
1770
|
+
coverage: {
|
|
1771
|
+
availableFrom: number | null;
|
|
1772
|
+
availableThrough: number | null;
|
|
1773
|
+
generation: number | null;
|
|
1774
|
+
retainedBefore: number | null;
|
|
1775
|
+
state: "complete" | "partial" | "retained" | "unavailable";
|
|
1776
|
+
};
|
|
1777
|
+
limits: {
|
|
1778
|
+
routesPerDay: number;
|
|
1779
|
+
rows: number;
|
|
1780
|
+
transitionSlots: number;
|
|
1781
|
+
};
|
|
1782
|
+
range: {
|
|
1783
|
+
boundary: "inclusive";
|
|
1784
|
+
from: number;
|
|
1785
|
+
timezone: "UTC";
|
|
1786
|
+
to: number;
|
|
1787
|
+
};
|
|
1788
|
+
visitors: {
|
|
1789
|
+
basis: "estimatedUnique";
|
|
1790
|
+
exact: boolean;
|
|
1791
|
+
};
|
|
1792
|
+
};
|
|
1793
|
+
routes: {
|
|
1794
|
+
bounces: number;
|
|
1795
|
+
daily: {
|
|
1796
|
+
bucketStart: number;
|
|
1797
|
+
pageviews: number;
|
|
1798
|
+
}[];
|
|
1799
|
+
dwellMs: number;
|
|
1800
|
+
dwellSamples: number;
|
|
1801
|
+
entries: number;
|
|
1802
|
+
exits: number;
|
|
1803
|
+
pageviews: number;
|
|
1804
|
+
route: string;
|
|
1805
|
+
transitionsIn: number;
|
|
1806
|
+
transitionsOut: number;
|
|
1807
|
+
visitors: number;
|
|
1808
|
+
}[];
|
|
1809
|
+
to: number;
|
|
1810
|
+
transitions: {
|
|
1811
|
+
count: number;
|
|
1812
|
+
from: string;
|
|
1813
|
+
to: string;
|
|
1814
|
+
}[];
|
|
1815
|
+
truncated: {
|
|
1816
|
+
routes: boolean;
|
|
1817
|
+
transitions: boolean;
|
|
1818
|
+
};
|
|
1819
|
+
window: {
|
|
1820
|
+
from: number;
|
|
1821
|
+
to: number;
|
|
1822
|
+
} | null;
|
|
1823
|
+
}, {
|
|
1824
|
+
from: import("convex/values").VFloat64<number, "required">;
|
|
1825
|
+
to: import("convex/values").VFloat64<number, "required">;
|
|
1826
|
+
window: import("convex/values").VUnion<{
|
|
1827
|
+
from: number;
|
|
1828
|
+
to: number;
|
|
1829
|
+
} | null, [import("convex/values").VObject<{
|
|
1830
|
+
from: number;
|
|
1831
|
+
to: number;
|
|
1832
|
+
}, {
|
|
1833
|
+
from: import("convex/values").VFloat64<number, "required">;
|
|
1834
|
+
to: import("convex/values").VFloat64<number, "required">;
|
|
1835
|
+
}, "required", "from" | "to">, import("convex/values").VNull<null, "required">], "required", "from" | "to">;
|
|
1836
|
+
routes: import("convex/values").VArray<{
|
|
1837
|
+
bounces: number;
|
|
1838
|
+
daily: {
|
|
1839
|
+
bucketStart: number;
|
|
1840
|
+
pageviews: number;
|
|
1841
|
+
}[];
|
|
1842
|
+
dwellMs: number;
|
|
1843
|
+
dwellSamples: number;
|
|
1844
|
+
entries: number;
|
|
1845
|
+
exits: number;
|
|
1846
|
+
pageviews: number;
|
|
1847
|
+
route: string;
|
|
1848
|
+
transitionsIn: number;
|
|
1849
|
+
transitionsOut: number;
|
|
1850
|
+
visitors: number;
|
|
1851
|
+
}[], import("convex/values").VObject<{
|
|
1852
|
+
bounces: number;
|
|
1853
|
+
daily: {
|
|
1854
|
+
bucketStart: number;
|
|
1855
|
+
pageviews: number;
|
|
1856
|
+
}[];
|
|
1857
|
+
dwellMs: number;
|
|
1858
|
+
dwellSamples: number;
|
|
1859
|
+
entries: number;
|
|
1860
|
+
exits: number;
|
|
1861
|
+
pageviews: number;
|
|
1862
|
+
route: string;
|
|
1863
|
+
transitionsIn: number;
|
|
1864
|
+
transitionsOut: number;
|
|
1865
|
+
visitors: number;
|
|
1866
|
+
}, {
|
|
1867
|
+
route: import("convex/values").VString<string, "required">;
|
|
1868
|
+
pageviews: import("convex/values").VFloat64<number, "required">;
|
|
1869
|
+
visitors: import("convex/values").VFloat64<number, "required">;
|
|
1870
|
+
entries: import("convex/values").VFloat64<number, "required">;
|
|
1871
|
+
exits: import("convex/values").VFloat64<number, "required">;
|
|
1872
|
+
bounces: import("convex/values").VFloat64<number, "required">;
|
|
1873
|
+
transitionsIn: import("convex/values").VFloat64<number, "required">;
|
|
1874
|
+
transitionsOut: import("convex/values").VFloat64<number, "required">;
|
|
1875
|
+
dwellMs: import("convex/values").VFloat64<number, "required">;
|
|
1876
|
+
dwellSamples: import("convex/values").VFloat64<number, "required">;
|
|
1877
|
+
daily: import("convex/values").VArray<{
|
|
1878
|
+
bucketStart: number;
|
|
1879
|
+
pageviews: number;
|
|
1880
|
+
}[], import("convex/values").VObject<{
|
|
1881
|
+
bucketStart: number;
|
|
1882
|
+
pageviews: number;
|
|
1883
|
+
}, {
|
|
1884
|
+
bucketStart: import("convex/values").VFloat64<number, "required">;
|
|
1885
|
+
pageviews: import("convex/values").VFloat64<number, "required">;
|
|
1886
|
+
}, "required", "bucketStart" | "pageviews">, "required">;
|
|
1887
|
+
}, "required", "bounces" | "daily" | "dwellMs" | "dwellSamples" | "entries" | "exits" | "pageviews" | "route" | "transitionsIn" | "transitionsOut" | "visitors">, "required">;
|
|
1888
|
+
transitions: import("convex/values").VArray<{
|
|
1889
|
+
count: number;
|
|
1890
|
+
from: string;
|
|
1891
|
+
to: string;
|
|
1892
|
+
}[], import("convex/values").VObject<{
|
|
1893
|
+
count: number;
|
|
1894
|
+
from: string;
|
|
1895
|
+
to: string;
|
|
1896
|
+
}, {
|
|
1897
|
+
from: import("convex/values").VString<string, "required">;
|
|
1898
|
+
to: import("convex/values").VString<string, "required">;
|
|
1899
|
+
count: import("convex/values").VFloat64<number, "required">;
|
|
1900
|
+
}, "required", "count" | "from" | "to">, "required">;
|
|
1901
|
+
truncated: import("convex/values").VObject<{
|
|
1902
|
+
routes: boolean;
|
|
1903
|
+
transitions: boolean;
|
|
1904
|
+
}, {
|
|
1905
|
+
routes: import("convex/values").VBoolean<boolean, "required">;
|
|
1906
|
+
transitions: import("convex/values").VBoolean<boolean, "required">;
|
|
1907
|
+
}, "required", "routes" | "transitions">;
|
|
1908
|
+
metadata: import("convex/values").VObject<{
|
|
1909
|
+
basis: "boundedLegacy" | "dailyRollup";
|
|
1910
|
+
coverage: {
|
|
1911
|
+
availableFrom: number | null;
|
|
1912
|
+
availableThrough: number | null;
|
|
1913
|
+
generation: number | null;
|
|
1914
|
+
retainedBefore: number | null;
|
|
1915
|
+
state: "complete" | "partial" | "retained" | "unavailable";
|
|
1916
|
+
};
|
|
1917
|
+
limits: {
|
|
1918
|
+
routesPerDay: number;
|
|
1919
|
+
rows: number;
|
|
1920
|
+
transitionSlots: number;
|
|
1921
|
+
};
|
|
1922
|
+
range: {
|
|
1923
|
+
boundary: "inclusive";
|
|
1924
|
+
from: number;
|
|
1925
|
+
timezone: "UTC";
|
|
1926
|
+
to: number;
|
|
1927
|
+
};
|
|
1928
|
+
visitors: {
|
|
1929
|
+
basis: "estimatedUnique";
|
|
1930
|
+
exact: boolean;
|
|
1931
|
+
};
|
|
1932
|
+
}, {
|
|
1933
|
+
basis: import("convex/values").VUnion<"boundedLegacy" | "dailyRollup", [import("convex/values").VLiteral<"dailyRollup", "required">, import("convex/values").VLiteral<"boundedLegacy", "required">], "required", never>;
|
|
1934
|
+
coverage: import("convex/values").VObject<{
|
|
1935
|
+
availableFrom: number | null;
|
|
1936
|
+
availableThrough: number | null;
|
|
1937
|
+
generation: number | null;
|
|
1938
|
+
retainedBefore: number | null;
|
|
1939
|
+
state: "complete" | "partial" | "retained" | "unavailable";
|
|
1940
|
+
}, {
|
|
1941
|
+
state: import("convex/values").VUnion<"complete" | "partial" | "retained" | "unavailable", [import("convex/values").VLiteral<"complete", "required">, import("convex/values").VLiteral<"partial", "required">, import("convex/values").VLiteral<"retained", "required">, import("convex/values").VLiteral<"unavailable", "required">], "required", never>;
|
|
1942
|
+
generation: import("convex/values").VUnion<number | null, [import("convex/values").VFloat64<number, "required">, import("convex/values").VNull<null, "required">], "required", never>;
|
|
1943
|
+
availableFrom: import("convex/values").VUnion<number | null, [import("convex/values").VFloat64<number, "required">, import("convex/values").VNull<null, "required">], "required", never>;
|
|
1944
|
+
availableThrough: import("convex/values").VUnion<number | null, [import("convex/values").VFloat64<number, "required">, import("convex/values").VNull<null, "required">], "required", never>;
|
|
1945
|
+
retainedBefore: import("convex/values").VUnion<number | null, [import("convex/values").VFloat64<number, "required">, import("convex/values").VNull<null, "required">], "required", never>;
|
|
1946
|
+
}, "required", "availableFrom" | "availableThrough" | "generation" | "retainedBefore" | "state">;
|
|
1947
|
+
range: import("convex/values").VObject<{
|
|
1948
|
+
boundary: "inclusive";
|
|
1949
|
+
from: number;
|
|
1950
|
+
timezone: "UTC";
|
|
1951
|
+
to: number;
|
|
1952
|
+
}, {
|
|
1953
|
+
from: import("convex/values").VFloat64<number, "required">;
|
|
1954
|
+
to: import("convex/values").VFloat64<number, "required">;
|
|
1955
|
+
boundary: import("convex/values").VLiteral<"inclusive", "required">;
|
|
1956
|
+
timezone: import("convex/values").VLiteral<"UTC", "required">;
|
|
1957
|
+
}, "required", "boundary" | "from" | "timezone" | "to">;
|
|
1958
|
+
visitors: import("convex/values").VObject<{
|
|
1959
|
+
basis: "estimatedUnique";
|
|
1960
|
+
exact: boolean;
|
|
1961
|
+
}, {
|
|
1962
|
+
basis: import("convex/values").VLiteral<"estimatedUnique", "required">;
|
|
1963
|
+
exact: import("convex/values").VBoolean<boolean, "required">;
|
|
1964
|
+
}, "required", "basis" | "exact">;
|
|
1965
|
+
limits: import("convex/values").VObject<{
|
|
1966
|
+
routesPerDay: number;
|
|
1967
|
+
rows: number;
|
|
1968
|
+
transitionSlots: number;
|
|
1969
|
+
}, {
|
|
1970
|
+
routesPerDay: import("convex/values").VFloat64<number, "required">;
|
|
1971
|
+
transitionSlots: import("convex/values").VFloat64<number, "required">;
|
|
1972
|
+
rows: import("convex/values").VFloat64<number, "required">;
|
|
1973
|
+
}, "required", "routesPerDay" | "rows" | "transitionSlots">;
|
|
1974
|
+
}, "required", "basis" | "coverage" | "coverage.availableFrom" | "coverage.availableThrough" | "coverage.generation" | "coverage.retainedBefore" | "coverage.state" | "limits" | "limits.routesPerDay" | "limits.rows" | "limits.transitionSlots" | "range" | "range.boundary" | "range.from" | "range.timezone" | "range.to" | "visitors" | "visitors.basis" | "visitors.exact">;
|
|
1975
|
+
}, "required", "from" | "metadata" | "metadata.basis" | "metadata.coverage" | "metadata.coverage.availableFrom" | "metadata.coverage.availableThrough" | "metadata.coverage.generation" | "metadata.coverage.retainedBefore" | "metadata.coverage.state" | "metadata.limits" | "metadata.limits.routesPerDay" | "metadata.limits.rows" | "metadata.limits.transitionSlots" | "metadata.range" | "metadata.range.boundary" | "metadata.range.from" | "metadata.range.timezone" | "metadata.range.to" | "metadata.visitors" | "metadata.visitors.basis" | "metadata.visitors.exact" | "routes" | "to" | "transitions" | "truncated" | "truncated.routes" | "truncated.transitions" | "window" | "window.from" | "window.to">;
|
|
1703
1976
|
export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
1704
1977
|
authorize: AnalyticsAuthorizer;
|
|
1705
1978
|
}): {
|
|
@@ -1777,7 +2050,7 @@ export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
|
1777
2050
|
sessionId: string;
|
|
1778
2051
|
target?: string | undefined;
|
|
1779
2052
|
timestamp: number;
|
|
1780
|
-
type: "click" | "conversion" | "custom" | "heartbeat" | "outbound" | "pageview" | "vital";
|
|
2053
|
+
type: "click" | "conversion" | "custom" | "heartbeat" | "leave" | "outbound" | "pageview" | "vital";
|
|
1781
2054
|
value?: number | undefined;
|
|
1782
2055
|
visitorId: string;
|
|
1783
2056
|
}[];
|
|
@@ -1940,9 +2213,11 @@ export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
|
1940
2213
|
lastSeenAt: number;
|
|
1941
2214
|
latitude?: number;
|
|
1942
2215
|
longitude?: number;
|
|
2216
|
+
movedAt?: number;
|
|
1943
2217
|
os: string;
|
|
1944
2218
|
pageviewCount: number;
|
|
1945
2219
|
path: string;
|
|
2220
|
+
previousPath?: string;
|
|
1946
2221
|
sessionId: string;
|
|
1947
2222
|
siteId: string;
|
|
1948
2223
|
source: string;
|
|
@@ -2041,7 +2316,7 @@ export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
|
2041
2316
|
siteId: string;
|
|
2042
2317
|
target?: string;
|
|
2043
2318
|
timestamp: number;
|
|
2044
|
-
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "outbound" | "vital";
|
|
2319
|
+
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "leave" | "outbound" | "vital";
|
|
2045
2320
|
visitorId: string;
|
|
2046
2321
|
}>;
|
|
2047
2322
|
pageStatus?: "SplitRecommended" | "SplitRequired" | null;
|
|
@@ -2114,7 +2389,7 @@ export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
|
2114
2389
|
siteId: string;
|
|
2115
2390
|
target?: string;
|
|
2116
2391
|
timestamp: number;
|
|
2117
|
-
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "outbound" | "vital";
|
|
2392
|
+
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "leave" | "outbound" | "vital";
|
|
2118
2393
|
visitorId: string;
|
|
2119
2394
|
}[]>>;
|
|
2120
2395
|
goalsReport: import("convex/server").RegisteredQuery<"public", {
|
|
@@ -2296,6 +2571,68 @@ export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
|
2296
2571
|
}>;
|
|
2297
2572
|
truncated: boolean;
|
|
2298
2573
|
}>>;
|
|
2574
|
+
siteMap: import("convex/server").RegisteredQuery<"public", {
|
|
2575
|
+
from: number;
|
|
2576
|
+
siteIds: string[];
|
|
2577
|
+
to: number;
|
|
2578
|
+
}, Promise<{
|
|
2579
|
+
from: number;
|
|
2580
|
+
metadata: {
|
|
2581
|
+
basis: "dailyRollup" | "boundedLegacy";
|
|
2582
|
+
coverage: {
|
|
2583
|
+
availableFrom: number | null;
|
|
2584
|
+
availableThrough: number | null;
|
|
2585
|
+
generation: number | null;
|
|
2586
|
+
retainedBefore: number | null;
|
|
2587
|
+
state: "complete" | "partial" | "retained" | "unavailable";
|
|
2588
|
+
};
|
|
2589
|
+
limits: {
|
|
2590
|
+
routesPerDay: number;
|
|
2591
|
+
rows: number;
|
|
2592
|
+
transitionSlots: number;
|
|
2593
|
+
};
|
|
2594
|
+
range: {
|
|
2595
|
+
boundary: "inclusive";
|
|
2596
|
+
from: number;
|
|
2597
|
+
timezone: "UTC";
|
|
2598
|
+
to: number;
|
|
2599
|
+
};
|
|
2600
|
+
visitors: {
|
|
2601
|
+
basis: "estimatedUnique";
|
|
2602
|
+
exact: boolean;
|
|
2603
|
+
};
|
|
2604
|
+
};
|
|
2605
|
+
routes: Array<{
|
|
2606
|
+
bounces: number;
|
|
2607
|
+
daily: Array<{
|
|
2608
|
+
bucketStart: number;
|
|
2609
|
+
pageviews: number;
|
|
2610
|
+
}>;
|
|
2611
|
+
dwellMs: number;
|
|
2612
|
+
dwellSamples: number;
|
|
2613
|
+
entries: number;
|
|
2614
|
+
exits: number;
|
|
2615
|
+
pageviews: number;
|
|
2616
|
+
route: string;
|
|
2617
|
+
transitionsIn: number;
|
|
2618
|
+
transitionsOut: number;
|
|
2619
|
+
visitors: number;
|
|
2620
|
+
}>;
|
|
2621
|
+
to: number;
|
|
2622
|
+
transitions: Array<{
|
|
2623
|
+
count: number;
|
|
2624
|
+
from: string;
|
|
2625
|
+
to: string;
|
|
2626
|
+
}>;
|
|
2627
|
+
truncated: {
|
|
2628
|
+
routes: boolean;
|
|
2629
|
+
transitions: boolean;
|
|
2630
|
+
};
|
|
2631
|
+
window: {
|
|
2632
|
+
from: number;
|
|
2633
|
+
to: number;
|
|
2634
|
+
} | null;
|
|
2635
|
+
}>>;
|
|
2299
2636
|
dataCoverage: import("convex/server").RegisteredQuery<"public", {
|
|
2300
2637
|
from: number;
|
|
2301
2638
|
siteId: string;
|
|
@@ -2309,7 +2646,7 @@ export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
|
2309
2646
|
retainedBefore: number | null;
|
|
2310
2647
|
state: "complete" | "partial" | "retained" | "unavailable";
|
|
2311
2648
|
};
|
|
2312
|
-
dataset: "overviewHour" | "overviewDay" | "events" | "sessions" | "conversions" | "goals" | "funnels" | "affiliates" | "vitals";
|
|
2649
|
+
dataset: "overviewHour" | "overviewDay" | "events" | "sessions" | "conversions" | "goals" | "funnels" | "affiliates" | "vitals" | "siteMap";
|
|
2313
2650
|
}>;
|
|
2314
2651
|
from: number;
|
|
2315
2652
|
siteId: string;
|
|
@@ -2322,7 +2659,7 @@ export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
|
2322
2659
|
jobs: Array<{
|
|
2323
2660
|
before: number;
|
|
2324
2661
|
deleted: number;
|
|
2325
|
-
kind: "events" | "sessions" | "conversions" | "goalCompletions" | "aggregateHour" | "aggregateDay" | "funnelProgress" | "funnelSteps" | "affiliateStats" | "goalRollups" | "funnelRollups" | "affiliateRollups" | "vitalRollups" | "attributions" | "liveSessions" | "ingestWindows" | "siteIngestWindows";
|
|
2662
|
+
kind: "events" | "sessions" | "conversions" | "goalCompletions" | "aggregateHour" | "aggregateDay" | "funnelProgress" | "funnelSteps" | "affiliateStats" | "goalRollups" | "funnelRollups" | "affiliateRollups" | "vitalRollups" | "siteMapRollups" | "attributions" | "liveSessions" | "ingestWindows" | "siteIngestWindows";
|
|
2326
2663
|
scheduledAt: number | null;
|
|
2327
2664
|
status: "pending" | "running" | "complete";
|
|
2328
2665
|
updatedAt: number;
|
|
@@ -2349,7 +2686,7 @@ export declare function exposeAnalyticsApi(component: ComponentApi, options: {
|
|
|
2349
2686
|
}, Promise<null>>;
|
|
2350
2687
|
runRetentionPolicy: import("convex/server").RegisteredMutation<"public", {
|
|
2351
2688
|
batchSize?: number | undefined;
|
|
2352
|
-
kind: "affiliateRollups" | "affiliateStats" | "aggregateDay" | "aggregateHour" | "attributions" | "conversions" | "events" | "funnelProgress" | "funnelRollups" | "funnelSteps" | "goalCompletions" | "goalRollups" | "ingestWindows" | "liveSessions" | "sessions" | "siteIngestWindows" | "vitalRollups";
|
|
2689
|
+
kind: "affiliateRollups" | "affiliateStats" | "aggregateDay" | "aggregateHour" | "attributions" | "conversions" | "events" | "funnelProgress" | "funnelRollups" | "funnelSteps" | "goalCompletions" | "goalRollups" | "ingestWindows" | "liveSessions" | "sessions" | "siteIngestWindows" | "siteMapRollups" | "vitalRollups";
|
|
2353
2690
|
siteId: string;
|
|
2354
2691
|
}, Promise<{
|
|
2355
2692
|
before: number;
|
|
@@ -2479,8 +2816,9 @@ export declare function exposeFederatedAnalyticsApi(component: ComponentApi, opt
|
|
|
2479
2816
|
affiliatesReport: "affiliatesReport";
|
|
2480
2817
|
dataCoverage: "dataCoverage";
|
|
2481
2818
|
vitalsReport: "vitalsReport";
|
|
2819
|
+
siteMap: "siteMap";
|
|
2482
2820
|
};
|
|
2483
|
-
capabilities: ("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney" | "vitals")[];
|
|
2821
|
+
capabilities: ("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "visitorJourney" | "vitals")[];
|
|
2484
2822
|
limits: {
|
|
2485
2823
|
maxSitesPerRequest: 10;
|
|
2486
2824
|
maxSitesPerConnection: 10;
|
|
@@ -2619,9 +2957,11 @@ export declare function exposeFederatedAnalyticsApi(component: ComponentApi, opt
|
|
|
2619
2957
|
lastSeenAt: number;
|
|
2620
2958
|
latitude?: number;
|
|
2621
2959
|
longitude?: number;
|
|
2960
|
+
movedAt?: number;
|
|
2622
2961
|
os: string;
|
|
2623
2962
|
pageviewCount: number;
|
|
2624
2963
|
path: string;
|
|
2964
|
+
previousPath?: string;
|
|
2625
2965
|
sessionId: string;
|
|
2626
2966
|
siteId: string;
|
|
2627
2967
|
source: string;
|
|
@@ -2720,7 +3060,7 @@ export declare function exposeFederatedAnalyticsApi(component: ComponentApi, opt
|
|
|
2720
3060
|
siteId: string;
|
|
2721
3061
|
target?: string;
|
|
2722
3062
|
timestamp: number;
|
|
2723
|
-
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "outbound" | "vital";
|
|
3063
|
+
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "leave" | "outbound" | "vital";
|
|
2724
3064
|
visitorId: string;
|
|
2725
3065
|
}>;
|
|
2726
3066
|
pageStatus?: "SplitRecommended" | "SplitRequired" | null;
|
|
@@ -2793,7 +3133,7 @@ export declare function exposeFederatedAnalyticsApi(component: ComponentApi, opt
|
|
|
2793
3133
|
siteId: string;
|
|
2794
3134
|
target?: string;
|
|
2795
3135
|
timestamp: number;
|
|
2796
|
-
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "outbound" | "vital";
|
|
3136
|
+
type: "pageview" | "click" | "custom" | "conversion" | "heartbeat" | "leave" | "outbound" | "vital";
|
|
2797
3137
|
visitorId: string;
|
|
2798
3138
|
}[]>>;
|
|
2799
3139
|
goalsReport: import("convex/server").RegisteredQuery<"public", {
|
|
@@ -2975,6 +3315,68 @@ export declare function exposeFederatedAnalyticsApi(component: ComponentApi, opt
|
|
|
2975
3315
|
}>;
|
|
2976
3316
|
truncated: boolean;
|
|
2977
3317
|
}>>;
|
|
3318
|
+
siteMap: import("convex/server").RegisteredQuery<"public", {
|
|
3319
|
+
from: number;
|
|
3320
|
+
siteIds: string[];
|
|
3321
|
+
to: number;
|
|
3322
|
+
}, Promise<{
|
|
3323
|
+
from: number;
|
|
3324
|
+
metadata: {
|
|
3325
|
+
basis: "dailyRollup" | "boundedLegacy";
|
|
3326
|
+
coverage: {
|
|
3327
|
+
availableFrom: number | null;
|
|
3328
|
+
availableThrough: number | null;
|
|
3329
|
+
generation: number | null;
|
|
3330
|
+
retainedBefore: number | null;
|
|
3331
|
+
state: "complete" | "partial" | "retained" | "unavailable";
|
|
3332
|
+
};
|
|
3333
|
+
limits: {
|
|
3334
|
+
routesPerDay: number;
|
|
3335
|
+
rows: number;
|
|
3336
|
+
transitionSlots: number;
|
|
3337
|
+
};
|
|
3338
|
+
range: {
|
|
3339
|
+
boundary: "inclusive";
|
|
3340
|
+
from: number;
|
|
3341
|
+
timezone: "UTC";
|
|
3342
|
+
to: number;
|
|
3343
|
+
};
|
|
3344
|
+
visitors: {
|
|
3345
|
+
basis: "estimatedUnique";
|
|
3346
|
+
exact: boolean;
|
|
3347
|
+
};
|
|
3348
|
+
};
|
|
3349
|
+
routes: Array<{
|
|
3350
|
+
bounces: number;
|
|
3351
|
+
daily: Array<{
|
|
3352
|
+
bucketStart: number;
|
|
3353
|
+
pageviews: number;
|
|
3354
|
+
}>;
|
|
3355
|
+
dwellMs: number;
|
|
3356
|
+
dwellSamples: number;
|
|
3357
|
+
entries: number;
|
|
3358
|
+
exits: number;
|
|
3359
|
+
pageviews: number;
|
|
3360
|
+
route: string;
|
|
3361
|
+
transitionsIn: number;
|
|
3362
|
+
transitionsOut: number;
|
|
3363
|
+
visitors: number;
|
|
3364
|
+
}>;
|
|
3365
|
+
to: number;
|
|
3366
|
+
transitions: Array<{
|
|
3367
|
+
count: number;
|
|
3368
|
+
from: string;
|
|
3369
|
+
to: string;
|
|
3370
|
+
}>;
|
|
3371
|
+
truncated: {
|
|
3372
|
+
routes: boolean;
|
|
3373
|
+
transitions: boolean;
|
|
3374
|
+
};
|
|
3375
|
+
window: {
|
|
3376
|
+
from: number;
|
|
3377
|
+
to: number;
|
|
3378
|
+
} | null;
|
|
3379
|
+
}>>;
|
|
2978
3380
|
dataCoverage: import("convex/server").RegisteredQuery<"public", {
|
|
2979
3381
|
from: number;
|
|
2980
3382
|
siteId: string;
|
|
@@ -2988,7 +3390,7 @@ export declare function exposeFederatedAnalyticsApi(component: ComponentApi, opt
|
|
|
2988
3390
|
retainedBefore: number | null;
|
|
2989
3391
|
state: "complete" | "partial" | "retained" | "unavailable";
|
|
2990
3392
|
};
|
|
2991
|
-
dataset: "overviewHour" | "overviewDay" | "events" | "sessions" | "conversions" | "goals" | "funnels" | "affiliates" | "vitals";
|
|
3393
|
+
dataset: "overviewHour" | "overviewDay" | "events" | "sessions" | "conversions" | "goals" | "funnels" | "affiliates" | "vitals" | "siteMap";
|
|
2992
3394
|
}>;
|
|
2993
3395
|
from: number;
|
|
2994
3396
|
siteId: string;
|