@iann29/rastro 0.3.0 → 0.5.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.
Files changed (128) hide show
  1. package/README.md +199 -50
  2. package/agent/integration.md +26 -10
  3. package/agent/manifest.json +10 -5
  4. package/agent/manifest.schema.json +14 -5
  5. package/dist/client/federation.d.ts +28 -8
  6. package/dist/client/federation.d.ts.map +1 -1
  7. package/dist/client/federation.js +12 -1
  8. package/dist/client/federation.js.map +1 -1
  9. package/dist/client/index.d.ts +262 -9
  10. package/dist/client/index.d.ts.map +1 -1
  11. package/dist/client/index.js +119 -2
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/component/_generated/api.d.ts +6 -0
  14. package/dist/component/_generated/api.d.ts.map +1 -1
  15. package/dist/component/_generated/api.js.map +1 -1
  16. package/dist/component/_generated/component.d.ts +72 -1
  17. package/dist/component/_generated/component.d.ts.map +1 -1
  18. package/dist/component/_generated/server.d.ts +1 -0
  19. package/dist/component/_generated/server.d.ts.map +1 -1
  20. package/dist/component/_generated/server.js.map +1 -1
  21. package/dist/component/constants.d.ts +9 -2
  22. package/dist/component/constants.d.ts.map +1 -1
  23. package/dist/component/constants.js +31 -3
  24. package/dist/component/constants.js.map +1 -1
  25. package/dist/component/convex.config.d.ts +1 -0
  26. package/dist/component/convex.config.js +3 -0
  27. package/dist/component/convex.config.js.map +1 -1
  28. package/dist/component/coverage.d.ts +1 -0
  29. package/dist/component/coverage.d.ts.map +1 -1
  30. package/dist/component/coverage.js +6 -1
  31. package/dist/component/coverage.js.map +1 -1
  32. package/dist/component/eventStore.d.ts +2 -0
  33. package/dist/component/eventStore.d.ts.map +1 -1
  34. package/dist/component/geo.d.ts +1 -0
  35. package/dist/component/geo.d.ts.map +1 -1
  36. package/dist/component/geo.js +1 -1
  37. package/dist/component/geo.js.map +1 -1
  38. package/dist/component/http.d.ts.map +1 -1
  39. package/dist/component/http.js +65 -2
  40. package/dist/component/http.js.map +1 -1
  41. package/dist/component/identity.d.ts +12 -0
  42. package/dist/component/identity.d.ts.map +1 -1
  43. package/dist/component/identity.js +30 -2
  44. package/dist/component/identity.js.map +1 -1
  45. package/dist/component/ingest.d.ts +36 -0
  46. package/dist/component/ingest.d.ts.map +1 -1
  47. package/dist/component/ingest.js +111 -20
  48. package/dist/component/ingest.js.map +1 -1
  49. package/dist/component/live.d.ts.map +1 -1
  50. package/dist/component/live.js +34 -4
  51. package/dist/component/live.js.map +1 -1
  52. package/dist/component/origin.d.ts +70 -0
  53. package/dist/component/origin.d.ts.map +1 -0
  54. package/dist/component/origin.js +230 -0
  55. package/dist/component/origin.js.map +1 -0
  56. package/dist/component/platforms.d.ts +33 -0
  57. package/dist/component/platforms.d.ts.map +1 -0
  58. package/dist/component/platforms.js +328 -0
  59. package/dist/component/platforms.js.map +1 -0
  60. package/dist/component/reports.d.ts +27 -72
  61. package/dist/component/reports.d.ts.map +1 -1
  62. package/dist/component/reports.js +72 -16
  63. package/dist/component/reports.js.map +1 -1
  64. package/dist/component/rollupStore.d.ts +7 -4
  65. package/dist/component/rollupStore.d.ts.map +1 -1
  66. package/dist/component/rollupStore.js +37 -17
  67. package/dist/component/rollupStore.js.map +1 -1
  68. package/dist/component/rollups.d.ts +27 -8
  69. package/dist/component/rollups.d.ts.map +1 -1
  70. package/dist/component/rollups.js +110 -32
  71. package/dist/component/rollups.js.map +1 -1
  72. package/dist/component/sanitize.d.ts +5 -0
  73. package/dist/component/sanitize.d.ts.map +1 -1
  74. package/dist/component/sanitize.js +33 -1
  75. package/dist/component/sanitize.js.map +1 -1
  76. package/dist/component/schema.d.ts +68 -9
  77. package/dist/component/schema.js +21 -3
  78. package/dist/component/schema.js.map +1 -1
  79. package/dist/component/trackedLinks.d.ts +91 -0
  80. package/dist/component/trackedLinks.d.ts.map +1 -0
  81. package/dist/component/trackedLinks.js +314 -0
  82. package/dist/component/trackedLinks.js.map +1 -0
  83. package/dist/component/useragent.d.ts +6 -0
  84. package/dist/component/useragent.d.ts.map +1 -1
  85. package/dist/component/useragent.js +9 -0
  86. package/dist/component/useragent.js.map +1 -1
  87. package/dist/component/validators.d.ts +51 -11
  88. package/dist/component/validators.d.ts.map +1 -1
  89. package/dist/component/validators.js +35 -1
  90. package/dist/component/validators.js.map +1 -1
  91. package/dist/tracker/generated.d.ts +11 -11
  92. package/dist/tracker/generated.d.ts.map +1 -1
  93. package/dist/tracker/generated.js +11 -11
  94. package/dist/tracker/generated.js.map +1 -1
  95. package/dist/tracker/tracker.d.ts +1 -0
  96. package/dist/tracker/tracker.d.ts.map +1 -1
  97. package/dist/tracker/tracker.js +104 -47
  98. package/dist/tracker/tracker.js.map +1 -1
  99. package/dist/tracker/vitals.d.ts.map +1 -1
  100. package/dist/tracker/vitals.js +22 -4
  101. package/dist/tracker/vitals.js.map +1 -1
  102. package/dist/tracker.min.js +1 -1
  103. package/dist/vitals.min.js +1 -1
  104. package/docs/upgrading.md +234 -45
  105. package/llms.txt +9 -4
  106. package/package.json +2 -2
  107. package/src/component/_generated/api.ts +6 -0
  108. package/src/component/_generated/component.ts +153 -1
  109. package/src/component/_generated/server.ts +1 -0
  110. package/src/component/constants.ts +31 -3
  111. package/src/component/convex.config.ts +3 -0
  112. package/src/component/coverage.ts +7 -1
  113. package/src/component/geo.ts +1 -1
  114. package/src/component/http.ts +71 -2
  115. package/src/component/identity.ts +41 -2
  116. package/src/component/ingest.ts +146 -33
  117. package/src/component/live.ts +51 -4
  118. package/src/component/origin.ts +273 -0
  119. package/src/component/platforms.ts +359 -0
  120. package/src/component/reports.ts +98 -18
  121. package/src/component/rollupStore.ts +51 -20
  122. package/src/component/rollups.ts +141 -32
  123. package/src/component/sanitize.ts +39 -1
  124. package/src/component/schema.ts +24 -3
  125. package/src/component/trackedLinks.ts +384 -0
  126. package/src/component/useragent.ts +11 -0
  127. package/src/component/validators.ts +71 -0
  128. package/src/tracker/generated.ts +11 -11
