@iann29/rastro 0.3.0 → 0.4.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 (74) hide show
  1. package/README.md +80 -36
  2. package/agent/manifest.json +2 -2
  3. package/dist/component/_generated/component.d.ts +1 -0
  4. package/dist/component/_generated/component.d.ts.map +1 -1
  5. package/dist/component/_generated/server.d.ts +1 -0
  6. package/dist/component/_generated/server.d.ts.map +1 -1
  7. package/dist/component/_generated/server.js.map +1 -1
  8. package/dist/component/constants.d.ts +7 -2
  9. package/dist/component/constants.d.ts.map +1 -1
  10. package/dist/component/constants.js +24 -3
  11. package/dist/component/constants.js.map +1 -1
  12. package/dist/component/convex.config.d.ts +1 -0
  13. package/dist/component/convex.config.js +3 -0
  14. package/dist/component/convex.config.js.map +1 -1
  15. package/dist/component/geo.d.ts +1 -0
  16. package/dist/component/geo.d.ts.map +1 -1
  17. package/dist/component/geo.js +1 -1
  18. package/dist/component/geo.js.map +1 -1
  19. package/dist/component/http.d.ts.map +1 -1
  20. package/dist/component/http.js +14 -1
  21. package/dist/component/http.js.map +1 -1
  22. package/dist/component/identity.d.ts +12 -0
  23. package/dist/component/identity.d.ts.map +1 -1
  24. package/dist/component/identity.js +30 -2
  25. package/dist/component/identity.js.map +1 -1
  26. package/dist/component/ingest.d.ts +34 -0
  27. package/dist/component/ingest.d.ts.map +1 -1
  28. package/dist/component/ingest.js +69 -17
  29. package/dist/component/ingest.js.map +1 -1
  30. package/dist/component/live.d.ts.map +1 -1
  31. package/dist/component/live.js +34 -4
  32. package/dist/component/live.js.map +1 -1
  33. package/dist/component/reports.d.ts.map +1 -1
  34. package/dist/component/reports.js +21 -6
  35. package/dist/component/reports.js.map +1 -1
  36. package/dist/component/rollupStore.d.ts +7 -4
  37. package/dist/component/rollupStore.d.ts.map +1 -1
  38. package/dist/component/rollupStore.js +37 -17
  39. package/dist/component/rollupStore.js.map +1 -1
  40. package/dist/component/rollups.d.ts +27 -8
  41. package/dist/component/rollups.d.ts.map +1 -1
  42. package/dist/component/rollups.js +110 -32
  43. package/dist/component/rollups.js.map +1 -1
  44. package/dist/component/schema.d.ts +6 -2
  45. package/dist/component/schema.js +5 -2
  46. package/dist/component/schema.js.map +1 -1
  47. package/dist/tracker/generated.d.ts +11 -11
  48. package/dist/tracker/generated.d.ts.map +1 -1
  49. package/dist/tracker/generated.js +11 -11
  50. package/dist/tracker/generated.js.map +1 -1
  51. package/dist/tracker/tracker.js +88 -43
  52. package/dist/tracker/tracker.js.map +1 -1
  53. package/dist/tracker/vitals.d.ts.map +1 -1
  54. package/dist/tracker/vitals.js +22 -4
  55. package/dist/tracker/vitals.js.map +1 -1
  56. package/dist/tracker.min.js +1 -1
  57. package/dist/vitals.min.js +1 -1
  58. package/docs/upgrading.md +84 -28
  59. package/llms.txt +3 -3
  60. package/package.json +1 -1
  61. package/src/component/_generated/component.ts +1 -0
  62. package/src/component/_generated/server.ts +1 -0
  63. package/src/component/constants.ts +24 -3
  64. package/src/component/convex.config.ts +3 -0
  65. package/src/component/geo.ts +1 -1
  66. package/src/component/http.ts +15 -1
  67. package/src/component/identity.ts +41 -2
  68. package/src/component/ingest.ts +92 -32
  69. package/src/component/live.ts +51 -4
  70. package/src/component/reports.ts +24 -8
  71. package/src/component/rollupStore.ts +51 -20
  72. package/src/component/rollups.ts +141 -32
  73. package/src/component/schema.ts +6 -3
  74. package/src/tracker/generated.ts +11 -11
package/README.md CHANGED
@@ -42,7 +42,7 @@ capacity claim.
42
42
 
