@iann29/rastro 0.1.0-alpha.5 → 0.1.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -27
- package/agent/integration.md +17 -15
- package/agent/manifest.json +5 -3
- package/agent/manifest.schema.json +8 -5
- package/dist/client/federation.d.ts +34 -8
- package/dist/client/federation.d.ts.map +1 -1
- package/dist/client/federation.js +17 -3
- package/dist/client/federation.js.map +1 -1
- package/dist/client/index.d.ts +418 -21
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +191 -41
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +2 -0
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +63 -7
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/affiliates.d.ts.map +1 -1
- package/dist/component/affiliates.js +6 -2
- package/dist/component/affiliates.js.map +1 -1
- package/dist/component/cardinality.d.ts.map +1 -1
- package/dist/component/cardinality.js.map +1 -1
- package/dist/component/constants.d.ts +5 -0
- package/dist/component/constants.d.ts.map +1 -1
- package/dist/component/constants.js +11 -0
- package/dist/component/constants.js.map +1 -1
- package/dist/component/diagnostics.d.ts.map +1 -1
- package/dist/component/diagnostics.js.map +1 -1
- package/dist/component/eventStore.d.ts +2 -1
- package/dist/component/eventStore.d.ts.map +1 -1
- package/dist/component/eventStore.js +13 -10
- package/dist/component/eventStore.js.map +1 -1
- package/dist/component/funnels.d.ts.map +1 -1
- package/dist/component/funnels.js +5 -3
- package/dist/component/funnels.js.map +1 -1
- package/dist/component/geo.d.ts.map +1 -1
- package/dist/component/geo.js +3 -2
- package/dist/component/geo.js.map +1 -1
- package/dist/component/goals.d.ts.map +1 -1
- package/dist/component/goals.js +8 -5
- package/dist/component/goals.js.map +1 -1
- package/dist/component/guards.d.ts.map +1 -1
- package/dist/component/guards.js.map +1 -1
- package/dist/component/http.d.ts.map +1 -1
- package/dist/component/http.js +32 -9
- package/dist/component/http.js.map +1 -1
- package/dist/component/ingest.d.ts +2 -1
- package/dist/component/ingest.d.ts.map +1 -1
- package/dist/component/ingest.js +143 -23
- package/dist/component/ingest.js.map +1 -1
- package/dist/component/live.d.ts.map +1 -1
- package/dist/component/live.js +1 -3
- package/dist/component/live.js.map +1 -1
- package/dist/component/reports.d.ts +60 -3
- package/dist/component/reports.d.ts.map +1 -1
- package/dist/component/reports.js +215 -49
- package/dist/component/reports.js.map +1 -1
- package/dist/component/retention.d.ts +4 -4
- package/dist/component/retention.d.ts.map +1 -1
- package/dist/component/retention.js +54 -22
- package/dist/component/retention.js.map +1 -1
- package/dist/component/sanitize.d.ts.map +1 -1
- package/dist/component/sanitize.js +38 -10
- package/dist/component/sanitize.js.map +1 -1
- package/dist/component/schema.d.ts +47 -5
- package/dist/component/schema.js +21 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/component/sites.d.ts.map +1 -1
- package/dist/component/sites.js +6 -6
- package/dist/component/sites.js.map +1 -1
- package/dist/component/validators.d.ts +14 -9
- package/dist/component/validators.d.ts.map +1 -1
- package/dist/component/validators.js +5 -1
- package/dist/component/validators.js.map +1 -1
- package/dist/component/visitors.d.ts.map +1 -1
- package/dist/component/visitors.js.map +1 -1
- package/dist/component/vitals.d.ts +41 -0
- package/dist/component/vitals.d.ts.map +1 -0
- package/dist/component/vitals.js +115 -0
- package/dist/component/vitals.js.map +1 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/tracker/generated.d.ts +4 -0
- package/dist/tracker/generated.d.ts.map +1 -1
- package/dist/tracker/generated.js +4 -0
- package/dist/tracker/generated.js.map +1 -1
- package/dist/tracker/tracker.d.ts.map +1 -1
- package/dist/tracker/tracker.js.map +1 -1
- package/dist/tracker/vitals.d.ts +10 -0
- package/dist/tracker/vitals.d.ts.map +1 -0
- package/dist/tracker/vitals.js +137 -0
- package/dist/tracker/vitals.js.map +1 -0
- package/dist/vitals.min.js +1 -0
- package/docs/benchmarks/2026-08-20-realistic.md +71 -71
- package/docs/benchmarks/2026-08-21-formal-certification.md +50 -30
- package/docs/benchmarks/2026-08-30-alpha6-recertification.md +206 -0
- package/package.json +17 -3
- package/scripts/benchmark-ingest.mjs +101 -48
- package/src/component/_generated/api.ts +2 -0
- package/src/component/_generated/component.ts +69 -4
- package/src/component/affiliates.ts +20 -5
- package/src/component/cardinality.ts +8 -7
- package/src/component/constants.ts +11 -0
- package/src/component/diagnostics.ts +3 -2
- package/src/component/eventStore.ts +53 -46
- package/src/component/funnels.ts +19 -16
- package/src/component/geo.ts +16 -14
- package/src/component/goals.ts +29 -21
- package/src/component/guards.ts +3 -1
- package/src/component/http.ts +73 -46
- package/src/component/ingest.ts +320 -127
- package/src/component/live.ts +5 -4
- package/src/component/reports.ts +563 -219
- package/src/component/retention.ts +221 -98
- package/src/component/sanitize.ts +76 -29
- package/src/component/schema.ts +31 -5
- package/src/component/sites.ts +22 -11
- package/src/component/validators.ts +16 -7
- package/src/component/visitors.ts +16 -5
- package/src/component/vitals.ts +146 -0
package/README.md
CHANGED
|
@@ -27,10 +27,14 @@ Public integration documentation is available at
|
|
|
27
27
|
should start with [`llms.txt`](https://www.amagerastro.com/llms.txt) and verify
|
|
28
28
|
the [machine manifest](https://www.amagerastro.com/agent/manifest.json).
|
|
29
29
|
|
|
30
|
-
Current evidence supports more than
|
|
31
|
-
traffic
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
Current evidence supports more than 140 million stored events/day for realistic
|
|
31
|
+
traffic and more than 178 million for lean traffic. Near-limit heavy payloads
|
|
32
|
+
are certified at 55.26 million/day on a data-heavy store (76.62 million/day on a
|
|
33
|
+
fresh store, 2026-08-22). The feature-saturated profile currently fails
|
|
34
|
+
certification on a known rollup-contention defect
|
|
35
|
+
([#52](https://github.com/amageweb/amage-rastro/issues/52)). Workload-specific
|
|
36
|
+
results and caveats are reported separately rather than collapsed into one
|
|
37
|
+
capacity claim.
|
|
34
38
|
|
|
35
39
|
## What ships
|
|
36
40
|
|
|
@@ -38,6 +42,7 @@ caveats are reported separately rather than collapsed into one capacity claim.
|
|
|
38
42
|
| --------------------------- | -------------------------------------------------------------------------------------------------------- |
|
|
39
43
|
| Live visitor map | Reactive live sessions with coarse city-level coordinates and TTL expiry |
|
|
40
44
|
| Traffic analytics | Sharded hour/day rollups, time series, top pages, sources, countries, devices, browsers, and events |
|
|
45
|
+
| Field Web Vitals | Opt-in tracker module reporting LCP, CLS, INP, FCP, and TTFB into bounded per-page daily histograms |
|
|
41
46
|
| Journey replay | Bounded pageview/click/custom-event timelines; no DOM, keystroke, or form-value recording |
|
|
42
47
|
| Payment conversion tracking | Trusted server-side ledger with idempotent event IDs and canonical site currency |
|
|
43
48
|
| Goals and funnels | Exact pageview/custom-event goals and ordered conversion funnels |
|
|
@@ -90,11 +95,12 @@ app.use(rastro, { httpPrefix: "/rastro/" });
|
|
|
90
95
|
export default app;
|
|
91
96
|
```
|
|
92
97
|
|
|
93
|
-
This creates isolated component tables and
|
|
98
|
+
This creates isolated component tables and five HTTP routes:
|
|
94
99
|
|
|
95
100
|
- `POST /rastro/events` — browser event ingestion
|
|
96
101
|
- `OPTIONS /rastro/events` — CORS preflight
|
|
97
102
|
- `GET /rastro/tracker.js` — the pre-gzipped tracker
|
|
103
|
+
- `GET /rastro/vitals.js` — the pre-gzipped, opt-in Web Vitals module
|
|
98
104
|
- `GET /rastro/health` — integration health
|
|
99
105
|
|
|
100
106
|
Push the component and regenerate host bindings before importing
|
|
@@ -299,6 +305,29 @@ serves the script and ingestion from different origins:
|
|
|
299
305
|
></script>
|
|
300
306
|
```
|
|
301
307
|
|
|
308
|
+
### Field Web Vitals (optional)
|
|
309
|
+
|
|
310
|
+
A second, separate module measures real-visitor LCP, CLS, INP, FCP, and TTFB
|
|
311
|
+
with `PerformanceObserver` and reports them once per page load, when the tab is
|
|
312
|
+
first hidden. It stays out of `tracker.js` so the base tracker keeps its byte
|
|
313
|
+
budget; add it only where you want performance data:
|
|
314
|
+
|
|
315
|
+
```html
|
|
316
|
+
<script
|
|
317
|
+
defer
|
|
318
|
+
data-site="YOUR_SITE_ID"
|
|
319
|
+
src="https://YOUR_DEPLOYMENT.convex.site/rastro/vitals.js"
|
|
320
|
+
></script>
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
The module shares the tracker's session identity through `sessionStorage`,
|
|
324
|
+
accepts the same `data-endpoint` and `data-visitor` overrides, and works with or
|
|
325
|
+
without the base tracker on the page. Measurements are attributed to the landing
|
|
326
|
+
path of the page load, never to later SPA routes. Vitals feed only the
|
|
327
|
+
`vitalsReport` histograms — analytics event counts, sessions, and live presence
|
|
328
|
+
do not change. Browsers without an entry type simply skip that metric (Safari
|
|
329
|
+
reports no LCP, CLS, or INP).
|
|
330
|
+
|
|
302
331
|
### React
|
|
303
332
|
|
|
304
333
|
React is an optional peer dependency. It is required only when importing the
|
|
@@ -590,6 +619,10 @@ boundaries use different bucket alignment.
|
|
|
590
619
|
- Events per batch: 50
|
|
591
620
|
- Session-minute groups per batch: 4
|
|
592
621
|
- Active goals per exact matcher: 1
|
|
622
|
+
- Web Vitals pages per site and UTC day: 48 tracked page rows, then `(other)`;
|
|
623
|
+
device classes are fixed (desktop, mobile, tablet, unknown)
|
|
624
|
+
- Web Vitals report: complete reads bounded to 5,000 rollup rows across at most
|
|
625
|
+
90 UTC days; wider saturated ranges fail with `REPORT_INCOMPLETE`
|
|
593
626
|
- Primary aggregate shards: 256 hourly and 128 daily, derived from stable
|
|
594
627
|
session identity
|
|
595
628
|
- Funnel and affiliate aggregate shards: 16
|
|
@@ -619,31 +652,42 @@ separately. The browser `feature` profile exercises configured goals, funnels,
|
|
|
619
652
|
and affiliate attribution; trusted conversions require a separate server-side
|
|
620
653
|
driver and certification result.
|
|
621
654
|
|
|
622
|
-
###
|
|
655
|
+
### Certified ingest evidence (2026-08-30)
|
|
623
656
|
|
|
624
657
|
| Profile | Workload | Certified stored/day | p95 latency | 100M/day target |
|
|
625
658
|
| --------- | ------------------------------------------------- | -------------------: | ----------: | --------------- |
|
|
626
|
-
| Lean | Minimal events, maximum batches |
|
|
627
|
-
| Realistic | Reused sessions, browser mix, context, heartbeats |
|
|
628
|
-
| Heavy | 62 KiB requests with bounded custom properties |
|
|
629
|
-
| Feature | Goals, funnels, and affiliate attribution |
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
not
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
659
|
+
| Lean | Minimal events, maximum batches | 178.95M | 4,167 ms | Pass |
|
|
660
|
+
| Realistic | Reused sessions, browser mix, context, heartbeats | 142.04M | 4,953 ms | Pass |
|
|
661
|
+
| Heavy | 62 KiB requests with bounded custom properties | 55.26M | 7,702 ms | Below target |
|
|
662
|
+
| Feature | Goals, funnels, and affiliate attribution | **failed** | — | Defect [#52] |
|
|
663
|
+
|
|
664
|
+
[#52]: https://github.com/amageweb/amage-rastro/issues/52
|
|
665
|
+
|
|
666
|
+
Lean, realistic, and heavy each ran at least ten minutes, completed with zero
|
|
667
|
+
request failures, duplicates, or rejected events, and exactly reconciled the
|
|
668
|
+
expected stored events (the realistic run's reconciliation was re-executed
|
|
669
|
+
exactly after a client-side DNS failure — see the report). The realistic row's
|
|
670
|
+
driver session pool is 4,096: at current speed the historical 2,048-session pool
|
|
671
|
+
pushes single sessions past the documented 120 events/minute budget. Results
|
|
672
|
+
came from one client process against the same non-production Synapse DEV
|
|
673
|
+
deployment and site as the 2026-08-21 certification; they are engineering
|
|
674
|
+
evidence, not a production SLA.
|
|
675
|
+
|
|
676
|
+
Two caveats stand deliberately. The heavy row measured a store already holding
|
|
677
|
+
the battery's own multi-million-event history; the 2026-08-22 fresh-store result
|
|
678
|
+
(76.62M/day) remains valid for that state, and neither number overwrites the
|
|
679
|
+
other. The feature profile cannot currently be certified at all: affiliate
|
|
680
|
+
daily-rollup contention loses ~4–5% of batches under concurrent load
|
|
681
|
+
([#52](https://github.com/amageweb/amage-rastro/issues/52)), so no
|
|
682
|
+
feature-profile capacity is claimed until the fix lands. GeoIP with a provider
|
|
683
|
+
enabled, trusted server-side conversions, and vitals-bearing traffic remain
|
|
684
|
+
separate pending certifications.
|
|
685
|
+
|
|
686
|
+
The full evidence is recorded in
|
|
687
|
+
[`docs/benchmarks/2026-08-30-alpha6-recertification.md`](docs/benchmarks/2026-08-30-alpha6-recertification.md).
|
|
688
|
+
Prior results remain in
|
|
689
|
+
[`docs/benchmarks/2026-08-21-formal-certification.md`](docs/benchmarks/2026-08-21-formal-certification.md)
|
|
690
|
+
and
|
|
647
691
|
[`docs/benchmarks/2026-08-20-realistic.md`](docs/benchmarks/2026-08-20-realistic.md).
|
|
648
692
|
|
|
649
693
|
From a repository checkout, run a duration-based profile against a confirmed
|
|
@@ -739,6 +783,10 @@ Amage Rastro's default tracker:
|
|
|
739
783
|
when present), and outbound link origins and pathnames;
|
|
740
784
|
- strips query strings and fragments from stored paths and links.
|
|
741
785
|
|
|
786
|
+
The optional Web Vitals module inherits this contract: it reports at most five
|
|
787
|
+
timing numbers per page load (milliseconds, or CLS scaled by 1000) against the
|
|
788
|
+
landing path, and nothing else.
|
|
789
|
+
|
|
742
790
|
Cookieless does not automatically mean consent-exempt in every jurisdiction.
|
|
743
791
|
Review your collection purpose, custom properties, identity strategy, retention
|
|
744
792
|
policy, and local law.
|
package/agent/integration.md
CHANGED
|
@@ -470,6 +470,7 @@ export const {
|
|
|
470
470
|
goalsReport,
|
|
471
471
|
funnelsReport,
|
|
472
472
|
affiliatesReport,
|
|
473
|
+
vitalsReport,
|
|
473
474
|
dataCoverage,
|
|
474
475
|
} = federated;
|
|
475
476
|
```
|
|
@@ -479,21 +480,22 @@ requires both a valid JWT and a matching, non-revoked local grant.
|
|
|
479
480
|
|
|
480
481
|
## Function contract
|
|
481
482
|
|
|
482
|
-
| Function | Input summary | Important output/behavior
|
|
483
|
-
| ------------------ | ------------------------------------------------------- |
|
|
484
|
-
| `manifest` | `{}` | Static protocol, capabilities, names, and limits; no auth
|
|
485
|
-
| `connectionStatus` | `{}` | Redacted status, protocol version, capabilities, site count
|
|
486
|
-
| `listSites` | `{}` | Only `siteId`, `name`, `currency`, `timezone`, `cookieless`
|
|
487
|
-
| `overview` | `siteIds`, `from`, `to`, optional hour/day interval | Aggregate metrics and time series
|
|
488
|
-
| `liveVisitors` | `siteIds`, `now`, optional limit | At most 500 current visitors
|
|
489
|
-
| `listSessions` | one `siteId`, range, `{numItems,cursor}` keyset options | Paginated sessions
|
|
490
|
-
| `sessionJourney` | one site/session, range, `{numItems,cursor}` options | Paginated bounded events
|
|
491
|
-
| `listConversions` | one site, range, `{numItems,cursor}` options | Paginated trusted server-side conversion ledger
|
|
492
|
-
| `visitorJourney` | site IDs, visitor ID, range, optional limit | Cross-site journey inside the grant only
|
|
493
|
-
| `goalsReport` | one site and range | Read-only goal definitions plus aggregates
|
|
494
|
-
| `funnelsReport` | one site and complete UTC-day range | Read-only definitions/steps plus aggregates; max 90 days
|
|
495
|
-
| `affiliatesReport` | one site and complete UTC-day range | Read-only affiliate definitions plus aggregates
|
|
496
|
-
| `
|
|
483
|
+
| Function | Input summary | Important output/behavior |
|
|
484
|
+
| ------------------ | ------------------------------------------------------- | ---------------------------------------------------------------- |
|
|
485
|
+
| `manifest` | `{}` | Static protocol, capabilities, names, and limits; no auth |
|
|
486
|
+
| `connectionStatus` | `{}` | Redacted status, protocol version, capabilities, site count |
|
|
487
|
+
| `listSites` | `{}` | Only `siteId`, `name`, `currency`, `timezone`, `cookieless` |
|
|
488
|
+
| `overview` | `siteIds`, `from`, `to`, optional hour/day interval | Aggregate metrics and time series |
|
|
489
|
+
| `liveVisitors` | `siteIds`, `now`, optional limit | At most 500 current visitors |
|
|
490
|
+
| `listSessions` | one `siteId`, range, `{numItems,cursor}` keyset options | Paginated sessions |
|
|
491
|
+
| `sessionJourney` | one site/session, range, `{numItems,cursor}` options | Paginated bounded events |
|
|
492
|
+
| `listConversions` | one site, range, `{numItems,cursor}` options | Paginated trusted server-side conversion ledger |
|
|
493
|
+
| `visitorJourney` | site IDs, visitor ID, range, optional limit | Cross-site journey inside the grant only |
|
|
494
|
+
| `goalsReport` | one site and range | Read-only goal definitions plus aggregates |
|
|
495
|
+
| `funnelsReport` | one site and complete UTC-day range | Read-only definitions/steps plus aggregates; max 90 days |
|
|
496
|
+
| `affiliatesReport` | one site and complete UTC-day range | Read-only affiliate definitions plus aggregates |
|
|
497
|
+
| `vitalsReport` | one site and complete UTC-day range | Web Vitals p75/ratings per metric, page, and device; max 90 days |
|
|
498
|
+
| `dataCoverage` | one site and inclusive integer range | Coverage metadata; echoes site ID, no event/visitor/session IDs |
|
|
497
499
|
|
|
498
500
|
The federated surface deliberately excludes ingestion, site mutation, retention
|
|
499
501
|
writes, configuration writes, domains, owner IDs, network IDs, and arbitrary
|
package/agent/manifest.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"upgrading": "https://www.amagerastro.com/docs/reference/upgrading.md",
|
|
16
16
|
"integrity": {
|
|
17
17
|
"algorithm": "sha256",
|
|
18
|
-
"agent": "
|
|
18
|
+
"agent": "e2faf12674afb40409c268048595856a248d4a4373af4c7a013089364fc9f28b",
|
|
19
19
|
"llms": "8c1da1fea23f95a618c4d636840b793195fceedf05f81394df74e1ed5e3fc4da",
|
|
20
20
|
"protocol": "3a5cba45befc3ff0b56828cb207d8ce67ddc0df6bf0280a977d4db8d7f50aaee",
|
|
21
21
|
"setup": "04c61ecef029a99ba95e1002439dbd1e42ca1ce351e6deb0988fb556ffce649e",
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
"goalsReport": "goalsReport",
|
|
68
68
|
"funnelsReport": "funnelsReport",
|
|
69
69
|
"affiliatesReport": "affiliatesReport",
|
|
70
|
-
"dataCoverage": "dataCoverage"
|
|
70
|
+
"dataCoverage": "dataCoverage",
|
|
71
|
+
"vitalsReport": "vitalsReport"
|
|
71
72
|
},
|
|
72
73
|
"capabilities": [
|
|
73
74
|
"siteSummaries",
|
|
@@ -80,7 +81,8 @@
|
|
|
80
81
|
"goals",
|
|
81
82
|
"funnels",
|
|
82
83
|
"affiliates",
|
|
83
|
-
"dataCoverage"
|
|
84
|
+
"dataCoverage",
|
|
85
|
+
"vitals"
|
|
84
86
|
],
|
|
85
87
|
"limits": {
|
|
86
88
|
"maxSitesPerRequest": 10,
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"goalsReport",
|
|
168
168
|
"funnelsReport",
|
|
169
169
|
"affiliatesReport",
|
|
170
|
-
"dataCoverage"
|
|
170
|
+
"dataCoverage",
|
|
171
|
+
"vitalsReport"
|
|
171
172
|
],
|
|
172
173
|
"properties": {
|
|
173
174
|
"manifest": { "const": "manifest" },
|
|
@@ -182,14 +183,15 @@
|
|
|
182
183
|
"goalsReport": { "const": "goalsReport" },
|
|
183
184
|
"funnelsReport": { "const": "funnelsReport" },
|
|
184
185
|
"affiliatesReport": { "const": "affiliatesReport" },
|
|
185
|
-
"dataCoverage": { "const": "dataCoverage" }
|
|
186
|
+
"dataCoverage": { "const": "dataCoverage" },
|
|
187
|
+
"vitalsReport": { "const": "vitalsReport" }
|
|
186
188
|
},
|
|
187
189
|
"additionalProperties": false
|
|
188
190
|
},
|
|
189
191
|
"capabilities": {
|
|
190
192
|
"type": "array",
|
|
191
|
-
"minItems":
|
|
192
|
-
"maxItems":
|
|
193
|
+
"minItems": 12,
|
|
194
|
+
"maxItems": 12,
|
|
193
195
|
"uniqueItems": true,
|
|
194
196
|
"items": {
|
|
195
197
|
"enum": [
|
|
@@ -203,7 +205,8 @@
|
|
|
203
205
|
"goals",
|
|
204
206
|
"funnels",
|
|
205
207
|
"affiliates",
|
|
206
|
-
"dataCoverage"
|
|
208
|
+
"dataCoverage",
|
|
209
|
+
"vitals"
|
|
207
210
|
]
|
|
208
211
|
}
|
|
209
212
|
},
|
|
@@ -14,6 +14,27 @@ export declare const FEDERATED_ANALYTICS_ERROR_CODES: Readonly<{
|
|
|
14
14
|
readonly INVALID_SCOPE: "FEDERATION_INVALID_SCOPE";
|
|
15
15
|
readonly SITE_DENIED: "FEDERATION_SITE_DENIED";
|
|
16
16
|
}>;
|
|
17
|
+
/**
|
|
18
|
+
* The protocol-v1 baseline every compatible host must serve. Newer hosts may
|
|
19
|
+
* advertise more functions and capabilities; a dashboard must require only
|
|
20
|
+
* this frozen set, or older hosts would fail verification on every addition.
|
|
21
|
+
*/
|
|
22
|
+
export declare const FEDERATED_ANALYTICS_REQUIRED_FUNCTIONS: Readonly<{
|
|
23
|
+
readonly manifest: "manifest";
|
|
24
|
+
readonly connectionStatus: "connectionStatus";
|
|
25
|
+
readonly listSites: "listSites";
|
|
26
|
+
readonly overview: "overview";
|
|
27
|
+
readonly liveVisitors: "liveVisitors";
|
|
28
|
+
readonly listSessions: "listSessions";
|
|
29
|
+
readonly sessionJourney: "sessionJourney";
|
|
30
|
+
readonly listConversions: "listConversions";
|
|
31
|
+
readonly visitorJourney: "visitorJourney";
|
|
32
|
+
readonly goalsReport: "goalsReport";
|
|
33
|
+
readonly funnelsReport: "funnelsReport";
|
|
34
|
+
readonly affiliatesReport: "affiliatesReport";
|
|
35
|
+
readonly dataCoverage: "dataCoverage";
|
|
36
|
+
}>;
|
|
37
|
+
export declare const FEDERATED_ANALYTICS_REQUIRED_CAPABILITIES: readonly ["siteSummaries", "overview", "liveVisitors", "sessions", "sessionJourney", "conversions", "visitorJourney", "goals", "funnels", "affiliates", "dataCoverage"];
|
|
17
38
|
export declare const FEDERATED_ANALYTICS_CONNECTOR_MANIFEST: Readonly<{
|
|
18
39
|
readonly protocol: "amage-rastro-analytics";
|
|
19
40
|
readonly protocolVersion: 1;
|
|
@@ -32,8 +53,9 @@ export declare const FEDERATED_ANALYTICS_CONNECTOR_MANIFEST: Readonly<{
|
|
|
32
53
|
readonly funnelsReport: "funnelsReport";
|
|
33
54
|
readonly affiliatesReport: "affiliatesReport";
|
|
34
55
|
readonly dataCoverage: "dataCoverage";
|
|
56
|
+
readonly vitalsReport: "vitalsReport";
|
|
35
57
|
}>;
|
|
36
|
-
readonly capabilities: readonly ["siteSummaries", "overview", "liveVisitors", "sessions", "sessionJourney", "conversions", "visitorJourney", "goals", "funnels", "affiliates", "dataCoverage"];
|
|
58
|
+
readonly capabilities: readonly ["siteSummaries", "overview", "liveVisitors", "sessions", "sessionJourney", "conversions", "visitorJourney", "goals", "funnels", "affiliates", "dataCoverage", "vitals"];
|
|
37
59
|
readonly limits: Readonly<{
|
|
38
60
|
readonly maxSitesPerRequest: 10;
|
|
39
61
|
readonly maxSitesPerConnection: 10;
|
|
@@ -75,7 +97,7 @@ export interface FederatedAnalyticsAuthorizerOptions {
|
|
|
75
97
|
resolveConnection: ResolveFederatedAnalyticsConnection;
|
|
76
98
|
}
|
|
77
99
|
export declare const federatedAnalyticsManifestValidator: import("convex/values").VObject<{
|
|
78
|
-
capabilities: ("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney")[];
|
|
100
|
+
capabilities: ("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney" | "vitals")[];
|
|
79
101
|
functions: {
|
|
80
102
|
affiliatesReport: "affiliatesReport";
|
|
81
103
|
connectionStatus: "connectionStatus";
|
|
@@ -90,6 +112,7 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
90
112
|
overview: "overview";
|
|
91
113
|
sessionJourney: "sessionJourney";
|
|
92
114
|
visitorJourney: "visitorJourney";
|
|
115
|
+
vitalsReport: "vitalsReport";
|
|
93
116
|
};
|
|
94
117
|
limits: {
|
|
95
118
|
maxJourneyEvents: number;
|
|
@@ -119,6 +142,7 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
119
142
|
overview: "overview";
|
|
120
143
|
sessionJourney: "sessionJourney";
|
|
121
144
|
visitorJourney: "visitorJourney";
|
|
145
|
+
vitalsReport: "vitalsReport";
|
|
122
146
|
}, {
|
|
123
147
|
manifest: import("convex/values").VLiteral<"manifest", "required">;
|
|
124
148
|
connectionStatus: import("convex/values").VLiteral<"connectionStatus", "required">;
|
|
@@ -133,8 +157,9 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
133
157
|
funnelsReport: import("convex/values").VLiteral<"funnelsReport", "required">;
|
|
134
158
|
affiliatesReport: import("convex/values").VLiteral<"affiliatesReport", "required">;
|
|
135
159
|
dataCoverage: import("convex/values").VLiteral<"dataCoverage", "required">;
|
|
136
|
-
|
|
137
|
-
|
|
160
|
+
vitalsReport: import("convex/values").VLiteral<"vitalsReport", "required">;
|
|
161
|
+
}, "required", "affiliatesReport" | "connectionStatus" | "dataCoverage" | "funnelsReport" | "goalsReport" | "listConversions" | "listSessions" | "listSites" | "liveVisitors" | "manifest" | "overview" | "sessionJourney" | "visitorJourney" | "vitalsReport">;
|
|
162
|
+
capabilities: import("convex/values").VArray<("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney" | "vitals")[], import("convex/values").VUnion<"affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney" | "vitals", [import("convex/values").VLiteral<"siteSummaries", "required">, import("convex/values").VLiteral<"overview", "required">, import("convex/values").VLiteral<"liveVisitors", "required">, import("convex/values").VLiteral<"sessions", "required">, import("convex/values").VLiteral<"sessionJourney", "required">, import("convex/values").VLiteral<"conversions", "required">, import("convex/values").VLiteral<"visitorJourney", "required">, import("convex/values").VLiteral<"goals", "required">, import("convex/values").VLiteral<"funnels", "required">, import("convex/values").VLiteral<"affiliates", "required">, import("convex/values").VLiteral<"dataCoverage", "required">, import("convex/values").VLiteral<"vitals", "required">], "required", never>, "required">;
|
|
138
163
|
limits: import("convex/values").VObject<{
|
|
139
164
|
maxJourneyEvents: number;
|
|
140
165
|
maxLiveVisitors: number;
|
|
@@ -148,16 +173,16 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
148
173
|
maxLiveVisitors: import("convex/values").VFloat64<number, "required">;
|
|
149
174
|
maxJourneyEvents: import("convex/values").VFloat64<number, "required">;
|
|
150
175
|
}, "required", "maxJourneyEvents" | "maxLiveVisitors" | "maxReportRangeDays" | "maxSitesPerConnection" | "maxSitesPerRequest">;
|
|
151
|
-
}, "required", "capabilities" | "functions" | "functions.affiliatesReport" | "functions.connectionStatus" | "functions.dataCoverage" | "functions.funnelsReport" | "functions.goalsReport" | "functions.listConversions" | "functions.listSessions" | "functions.listSites" | "functions.liveVisitors" | "functions.manifest" | "functions.overview" | "functions.sessionJourney" | "functions.visitorJourney" | "limits" | "limits.maxJourneyEvents" | "limits.maxLiveVisitors" | "limits.maxReportRangeDays" | "limits.maxSitesPerConnection" | "limits.maxSitesPerRequest" | "moduleName" | "protocol" | "protocolVersion">;
|
|
176
|
+
}, "required", "capabilities" | "functions" | "functions.affiliatesReport" | "functions.connectionStatus" | "functions.dataCoverage" | "functions.funnelsReport" | "functions.goalsReport" | "functions.listConversions" | "functions.listSessions" | "functions.listSites" | "functions.liveVisitors" | "functions.manifest" | "functions.overview" | "functions.sessionJourney" | "functions.visitorJourney" | "functions.vitalsReport" | "limits" | "limits.maxJourneyEvents" | "limits.maxLiveVisitors" | "limits.maxReportRangeDays" | "limits.maxSitesPerConnection" | "limits.maxSitesPerRequest" | "moduleName" | "protocol" | "protocolVersion">;
|
|
152
177
|
export declare const federatedAnalyticsConnectionStatusValidator: import("convex/values").VObject<{
|
|
153
|
-
capabilities: ("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney")[];
|
|
178
|
+
capabilities: ("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney" | "vitals")[];
|
|
154
179
|
protocolVersion: 1;
|
|
155
180
|
siteCount: number;
|
|
156
181
|
status: "connected";
|
|
157
182
|
}, {
|
|
158
183
|
status: import("convex/values").VLiteral<"connected", "required">;
|
|
159
184
|
protocolVersion: import("convex/values").VLiteral<1, "required">;
|
|
160
|
-
capabilities: import("convex/values").VArray<("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney")[], import("convex/values").VUnion<"affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney", [import("convex/values").VLiteral<"siteSummaries", "required">, import("convex/values").VLiteral<"overview", "required">, import("convex/values").VLiteral<"liveVisitors", "required">, import("convex/values").VLiteral<"sessions", "required">, import("convex/values").VLiteral<"sessionJourney", "required">, import("convex/values").VLiteral<"conversions", "required">, import("convex/values").VLiteral<"visitorJourney", "required">, import("convex/values").VLiteral<"goals", "required">, import("convex/values").VLiteral<"funnels", "required">, import("convex/values").VLiteral<"affiliates", "required">, import("convex/values").VLiteral<"dataCoverage", "required">], "required", never>, "required">;
|
|
185
|
+
capabilities: import("convex/values").VArray<("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney" | "vitals")[], import("convex/values").VUnion<"affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney" | "vitals", [import("convex/values").VLiteral<"siteSummaries", "required">, import("convex/values").VLiteral<"overview", "required">, import("convex/values").VLiteral<"liveVisitors", "required">, import("convex/values").VLiteral<"sessions", "required">, import("convex/values").VLiteral<"sessionJourney", "required">, import("convex/values").VLiteral<"conversions", "required">, import("convex/values").VLiteral<"visitorJourney", "required">, import("convex/values").VLiteral<"goals", "required">, import("convex/values").VLiteral<"funnels", "required">, import("convex/values").VLiteral<"affiliates", "required">, import("convex/values").VLiteral<"dataCoverage", "required">, import("convex/values").VLiteral<"vitals", "required">], "required", never>, "required">;
|
|
161
186
|
siteCount: import("convex/values").VFloat64<number, "required">;
|
|
162
187
|
}, "required", "capabilities" | "protocolVersion" | "siteCount" | "status">;
|
|
163
188
|
export declare const federatedSiteSummaryValidator: import("convex/values").VObject<{
|
|
@@ -191,8 +216,9 @@ export declare function createFederatedAnalyticsManifest(): {
|
|
|
191
216
|
funnelsReport: "funnelsReport";
|
|
192
217
|
affiliatesReport: "affiliatesReport";
|
|
193
218
|
dataCoverage: "dataCoverage";
|
|
219
|
+
vitalsReport: "vitalsReport";
|
|
194
220
|
};
|
|
195
|
-
capabilities: ("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney")[];
|
|
221
|
+
capabilities: ("affiliates" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "overview" | "sessionJourney" | "sessions" | "siteSummaries" | "visitorJourney" | "vitals")[];
|
|
196
222
|
limits: {
|
|
197
223
|
maxSitesPerRequest: 10;
|
|
198
224
|
maxSitesPerConnection: 10;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/client/federation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQlD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,eAAO,MAAM,0BAA0B;2BACvB,sBAAsB;6BACpB,wBAAwB;0BAC3B,oBAAoB;EACxB,CAAC;AAEZ,eAAO,MAAM,mCAAmC,mBAAmB,CAAC;AAEpE,eAAO,MAAM,+BAA+B;8BACzB,4BAA4B;8BAC5B,4BAA4B;6BAC7B,2BAA2B;gCACxB,8BAA8B;4BAClC,0BAA0B;0BAC5B,wBAAwB;EAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/client/federation.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,12 @@ export const FEDERATED_ANALYTICS_ERROR_CODES = Object.freeze({
|
|
|
15
15
|
SITE_DENIED: "FEDERATION_SITE_DENIED",
|
|
16
16
|
});
|
|
17
17
|
const MAX_CONNECTION_SITE_IDS = MAX_REPORT_SITES;
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* The protocol-v1 baseline every compatible host must serve. Newer hosts may
|
|
20
|
+
* advertise more functions and capabilities; a dashboard must require only
|
|
21
|
+
* this frozen set, or older hosts would fail verification on every addition.
|
|
22
|
+
*/
|
|
23
|
+
export const FEDERATED_ANALYTICS_REQUIRED_FUNCTIONS = Object.freeze({
|
|
19
24
|
manifest: "manifest",
|
|
20
25
|
connectionStatus: "connectionStatus",
|
|
21
26
|
listSites: "listSites",
|
|
@@ -30,7 +35,7 @@ const FEDERATED_ANALYTICS_FUNCTION_NAMES = Object.freeze({
|
|
|
30
35
|
affiliatesReport: "affiliatesReport",
|
|
31
36
|
dataCoverage: "dataCoverage",
|
|
32
37
|
});
|
|
33
|
-
const
|
|
38
|
+
export const FEDERATED_ANALYTICS_REQUIRED_CAPABILITIES = Object.freeze([
|
|
34
39
|
"siteSummaries",
|
|
35
40
|
"overview",
|
|
36
41
|
"liveVisitors",
|
|
@@ -43,6 +48,14 @@ const FEDERATED_ANALYTICS_CAPABILITIES = Object.freeze([
|
|
|
43
48
|
"affiliates",
|
|
44
49
|
"dataCoverage",
|
|
45
50
|
]);
|
|
51
|
+
const FEDERATED_ANALYTICS_FUNCTION_NAMES = Object.freeze({
|
|
52
|
+
...FEDERATED_ANALYTICS_REQUIRED_FUNCTIONS,
|
|
53
|
+
vitalsReport: "vitalsReport",
|
|
54
|
+
});
|
|
55
|
+
const FEDERATED_ANALYTICS_CAPABILITIES = Object.freeze([
|
|
56
|
+
...FEDERATED_ANALYTICS_REQUIRED_CAPABILITIES,
|
|
57
|
+
"vitals",
|
|
58
|
+
]);
|
|
46
59
|
const FEDERATED_ANALYTICS_LIMITS = Object.freeze({
|
|
47
60
|
maxSitesPerRequest: MAX_REPORT_SITES,
|
|
48
61
|
maxSitesPerConnection: MAX_CONNECTION_SITE_IDS,
|
|
@@ -60,7 +73,7 @@ export const FEDERATED_ANALYTICS_CONNECTOR_MANIFEST = Object.freeze({
|
|
|
60
73
|
});
|
|
61
74
|
const MAX_CLAIM_LENGTH = 128;
|
|
62
75
|
const MAX_PERMISSIONS = 16;
|
|
63
|
-
const federatedAnalyticsCapabilityValidator = v.union(v.literal("siteSummaries"), v.literal("overview"), v.literal("liveVisitors"), v.literal("sessions"), v.literal("sessionJourney"), v.literal("conversions"), v.literal("visitorJourney"), v.literal("goals"), v.literal("funnels"), v.literal("affiliates"), v.literal("dataCoverage"));
|
|
76
|
+
const federatedAnalyticsCapabilityValidator = v.union(v.literal("siteSummaries"), v.literal("overview"), v.literal("liveVisitors"), v.literal("sessions"), v.literal("sessionJourney"), v.literal("conversions"), v.literal("visitorJourney"), v.literal("goals"), v.literal("funnels"), v.literal("affiliates"), v.literal("dataCoverage"), v.literal("vitals"));
|
|
64
77
|
export const federatedAnalyticsManifestValidator = v.object({
|
|
65
78
|
protocol: v.literal(FEDERATED_ANALYTICS_CONNECTOR_MANIFEST.protocol),
|
|
66
79
|
protocolVersion: v.literal(FEDERATED_ANALYTICS_CONNECTOR_MANIFEST.protocolVersion),
|
|
@@ -79,6 +92,7 @@ export const federatedAnalyticsManifestValidator = v.object({
|
|
|
79
92
|
funnelsReport: v.literal("funnelsReport"),
|
|
80
93
|
affiliatesReport: v.literal("affiliatesReport"),
|
|
81
94
|
dataCoverage: v.literal("dataCoverage"),
|
|
95
|
+
vitalsReport: v.literal("vitalsReport"),
|
|
82
96
|
}),
|
|
83
97
|
capabilities: v.array(federatedAnalyticsCapabilityValidator),
|
|
84
98
|
limits: v.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/client/federation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;IACtD,YAAY,EAAE,sBAAsB;IACpC,cAAc,EAAE,wBAAwB;IACxC,WAAW,EAAE,oBAAoB;CACzB,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,mCAAmC,GAAG,gBAAgB,CAAC;AAEpE,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3D,eAAe,EAAE,4BAA4B;IAC7C,eAAe,EAAE,4BAA4B;IAC7C,cAAc,EAAE,2BAA2B;IAC3C,iBAAiB,EAAE,8BAA8B;IACjD,aAAa,EAAE,0BAA0B;IACzC,WAAW,EAAE,wBAAwB;CAC7B,CAAC,CAAC;AAEZ,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AACjD,MAAM,
|
|
1
|
+
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/client/federation.ts"],"names":[],"mappings":"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"}
|