@@ -30,6 +30,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
30
30
  affiliateId?: import("convex/values").GenericId<"affiliates"> | undefined;
31
31
  affiliateSlug?: string | undefined;
32
32
  browser: string;
33
+ channel?: "affiliate" | "ai" | "direct" | "display" | "email" | "messaging" | "offline" | "organic_search" | "organic_social" | "paid_search" | "paid_social" | "referral" | undefined;
33
34
  city?: string | undefined;
34
35
  conversionCount: number;
35
36
  country?: string | undefined;
@@ -38,6 +39,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
38
39
  durationMs: number;
39
40
  entryPath: string;
40
41
  eventCount: number;
42
+ evidence?: "affiliate" | "clickId" | "inApp" | "legacy" | "none" | "referrer" | "utm" | undefined;
41
43
  exitPath: string;
42
44
  geoLookupAttemptedAt?: number | undefined;
43
45
  lastPageviewAt?: number | undefined;
@@ -47,6 +49,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
47
49
  newVisitor?: boolean | undefined;
48
50
  os: string;
49
51
  pageviewCount: number;
52
+ platform?: string | undefined;
50
53
  referrer?: string | undefined;
51
54
  revenueCents: number;
52
55
  sessionId: string;
@@ -70,6 +73,9 @@ declare const _default: import("convex/server").SchemaDefinition<{
70
73
  exitPath: import("convex/values").VString<string, "required">;
71
74
  referrer: import("convex/values").VString<string | undefined, "optional">;
72
75
  source: import("convex/values").VString<string, "required">;
76
+ platform: import("convex/values").VString<string | undefined, "optional">;
77
+ channel: import("convex/values").VUnion<"affiliate" | "ai" | "direct" | "display" | "email" | "messaging" | "offline" | "organic_search" | "organic_social" | "paid_search" | "paid_social" | "referral" | undefined, [import("convex/values").VLiteral<"direct", "required">, import("convex/values").VLiteral<"organic_search", "required">, import("convex/values").VLiteral<"paid_search", "required">, import("convex/values").VLiteral<"organic_social", "required">, import("convex/values").VLiteral<"paid_social", "required">, import("convex/values").VLiteral<"messaging", "required">, import("convex/values").VLiteral<"email", "required">, import("convex/values").VLiteral<"affiliate", "required">, import("convex/values").VLiteral<"ai", "required">, import("convex/values").VLiteral<"display", "required">, import("convex/values").VLiteral<"referral", "required">, import("convex/values").VLiteral<"offline", "required">], "optional", never>;
78
+ evidence: import("convex/values").VUnion<"affiliate" | "clickId" | "inApp" | "legacy" | "none" | "referrer" | "utm" | undefined, [import("convex/values").VLiteral<"utm", "required">, import("convex/values").VLiteral<"clickId", "required">, import("convex/values").VLiteral<"referrer", "required">, import("convex/values").VLiteral<"inApp", "required">, import("convex/values").VLiteral<"affiliate", "required">, import("convex/values").VLiteral<"none", "required">, import("convex/values").VLiteral<"legacy", "required">], "optional", never>;
73
79
  utmSource: import("convex/values").VString<string | undefined, "optional">;
74
80
  utmMedium: import("convex/values").VString<string | undefined, "optional">;
75
81
  utmCampaign: import("convex/values").VString<string | undefined, "optional">;
@@ -92,7 +98,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
92
98
  affiliateExpiresAt: import("convex/values").VFloat64<number | undefined, "optional">;
93
99
  geoLookupAttemptedAt: import("convex/values").VFloat64<number | undefined, "optional">;
94
100
  lastPageviewAt: import("convex/values").VFloat64<number | undefined, "optional">;
95
- }, "required", "affiliateAttributedAt" | "affiliateExpiresAt" | "affiliateId" | "affiliateSlug" | "browser" | "city" | "conversionCount" | "country" | "currency" | "device" | "durationMs" | "entryPath" | "eventCount" | "exitPath" | "geoLookupAttemptedAt" | "lastPageviewAt" | "lastSeenAt" | "latitude" | "longitude" | "newVisitor" | "os" | "pageviewCount" | "referrer" | "revenueCents" | "sessionId" | "siteId" | "source" | "startedAt" | "utmCampaign" | "utmMedium" | "utmSource" | "visitorId" | "visitorKey">, {
101
+ }, "required", "affiliateAttributedAt" | "affiliateExpiresAt" | "affiliateId" | "affiliateSlug" | "browser" | "channel" | "city" | "conversionCount" | "country" | "currency" | "device" | "durationMs" | "entryPath" | "eventCount" | "evidence" | "exitPath" | "geoLookupAttemptedAt" | "lastPageviewAt" | "lastSeenAt" | "latitude" | "longitude" | "newVisitor" | "os" | "pageviewCount" | "platform" | "referrer" | "revenueCents" | "sessionId" | "siteId" | "source" | "startedAt" | "utmCampaign" | "utmMedium" | "utmSource" | "visitorId" | "visitorKey">, {
96
102
  by_siteId_and_lastSeenAt: ["siteId", "lastSeenAt", "_creationTime"];
97
103
  by_siteId_and_sessionId: ["siteId", "sessionId", "_creationTime"];
98
104
  by_siteId_and_startedAt: ["siteId", "startedAt", "_creationTime"];
@@ -200,11 +206,13 @@ declare const _default: import("convex/server").SchemaDefinition<{
200
206
  aggregateCountry?: string | undefined;
201
207
  browser?: string | undefined;
202
208
  city?: string | undefined;
209
+ clid?: string[] | undefined;
203
210
  country?: string | undefined;
204
211
  currency?: string | undefined;
205
212
  device?: string | undefined;
206
213
  eventId: string;
207
214
  href?: string | undefined;
215
+ inApp?: string | undefined;
208
216
  latitude?: number | undefined;
209
217
  longitude?: number | undefined;
210
218
  name?: string | undefined;
@@ -236,11 +244,13 @@ declare const _default: import("convex/server").SchemaDefinition<{
236
244
  aggregateCountry?: string | undefined;
237
245
  browser?: string | undefined;
238
246
  city?: string | undefined;
247
+ clid?: string[] | undefined;
239
248
  country?: string | undefined;
240
249
  currency?: string | undefined;
241
250
  device?: string | undefined;
242
251
  eventId: string;
243
252
  href?: string | undefined;
253
+ inApp?: string | undefined;
244
254
  latitude?: number | undefined;
245
255
  longitude?: number | undefined;
246
256
  name?: string | undefined;
@@ -262,11 +272,13 @@ declare const _default: import("convex/server").SchemaDefinition<{
262
272
  aggregateCountry?: string | undefined;
263
273
  browser?: string | undefined;
264
274
  city?: string | undefined;
275
+ clid?: string[] | undefined;
265
276
  country?: string | undefined;
266
277
  currency?: string | undefined;
267
278
  device?: string | undefined;
268
279
  eventId: string;
269
280
  href?: string | undefined;
281
+ inApp?: string | undefined;
270
282
  latitude?: number | undefined;
271
283
  longitude?: number | undefined;
272
284
  name?: string | undefined;
@@ -300,6 +312,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
300
312
  currency: import("convex/values").VString<string | undefined, "optional">;
301
313
  affiliateSlug: import("convex/values").VString<string | undefined, "optional">;
302
314
  value: import("convex/values").VFloat64<number | undefined, "optional">;
315
+ clid: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">;
303
316
  country: import("convex/values").VString<string | undefined, "optional">;
304
317
  city: import("convex/values").VString<string | undefined, "optional">;
305
318
  latitude: import("convex/values").VFloat64<number | undefined, "optional">;
@@ -308,8 +321,9 @@ declare const _default: import("convex/server").SchemaDefinition<{
308
321
  os: import("convex/values").VString<string | undefined, "optional">;
309
322
  device: import("convex/values").VString<string | undefined, "optional">;
310
323
  visitorKey: import("convex/values").VString<string | undefined, "optional">;
324
+ inApp: import("convex/values").VString<string | undefined, "optional">;
311
325
  aggregateCountry: import("convex/values").VString<string | undefined, "optional">;
312
- }, "required", "affiliateSlug" | "aggregateCountry" | "browser" | "city" | "country" | "currency" | "device" | "eventId" | "href" | "latitude" | "longitude" | "name" | "os" | "path" | "properties" | "referrer" | "revenueCents" | "sequence" | "sessionId" | "target" | "timestamp" | "type" | "value" | "visitorId" | "visitorKey" | `properties.${string}`>, "required">;
326
+ }, "required", "affiliateSlug" | "aggregateCountry" | "browser" | "city" | "clid" | "country" | "currency" | "device" | "eventId" | "href" | "inApp" | "latitude" | "longitude" | "name" | "os" | "path" | "properties" | "referrer" | "revenueCents" | "sequence" | "sessionId" | "target" | "timestamp" | "type" | "value" | "visitorId" | "visitorKey" | `properties.${string}`>, "required">;
313
327
  migrationVersion: import("convex/values").VLiteral<1 | undefined, "optional">;
314
328
  }, "required", "bucketStart" | "events" | "migrationVersion" | "sessionId" | "siteId" | "visitorId">, {
315
329
  by_siteId_and_bucketStart: ["siteId", "bucketStart", "_creationTime"];
@@ -328,7 +342,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
328
342
  revenueCents: number;
329
343
  sessions?: number | undefined;
330
344
  slot: number;
331
- type: "browser" | "campaign" | "country" | "device" | "event" | "goal" | "medium" | "outbound" | "page" | "source";
345
+ type: "browser" | "campaign" | "channel" | "country" | "device" | "event" | "evidence" | "goal" | "medium" | "outbound" | "page" | "platform" | "source";
332
346
  value: string;
333
347
  }[];
334
348
  durationMs?: number | undefined;
@@ -378,7 +392,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
378
392
  revenueCents: number;
379
393
  sessions?: number | undefined;
380
394
  slot: number;
381
- type: "browser" | "campaign" | "country" | "device" | "event" | "goal" | "medium" | "outbound" | "page" | "source";
395
+ type: "browser" | "campaign" | "channel" | "country" | "device" | "event" | "evidence" | "goal" | "medium" | "outbound" | "page" | "platform" | "source";
382
396
  value: string;
383
397
  }[], import("convex/values").VObject<{
384
398
  count: number;
@@ -386,10 +400,10 @@ declare const _default: import("convex/server").SchemaDefinition<{
386
400
  revenueCents: number;
387
401
  sessions?: number | undefined;
388
402
  slot: number;
389
- type: "browser" | "campaign" | "country" | "device" | "event" | "goal" | "medium" | "outbound" | "page" | "source";
403
+ type: "browser" | "campaign" | "channel" | "country" | "device" | "event" | "evidence" | "goal" | "medium" | "outbound" | "page" | "platform" | "source";
390
404
  value: string;
391
405
  }, {
392
- type: import("convex/values").VUnion<"browser" | "campaign" | "country" | "device" | "event" | "goal" | "medium" | "outbound" | "page" | "source", [import("convex/values").VLiteral<"source", "required">, import("convex/values").VLiteral<"campaign", "required">, import("convex/values").VLiteral<"page", "required">, import("convex/values").VLiteral<"country", "required">, import("convex/values").VLiteral<"device", "required">, import("convex/values").VLiteral<"browser", "required">, import("convex/values").VLiteral<"event", "required">, import("convex/values").VLiteral<"goal", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"outbound", "required">], "required", never>;
406
+ type: import("convex/values").VUnion<"browser" | "campaign" | "channel" | "country" | "device" | "event" | "evidence" | "goal" | "medium" | "outbound" | "page" | "platform" | "source", [import("convex/values").VLiteral<"source", "required">, import("convex/values").VLiteral<"campaign", "required">, import("convex/values").VLiteral<"page", "required">, import("convex/values").VLiteral<"country", "required">, import("convex/values").VLiteral<"device", "required">, import("convex/values").VLiteral<"browser", "required">, import("convex/values").VLiteral<"event", "required">, import("convex/values").VLiteral<"goal", "required">, import("convex/values").VLiteral<"medium", "required">, import("convex/values").VLiteral<"outbound", "required">, import("convex/values").VLiteral<"platform", "required">, import("convex/values").VLiteral<"channel", "required">, import("convex/values").VLiteral<"evidence", "required">], "required", never>;
393
407
  slot: import("convex/values").VFloat64<number, "required">;
394
408
  value: import("convex/values").VString<string, "required">;
395
409
  count: import("convex/values").VFloat64<number, "required">;
@@ -608,6 +622,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
608
622
  visits: number;
609
623
  }[];
610
624
  createdAt: number;
625
+ deadLetteredAt?: number | undefined;
626
+ foldFailures?: number | undefined;
611
627
  funnelSteps: {
612
628
  bucketStart: number;
613
629
  completions: number;
@@ -665,6 +681,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
665
681
  }, {
666
682
  siteId: import("convex/values").VId<import("convex/values").GenericId<"sites">, "required">;
667
683
  createdAt: import("convex/values").VFloat64<number, "required">;
684
+ foldFailures: import("convex/values").VFloat64<number | undefined, "optional">;
685
+ deadLetteredAt: import("convex/values").VFloat64<number | undefined, "optional">;
668
686
  goals: import("convex/values").VArray<{
669
687
  bucketStart: number;
670
688
  completions: number;
@@ -869,8 +887,8 @@ declare const _default: import("convex/server").SchemaDefinition<{
869
887
  histogram: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">;
870
888
  }, "required", "count" | "histogram" | "metric" | "sum">, "required">;
871
889
  }, "required", "bucketStart" | "device" | "metrics" | "page" | "shard">, "required">;
872
- }, "required", "affiliates" | "createdAt" | "funnelSteps" | "funnels" | "goals" | "routes" | "siteId" | "vitals">, {
873
- by_siteId_and_createdAt: ["siteId", "createdAt", "_creationTime"];
890
+ }, "required", "affiliates" | "createdAt" | "deadLetteredAt" | "foldFailures" | "funnelSteps" | "funnels" | "goals" | "routes" | "siteId" | "vitals">, {
891
+ by_siteId_and_deadLetteredAt_and_createdAt: ["siteId", "deadLetteredAt", "createdAt", "_creationTime"];
874
892
  }, {}, {}>;
875
893
  rollupFoldStates: import("convex/server").TableDefinition<import("convex/values").VObject<{
876
894
  leaseUntil: number;
@@ -888,6 +906,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
888
906
  dimensionsSince?: number | undefined;
889
907
  generation: 1;
890
908
  localDaySince?: number | undefined;
909
+ originSince?: number | undefined;
891
910
  retained: {
892
911
  before: number;
893
912
  dataset: string;
@@ -904,6 +923,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
904
923
  countersSince: import("convex/values").VFloat64<number | undefined, "optional">;
905
924
  localDaySince: import("convex/values").VFloat64<number | undefined, "optional">;
906
925
  dimensionsSince: import("convex/values").VFloat64<number | undefined, "optional">;
926
+ originSince: import("convex/values").VFloat64<number | undefined, "optional">;
907
927
  retained: import("convex/values").VArray<{
908
928
  before: number;
909
929
  dataset: string;
@@ -915,7 +935,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
915
935
  before: import("convex/values").VFloat64<number, "required">;
916
936
  }, "required", "before" | "dataset">, "required">;
917
937
  updatedAt: import("convex/values").VFloat64<number, "required">;
918
- }, "required", "countersSince" | "dimensionsSince" | "generation" | "localDaySince" | "retained" | "rollupCompleteFrom" | "siteId" | "siteMapSince" | "updatedAt">, {
938
+ }, "required", "countersSince" | "dimensionsSince" | "generation" | "localDaySince" | "originSince" | "retained" | "rollupCompleteFrom" | "siteId" | "siteMapSince" | "updatedAt">, {
919
939
  by_siteId: ["siteId", "_creationTime"];
920
940
  }, {}, {}>;
921
941
  retentionPolicies: import("convex/server").TableDefinition<import("convex/values").VObject<{
@@ -1115,6 +1135,45 @@ declare const _default: import("convex/server").SchemaDefinition<{
1115
1135
  by_siteId: ["siteId", "_creationTime"];
1116
1136
  by_siteId_and_slug: ["siteId", "slug", "_creationTime"];
1117
1137
  }, {}, {}>;
1138
+ trackedLinks: import("convex/server").TableDefinition<import("convex/values").VObject<{
1139
+ campaign?: string | undefined;
1140
+ channel: "affiliate" | "display" | "email" | "messaging" | "offline" | "organic_social" | "paid_social" | "referral";
1141
+ createdAt: number;
1142
+ createdBy: string;
1143
+ destination: string;
1144
+ disabledAt?: number | undefined;
1145
+ platform: string;
1146
+ siteId: import("convex/values").GenericId<"sites">;
1147
+ slug: string;
1148
+ }, {
1149
+ siteId: import("convex/values").VId<import("convex/values").GenericId<"sites">, "required">;
1150
+ slug: import("convex/values").VString<string, "required">;
1151
+ destination: import("convex/values").VString<string, "required">;
1152
+ platform: import("convex/values").VString<string, "required">;
1153
+ channel: import("convex/values").VUnion<"affiliate" | "display" | "email" | "messaging" | "offline" | "organic_social" | "paid_social" | "referral", [import("convex/values").VLiteral<"organic_social", "required">, import("convex/values").VLiteral<"paid_social", "required">, import("convex/values").VLiteral<"messaging", "required">, import("convex/values").VLiteral<"email", "required">, import("convex/values").VLiteral<"affiliate", "required">, import("convex/values").VLiteral<"display", "required">, import("convex/values").VLiteral<"referral", "required">, import("convex/values").VLiteral<"offline", "required">], "required", never>;
1154
+ campaign: import("convex/values").VString<string | undefined, "optional">;
1155
+ createdAt: import("convex/values").VFloat64<number, "required">;
1156
+ createdBy: import("convex/values").VString<string, "required">;
1157
+ disabledAt: import("convex/values").VFloat64<number | undefined, "optional">;
1158
+ }, "required", "campaign" | "channel" | "createdAt" | "createdBy" | "destination" | "disabledAt" | "platform" | "siteId" | "slug">, {
1159
+ by_siteId: ["siteId", "_creationTime"];
1160
+ by_slug: ["slug", "_creationTime"];
1161
+ }, {}, {}>;
1162
+ trackedLinkClicks: import("convex/server").TableDefinition<import("convex/values").VObject<{
1163
+ bots: number;
1164
+ clicks: number;
1165
+ dayStart: number;
1166
+ linkId: import("convex/values").GenericId<"trackedLinks">;
1167
+ shard: number;
1168
+ }, {
1169
+ linkId: import("convex/values").VId<import("convex/values").GenericId<"trackedLinks">, "required">;
1170
+ dayStart: import("convex/values").VFloat64<number, "required">;
1171
+ shard: import("convex/values").VFloat64<number, "required">;
1172
+ clicks: import("convex/values").VFloat64<number, "required">;
1173
+ bots: import("convex/values").VFloat64<number, "required">;
1174
+ }, "required", "bots" | "clicks" | "dayStart" | "linkId" | "shard">, {
1175
+ by_linkId_and_dayStart_and_shard: ["linkId", "dayStart", "shard", "_creationTime"];
1176
+ }, {}, {}>;
1118
1177
  visitorSecrets: import("convex/server").TableDefinition<import("convex/values").VObject<{
1119
1178
  createdAt: number;
1120
1179
  key: "current";
@@ -1,6 +1,6 @@
1
1
  import { defineSchema, defineTable } from "convex/server";
2
2
  import { v } from "convex/values";
3
- import { affiliateFieldsValidator, aggregateFieldsValidator, batchedEventValidator, funnelFieldsValidator, goalFieldsValidator, sessionFieldsValidator, siteFieldsValidator, visitorSketchValidator, vitalMetricValidator, } from "./validators.js";
3
+ import { affiliateFieldsValidator, aggregateFieldsValidator, batchedEventValidator, funnelFieldsValidator, goalFieldsValidator, sessionFieldsValidator, siteFieldsValidator, trackedLinkFieldsValidator, visitorSketchValidator, vitalMetricValidator, } from "./validators.js";
4
4
  import { reportRollupQueueFields, rollupFoldStateFields, } from "./rollupStore.js";
5
5
  export default defineSchema({
6
6
  sites: defineTable(siteFieldsValidator)
@@ -214,8 +214,9 @@ export default defineSchema({
214
214
  ])
215
215
  .index("by_siteId_and_bucketStart", ["siteId", "bucketStart"]),
216
216
  // Rollup deltas wait here between ingestion and the fold job; see
217
- // rollupStore.ts. Rows are deleted as they are folded.
218
- reportRollupQueue: defineTable(reportRollupQueueFields).index("by_siteId_and_createdAt", ["siteId", "createdAt"]),
217
+ // rollups.ts. Rows are deleted as they are folded; a batch that keeps
218
+ // failing is set aside with `deadLetteredAt` and skipped.
219
+ reportRollupQueue: defineTable(reportRollupQueueFields).index("by_siteId_and_deadLetteredAt_and_createdAt", ["siteId", "deadLetteredAt", "createdAt"]),
219
220
  rollupFoldStates: defineTable(rollupFoldStateFields).index("by_siteId", [
220
221
  "siteId",
221
222
  ]),
@@ -228,6 +229,8 @@ export default defineSchema({
228
229
  localDaySince: v.optional(v.number()),
229
230
  // Since when the medium and outbound dimension slots are recorded.
230
231
  dimensionsSince: v.optional(v.number()),
232
+ // Since when sessions carry their origin and the origin slots exist.
233
+ originSince: v.optional(v.number()),
231
234
  retained: v.array(v.object({ dataset: v.string(), before: v.number() })),
232
235
  updatedAt: v.number(),
233
236
  }).index("by_siteId", ["siteId"]),
@@ -318,6 +321,19 @@ export default defineSchema({
318
321
  affiliates: defineTable(affiliateFieldsValidator)
319
322
  .index("by_siteId", ["siteId"])
320
323
  .index("by_siteId_and_slug", ["siteId", "slug"]),
324
+ // Unique by slug across the deployment: the redirect route names no site.
325
+ trackedLinks: defineTable(trackedLinkFieldsValidator)
326
+ .index("by_siteId", ["siteId"])
327
+ .index("by_slug", ["slug"]),
328
+ // One row per link, UTC day and shard, plus each shard's all-time row
329
+ // under dayStart 0 (see trackedLinks.ts).
330
+ trackedLinkClicks: defineTable({
331
+ linkId: v.id("trackedLinks"),
332
+ dayStart: v.number(),
333
+ shard: v.number(),
334
+ clicks: v.number(),
335
+ bots: v.number(),
336
+ }).index("by_linkId_and_dayStart_and_shard", ["linkId", "dayStart", "shard"]),
321
337
  visitorSecrets: defineTable({
322
338
  key: v.literal("current"),
323
339
  value: v.string(),
@@ -384,6 +400,8 @@ export default defineSchema({
384
400
  ]),
385
401
  ingestWindows: defineTable({
386
402
  siteId: v.id("sites"),
403
+ // A session ID, or `~client:` plus a salted daily client-network key for
404
+ // the per-client budget; no sanitized session ID starts with `~`.
387
405
  sessionId: v.string(),
388
406
  windowStart: v.number(),
389
407
  eventCount: v.number(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { type Infer } from "convex/values";
2
+ declare const redirectValidator: import("convex/values").VObject<{
3
+ campaign?: string | undefined;
4
+ channel: "affiliate" | "display" | "email" | "messaging" | "offline" | "organic_social" | "paid_social" | "referral";
5
+ destination: string;
6
+ platform: string;
7
+ slug: string;
8
+ }, {
9
+ slug: import("convex/values").VString<string, "required">;
10
+ destination: import("convex/values").VString<string, "required">;
11
+ platform: import("convex/values").VString<string, "required">;
12
+ channel: import("convex/values").VUnion<"affiliate" | "display" | "email" | "messaging" | "offline" | "organic_social" | "paid_social" | "referral", [import("convex/values").VLiteral<"organic_social", "required">, import("convex/values").VLiteral<"paid_social", "required">, import("convex/values").VLiteral<"messaging", "required">, import("convex/values").VLiteral<"email", "required">, import("convex/values").VLiteral<"affiliate", "required">, import("convex/values").VLiteral<"display", "required">, import("convex/values").VLiteral<"referral", "required">, import("convex/values").VLiteral<"offline", "required">], "required", never>;
13
+ campaign: import("convex/values").VString<string | undefined, "optional">;
14
+ }, "required", "campaign" | "channel" | "destination" | "platform" | "slug">;
15
+ export declare function isTrackedLinkSlug(value: string): boolean;
16
+ /**
17
+ * Where a click lands: the destination with the link's utm_* appended. A key
18
+ * the destination already carries wins, and its own query keeps its exact
19
+ * encoding because the tags are appended as text.
20
+ */
21
+ export declare function trackedLinkLocation(link: Infer<typeof redirectValidator>): string;
22
+ export declare const create: import("convex/server").RegisteredMutation<"public", {
23
+ campaign?: string | undefined;
24
+ channel: "affiliate" | "display" | "email" | "messaging" | "offline" | "organic_social" | "paid_social" | "referral";
25
+ createdBy: string;
26
+ destination: string;
27
+ platform: string;
28
+ siteId: import("convex/values").GenericId<"sites">;
29
+ slug: string;
30
+ }, Promise<import("convex/values").GenericId<"trackedLinks">>>;
31
+ /** Everything but the slug, which every link already printed carries. */
32
+ export declare const update: import("convex/server").RegisteredMutation<"public", {
33
+ campaign?: string | null | undefined;
34
+ channel?: "affiliate" | "display" | "email" | "messaging" | "offline" | "organic_social" | "paid_social" | "referral" | undefined;
35
+ destination?: string | undefined;
36
+ disabled?: boolean | undefined;
37
+ linkId: import("convex/values").GenericId<"trackedLinks">;
38
+ platform?: string | undefined;
39
+ siteId: import("convex/values").GenericId<"sites">;
40
+ }, Promise<null>>;
41
+ export declare const remove: import("convex/server").RegisteredMutation<"public", {
42
+ linkId: import("convex/values").GenericId<"trackedLinks">;
43
+ siteId: import("convex/values").GenericId<"sites">;
44
+ }, Promise<null>>;
45
+ /**
46
+ * The site's links, newest first, with their clicks and bot hits: all time,
47
+ * and over the 30 UTC days ending on the day of `now`. The caller passes the
48
+ * clock so the subscription does not go stale.
49
+ */
50
+ export declare const list: import("convex/server").RegisteredQuery<"public", {
51
+ now: number;
52
+ siteId: import("convex/values").GenericId<"sites">;
53
+ }, Promise<{
54
+ _creationTime: number;
55
+ _id: import("convex/values").GenericId<"trackedLinks">;
56
+ clicks: number;
57
+ bots: number;
58
+ clicksLast30Days: number;
59
+ botsLast30Days: number;
60
+ campaign?: string | undefined;
61
+ channel: "affiliate" | "display" | "email" | "messaging" | "offline" | "organic_social" | "paid_social" | "referral";
62
+ createdAt: number;
63
+ createdBy: string;
64
+ destination: string;
65
+ disabledAt?: number | undefined;
66
+ platform: string;
67
+ siteId: import("convex/values").GenericId<"sites">;
68
+ slug: string;
69
+ }[]>>;
70
+ /**
71
+ * Counts one click on a live link and returns where it goes, or null for an
72
+ * unknown or disabled slug. Bots are counted apart and never as clicks. The
73
+ * destination is checked against the site's domains again, so a domain the
74
+ * site has since dropped stops redirecting.
75
+ */
76
+ export declare const recordClick: import("convex/server").RegisteredMutation<"internal", {
77
+ bot: boolean;
78
+ slug: string;
79
+ }, Promise<{
80
+ slug: string;
81
+ destination: string;
82
+ platform: string;
83
+ channel: "affiliate" | "display" | "email" | "messaging" | "offline" | "organic_social" | "paid_social" | "referral";
84
+ campaign?: string | undefined;
85
+ } | null>>;
86
+ /** Deletes a removed link's counters a batch at a time. */
87
+ export declare const purgeClicks: import("convex/server").RegisteredMutation<"internal", {
88
+ linkId: import("convex/values").GenericId<"trackedLinks">;
89
+ }, Promise<null>>;
90
+ export {};
91
+ //# sourceMappingURL=trackedLinks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackedLinks.d.ts","sourceRoot":"","sources":["../../src/component/trackedLinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAgC9C,QAAA,MAAM,iBAAiB;;;;;;;;;;;;4EAMtB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACpC,MAAM,CAaR;AA6DD,eAAO,MAAM,MAAM;;;;;;;;8DAmDjB,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,MAAM;;;;;;;;iBA2CjB,CAAC;AAEH,eAAO,MAAM,MAAM;;;iBAcjB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;KAgEf,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;UA+CtB,CAAC;AAEH,2DAA2D;AAC3D,eAAO,MAAM,WAAW;;iBAgBtB,CAAC"}