43
43
  | Capability | Implementation |
44
44
  | --------------------------- | --------------------------------------------------------------------------------------------------------- |
45
- | Live visitor map | Reactive live sessions with city-level coordinates, realtime departures, and a 90-second safety net |
45
+ | Live visitor map | Reactive live sessions with city-level coordinates; hidden or closed tabs leave in 10 s, crashes in 90 s |
46
46
  | Traffic analytics | Sharded hour/day rollups, time series, top pages, sources, countries, devices, browsers, and events |
47
47
  | Field Web Vitals | Opt-in tracker module reporting LCP, CLS, INP, FCP, and TTFB into bounded per-page daily histograms |
48
48
  | Site map | Daily per-route rollups: entries, derived exits and bounces, time on page, and route-to-route transitions |
@@ -54,8 +54,8 @@ capacity claim.
54
54
  | Automatic GeoIP | Opt-in native request metadata plus IPinfo/IPWhois fallback; bounded quota and no raw-IP persistence |
55
55
  | Auto-captured clicks | Anchors, buttons, and `data-rastro-event` controls with a bounded visible label; outbound origin+path |
56
56
  | Bot filtering | Self-declared crawlers, unfurlers, monitors, HTTP libraries, and headless browsers rejected at ingestion |
57
- | Cookieless mode | No cookies: persistent pseudonymous visitor id in `localStorage`, per-tab session id in `sessionStorage` |
58
- | Tiny tracker | 2,132 bytes raw, 1,127 bytes gzip; the test suite enforces `< 1,280` bytes gzip |
57
+ | Cookieless mode | No cookies: pseudonymous visitor id in `localStorage`; sessions end after 30 idle minutes or a sign-in |
58
+ | Tiny tracker | 2,407 bytes raw, 1,278 bytes gzip; the test suite enforces `< 1,280` bytes gzip |
59
59
 
60
60
  ## Quickstart
61
61
 
@@ -82,7 +82,7 @@ Never append `/rastro/tracker.js` to the functions URL.
82
82
  npm install @iann29/rastro
83
83
  ```
84
84
 
85
- The untagged npm `latest` channel is `0.3.0`. Pin the exact version in the host;
85
+ The untagged npm `latest` channel is `0.4.0`. Pin the exact version in the host;
86
86
  the changelog and the upgrading guide say what each release changes.
87
87
 
88
88
  ### 2. Mount the component
@@ -203,6 +203,15 @@ data only when this opt-in is enabled and the runtime IP identifies a private
203
203
  immediate peer. Caller-supplied proxy or geographic headers are ignored when
204
204
  native metadata is absent or public.
205
205
 
206
+ `RASTRO_CLIENT_RATE_LIMIT` is for load-test canaries only. Set to `off`, it
207
+ lifts the per-client ingest budget (see
208
+ [Operational limits](#operational-limits)), so a benchmark driver sending every
209
+ request from one address is bounded by the per-site shards alone. Bind it like
210
+ the others: `RASTRO_CLIENT_RATE_LIMIT: v.optional(v.literal("off"))` in
211
+ `defineApp` and `RASTRO_CLIENT_RATE_LIMIT: app.env.RASTRO_CLIENT_RATE_LIMIT` in
212
+ `app.use`, as the example host does. Leave it unset on every customer
213
+ deployment.
214
+
206
215
  The lookup has a 1.5-second timeout and fails open: telemetry ingestion
207
216
  continues without location when the provider is unavailable. A session reserves
208
217
  its single lookup attempt atomically only after its initial event is persisted;
@@ -310,9 +319,11 @@ Do not call the authenticated example with a bare CLI command: without an
310
319
  explicit test identity, `ctx.auth.getUserIdentity()` correctly returns `null`.
311
320
 
312
321
  Allowed domains are checked at ingestion. Exact hosts and wildcard subdomains
313
- such as `*.example.com` are supported. `Origin` is an abuse signal, not
314
- authentication; Amage Rastro also enforces per-session and fixed-shard per-site
315
- event/byte budgets.
322
+ such as `*.example.com` are supported. The `Origin` check is a browser control,
323
+ not an anti-abuse one: a browser cannot forge the header, but any other sender
324
+ writes the one it likes, and the site ID is in every page's source. Abuse is
325
+ bounded by event and byte budgets per session, per client network, and per site
326
+ (see [Operational limits](#operational-limits)).
316
327
 
317
328
  Domain entries are hostnames, not host-and-port pairs. Use `localhost` or a full
318
329
  origin such as `http://localhost:3000`; both normalize to the `localhost` host.
