@iann29/rastro 0.8.0 → 0.8.1

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.
@@ -19,7 +19,7 @@
19
19
  "llms": "1f83fa54e5f401bd8ac312ddcbbf1c787d0bf0b26f95a2c5eb06e7e4f48376c0",
20
20
  "protocol": "d56dd4dca8c11a4d00303c48abfbcde4ed7cee6f415b2c96b971ba9efff2467c",
21
21
  "setup": "9ffc6ad0d79ec078ab4fe38db1b08489b8f3feefb4bb35d09b003b3635a301b5",
22
- "upgrading": "d993d85bdf36285853e1cc4f397f07f0792553a79b6a440262ab16a27cd880d3",
22
+ "upgrading": "c913f972be08732c415622f505ca804855e56f5d46a0b46cb51656c879464455",
23
23
  "identity": "2d23399ae4e469b505790d9c7cc8a2012da96a49bd2e776a8118b51b52c8390e"
24
24
  },
25
25
  "identity": "https://www.amagerastro.com/docs/reference/identity.md"
@@ -1 +1 @@
1
- {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/component/reports.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAoMzD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;gBA2xEX,MAAM;mBACH,MAAM;gBACT,MAAM;sBACA,MAAM;wBACJ,MAAM;kBACZ,MAAM;kBACN,MAAM;qBACH,MAAM;sBACL,MAAM;oBACR,MAAM;2BACC,MAAM;qBACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA57DX,UAAU;YACV,YAAY;YACZ,QAAQ;YACR,YAAY;YACZ,UAAU;YACV,WAAW;YACX,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,sBAAsB;YAChC,UAAU;YACV,WAAW,EAAE,aAAa;YAC1B,YAAY;YACZ,WAAW;YACX,WAAW;;;;;;;;;;;;;;sBA4hEP,WAAW;;;;YA/gEf,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,aAAa;YAC5B,YAAY,EAAE,WAAW;;;GAKjC,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuEvB,CAAC;AAsBH;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2LN,MAAM;YAAM,MAAM;eAAS,MAAM;;;QAgDvC,MAAM;QACN,WAAW;;;eA/KN,aAAa;;;wBAGN,CAAC;;;;;;;;sBA81DP,WAAW;;;;YAx1DP,KAAK,EAAE,iBAAiB;YAAW,KAAK;;;;;;;;GA+KxD,CAAC;AA0CH,KAAK,UAAU,GAAG,IAAI,CACpB,GAAG,CAAC,UAAU,CAAC,EACf,sBAAsB,GAAG,gBAAgB,CAC1C,CAAC;AAkBF,uEAAuE;AACvE,eAAO,MAAM,UAAU;;;;;WAqBrB,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,cAAc;;;;;;GAwEzB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;GA0EvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiE1B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgDzB,CAAC;AASH,eAAO,MAAM,WAAW;;;;;;;;qBAiBH,MAAM;oBAAc,MAAM;;;;;;;;;;;;QA0DvC,KAAK;QACL,QAAQ;;;;;;;QAWR,KAAK;;;sBAwsCC,WAAW;;;;GApsCvB,CAAC;AAiBH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;QAoFhB,KAAK;QAGL,QAAQ;;;;;;;QACR,KAAK;;;sBA2lCD,WAAW;;;;;;;;;;;;;;;;KArlCvB,CAAC;AAYH,eAAO,MAAM,gBAAgB;;;;;;;;qBAqDR,MAAM;sBACL,MAAM;yBACH,MAAM;;;;;;;;;;;;;;QAkGvB,KAAK;QACL,QAAQ;;;;;;;QAaR,KAAK;;;sBAk6BC,WAAW;;;QAj6BjB,cAAc;YACZ,KAAK;YAGL,KAAK;;;GAKb,CAAC;AAWH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4HjB,KAAK,EAAE,aAAa;QACpB,QAAQ;;;;;;;QAOR,KAAK;;;sBAywBC,WAAW;;;;GArwBvB,CAAC;AAiBH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;GAmDvB,CAAC;AAykBH,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/component/reports.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAoMzD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;gBAu0EX,MAAM;mBACH,MAAM;gBACT,MAAM;sBACA,MAAM;wBACJ,MAAM;kBACZ,MAAM;kBACN,MAAM;qBACH,MAAM;sBACL,MAAM;oBACR,MAAM;2BACC,MAAM;qBACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA99DX,UAAU;YACV,YAAY;YACZ,QAAQ;YACR,YAAY;YACZ,UAAU;YACV,WAAW;YACX,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,sBAAsB;YAChC,UAAU;YACV,WAAW,EAAE,aAAa;YAC1B,YAAY;YACZ,WAAW;YACX,WAAW;;;;;;;;;;;;;;sBA8jEP,WAAW;;;;YAjjEf,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,aAAa;YAC5B,aAAa,EAAE,aAAa;YAC5B,YAAY,EAAE,WAAW;;;GAKjC,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuEvB,CAAC;AAsBH;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2LN,MAAM;YAAM,MAAM;eAAS,MAAM;;;QAgDvC,MAAM;QACN,WAAW;;;eA/KN,aAAa;;;wBAGN,CAAC;;;;;;;;sBAg4DP,WAAW;;;;YA13DP,KAAK,EAAE,iBAAiB;YAAW,KAAK;;;;;;;;GA+KxD,CAAC;AA0CH,KAAK,UAAU,GAAG,IAAI,CACpB,GAAG,CAAC,UAAU,CAAC,EACf,sBAAsB,GAAG,gBAAgB,CAC1C,CAAC;AAkBF,uEAAuE;AACvE,eAAO,MAAM,UAAU;;;;;WAqBrB,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,cAAc;;;;;;GAwEzB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;GA+EvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsE1B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgDzB,CAAC;AASH,eAAO,MAAM,WAAW;;;;;;;;qBAiBH,MAAM;oBAAc,MAAM;;;;;;;;;;;;QA0DvC,KAAK;QACL,QAAQ;;;;;;;QAWR,KAAK;;;sBA2tCC,WAAW;;;;GAvtCvB,CAAC;AAiBH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;QA+EhB,KAAK;QAGL,QAAQ;;;;;;;QACR,KAAK;;;sBAmnCD,WAAW;;;;;;;;;;;;;;;;KA7mCvB,CAAC;AAYH,eAAO,MAAM,gBAAgB;;;;;;;;qBAqDR,MAAM;sBACL,MAAM;yBACH,MAAM;;;;;;;;;;;;;;QAkGvB,KAAK;QACL,QAAQ;;;;;;;QAaR,KAAK;;;sBA07BC,WAAW;;;QAz7BjB,cAAc;YACZ,KAAK;YAGL,KAAK;;;GAKb,CAAC;AAWH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4HjB,KAAK,EAAE,aAAa;QACpB,QAAQ;;;;;;;QAOR,KAAK;;;sBAiyBC,WAAW;;;;GA7xBvB,CAAC;AAiBH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;GAmDvB,CAAC;AAimBH,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -279,7 +279,14 @@ export const overview = query({
279
279
  : granularity === "day"
280
280
  ? "overviewDay"
281
281
  : "overviewLocalDay";
282
- await assertSourceAvailable(ctx, siteIds, [overviewDataset], from);
282
+ // Buckets before a retention boundary are gone: read from it, and the
283
+ // coverage below reports the range as partial.
284
+ const readFrom = await readableFrom(ctx, siteIds, [overviewDataset], from);
285
+ // Cleanup keeps whole the bucket that holds the boundary (a local day
286
+ // around a UTC cutoff), so reading starts at that bucket, not the instant.
287
+ const firstReadBucket = Math.max(firstBucket, localDays
288
+ ? localDayStart(readFrom, siteTimezone)
289
+ : Math.floor(readFrom / intervalMs) * intervalMs);
283
290
  for (const siteId of siteIds) {
284
291
  // Iterated rather than taken whole: within the row budget a busy range
285
292
  // can still cross the bytes a query may read. Values are length-capped,
@@ -292,7 +299,7 @@ export const overview = query({
292
299
  .withIndex("by_siteId_and_granularity_and_bucketStart", (range) => range
293
300
  .eq("siteId", siteId)
294
301
  .eq("granularity", granularity)
295
- .gte("bucketStart", firstBucket)
302
+ .gte("bucketStart", firstReadBucket)
296
303
  .lte("bucketStart", lastBucket))) {
297
304
  buckets.push(bucket);
298
305
  if (buckets.length > perSiteLimit)
@@ -852,7 +859,7 @@ export const listSessions = query({
852
859
  returns: paginationResultValidator(sessionDocumentValidator),
853
860
  handler: async (ctx, args) => {
854
861
  validateRange(args.from, args.to, MAX_REPORT_RANGE_DAYS);
855
- await assertSourceAvailable(ctx, [args.siteId], ["sessions"], args.from);
862
+ const readFrom = await readableFrom(ctx, [args.siteId], ["sessions"], args.from);
856
863
  const pagination = parseKeysetPagination(args.paginationOpts, {
857
864
  kind: "sessions",
858
865
  siteId: String(args.siteId),
@@ -875,7 +882,7 @@ export const listSessions = query({
875
882
  .query("sessions")
876
883
  .withIndex("by_siteId_and_lastSeenAt", (range) => range
877
884
  .eq("siteId", args.siteId)
878
- .gte("lastSeenAt", args.from)
885
+ .gte("lastSeenAt", readFrom)
879
886
  .lt("lastSeenAt", pagination.cursor.timestamp))
880
887
  .order("desc")
881
888
  .take(take - rows.length)));
@@ -886,7 +893,7 @@ export const listSessions = query({
886
893
  .query("sessions")
887
894
  .withIndex("by_siteId_and_lastSeenAt", (range) => range
888
895
  .eq("siteId", args.siteId)
889
- .gte("lastSeenAt", args.from)
896
+ .gte("lastSeenAt", readFrom)
890
897
  .lte("lastSeenAt", args.to))
891
898
  .order("desc")
892
899
  .take(take)));
@@ -911,7 +918,7 @@ export const sessionJourney = query({
911
918
  returns: paginationResultValidator(eventDocumentValidator),
912
919
  handler: async (ctx, args) => {
913
920
  validateRange(args.from, args.to, MAX_REPORT_RANGE_DAYS);
914
- await assertSourceAvailable(ctx, [args.siteId], ["events"], args.from);
921
+ const readFrom = await readableFrom(ctx, [args.siteId], ["events"], args.from);
915
922
  const pagination = parseJourneyPagination(args.paginationOpts, {
916
923
  kind: "events",
917
924
  siteId: String(args.siteId),
@@ -922,7 +929,7 @@ export const sessionJourney = query({
922
929
  const rows = await loadSessionJourneyEvents(ctx, {
923
930
  siteId: args.siteId,
924
931
  sessionId: args.sessionId,
925
- from: args.from,
932
+ from: readFrom,
926
933
  to: args.to,
927
934
  cursor: pagination.cursor,
928
935
  resultLimit: pagination.numItems + 1,
@@ -941,7 +948,7 @@ export const listConversions = query({
941
948
  returns: paginationResultValidator(conversionDocumentValidator),
942
949
  handler: async (ctx, args) => {
943
950
  validateRange(args.from, args.to, MAX_REPORT_RANGE_DAYS);
944
- await assertSourceAvailable(ctx, [args.siteId], ["conversions"], args.from);
951
+ const readFrom = await readableFrom(ctx, [args.siteId], ["conversions"], args.from);
945
952
  const pagination = parseKeysetPagination(args.paginationOpts, {
946
953
  kind: "conversions",
947
954
  siteId: String(args.siteId),
@@ -964,7 +971,7 @@ export const listConversions = query({
964
971
  .query("conversions")
965
972
  .withIndex("by_siteId_and_timestamp", (range) => range
966
973
  .eq("siteId", args.siteId)
967
- .gte("timestamp", args.from)
974
+ .gte("timestamp", readFrom)
968
975
  .lt("timestamp", pagination.cursor.timestamp))
969
976
  .order("desc")
970
977
  .take(take - rows.length)));
@@ -975,7 +982,7 @@ export const listConversions = query({
975
982
  .query("conversions")
976
983
  .withIndex("by_siteId_and_timestamp", (range) => range
977
984
  .eq("siteId", args.siteId)
978
- .gte("timestamp", args.from)
985
+ .gte("timestamp", readFrom)
979
986
  .lte("timestamp", args.to))
980
987
  .order("desc")
981
988
  .take(take)));
@@ -998,7 +1005,7 @@ export const visitorJourney = query({
998
1005
  handler: async (ctx, args) => {
999
1006
  const siteIds = validateSiteIds(args.siteIds);
1000
1007
  validateRange(args.from, args.to, MAX_REPORT_RANGE_DAYS);
1001
- await assertSourceAvailable(ctx, siteIds, ["events"], args.from);
1008
+ const readFrom = await readableFrom(ctx, siteIds, ["events"], args.from);
1002
1009
  const limit = args.limit ?? 200;
1003
1010
  if (!Number.isSafeInteger(limit) ||
1004
1011
  limit < 1 ||
@@ -1012,7 +1019,7 @@ export const visitorJourney = query({
1012
1019
  rows.push(...(await loadVisitorJourneyEvents(ctx, {
1013
1020
  siteId,
1014
1021
  visitorId,
1015
- from: args.from,
1022
+ from: readFrom,
1016
1023
  to: cutoff,
1017
1024
  resultLimit: limit,
1018
1025
  })));
@@ -1060,12 +1067,12 @@ export const goalsReport = query({
1060
1067
  }
1061
1068
  }
1062
1069
  else {
1063
- await assertSourceAvailable(ctx, [args.siteId], ["goalCompletions"], args.from);
1070
+ const readFrom = await readableFrom(ctx, [args.siteId], ["goalCompletions"], args.from);
1064
1071
  const completions = await ctx.db
1065
1072
  .query("goalCompletions")
1066
1073
  .withIndex("by_siteId_and_timestamp", (range) => range
1067
1074
  .eq("siteId", args.siteId)
1068
- .gte("timestamp", args.from)
1075
+ .gte("timestamp", readFrom)
1069
1076
  .lte("timestamp", args.to))
1070
1077
  .take(MAX_REPORT_BUCKETS + 1);
1071
1078
  failIfIncomplete(completions, MAX_REPORT_BUCKETS, "goal completions");
@@ -1123,9 +1130,9 @@ export const funnelsReport = query({
1123
1130
  const rollups = useRollups
1124
1131
  ? await loadFunnelDailyRollups(ctx, args.siteId, funnels.map((funnel) => funnel._id), args.from, args.to)
1125
1132
  : null;
1126
- if (!rollups) {
1127
- await assertSourceAvailable(ctx, [args.siteId], ["funnelSteps"], args.from);
1128
- }
1133
+ const stepsFrom = rollups
1134
+ ? args.from
1135
+ : await readableFrom(ctx, [args.siteId], ["funnelSteps"], args.from);
1129
1136
  const reportCoverage = await coverageForRange(ctx, [args.siteId], args.from, args.to, {
1130
1137
  datasets: [rollups ? "funnelRollups" : "funnelSteps"],
1131
1138
  complete: true,
@@ -1148,7 +1155,7 @@ export const funnelsReport = query({
1148
1155
  .withIndex("by_siteId_and_funnelId_and_bucketStart", (range) => range
1149
1156
  .eq("siteId", args.siteId)
1150
1157
  .eq("funnelId", funnel._id)
1151
- .gte("bucketStart", Math.floor(args.from / DAY_MS) * DAY_MS)
1158
+ .gte("bucketStart", Math.floor(stepsFrom / DAY_MS) * DAY_MS)
1152
1159
  .lte("bucketStart", Math.floor(args.to / DAY_MS) * DAY_MS))
1153
1160
  .take(MAX_REPORT_BUCKETS + 1);
1154
1161
  if (!rollups) {
@@ -1237,19 +1244,19 @@ export const affiliatesReport = query({
1237
1244
  }
1238
1245
  }
1239
1246
  else {
1240
- await assertSourceAvailable(ctx, [args.siteId], ["affiliateStats", "sessions"], args.from);
1247
+ const readFrom = await readableFrom(ctx, [args.siteId], ["affiliateStats", "sessions"], args.from);
1241
1248
  const stats = await ctx.db
1242
1249
  .query("affiliateDailyStats")
1243
1250
  .withIndex("by_siteId_and_bucketStart", (range) => range
1244
1251
  .eq("siteId", args.siteId)
1245
- .gte("bucketStart", Math.floor(args.from / DAY_MS) * DAY_MS)
1252
+ .gte("bucketStart", Math.floor(readFrom / DAY_MS) * DAY_MS)
1246
1253
  .lte("bucketStart", Math.floor(args.to / DAY_MS) * DAY_MS))
1247
1254
  .take(MAX_REPORT_BUCKETS + 1);
1248
1255
  const sessions = await ctx.db
1249
1256
  .query("sessions")
1250
1257
  .withIndex("by_siteId_and_startedAt", (range) => range
1251
1258
  .eq("siteId", args.siteId)
1252
- .gte("startedAt", args.from)
1259
+ .gte("startedAt", readFrom)
1253
1260
  .lte("startedAt", args.to))
1254
1261
  .take(MAX_REPORT_BUCKETS + 1);
1255
1262
  failIfIncomplete(stats, MAX_REPORT_BUCKETS, "affiliate stat buckets");
@@ -1345,12 +1352,12 @@ export const vitalsReport = query({
1345
1352
  handler: async (ctx, args) => {
1346
1353
  validateRange(args.from, args.to, MAX_FEATURE_ROLLUP_DAYS);
1347
1354
  requireAlignedRange(args.from, args.to, DAY_MS, "vitals report");
1348
- await assertSourceAvailable(ctx, [args.siteId], ["vitalRollups"], args.from);
1355
+ const readFrom = await readableFrom(ctx, [args.siteId], ["vitalRollups"], args.from);
1349
1356
  const rows = await ctx.db
1350
1357
  .query("vitalRollups")
1351
1358
  .withIndex("by_siteId_and_bucketStart", (range) => range
1352
1359
  .eq("siteId", args.siteId)
1353
- .gte("bucketStart", args.from)
1360
+ .gte("bucketStart", readFrom)
1354
1361
  .lte("bucketStart", args.to))
1355
1362
  .take(MAX_VITALS_REPORT_ROWS + 1);
1356
1363
  failIfIncomplete(rows, MAX_VITALS_REPORT_ROWS, "vital rollups");
@@ -1630,24 +1637,42 @@ async function coverageForRange(ctx, siteIds, from, to, options) {
1630
1637
  retainedBefore,
1631
1638
  };
1632
1639
  }
1640
+ /**
1641
+ * Where a report may start reading `sources` for these sites: `from`, or the
1642
+ * latest retention boundary when a cleanup or a policy already purged the data
1643
+ * before it. Reports read from here and let `coverageForRange` say `partial`
1644
+ * (or `unavailable` when the whole range is gone) instead of failing: a range
1645
+ * that begins before the retained data is a question with a partial answer,
1646
+ * not an error. Rows before the boundary are deleted anyway; clamping keeps a
1647
+ * cleanup still in progress from leaking a half-purged slice into the answer.
1648
+ */
1649
+ /**
1650
+ * Money is the exception. The commission summary has no coverage to say
1651
+ * "partial", and a retained period summed as zero would read as money that
1652
+ * never came in: it refuses instead.
1653
+ */
1633
1654
  async function assertSourceAvailable(ctx, siteIds, sources, from) {
1655
+ const readFrom = await readableFrom(ctx, siteIds, sources, from);
1656
+ if (readFrom > from) {
1657
+ fail("REPORT_INCOMPLETE", "requested report range intersects retained data", {
1658
+ retainedBefore: readFrom,
1659
+ });
1660
+ }
1661
+ }
1662
+ async function readableFrom(ctx, siteIds, sources, from) {
1634
1663
  const rows = await Promise.all(siteIds.map((siteId) => ctx.db
1635
1664
  .query("analyticsCoverage")
1636
1665
  .withIndex("by_siteId", (range) => range.eq("siteId", siteId))
1637
1666
  .unique()));
1638
- const cutoff = rows.reduce((latest, row) => {
1667
+ let cutoff = from;
1668
+ for (const row of rows) {
1639
1669
  for (const retained of row?.retained ?? []) {
1640
1670
  if (sources.some((source) => source === retained.dataset)) {
1641
- latest = Math.max(latest ?? 0, retained.before);
1671
+ cutoff = Math.max(cutoff, retained.before);
1642
1672
  }
1643
1673
  }
1644
- return latest;
1645
- }, null);
1646
- if (cutoff !== null && from < cutoff) {
1647
- fail("REPORT_INCOMPLETE", "requested report range intersects retained data", {
1648
- retainedBefore: cutoff,
1649
- });
1650
1674
  }
1675
+ return cutoff;
1651
1676
  }
1652
1677
  async function datasetCoverageForRange(ctx, siteId, dataset, from, to) {
1653
1678
  if (dataset === "siteMap") {
@@ -1 +1 @@
1
- {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/component/reports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/component/reports.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const RASTRO_VERSION = "0.8.0";
1
+ export declare const RASTRO_VERSION = "0.8.1";
2
2
  export declare const TRACKER_SOURCE = "(()=>{const t=document.currentScript,e=t?.dataset.site,i=t?.dataset.endpoint||t?.src&&new URL(\"events\",t.src).href;if(!e||!i)return;const n=()=>crypto.randomUUID?.()||Math.random()+\"\",r=new URLSearchParams(location.search),s=r.get(\"ref\")?.slice(0,64);let o;for(const t of[\"source\",\"medium\",\"campaign\",\"term\",\"content\"]){const e=r.get(\"utm_\"+t)?.slice(0,64);e&&((o??={})[\"utm_\"+t]=e)}const a=\"gclid gbraid wbraid msclkid ttclid twclid li_fat_id ScCid rdt_cid dclid epik srsltid mc_cid mc_eid _hsenc igsh igshid fbclid\".split(\" \").filter(t=>r.has(t)).slice(0,8);let c,d,l,h,f=t.dataset.visitor||\"\",p=Boolean(f);try{f||=localStorage._rv||=n()}catch{}try{d=sessionStorage,l=d._r,c=d._ri==f&&d._rt,h=s||d._a,h&&(d._a=h),o||=d._u&&JSON.parse(d._u),o&&(d._u=JSON.stringify(o))}catch{h=s}let v,g=0;const u=[];let m=document.referrer.split(\"/\",3).join(\"/\")||void 0;const _=t=>{const n=u.splice(0,50);if(!n.length)return;const r=()=>new Blob([JSON.stringify({siteId:e,events:n,sentAt:Date.now()})]);let s=r();for(;s.size>64e3&&n.length>1;)u.unshift(n.pop()),s=r();t&&navigator.sendBeacon(i,s)||fetch(i,{method:\"POST\",body:s,keepalive:1}).catch(()=>{}),u.length&&_(t)},y=(t,e,i)=>{const r=Date.now(),s=r-c;c=r,s<18e5||(l=n(),\"pageview\"!=t&&(S=\"\",w()));try{d._r=l,d._ri=f,d._rt=r}catch{}u.push({eventId:`${l}.${r.toString(36)}.${g}`,sessionId:l,visitorId:f||l,type:t,name:e,path:location.pathname.slice(0,256),referrer:m,timestamp:r,sequence:g++,affiliateSlug:h,...i}),clearTimeout(v),v=setTimeout(_,1200)};let S;const w=()=>{const t=location.pathname;t!=S&&(S=t,y(\"pageview\",void 0,{properties:o,clid:a.length?a:void 0}))};window.rastro=(e,i,r)=>{if(\"context\"==e)return{sessionId:l,visitorId:f||l,identified:p};if(\"identify\"==e||\"reset\"==e){if(\"identify\"==e&&(!i||i.length>128||!/^[A-Za-z0-9][A-Za-z0-9_.:-]*$/.test(i)))return;if(\"identify\"==e&&i==f)return;_();const r=\"reset\"==e||p;if(p=\"identify\"==e,f=\"identify\"==e?i:n(),t.dataset.visitor=\"identify\"==e?f:\"\",r){h=void 0,o=void 0,m=void 0,a.length=0;try{\"reset\"==e&&(localStorage._rv=f),d._a=\"\",d._u=\"\"}catch{}}c=0,g=0,S=\"\",w()}\"event\"==e&&y(\"custom\",`${i||\"event\"}`.slice(0,80),r&&JSON.stringify(r).length>2e4?void 0:{properties:r})},document.addEventListener(\"click\",t=>{const e=t.target?.closest(\"a,button,[data-rastro-event]\");if(!e)return;const i=e.dataset.rastroEvent,n=e.href,r=n&&new URL(n),s=/^https?:$/.test(r?.protocol),o=s&&r.origin!=location.origin;y(i?\"custom\":o?\"outbound\":\"click\",i,{target:(e.dataset.rastroLabel||e.innerText||e.tagName).slice(0,64),href:s?((o?r.origin:\"\")+r.pathname).slice(0,256):void 0})},1);for(const t of[\"pushState\",\"replaceState\"]){const e=history[t];history[t]=(...t)=>{e.apply(history,t),w()}}addEventListener(\"popstate\",w);let b=0;const I=()=>{y(\"heartbeat\"),_()},L=()=>{b&&(clearInterval(b),b=0,y(\"leave\"),_(1))},E=()=>{document.hidden?L():b||(I(),b=setInterval(I,2e4))};addEventListener(\"pagehide\",L),addEventListener(\"pageshow\",E),document.addEventListener(\"visibilitychange\",E),b=setInterval(I,2e4),w(),E()})();";
3
3
  export declare const TRACKER_GZIP_BASE64 = "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";
4
4
  export declare const TRACKER_RAW_BYTES = 2999;
@@ -1,5 +1,5 @@
1
1
  // Generated by scripts/build-tracker.mjs. Do not edit.
2
- export const RASTRO_VERSION = "0.8.0";
2
+ export const RASTRO_VERSION = "0.8.1";
3
3
  export const TRACKER_SOURCE = "(()=>{const t=document.currentScript,e=t?.dataset.site,i=t?.dataset.endpoint||t?.src&&new URL(\"events\",t.src).href;if(!e||!i)return;const n=()=>crypto.randomUUID?.()||Math.random()+\"\",r=new URLSearchParams(location.search),s=r.get(\"ref\")?.slice(0,64);let o;for(const t of[\"source\",\"medium\",\"campaign\",\"term\",\"content\"]){const e=r.get(\"utm_\"+t)?.slice(0,64);e&&((o??={})[\"utm_\"+t]=e)}const a=\"gclid gbraid wbraid msclkid ttclid twclid li_fat_id ScCid rdt_cid dclid epik srsltid mc_cid mc_eid _hsenc igsh igshid fbclid\".split(\" \").filter(t=>r.has(t)).slice(0,8);let c,d,l,h,f=t.dataset.visitor||\"\",p=Boolean(f);try{f||=localStorage._rv||=n()}catch{}try{d=sessionStorage,l=d._r,c=d._ri==f&&d._rt,h=s||d._a,h&&(d._a=h),o||=d._u&&JSON.parse(d._u),o&&(d._u=JSON.stringify(o))}catch{h=s}let v,g=0;const u=[];let m=document.referrer.split(\"/\",3).join(\"/\")||void 0;const _=t=>{const n=u.splice(0,50);if(!n.length)return;const r=()=>new Blob([JSON.stringify({siteId:e,events:n,sentAt:Date.now()})]);let s=r();for(;s.size>64e3&&n.length>1;)u.unshift(n.pop()),s=r();t&&navigator.sendBeacon(i,s)||fetch(i,{method:\"POST\",body:s,keepalive:1}).catch(()=>{}),u.length&&_(t)},y=(t,e,i)=>{const r=Date.now(),s=r-c;c=r,s<18e5||(l=n(),\"pageview\"!=t&&(S=\"\",w()));try{d._r=l,d._ri=f,d._rt=r}catch{}u.push({eventId:`${l}.${r.toString(36)}.${g}`,sessionId:l,visitorId:f||l,type:t,name:e,path:location.pathname.slice(0,256),referrer:m,timestamp:r,sequence:g++,affiliateSlug:h,...i}),clearTimeout(v),v=setTimeout(_,1200)};let S;const w=()=>{const t=location.pathname;t!=S&&(S=t,y(\"pageview\",void 0,{properties:o,clid:a.length?a:void 0}))};window.rastro=(e,i,r)=>{if(\"context\"==e)return{sessionId:l,visitorId:f||l,identified:p};if(\"identify\"==e||\"reset\"==e){if(\"identify\"==e&&(!i||i.length>128||!/^[A-Za-z0-9][A-Za-z0-9_.:-]*$/.test(i)))return;if(\"identify\"==e&&i==f)return;_();const r=\"reset\"==e||p;if(p=\"identify\"==e,f=\"identify\"==e?i:n(),t.dataset.visitor=\"identify\"==e?f:\"\",r){h=void 0,o=void 0,m=void 0,a.length=0;try{\"reset\"==e&&(localStorage._rv=f),d._a=\"\",d._u=\"\"}catch{}}c=0,g=0,S=\"\",w()}\"event\"==e&&y(\"custom\",`${i||\"event\"}`.slice(0,80),r&&JSON.stringify(r).length>2e4?void 0:{properties:r})},document.addEventListener(\"click\",t=>{const e=t.target?.closest(\"a,button,[data-rastro-event]\");if(!e)return;const i=e.dataset.rastroEvent,n=e.href,r=n&&new URL(n),s=/^https?:$/.test(r?.protocol),o=s&&r.origin!=location.origin;y(i?\"custom\":o?\"outbound\":\"click\",i,{target:(e.dataset.rastroLabel||e.innerText||e.tagName).slice(0,64),href:s?((o?r.origin:\"\")+r.pathname).slice(0,256):void 0})},1);for(const t of[\"pushState\",\"replaceState\"]){const e=history[t];history[t]=(...t)=>{e.apply(history,t),w()}}addEventListener(\"popstate\",w);let b=0;const I=()=>{y(\"heartbeat\"),_()},L=()=>{b&&(clearInterval(b),b=0,y(\"leave\"),_(1))},E=()=>{document.hidden?L():b||(I(),b=setInterval(I,2e4))};addEventListener(\"pagehide\",L),addEventListener(\"pageshow\",E),document.addEventListener(\"visibilitychange\",E),b=setInterval(I,2e4),w(),E()})();";
4
4
  export const TRACKER_GZIP_BASE64 = "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";
5
5
  export const TRACKER_RAW_BYTES = 2999;
package/docs/upgrading.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Upgrading Amage Rastro
2
2
 
3
+ ## Partial answers across retention and a lighter install (0.8.1)
4
+
5
+ Install `@iann29/rastro@0.8.1` and deploy the consuming host. Nothing in the
6
+ schema or the federation surface changes. Reports that used to fail with
7
+ `REPORT_INCOMPLETE` when their range began before retained data now answer from
8
+ the retention boundary, with `metadata.coverage.state` set to `partial` (or
9
+ `unavailable`) and `retainedBefore` saying where the data starts. A client that
10
+ caught that error to shorten the range can read the coverage instead.
11
+ `revenueSummary` still refuses a range that reaches purged sources. The package
12
+ no longer pulls the dashboard's `better-auth`, `@convex-dev/better-auth`,
13
+ `country-flag-icons` and `simple-icons` into the host.
14
+
3
15
  ## Leads from the host's server and the Campanhas view (0.8.0)
4
16
 
5
17
  Install `@iann29/rastro@0.8.0` and deploy the consuming host. The release is
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "bugs": {
7
7
  "url": "https://github.com/amageweb/amage-rastro/issues"
8
8
  },
9
- "version": "0.8.0",
9
+ "version": "0.8.1",
10
10
  "license": "Apache-2.0",
11
11
  "publishConfig": {
12
12
  "access": "public"
@@ -111,6 +111,7 @@
111
111
  }
112
112
  },
113
113
  "devDependencies": {
114
+ "@convex-dev/better-auth": "^0.12.5",
114
115
  "@convex-dev/eslint-plugin": "^4.0.0",
115
116
  "@convex-dev/static-hosting": "^0.2.1",
116
117
  "@dicebear/core": "^9.4.3",
@@ -133,11 +134,13 @@
133
134
  "@vitejs/plugin-react": "^6.0.5",
134
135
  "ajv": "^8.20.0",
135
136
  "ajv-formats": "^3.0.1",
137
+ "better-auth": "~1.6.15",
136
138
  "chokidar-cli": "3.0.0",
137
139
  "class-variance-authority": "^0.7.1",
138
140
  "clsx": "^2.1.1",
139
141
  "convex": "^1.44.0",
140
142
  "convex-test": "0.0.55",
143
+ "country-flag-icons": "^1.6.20",
141
144
  "eslint": "9.39.5",
142
145
  "eslint-plugin-react": "^7.37.5",
143
146
  "eslint-plugin-react-hooks": "^7.1.1",
@@ -151,6 +154,7 @@
151
154
  "radix-ui": "^1.6.7",
152
155
  "react": "^19.2.8",
153
156
  "react-dom": "^19.2.8",
157
+ "simple-icons": "^16.29.0",
154
158
  "tailwind-merge": "^3.6.0",
155
159
  "tailwindcss": "^4.3.3",
156
160
  "terser": "^5.50.0",
@@ -162,11 +166,7 @@
162
166
  "types": "./dist/client/index.d.ts",
163
167
  "module": "./dist/client/index.js",
164
168
  "dependencies": {
165
- "@convex-dev/better-auth": "^0.12.5",
166
- "better-auth": "~1.6.15",
167
- "country-flag-icons": "^1.6.20",
168
- "jose": "^6.2.10",
169
- "simple-icons": "^16.29.0"
169
+ "jose": "^6.2.10"
170
170
  },
171
171
  "workspaces": [
172
172
  "example"
@@ -397,7 +397,17 @@ export const overview = query({
397
397
  ? ("overviewDay" as const)
398
398
  : ("overviewLocalDay" as const);
399
399
 
400
- await assertSourceAvailable(ctx, siteIds, [overviewDataset], from);
400
+ // Buckets before a retention boundary are gone: read from it, and the
401
+ // coverage below reports the range as partial.
402
+ const readFrom = await readableFrom(ctx, siteIds, [overviewDataset], from);
403
+ // Cleanup keeps whole the bucket that holds the boundary (a local day
404
+ // around a UTC cutoff), so reading starts at that bucket, not the instant.
405
+ const firstReadBucket = Math.max(
406
+ firstBucket,
407
+ localDays
408
+ ? localDayStart(readFrom, siteTimezone!)
409
+ : Math.floor(readFrom / intervalMs) * intervalMs,
410
+ );
401
411
 
402
412
  for (const siteId of siteIds) {
403
413
  // Iterated rather than taken whole: within the row budget a busy range
@@ -412,7 +422,7 @@ export const overview = query({
412
422
  range
413
423
  .eq("siteId", siteId)
414
424
  .eq("granularity", granularity)
415
- .gte("bucketStart", firstBucket)
425
+ .gte("bucketStart", firstReadBucket)
416
426
  .lte("bucketStart", lastBucket),
417
427
  )) {
418
428
  buckets.push(bucket);
@@ -1116,7 +1126,12 @@ export const listSessions = query({
1116
1126
  returns: paginationResultValidator(sessionDocumentValidator),
1117
1127
  handler: async (ctx, args) => {
1118
1128
  validateRange(args.from, args.to, MAX_REPORT_RANGE_DAYS);
1119
- await assertSourceAvailable(ctx, [args.siteId], ["sessions"], args.from);
1129
+ const readFrom = await readableFrom(
1130
+ ctx,
1131
+ [args.siteId],
1132
+ ["sessions"],
1133
+ args.from,
1134
+ );
1120
1135
  const pagination = parseKeysetPagination(args.paginationOpts, {
1121
1136
  kind: "sessions",
1122
1137
  siteId: String(args.siteId),
@@ -1145,7 +1160,7 @@ export const listSessions = query({
1145
1160
  .withIndex("by_siteId_and_lastSeenAt", (range) =>
1146
1161
  range
1147
1162
  .eq("siteId", args.siteId)
1148
- .gte("lastSeenAt", args.from)
1163
+ .gte("lastSeenAt", readFrom)
1149
1164
  .lt("lastSeenAt", pagination.cursor!.timestamp),
1150
1165
  )
1151
1166
  .order("desc")
@@ -1159,7 +1174,7 @@ export const listSessions = query({
1159
1174
  .withIndex("by_siteId_and_lastSeenAt", (range) =>
1160
1175
  range
1161
1176
  .eq("siteId", args.siteId)
1162
- .gte("lastSeenAt", args.from)
1177
+ .gte("lastSeenAt", readFrom)
1163
1178
  .lte("lastSeenAt", args.to),
1164
1179
  )
1165
1180
  .order("desc")
@@ -1193,7 +1208,12 @@ export const sessionJourney = query({
1193
1208
  returns: paginationResultValidator(eventDocumentValidator),
1194
1209
  handler: async (ctx, args) => {
1195
1210
  validateRange(args.from, args.to, MAX_REPORT_RANGE_DAYS);
1196
- await assertSourceAvailable(ctx, [args.siteId], ["events"], args.from);
1211
+ const readFrom = await readableFrom(
1212
+ ctx,
1213
+ [args.siteId],
1214
+ ["events"],
1215
+ args.from,
1216
+ );
1197
1217
  const pagination = parseJourneyPagination(args.paginationOpts, {
1198
1218
  kind: "events",
1199
1219
  siteId: String(args.siteId),
@@ -1204,7 +1224,7 @@ export const sessionJourney = query({
1204
1224
  const rows = await loadSessionJourneyEvents(ctx, {
1205
1225
  siteId: args.siteId,
1206
1226
  sessionId: args.sessionId,
1207
- from: args.from,
1227
+ from: readFrom,
1208
1228
  to: args.to,
1209
1229
  cursor: pagination.cursor,
1210
1230
  resultLimit: pagination.numItems + 1,
@@ -1224,7 +1244,12 @@ export const listConversions = query({
1224
1244
  returns: paginationResultValidator(conversionDocumentValidator),
1225
1245
  handler: async (ctx, args) => {
1226
1246
  validateRange(args.from, args.to, MAX_REPORT_RANGE_DAYS);
1227
- await assertSourceAvailable(ctx, [args.siteId], ["conversions"], args.from);
1247
+ const readFrom = await readableFrom(
1248
+ ctx,
1249
+ [args.siteId],
1250
+ ["conversions"],
1251
+ args.from,
1252
+ );
1228
1253
  const pagination = parseKeysetPagination(args.paginationOpts, {
1229
1254
  kind: "conversions",
1230
1255
  siteId: String(args.siteId),
@@ -1253,7 +1278,7 @@ export const listConversions = query({
1253
1278
  .withIndex("by_siteId_and_timestamp", (range) =>
1254
1279
  range
1255
1280
  .eq("siteId", args.siteId)
1256
- .gte("timestamp", args.from)
1281
+ .gte("timestamp", readFrom)
1257
1282
  .lt("timestamp", pagination.cursor!.timestamp),
1258
1283
  )
1259
1284
  .order("desc")
@@ -1267,7 +1292,7 @@ export const listConversions = query({
1267
1292
  .withIndex("by_siteId_and_timestamp", (range) =>
1268
1293
  range
1269
1294
  .eq("siteId", args.siteId)
1270
- .gte("timestamp", args.from)
1295
+ .gte("timestamp", readFrom)
1271
1296
  .lte("timestamp", args.to),
1272
1297
  )
1273
1298
  .order("desc")
@@ -1293,7 +1318,7 @@ export const visitorJourney = query({
1293
1318
  handler: async (ctx, args) => {
1294
1319
  const siteIds = validateSiteIds(args.siteIds);
1295
1320
  validateRange(args.from, args.to, MAX_REPORT_RANGE_DAYS);
1296
- await assertSourceAvailable(ctx, siteIds, ["events"], args.from);
1321
+ const readFrom = await readableFrom(ctx, siteIds, ["events"], args.from);
1297
1322
  const limit = args.limit ?? 200;
1298
1323
  if (
1299
1324
  !Number.isSafeInteger(limit) ||
@@ -1318,7 +1343,7 @@ export const visitorJourney = query({
1318
1343
  ...(await loadVisitorJourneyEvents(ctx, {
1319
1344
  siteId,
1320
1345
  visitorId,
1321
- from: args.from,
1346
+ from: readFrom,
1322
1347
  to: cutoff,
1323
1348
  resultLimit: limit,
1324
1349
  })),
@@ -1382,7 +1407,7 @@ export const goalsReport = query({
1382
1407
  totals.set(key, total);
1383
1408
  }
1384
1409
  } else {
1385
- await assertSourceAvailable(
1410
+ const readFrom = await readableFrom(
1386
1411
  ctx,
1387
1412
  [args.siteId],
1388
1413
  ["goalCompletions"],
@@ -1393,7 +1418,7 @@ export const goalsReport = query({
1393
1418
  .withIndex("by_siteId_and_timestamp", (range) =>
1394
1419
  range
1395
1420
  .eq("siteId", args.siteId)
1396
- .gte("timestamp", args.from)
1421
+ .gte("timestamp", readFrom)
1397
1422
  .lte("timestamp", args.to),
1398
1423
  )
1399
1424
  .take(MAX_REPORT_BUCKETS + 1);
@@ -1474,14 +1499,9 @@ export const funnelsReport = query({
1474
1499
  args.to,
1475
1500
  )
1476
1501
  : null;
1477
- if (!rollups) {
1478
- await assertSourceAvailable(
1479
- ctx,
1480
- [args.siteId],
1481
- ["funnelSteps"],
1482
- args.from,
1483
- );
1484
- }
1502
+ const stepsFrom = rollups
1503
+ ? args.from
1504
+ : await readableFrom(ctx, [args.siteId], ["funnelSteps"], args.from);
1485
1505
  const reportCoverage = await coverageForRange(
1486
1506
  ctx,
1487
1507
  [args.siteId],
@@ -1511,7 +1531,7 @@ export const funnelsReport = query({
1511
1531
  range
1512
1532
  .eq("siteId", args.siteId)
1513
1533
  .eq("funnelId", funnel._id)
1514
- .gte("bucketStart", Math.floor(args.from / DAY_MS) * DAY_MS)
1534
+ .gte("bucketStart", Math.floor(stepsFrom / DAY_MS) * DAY_MS)
1515
1535
  .lte("bucketStart", Math.floor(args.to / DAY_MS) * DAY_MS),
1516
1536
  )
1517
1537
  .take(MAX_REPORT_BUCKETS + 1);
@@ -1635,7 +1655,7 @@ export const affiliatesReport = query({
1635
1655
  totals.set(key, total);
1636
1656
  }
1637
1657
  } else {
1638
- await assertSourceAvailable(
1658
+ const readFrom = await readableFrom(
1639
1659
  ctx,
1640
1660
  [args.siteId],
1641
1661
  ["affiliateStats", "sessions"],
@@ -1646,7 +1666,7 @@ export const affiliatesReport = query({
1646
1666
  .withIndex("by_siteId_and_bucketStart", (range) =>
1647
1667
  range
1648
1668
  .eq("siteId", args.siteId)
1649
- .gte("bucketStart", Math.floor(args.from / DAY_MS) * DAY_MS)
1669
+ .gte("bucketStart", Math.floor(readFrom / DAY_MS) * DAY_MS)
1650
1670
  .lte("bucketStart", Math.floor(args.to / DAY_MS) * DAY_MS),
1651
1671
  )
1652
1672
  .take(MAX_REPORT_BUCKETS + 1);
@@ -1655,7 +1675,7 @@ export const affiliatesReport = query({
1655
1675
  .withIndex("by_siteId_and_startedAt", (range) =>
1656
1676
  range
1657
1677
  .eq("siteId", args.siteId)
1658
- .gte("startedAt", args.from)
1678
+ .gte("startedAt", readFrom)
1659
1679
  .lte("startedAt", args.to),
1660
1680
  )
1661
1681
  .take(MAX_REPORT_BUCKETS + 1);
@@ -1763,7 +1783,7 @@ export const vitalsReport = query({
1763
1783
  handler: async (ctx, args) => {
1764
1784
  validateRange(args.from, args.to, MAX_FEATURE_ROLLUP_DAYS);
1765
1785
  requireAlignedRange(args.from, args.to, DAY_MS, "vitals report");
1766
- await assertSourceAvailable(
1786
+ const readFrom = await readableFrom(
1767
1787
  ctx,
1768
1788
  [args.siteId],
1769
1789
  ["vitalRollups"],
@@ -1774,7 +1794,7 @@ export const vitalsReport = query({
1774
1794
  .withIndex("by_siteId_and_bucketStart", (range) =>
1775
1795
  range
1776
1796
  .eq("siteId", args.siteId)
1777
- .gte("bucketStart", args.from)
1797
+ .gte("bucketStart", readFrom)
1778
1798
  .lte("bucketStart", args.to),
1779
1799
  )
1780
1800
  .take(MAX_VITALS_REPORT_ROWS + 1);
@@ -2188,12 +2208,44 @@ async function coverageForRange(
2188
2208
  };
2189
2209
  }
2190
2210
 
2211
+ /**
2212
+ * Where a report may start reading `sources` for these sites: `from`, or the
2213
+ * latest retention boundary when a cleanup or a policy already purged the data
2214
+ * before it. Reports read from here and let `coverageForRange` say `partial`
2215
+ * (or `unavailable` when the whole range is gone) instead of failing: a range
2216
+ * that begins before the retained data is a question with a partial answer,
2217
+ * not an error. Rows before the boundary are deleted anyway; clamping keeps a
2218
+ * cleanup still in progress from leaking a half-purged slice into the answer.
2219
+ */
2220
+ /**
2221
+ * Money is the exception. The commission summary has no coverage to say
2222
+ * "partial", and a retained period summed as zero would read as money that
2223
+ * never came in: it refuses instead.
2224
+ */
2191
2225
  async function assertSourceAvailable(
2192
2226
  ctx: QueryCtx,
2193
2227
  siteIds: Id<"sites">[],
2194
2228
  sources: CoverageSource[],
2195
2229
  from: number,
2196
2230
  ) {
2231
+ const readFrom = await readableFrom(ctx, siteIds, sources, from);
2232
+ if (readFrom > from) {
2233
+ fail(
2234
+ "REPORT_INCOMPLETE",
2235
+ "requested report range intersects retained data",
2236
+ {
2237
+ retainedBefore: readFrom,
2238
+ },
2239
+ );
2240
+ }
2241
+ }
2242
+
2243
+ async function readableFrom(
2244
+ ctx: QueryCtx,
2245
+ siteIds: Id<"sites">[],
2246
+ sources: CoverageSource[],
2247
+ from: number,
2248
+ ): Promise<number> {
2197
2249
  const rows = await Promise.all(
2198
2250
  siteIds.map((siteId) =>
2199
2251
  ctx.db
@@ -2202,23 +2254,15 @@ async function assertSourceAvailable(
2202
2254
  .unique(),
2203
2255
  ),
2204
2256
  );
2205
- const cutoff = rows.reduce<number | null>((latest, row) => {
2257
+ let cutoff = from;
2258
+ for (const row of rows) {
2206
2259
  for (const retained of row?.retained ?? []) {
2207
2260
  if (sources.some((source) => source === retained.dataset)) {
2208
- latest = Math.max(latest ?? 0, retained.before);
2261
+ cutoff = Math.max(cutoff, retained.before);
2209
2262
  }
2210
2263
  }
2211
- return latest;
2212
- }, null);
2213
- if (cutoff !== null && from < cutoff) {
2214
- fail(
2215
- "REPORT_INCOMPLETE",
2216
- "requested report range intersects retained data",
2217
- {
2218
- retainedBefore: cutoff,
2219
- },
2220
- );
2221
2264
  }
2265
+ return cutoff;
2222
2266
  }
2223
2267
 
2224
2268
  async function datasetCoverageForRange(
@@ -1,5 +1,5 @@
1
1
  // Generated by scripts/build-tracker.mjs. Do not edit.
2
- export const RASTRO_VERSION = "0.8.0";
2
+ export const RASTRO_VERSION = "0.8.1";
3
3
  export const TRACKER_SOURCE = "(()=>{const t=document.currentScript,e=t?.dataset.site,i=t?.dataset.endpoint||t?.src&&new URL(\"events\",t.src).href;if(!e||!i)return;const n=()=>crypto.randomUUID?.()||Math.random()+\"\",r=new URLSearchParams(location.search),s=r.get(\"ref\")?.slice(0,64);let o;for(const t of[\"source\",\"medium\",\"campaign\",\"term\",\"content\"]){const e=r.get(\"utm_\"+t)?.slice(0,64);e&&((o??={})[\"utm_\"+t]=e)}const a=\"gclid gbraid wbraid msclkid ttclid twclid li_fat_id ScCid rdt_cid dclid epik srsltid mc_cid mc_eid _hsenc igsh igshid fbclid\".split(\" \").filter(t=>r.has(t)).slice(0,8);let c,d,l,h,f=t.dataset.visitor||\"\",p=Boolean(f);try{f||=localStorage._rv||=n()}catch{}try{d=sessionStorage,l=d._r,c=d._ri==f&&d._rt,h=s||d._a,h&&(d._a=h),o||=d._u&&JSON.parse(d._u),o&&(d._u=JSON.stringify(o))}catch{h=s}let v,g=0;const u=[];let m=document.referrer.split(\"/\",3).join(\"/\")||void 0;const _=t=>{const n=u.splice(0,50);if(!n.length)return;const r=()=>new Blob([JSON.stringify({siteId:e,events:n,sentAt:Date.now()})]);let s=r();for(;s.size>64e3&&n.length>1;)u.unshift(n.pop()),s=r();t&&navigator.sendBeacon(i,s)||fetch(i,{method:\"POST\",body:s,keepalive:1}).catch(()=>{}),u.length&&_(t)},y=(t,e,i)=>{const r=Date.now(),s=r-c;c=r,s<18e5||(l=n(),\"pageview\"!=t&&(S=\"\",w()));try{d._r=l,d._ri=f,d._rt=r}catch{}u.push({eventId:`${l}.${r.toString(36)}.${g}`,sessionId:l,visitorId:f||l,type:t,name:e,path:location.pathname.slice(0,256),referrer:m,timestamp:r,sequence:g++,affiliateSlug:h,...i}),clearTimeout(v),v=setTimeout(_,1200)};let S;const w=()=>{const t=location.pathname;t!=S&&(S=t,y(\"pageview\",void 0,{properties:o,clid:a.length?a:void 0}))};window.rastro=(e,i,r)=>{if(\"context\"==e)return{sessionId:l,visitorId:f||l,identified:p};if(\"identify\"==e||\"reset\"==e){if(\"identify\"==e&&(!i||i.length>128||!/^[A-Za-z0-9][A-Za-z0-9_.:-]*$/.test(i)))return;if(\"identify\"==e&&i==f)return;_();const r=\"reset\"==e||p;if(p=\"identify\"==e,f=\"identify\"==e?i:n(),t.dataset.visitor=\"identify\"==e?f:\"\",r){h=void 0,o=void 0,m=void 0,a.length=0;try{\"reset\"==e&&(localStorage._rv=f),d._a=\"\",d._u=\"\"}catch{}}c=0,g=0,S=\"\",w()}\"event\"==e&&y(\"custom\",`${i||\"event\"}`.slice(0,80),r&&JSON.stringify(r).length>2e4?void 0:{properties:r})},document.addEventListener(\"click\",t=>{const e=t.target?.closest(\"a,button,[data-rastro-event]\");if(!e)return;const i=e.dataset.rastroEvent,n=e.href,r=n&&new URL(n),s=/^https?:$/.test(r?.protocol),o=s&&r.origin!=location.origin;y(i?\"custom\":o?\"outbound\":\"click\",i,{target:(e.dataset.rastroLabel||e.innerText||e.tagName).slice(0,64),href:s?((o?r.origin:\"\")+r.pathname).slice(0,256):void 0})},1);for(const t of[\"pushState\",\"replaceState\"]){const e=history[t];history[t]=(...t)=>{e.apply(history,t),w()}}addEventListener(\"popstate\",w);let b=0;const I=()=>{y(\"heartbeat\"),_()},L=()=>{b&&(clearInterval(b),b=0,y(\"leave\"),_(1))},E=()=>{document.hidden?L():b||(I(),b=setInterval(I,2e4))};addEventListener(\"pagehide\",L),addEventListener(\"pageshow\",E),document.addEventListener(\"visibilitychange\",E),b=setInterval(I,2e4),w(),E()})();";
4
4
  export const TRACKER_GZIP_BASE64 = "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";
5
5
  export const TRACKER_RAW_BYTES = 2999;