@@ -449,10 +460,12 @@ budget; add it only where you want performance data:
449
460
  ></script>
450
461
  ```
451
462
 
452
- The module shares the tracker's session identity through `sessionStorage`,
453
- accepts the same `data-endpoint` and `data-visitor` overrides, and works with or
454
- without the base tracker on the page. Measurements are attributed to the landing
455
- path of the page load, never to later SPA routes. Vitals feed only the
463
+ The module derives the tracker's session and visitor ids by the same rule, from
464
+ `sessionStorage` and `localStorage`, whichever script loads first, and accepts
465
+ the same `data-endpoint` and `data-visitor` overrides. It needs the base tracker
466
+ on the page: vitals annotate the session the tracker opened, and ingestion
467
+ rejects them for a session it never saw. Measurements are attributed to the
468
+ landing path of the page load, never to later SPA routes. Vitals feed only the
456
469
  `vitalsReport` histograms — analytics event counts, sessions, and live presence
457
470
  do not change. Browsers without an entry type simply skip that metric (Safari
458
471
  reports no LCP, CLS, or INP).
@@ -563,7 +576,8 @@ payload-bound by the site's financial ledger.
563
576
 
564
577
  The tracker reads `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, and
565
578
  `utm_content` from the landing URL, keeps them in `sessionStorage` for the rest
566
- of the session, and sends them as properties of every pageview; no other query
579
+ of the tab — a later session the tab opens after a sign-in or 30 idle minutes
580
+ keeps them too — and sends them as properties of every pageview; no other query
567
581
  parameter ever leaves the page. A session's `source` is the lowercase
568
582
  `utm_source` when present and the referrer host otherwise, so campaign traffic
569
583
  no longer reads as `direct`. `utmSource`, `utmMedium`, and `utmCampaign` stay on
@@ -596,14 +610,16 @@ await analytics.linkVisitor(ctx, {
596
610
  ```
597
611
 
598
612
  `visitorJourney` for either id then returns one chronological journey; every
599
- event keeps the id it was recorded with. Links are idempotent, an anonymous id
600
- belongs to at most one identity, a linked id cannot be linked again, chains and
601
- identity merges are rejected, and an identity holds at most ten aliases. The
602
- tracker still sets no cookie: the host's own session identifies the account and
603
- the anonymous ids live in the browser's own storage (the visitor id in
604
- `localStorage`, the session id in `sessionStorage`). Linking anonymous history
605
- to an account turns it into personal data under the host's privacy policy;
606
- disclose it and offer an opt-out.
613
+ event keeps the id it was recorded with. A session belongs to one identity: the
614
+ first page rendered with the new `data-visitor` opens a new session in the same
615
+ tab, carrying the referral and campaign over, and the link joins both sessions
616
+ in the journey. Links are idempotent, an anonymous id belongs to at most one
617
+ identity, a linked id cannot be linked again, chains and identity merges are
618
+ rejected, and an identity holds at most ten aliases. The tracker still sets no
619
+ cookie: the host's own session identifies the account and the anonymous ids live
620
+ in the browser's own storage (the visitor id in `localStorage`, the session id
621
+ in `sessionStorage`). Linking anonymous history to an account turns it into
622
+ personal data under the host's privacy policy; disclose it and offer an opt-out.
607
623
 
608
624
  ## Attribute trusted payments
609
625
 
@@ -832,24 +848,50 @@ boundaries use different bucket alignment.
832
848
  never written by the ingestion transaction: a batch appends one document to
833
849
  the site's rollup queue and one leased fold job per site merges up to 200
834
850
  queued batches per run into the rows, so every rollup row has a single writer
835
- and concurrent ingestion cannot conflict on it. Reports see a batch's rollups
836
- a few hundred milliseconds after ingestion accepts it; a fold chain that dies
837
- is restarted by the next batch once its 60-second lease lapses
838
- - Site ingress budget: 4,096 deterministic per-minute shards, each capped at 300
839
- events and 512 KiB (1,228,800 admitted events/minute at uniform load)
840
- - Rate-window storage: one reusable row per active session and site shard
841
- - Live session timeout: a `leave` beacon on `pagehide` retires the visitor about
842
- ten seconds after they leave and a back/forward-cache return revives them
843
- immediately; the safety net for a browser that never says goodbye is 90
844
- seconds since the last event or heartbeat (heartbeats fire every 20 seconds,
845
- within background-tab throttling), with one bounded five-second expiry sweep
846
- per site; legacy per-session jobs hand off to that sweep during the cutover
851
+ and concurrent ingestion cannot conflict on it. Runs are debounced: the first
852
+ batch schedules a run one second out, batches arriving while it is pending
853
+ neither write the lease nor schedule anything, and the chain keeps running
854
+ once a second until a run finds the queue empty. Reports see a batch's rollups
855
+ about a second after ingestion accepts it; a fold chain that dies is restarted
856
+ by the next batch once its 60-second lease lapses. A run that throws is rolled
857
+ back and retries its oldest batch alone; a batch that fails three runs in a
858
+ row is set aside as a logged dead letter (kept 30 days) so the rest of the
859
+ queue keeps folding
860
+ - Session ingress budget: 120 events and 256 KiB per session per minute
861
+ - Client ingress budget: 1,200 events and 2 MiB per site per minute from one
862
+ client network, an IPv4 address or an IPv6 /64. The window is keyed by the
863
+ salted daily hash behind anonymous visitor keys, never by the address, and
864
+ every visitor behind one office or carrier-grade NAT shares it. It applies
865
+ when `/rastro/health` reports `clientIpAvailable: true`;
866
+ `RASTRO_CLIENT_RATE_LIMIT=off` lifts it on a load-test canary
867
+ - Site ingress budget: 256 deterministic per-minute shards, each capped at 1,500
868
+ events and 2 MiB, so a site admits at most 384,000 events and 512 MiB a
869
+ minute. Only evenly spread load (random session IDs) reaches that; a real peak
870
+ is uneven, and the realistic benchmark's ~100k events/minute tops out near
871
+ 1,050 events in its hottest shard-minute
872
+ - Rate-window storage: one reusable row per active session, client network and
873
+ UTC day, and site shard
874
+ - Live session timeout: a `leave` beacon when the tab hides or the page unloads
875
+ retires the visitor about ten seconds later, and showing the tab again or a
876
+ back/forward-cache return revives them immediately; heartbeats fire every 20
877
+ seconds only while the tab is visible, so a hidden tab sends nothing; the
878
+ safety net for a browser that never says goodbye is 90 seconds since the last
879
+ event or heartbeat, with one bounded five-second expiry sweep per site; legacy
880
+ per-session jobs hand off to that sweep during the cutover
881
+ - Session: one identity's visit in one tab; a new `data-visitor` or 30 minutes
882
+ without an event opens the next one, which starts with a pageview of the
883
+ current page
847
884
  - Clock alignment: the tracker and the vitals module stamp each batch with
848
885
  `sentAt`; when that clock is more than 30 seconds from the server's, every
849
886
  event in the batch is re-anchored by the offset before ingestion, so a visitor
850
887
  whose device clock is wrong still goes live and is filed under the right hour
851
- - Dashboard overview: up to ten sites and bounded report ranges
852
- - Hourly overview: up to 24 hours; wider ranges use daily buckets
888
+ - Dashboard overview: up to ten sites. One overview reads at most 13,000
889
+ aggregate rows and a day holds 128 per site, so a daily range covers at most
890
+ 101 days for one site, 50 for two, and 10 for ten; a wider range fails with
891
+ `LIMIT_EXCEEDED` naming its bound. A busy range that would cross the 8 MiB a
892
+ query may read fails with `REPORT_INCOMPLETE` first
893
+ - Hourly overview: up to 24 hours (an hour holds 256 rows per site, so 16 hours
894
+ for three sites and 5 for ten); wider ranges use daily buckets
853
895
  - Retention cleanup: bounded batches. `setRetentionPolicy` automatically starts
854
896
  leased, persisted cleanup chains for every policy-managed dataset; interrupted
855
897
  attempts resume after lease expiry and stale generations cannot mutate the
@@ -888,7 +930,8 @@ driver session pool is 4,096: at current speed the historical 2,048-session pool
888
930
  pushes single sessions past the documented 120 events/minute budget. Results
889
931
  came from one client process against the same non-production Synapse DEV
890
932
  deployment and site as the 2026-08-21 certification; they are engineering
891
- evidence, not a production SLA.
933
+ evidence, not a production SLA. Because that one client process is one address,
934
+ a certification canary now also sets `RASTRO_CLIENT_RATE_LIMIT=off`.
892
935
 
893
936
  Two caveats stand deliberately. The heavy row measured a store already holding
894
937
  the battery's own multi-million-event history; the 2026-08-22 fresh-store result
@@ -985,7 +1028,8 @@ deployments need no legacy-event migration.
985
1028
  Amage Rastro's default tracker:
986
1029
 
987
1030
  - sets no cookies;
988
- - stores a pseudonymous session ID and referral slug in `sessionStorage`, and a
1031
+ - stores a pseudonymous session ID, the visitor ID it opened with, the time of
1032
+ its last event, and the referral slug and campaign in `sessionStorage`, and a
989
1033
  persistent pseudonymous visitor ID in `localStorage` — scoped to the site's
990
1034
  origin, never shared across sites, gone when the visitor clears site data;
991
1035
  - never persists raw visitor IP addresses in component tables;
@@ -16,10 +16,10 @@
16
16
  "integrity": {
17
17
  "algorithm": "sha256",
18
18
  "agent": "e26de56729dd0b474669d2b40292afb314224200da4e70f6dabd407ce7aea6e7",
19
- "llms": "08e9581c9ee626642753db971e9c4da22d131ddb62870cca402d2e93ce4f7567",
19
+ "llms": "2072c0c06b5ec130c59edc269d66665ffd042053a9f7238a16811431a9251c19",
20
20
  "protocol": "f2be7e3db250824d0c1293eb31b2e4514ebed8b21fe4974d4f4797fd86abe04f",
21
21
  "setup": "bf2509a87a8eab9c047276b813f029bb2c9ddd58c0e54754432e3fef7891f3c9",
22
- "upgrading": "a6ed4626b3502a60c646448bdd512ab63e148322e0855ba819a77478db987f8d"
22
+ "upgrading": "fee72acf124487309a739f8344dc507346712c68d11a957c7068d4838aa79f6b"
23
23
  }
24
24
  },
25
25
  "controlPlane": {
@@ -128,6 +128,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
128
128
  };
129
129
  ingest: {
130
130
  ingestBatch: FunctionReference<"mutation", "internal", {
131
+ clientKey?: string;
131
132
  context?: {
132
133
  browser?: string;
133
134
  city?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/component.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import type { DataModel } from "./dataModel.js";
17
17
  type Env = {
18
18
  readonly CONVEX_CLOUD_URL: string;
19
19
  readonly CONVEX_SITE_URL: string;
20
+ readonly RASTRO_CLIENT_RATE_LIMIT: "off" | undefined;
20
21
  readonly RASTRO_GEOIP_DAILY_LIMIT: string | undefined;
21
22
  readonly RASTRO_GEOIP_PROVIDER: "ipinfo" | "ipwhois" | undefined;
22
23
  readonly RASTRO_GEOIP_TOKEN: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/server.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAUvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;GAKG;AACH,KAAK,GAAG,GAAG;IACT,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACjD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAgB,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,CACxC,CAAC;AAEvB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAmB,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,CAC3C,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAiB,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,CACzC,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,iBAAqC,CAAC;AAC/D,eAAO,MAAM,GAAG,EAAE,GACJ,CAAC;AAEf;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/server.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAUvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;GAKG;AACH,KAAK,GAAG,GAAG;IACT,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,wBAAwB,EAAE,KAAK,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CACjD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAgB,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,CACxC,CAAC;AAEvB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAmB,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,CAC3C,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAiB,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,CACzC,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,iBAAqC,CAAC;AAC/D,eAAO,MAAM,GAAG,EAAE,GACJ,CAAC;AAEf;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/component/_generated/server.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;AAaH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAkBvB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,KAAK,GAAsC,YAAY,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,oBAAoB,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAyC,eAAe,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,uBAAuB,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,MAAM,GAAuC,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,qBAAqB,CAAC;AAExB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAsB,iBAAiB,CAAC;AAC/D,MAAM,CAAC,MAAM,GAAG,GAAS,UAAmD;KACzE,OAAO,CAAC,GAAG,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/component/_generated/server.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;GAOG;AAaH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAmBvB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,KAAK,GAAsC,YAAY,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,oBAAoB,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAyC,eAAe,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,uBAAuB,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,MAAM,GAAuC,aAAa,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GACzB,qBAAqB,CAAC;AAExB;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAsB,iBAAiB,CAAC;AAC/D,MAAM,CAAC,MAAM,GAAG,GAAS,UAAmD;KACzE,OAAO,CAAC,GAAG,CAAC"}
@@ -4,9 +4,11 @@ export declare const MAX_BATCH_BYTES: number;
4
4
  export declare const MAX_EVENTS_PER_SESSION_WINDOW = 120;
5
5
  export declare const RATE_LIMIT_WINDOW_MS = 60000;
6
6
  export declare const MAX_BYTES_PER_SESSION_WINDOW: number;
7
- export declare const SITE_INGEST_SHARDS = 4096;
8
- export declare const MAX_SITE_EVENTS_PER_SHARD_WINDOW = 300;
7
+ export declare const SITE_INGEST_SHARDS = 256;
8
+ export declare const MAX_SITE_EVENTS_PER_SHARD_WINDOW = 1500;
9
9
  export declare const MAX_SITE_BYTES_PER_SHARD_WINDOW: number;
10
+ export declare const MAX_EVENTS_PER_CLIENT_WINDOW = 1200;
11
+ export declare const MAX_BYTES_PER_CLIENT_WINDOW: number;
10
12
  export declare const LIVE_SESSION_TTL_MS = 90000;
11
13
  export declare const LIVE_LEAVE_GRACE_MS = 10000;
12
14
  export declare const LIVE_SWEEP_INTERVAL_MS = 5000;
@@ -41,6 +43,9 @@ export declare const RETENTION_LEASE_MS = 60000;
41
43
  export declare const ROLLUP_FOLD_BATCH_DOCS = 200;
42
44
  export declare const ROLLUP_FOLD_MAX_ROWS = 1500;
43
45
  export declare const ROLLUP_FOLD_LEASE_MS = 60000;
46
+ export declare const ROLLUP_FOLD_DEBOUNCE_MS = 1000;
47
+ export declare const ROLLUP_FOLD_MAX_FAILURES = 3;
48
+ export declare const ROLLUP_DEAD_LETTER_RETENTION_MS: number;
44
49
  export declare const VITAL_HISTOGRAM_EDGES: number[];
45
50
  export declare const MAX_VITAL_VALUE = 600000;
46
51
  export declare const VITAL_PAGE_SLOTS = 48;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/component/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,eAAe,QAAY,CAAC;AACzC,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,eAAO,MAAM,4BAA4B,QAAa,CAAC;AACvD,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AACxC,eAAO,MAAM,gCAAgC,MAAM,CAAC;AACpD,eAAO,MAAM,+BAA+B,QAAa,CAAC;AAC1D,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAC5C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAC9C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,yBAAyB,QAAkB,CAAC;AACzD,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AACnD,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AACxC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAC7C,eAAO,MAAM,2BAA2B,QAAkB,CAAC;AAC3D,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,sBAAsB,QAAa,CAAC;AACjD,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAIzC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAC1C,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAI3C,eAAO,MAAM,qBAAqB,UAGjC,CAAC;AACF,eAAO,MAAM,eAAe,SAAU,CAAC;AACvC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,sBAAsB,OAAQ,CAAC;AAC5C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,MAAM,WAAa,CAAC;AACjC,eAAO,MAAM,OAAO,UAAY,CAAC;AACjC,eAAO,MAAM,SAAS,QAAS,CAAC;AAChC,eAAO,MAAM,4BAA4B,WAAS,CAAC;AACnD,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAQtC,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AACvC,eAAO,MAAM,oBAAoB,YAAY,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/component/constants.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,20 @@ export const MAX_BATCH_BYTES = 64 * 1024;
4
4
  export const MAX_EVENTS_PER_SESSION_WINDOW = 120;
5
5
  export const RATE_LIMIT_WINDOW_MS = 60_000;
6
6
  export const MAX_BYTES_PER_SESSION_WINDOW = 256 * 1024;
7
- export const SITE_INGEST_SHARDS = 4_096;
8
- export const MAX_SITE_EVENTS_PER_SHARD_WINDOW = 300;
9
- export const MAX_SITE_BYTES_PER_SHARD_WINDOW = 512 * 1024;
7
+ // A site admits at most SITE_INGEST_SHARDS × the per-shard caps a minute:
8
+ // 384,000 events and 512 MiB. Shards keep every POST off one shared row per
9
+ // site; random session IDs can only fill them evenly, while a real peak lands
10
+ // unevenly — the realistic benchmark (~100k events/min) peaks near 1,050
11
+ // events in its hottest shard-minute, so fewer shards would need a looser cap
12
+ // per shard and more would need a looser cap per site.
13
+ export const SITE_INGEST_SHARDS = 256;
14
+ export const MAX_SITE_EVENTS_PER_SHARD_WINDOW = 1_500;
15
+ export const MAX_SITE_BYTES_PER_SHARD_WINDOW = 2 * 1024 * 1024;
16
+ // Per client network (an IPv4 address or an IPv6 /64, keyed by a salted daily
17
+ // hash) per site and minute. Generous on purpose: an office or carrier-grade
18
+ // NAT puts many visitors behind one address, and they all share this budget.
19
+ export const MAX_EVENTS_PER_CLIENT_WINDOW = 1_200;
20
+ export const MAX_BYTES_PER_CLIENT_WINDOW = 2 * 1024 * 1024;
10
21
  export const LIVE_SESSION_TTL_MS = 90_000;
11
22
  export const LIVE_LEAVE_GRACE_MS = 10_000;
12
23
  export const LIVE_SWEEP_INTERVAL_MS = 5_000;
@@ -44,6 +55,16 @@ export const RETENTION_LEASE_MS = 60_000;
44
55
  export const ROLLUP_FOLD_BATCH_DOCS = 200;
45
56
  export const ROLLUP_FOLD_MAX_ROWS = 1_500;
46
57
  export const ROLLUP_FOLD_LEASE_MS = 60_000;
58
+ // A batch that finds no fold pending schedules one this far out, and a run
59
+ // that folded anything schedules the next one as far again, so one run per
60
+ // second serves every batch of that second; only a run that finds the queue
61
+ // empty releases the lease.
62
+ export const ROLLUP_FOLD_DEBOUNCE_MS = 1_000;
63
+ // A run that throws retries its oldest batch alone; a batch that fails this
64
+ // many runs in a row is set aside as a dead letter, kept this long (30 days)
65
+ // for inspection, so one bad batch cannot stall a site's reports.
66
+ export const ROLLUP_FOLD_MAX_FAILURES = 3;
67
+ export const ROLLUP_DEAD_LETTER_RETENTION_MS = 30 * 86_400_000;
47
68
  // Shared Web Vitals histogram edges. Every Google rating threshold (LCP
48
69
  // 2500/4000, CLS×1000 100/250, INP 200/500, FCP 1800/3000, TTFB 800/1800) is
49
70
  // an edge, so rating counts stay exact while one layout serves all metrics.
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/component/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/component/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,GAAG,IAAI,CAAC;AACvD,0EAA0E;AAC1E,4EAA4E;AAC5E,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAC9E,uDAAuD;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,CAAC;AACtD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/D,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAClD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACzD,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3D,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,MAAM,CAAC;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,4BAA4B;AAC5B,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAC7C,4EAA4E;AAC5E,6EAA6E;AAC7E,kEAAkE;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,GAAG,UAAU,CAAC;AAC/D,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC7E,KAAK,EAAE,MAAM;CACd,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC;AACjC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC;AAChC,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,6EAA6E;AAC7E,0EAA0E;AAC1E,uEAAuE;AACvE,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAC/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC"}
@@ -3,6 +3,7 @@ declare const _default: import("convex/server").ComponentDefinition<any, {
3
3
  readonly RASTRO_GEOIP_TOKEN: import("convex/values").VString<string | undefined, "optional">;
4
4
  readonly RASTRO_GEOIP_DAILY_LIMIT: import("convex/values").VString<string | undefined, "optional">;
5
5
  readonly RASTRO_TRUST_PROXY: import("convex/values").VLiteral<"true" | undefined, "optional">;
6
+ readonly RASTRO_CLIENT_RATE_LIMIT: import("convex/values").VLiteral<"off" | undefined, "optional">;
6
7
  }>;
7
8
  export default _default;
8
9
  //# sourceMappingURL=convex.config.d.ts.map
@@ -6,6 +6,9 @@ export default defineComponent("rastroAnalytics", {
6
6
  RASTRO_GEOIP_TOKEN: v.optional(v.string()),
7
7
  RASTRO_GEOIP_DAILY_LIMIT: v.optional(v.string()),
8
8
  RASTRO_TRUST_PROXY: v.optional(v.literal("true")),
9
+ // "off" drops the per-client ingest budget, for a load-test canary whose
10
+ // driver sends every request from one address.
11
+ RASTRO_CLIENT_RATE_LIMIT: v.optional(v.literal("off")),
9
12
  },
10
13
  });
11
14
  //# sourceMappingURL=convex.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convex.config.js","sourceRoot":"","sources":["../../src/component/convex.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,eAAe,eAAe,CAAC,iBAAiB,EAAE;IAChD,GAAG,EAAE;QACH,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAC/B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CACnD;QACD,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1C,wBAAwB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChD,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAClD;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"convex.config.js","sourceRoot":"","sources":["../../src/component/convex.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,eAAe,eAAe,CAAC,iBAAiB,EAAE;IAChD,GAAG,EAAE;QACH,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAC/B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CACnD;QACD,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1C,wBAAwB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChD,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,yEAAyE;QACzE,+CAA+C;QAC/C,wBAAwB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACvD;CACF,CAAC,CAAC"}
@@ -69,5 +69,6 @@ export declare function resolveClientIp(nativeIp: string | null, headers: Header
69
69
  source: ClientIpSource;
70
70
  };
71
71
  export declare function isTrustedProxyRequest(nativeIp: string | null, trustProxy: boolean): boolean;
72
+ export declare function parseIpv6(ip: string): number[] | undefined;
72
73
  export {};
73
74
  //# sourceMappingURL=geo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geo.d.ts","sourceRoot":"","sources":["../../src/component/geo.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;AAChE,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAEpE,KAAK,UAAU,GAAG,IAAI,CACpB,aAAa,EACb,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAC9C,CAAC;AAEF,KAAK,OAAO,GAAG,CACb,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AA4BvB,eAAO,MAAM,KAAK;;;;;;;;GAmChB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;mBA2IX,MAAM;mBACN,MAAM;sBACH,MAAM;kBACV,OAAO;;GA6BrB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;mBA+D1B,CAAC;AAEH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQjE;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,WAAW,CAIb;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE;IAC7C,IAAI,EAAE;QACJ,kBAAkB,IAAI,OAAO,CAAC;YAC5B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;YAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC,CAAC;KACJ,CAAC;CACH,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAQ3D;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CA0BjC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAOpD;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,EAAE,OAAO,EAChB,UAAU,UAAQ,GACjB;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAqB/C;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,UAAU,EAAE,OAAO,GAClB,OAAO,CAET"}
1
+ {"version":3,"file":"geo.d.ts","sourceRoot":"","sources":["../../src/component/geo.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;AAChE,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AACtE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;AAEpE,KAAK,UAAU,GAAG,IAAI,CACpB,aAAa,EACb,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAC9C,CAAC;AAEF,KAAK,OAAO,GAAG,CACb,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AA4BvB,eAAO,MAAM,KAAK;;;;;;;;GAmChB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;mBA2IX,MAAM;mBACN,MAAM;sBACH,MAAM;kBACV,OAAO;;GA6BrB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;mBA+D1B,CAAC;AAEH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQjE;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,WAAW,CAIb;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE;IAC7C,IAAI,EAAE;QACJ,kBAAkB,IAAI,OAAO,CAAC;YAC5B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;YAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC,CAAC;KACJ,CAAC;CACH,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAQ3D;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CA0BjC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAOpD;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,EAAE,OAAO,EAChB,UAAU,UAAQ,GACjB;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,CAqB/C;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,UAAU,EAAE,OAAO,GAClB,OAAO,CAET;AAkED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CA0B1D"}
@@ -382,7 +382,7 @@ function classifyIpv6(ip) {
382
382
  // Unknown/special space fails closed so it is never sent to a provider.
383
383
  return (groups[0] & 0xe000) === 0x2000 ? "public" : "private";
384
384
  }
385
- function parseIpv6(ip) {
385
+ export function parseIpv6(ip) {
386
386
  let normalized = ip;
387
387
  const dottedTail = normalized.match(/(\d+\.\d+\.\d+\.\d+)$/)?.[1];
388
388
  if (dottedTail) {