@iann29/rastro 0.1.0 → 0.3.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.
- package/README.md +18 -15
- package/agent/integration.md +4 -0
- package/agent/manifest.json +8 -4
- package/agent/manifest.schema.json +7 -1
- package/dist/client/federation.d.ts +37 -11
- package/dist/client/federation.d.ts.map +1 -1
- package/dist/client/federation.js +80 -4
- package/dist/client/federation.js.map +1 -1
- package/dist/client/index.d.ts +140 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +38 -5
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/component.d.ts +45 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/ingest.d.ts.map +1 -1
- package/dist/component/ingest.js +19 -6
- package/dist/component/ingest.js.map +1 -1
- package/dist/component/reports.d.ts +47 -0
- package/dist/component/reports.d.ts.map +1 -1
- package/dist/component/reports.js +75 -0
- package/dist/component/reports.js.map +1 -1
- package/dist/tracker/generated.d.ts +1 -1
- package/dist/tracker/generated.js +1 -1
- package/docs/federation-setup.md +63 -0
- package/docs/federation.md +9 -1
- package/docs/upgrading.md +51 -0
- package/package.json +1 -1
- package/src/component/_generated/component.ts +48 -0
- package/src/component/ingest.ts +30 -6
- package/src/component/reports.ts +96 -0
- package/src/tracker/generated.ts +1 -1
package/README.md
CHANGED
|
@@ -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.
|
|
85
|
+
The untagged npm `latest` channel is `0.3.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
|
|
@@ -659,6 +659,8 @@ const analytics = new Rastro(components.rastroAnalytics);
|
|
|
659
659
|
export const {
|
|
660
660
|
overview,
|
|
661
661
|
liveVisitors,
|
|
662
|
+
getSession,
|
|
663
|
+
revenueSummary,
|
|
662
664
|
listSessions,
|
|
663
665
|
sessionJourney,
|
|
664
666
|
listConversions,
|
|
@@ -764,19 +766,19 @@ sessions from the same device and network within one UTC day still fold into one
|
|
|
764
766
|
visitor through a salted daily key; runtimes without a client IP fall back to
|
|
765
767
|
one visitor per session, which `/rastro/health` reports as
|
|
766
768
|
`uniqueVisitors: "session"` instead of `"dailyHash"`. Breakdown metadata says
|
|
767
|
-
what each ranking counts: pages by pageviews and sources, campaigns,
|
|
768
|
-
devices, and browsers by sessions once every bucket in the range
|
|
769
|
-
counters (recorded since alpha.11), and raw event volume for
|
|
770
|
-
back before them; events
|
|
771
|
-
counters recorded since the same stamp —
|
|
772
|
-
reached a second pageview, and first-ever
|
|
773
|
-
`metadata.engagement` reports `counted` when the
|
|
774
|
-
rate, average duration, pages per session, and
|
|
775
|
-
from one response; `unavailable` means the
|
|
776
|
-
counters and those four stay blank. Feature status
|
|
777
|
-
event volume is supported (with `topOutbound` naming
|
|
778
|
-
detection rejects self-declared agents by `User-Agent`,
|
|
779
|
-
error insights are currently unsupported.
|
|
769
|
+
what each ranking counts: pages by pageviews and sources, campaigns, mediums,
|
|
770
|
+
countries, devices, and browsers by sessions once every bucket in the range
|
|
771
|
+
carries those counters (recorded since alpha.11), and raw event volume for
|
|
772
|
+
ranges that reach back before them; events and outbound destinations always rank
|
|
773
|
+
by volume. Totals carry the engagement counters recorded since the same stamp —
|
|
774
|
+
summed session duration, sessions that reached a second pageview, and first-ever
|
|
775
|
+
sessions of a visitor — and `metadata.engagement` reports `counted` when the
|
|
776
|
+
whole range has them, so bounce rate, average duration, pages per session, and
|
|
777
|
+
the share of new visitors derive from one response; `unavailable` means the
|
|
778
|
+
range reaches back before the counters and those four stay blank. Feature status
|
|
779
|
+
is explicit: outbound-link event volume is supported (with `topOutbound` naming
|
|
780
|
+
the destinations), bot detection rejects self-declared agents by `User-Agent`,
|
|
781
|
+
and session replay and error insights are currently unsupported.
|
|
780
782
|
|
|
781
783
|
All report ranges use integer Unix milliseconds with inclusive `from` and `to`
|
|
782
784
|
boundaries, and range metadata reports `boundary: "inclusive"`. Hourly overview
|
|
@@ -1001,7 +1003,8 @@ Amage Rastro's default tracker:
|
|
|
1001
1003
|
or arbitrary page text;
|
|
1002
1004
|
- captures only bounded paths, explicit properties, the visible label of a
|
|
1003
1005
|
clicked link or button (at most 64 characters, replaced by `data-rastro-label`
|
|
1004
|
-
when present), and outbound link origins and pathnames
|
|
1006
|
+
when present), and outbound link origins and pathnames (the overview ranks
|
|
1007
|
+
destinations by host alone);
|
|
1005
1008
|
- strips query strings and fragments from stored paths and links.
|
|
1006
1009
|
|
|
1007
1010
|
The optional Web Vitals module inherits this contract: it reports at most five
|
package/agent/integration.md
CHANGED
|
@@ -493,6 +493,8 @@ export const {
|
|
|
493
493
|
listSites,
|
|
494
494
|
overview,
|
|
495
495
|
liveVisitors,
|
|
496
|
+
getSession,
|
|
497
|
+
revenueSummary,
|
|
496
498
|
listSessions,
|
|
497
499
|
sessionJourney,
|
|
498
500
|
listConversions,
|
|
@@ -552,6 +554,8 @@ permission rejects the token with `FEDERATION_INVALID_CLAIMS`.
|
|
|
552
554
|
| `listSites` | `{}` | Only `siteId`, `name`, `currency`, `timezone`, `cookieless` |
|
|
553
555
|
| `overview` | `siteIds`, `from`, `to`, optional hour/day interval | Aggregate metrics and time series |
|
|
554
556
|
| `liveVisitors` | `siteIds`, `now`, optional limit | At most 500 visitors seen in the last five minutes, with intent facts |
|
|
557
|
+
| `getSession` | one `siteId`, `sessionId` | Selected session metadata, or null when no retained session exists |
|
|
558
|
+
| `revenueSummary` | `siteIds`, inclusive `from`/`to` | Period commissions; pair with overview totals/currency |
|
|
555
559
|
| `listSessions` | one `siteId`, range, `{numItems,cursor}` keyset options | Paginated sessions |
|
|
556
560
|
| `sessionJourney` | one site/session, range, `{numItems,cursor}` options | Paginated bounded events |
|
|
557
561
|
| `listConversions` | one site, range, `{numItems,cursor}` options | Paginated trusted server-side conversion ledger |
|
package/agent/manifest.json
CHANGED
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
"upgrading": "https://www.amagerastro.com/docs/reference/upgrading.md",
|
|
16
16
|
"integrity": {
|
|
17
17
|
"algorithm": "sha256",
|
|
18
|
-
"agent": "
|
|
18
|
+
"agent": "e26de56729dd0b474669d2b40292afb314224200da4e70f6dabd407ce7aea6e7",
|
|
19
19
|
"llms": "08e9581c9ee626642753db971e9c4da22d131ddb62870cca402d2e93ce4f7567",
|
|
20
|
-
"protocol": "
|
|
21
|
-
"setup": "
|
|
22
|
-
"upgrading": "
|
|
20
|
+
"protocol": "f2be7e3db250824d0c1293eb31b2e4514ebed8b21fe4974d4f4797fd86abe04f",
|
|
21
|
+
"setup": "bf2509a87a8eab9c047276b813f029bb2c9ddd58c0e54754432e3fef7891f3c9",
|
|
22
|
+
"upgrading": "a6ed4626b3502a60c646448bdd512ab63e148322e0855ba819a77478db987f8d"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"controlPlane": {
|
|
@@ -68,6 +68,8 @@
|
|
|
68
68
|
"funnelsReport": "funnelsReport",
|
|
69
69
|
"affiliatesReport": "affiliatesReport",
|
|
70
70
|
"dataCoverage": "dataCoverage",
|
|
71
|
+
"getSession": "getSession",
|
|
72
|
+
"revenueSummary": "revenueSummary",
|
|
71
73
|
"vitalsReport": "vitalsReport",
|
|
72
74
|
"siteMap": "siteMap",
|
|
73
75
|
"siteSettings": "siteSettings",
|
|
@@ -97,6 +99,8 @@
|
|
|
97
99
|
"funnels",
|
|
98
100
|
"affiliates",
|
|
99
101
|
"dataCoverage",
|
|
102
|
+
"sessionDetails",
|
|
103
|
+
"revenueSummary",
|
|
100
104
|
"vitals",
|
|
101
105
|
"siteMap",
|
|
102
106
|
"localDays",
|
|
@@ -168,6 +168,8 @@
|
|
|
168
168
|
"funnelsReport",
|
|
169
169
|
"affiliatesReport",
|
|
170
170
|
"dataCoverage",
|
|
171
|
+
"getSession",
|
|
172
|
+
"revenueSummary",
|
|
171
173
|
"vitalsReport",
|
|
172
174
|
"siteMap",
|
|
173
175
|
"siteSettings",
|
|
@@ -199,6 +201,8 @@
|
|
|
199
201
|
"funnelsReport": { "const": "funnelsReport" },
|
|
200
202
|
"affiliatesReport": { "const": "affiliatesReport" },
|
|
201
203
|
"dataCoverage": { "const": "dataCoverage" },
|
|
204
|
+
"getSession": { "const": "getSession" },
|
|
205
|
+
"revenueSummary": { "const": "revenueSummary" },
|
|
202
206
|
"vitalsReport": { "const": "vitalsReport" },
|
|
203
207
|
"siteMap": { "const": "siteMap" },
|
|
204
208
|
"siteSettings": { "const": "siteSettings" },
|
|
@@ -221,7 +225,7 @@
|
|
|
221
225
|
"capabilities": {
|
|
222
226
|
"type": "array",
|
|
223
227
|
"minItems": 15,
|
|
224
|
-
"maxItems":
|
|
228
|
+
"maxItems": 17,
|
|
225
229
|
"uniqueItems": true,
|
|
226
230
|
"items": {
|
|
227
231
|
"enum": [
|
|
@@ -236,6 +240,8 @@
|
|
|
236
240
|
"funnels",
|
|
237
241
|
"affiliates",
|
|
238
242
|
"dataCoverage",
|
|
243
|
+
"sessionDetails",
|
|
244
|
+
"revenueSummary",
|
|
239
245
|
"vitals",
|
|
240
246
|
"siteMap",
|
|
241
247
|
"localDays",
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { UserIdentity } from "convex/server";
|
|
1
|
+
import type { GenericDataModel, GenericMutationCtx, UserIdentity } from "convex/server";
|
|
2
2
|
import type { AnalyticsAuthorizationContext } from "./index.js";
|
|
3
3
|
export declare const FEDERATED_ANALYTICS_CLAIMS: Readonly<{
|
|
4
4
|
readonly connectionId: "rastro_connection_id";
|
|
5
5
|
readonly organizationId: "rastro_organization_id";
|
|
6
6
|
readonly permissions: "rastro_permissions";
|
|
7
|
+
readonly version: "rastro_connection_version";
|
|
8
|
+
readonly transferTo: "rastro_transfer_to";
|
|
7
9
|
/**
|
|
8
10
|
* Optional: the sites the token may read, a subset of the grant. A public
|
|
9
11
|
* link's token carries the sites the link was created for.
|
|
@@ -126,10 +128,12 @@ export declare const FEDERATED_ANALYTICS_CONNECTOR_MANIFEST: Readonly<{
|
|
|
126
128
|
readonly retentionStatus: "retentionStatus";
|
|
127
129
|
readonly setRetentionPolicy: "setRetentionPolicy";
|
|
128
130
|
readonly disableRetentionPolicy: "disableRetentionPolicy";
|
|
131
|
+
readonly getSession: "getSession";
|
|
132
|
+
readonly revenueSummary: "revenueSummary";
|
|
129
133
|
readonly vitalsReport: "vitalsReport";
|
|
130
134
|
readonly siteMap: "siteMap";
|
|
131
135
|
}>;
|
|
132
|
-
readonly capabilities: readonly ["siteSummaries", "overview", "liveVisitors", "sessions", "sessionJourney", "conversions", "visitorJourney", "goals", "funnels", "affiliates", "dataCoverage", "vitals", "siteMap", "localDays", "configure"];
|
|
136
|
+
readonly capabilities: readonly ["siteSummaries", "overview", "liveVisitors", "sessions", "sessionJourney", "conversions", "visitorJourney", "goals", "funnels", "affiliates", "dataCoverage", "sessionDetails", "revenueSummary", "vitals", "siteMap", "localDays", "configure"];
|
|
133
137
|
readonly limits: Readonly<{
|
|
134
138
|
readonly maxSitesPerRequest: 10;
|
|
135
139
|
readonly maxSitesPerConnection: 10;
|
|
@@ -139,12 +143,14 @@ export declare const FEDERATED_ANALYTICS_CONNECTOR_MANIFEST: Readonly<{
|
|
|
139
143
|
}>;
|
|
140
144
|
}>;
|
|
141
145
|
export type FederatedAnalyticsErrorCode = (typeof FEDERATED_ANALYTICS_ERROR_CODES)[keyof typeof FEDERATED_ANALYTICS_ERROR_CODES];
|
|
142
|
-
export type FederatedAnalyticsCapability = (typeof FEDERATED_ANALYTICS_CONNECTOR_MANIFEST.capabilities)[number];
|
|
146
|
+
export type FederatedAnalyticsCapability = (typeof FEDERATED_ANALYTICS_CONNECTOR_MANIFEST.capabilities)[number] | "transfer";
|
|
143
147
|
export type FederatedAnalyticsPermission = (typeof FEDERATED_ANALYTICS_PERMISSIONS)[number];
|
|
144
148
|
export type FederatedAnalyticsManifest = ReturnType<typeof createFederatedAnalyticsManifest>;
|
|
145
149
|
export interface FederatedAnalyticsConnection {
|
|
146
150
|
connectionId: string;
|
|
147
151
|
organizationId: string;
|
|
152
|
+
/** Incremented on transfer, invalidating tokens even after a round trip. */
|
|
153
|
+
version?: number;
|
|
148
154
|
siteIds: readonly string[];
|
|
149
155
|
/**
|
|
150
156
|
* What the host lets this connection do. Absent means read only; listing
|
|
@@ -192,16 +198,23 @@ export type ResolveFederatedAnalyticsConnection = (ctx: AnalyticsAuthorizationCo
|
|
|
192
198
|
export interface FederatedAnalyticsAuthorizerOptions {
|
|
193
199
|
issuer: string;
|
|
194
200
|
resolveConnection: ResolveFederatedAnalyticsConnection;
|
|
201
|
+
/** Opt in by atomically persisting both fields on the authoritative grant. */
|
|
202
|
+
transferConnection?: (ctx: GenericMutationCtx<GenericDataModel>, connection: {
|
|
203
|
+
connectionId: string;
|
|
204
|
+
organizationId: string;
|
|
205
|
+
version: number;
|
|
206
|
+
}) => Promise<void>;
|
|
195
207
|
}
|
|
196
208
|
export declare const federatedAnalyticsPermissionValidator: import("convex/values").VUnion<"analytics:configure" | "analytics:public" | "analytics:read", [import("convex/values").VLiteral<"analytics:read", "required">, import("convex/values").VLiteral<"analytics:configure", "required">, import("convex/values").VLiteral<"analytics:public", "required">], "required", never>;
|
|
197
209
|
export declare const federatedAnalyticsManifestValidator: import("convex/values").VObject<{
|
|
198
|
-
capabilities: ("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "visitorJourney" | "vitals")[];
|
|
210
|
+
capabilities: ("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "revenueSummary" | "sessionDetails" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "transfer" | "visitorJourney" | "vitals")[];
|
|
199
211
|
functions: {
|
|
200
212
|
affiliatesReport: "affiliatesReport";
|
|
201
213
|
connectionStatus: "connectionStatus";
|
|
202
214
|
dataCoverage: "dataCoverage";
|
|
203
215
|
disableRetentionPolicy: "disableRetentionPolicy";
|
|
204
216
|
funnelsReport: "funnelsReport";
|
|
217
|
+
getSession: "getSession";
|
|
205
218
|
goalsReport: "goalsReport";
|
|
206
219
|
listAffiliates: "listAffiliates";
|
|
207
220
|
listConversions: "listConversions";
|
|
@@ -216,10 +229,12 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
216
229
|
removeFunnel: "removeFunnel";
|
|
217
230
|
removeGoal: "removeGoal";
|
|
218
231
|
retentionStatus: "retentionStatus";
|
|
232
|
+
revenueSummary: "revenueSummary";
|
|
219
233
|
sessionJourney: "sessionJourney";
|
|
220
234
|
setRetentionPolicy: "setRetentionPolicy";
|
|
221
235
|
siteMap: "siteMap";
|
|
222
236
|
siteSettings: "siteSettings";
|
|
237
|
+
transferConnection?: "transferConnection" | undefined;
|
|
223
238
|
updateSite: "updateSite";
|
|
224
239
|
upsertAffiliate: "upsertAffiliate";
|
|
225
240
|
upsertFunnel: "upsertFunnel";
|
|
@@ -247,6 +262,7 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
247
262
|
dataCoverage: "dataCoverage";
|
|
248
263
|
disableRetentionPolicy: "disableRetentionPolicy";
|
|
249
264
|
funnelsReport: "funnelsReport";
|
|
265
|
+
getSession: "getSession";
|
|
250
266
|
goalsReport: "goalsReport";
|
|
251
267
|
listAffiliates: "listAffiliates";
|
|
252
268
|
listConversions: "listConversions";
|
|
@@ -261,10 +277,12 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
261
277
|
removeFunnel: "removeFunnel";
|
|
262
278
|
removeGoal: "removeGoal";
|
|
263
279
|
retentionStatus: "retentionStatus";
|
|
280
|
+
revenueSummary: "revenueSummary";
|
|
264
281
|
sessionJourney: "sessionJourney";
|
|
265
282
|
setRetentionPolicy: "setRetentionPolicy";
|
|
266
283
|
siteMap: "siteMap";
|
|
267
284
|
siteSettings: "siteSettings";
|
|
285
|
+
transferConnection?: "transferConnection" | undefined;
|
|
268
286
|
updateSite: "updateSite";
|
|
269
287
|
upsertAffiliate: "upsertAffiliate";
|
|
270
288
|
upsertFunnel: "upsertFunnel";
|
|
@@ -285,6 +303,8 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
285
303
|
funnelsReport: import("convex/values").VLiteral<"funnelsReport", "required">;
|
|
286
304
|
affiliatesReport: import("convex/values").VLiteral<"affiliatesReport", "required">;
|
|
287
305
|
dataCoverage: import("convex/values").VLiteral<"dataCoverage", "required">;
|
|
306
|
+
getSession: import("convex/values").VLiteral<"getSession", "required">;
|
|
307
|
+
revenueSummary: import("convex/values").VLiteral<"revenueSummary", "required">;
|
|
288
308
|
vitalsReport: import("convex/values").VLiteral<"vitalsReport", "required">;
|
|
289
309
|
siteMap: import("convex/values").VLiteral<"siteMap", "required">;
|
|
290
310
|
siteSettings: import("convex/values").VLiteral<"siteSettings", "required">;
|
|
@@ -301,8 +321,9 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
301
321
|
retentionStatus: import("convex/values").VLiteral<"retentionStatus", "required">;
|
|
302
322
|
setRetentionPolicy: import("convex/values").VLiteral<"setRetentionPolicy", "required">;
|
|
303
323
|
disableRetentionPolicy: import("convex/values").VLiteral<"disableRetentionPolicy", "required">;
|
|
304
|
-
|
|
305
|
-
|
|
324
|
+
transferConnection: import("convex/values").VLiteral<"transferConnection" | undefined, "optional">;
|
|
325
|
+
}, "required", "affiliatesReport" | "connectionStatus" | "dataCoverage" | "disableRetentionPolicy" | "funnelsReport" | "getSession" | "goalsReport" | "listAffiliates" | "listConversions" | "listFunnels" | "listGoals" | "listSessions" | "listSites" | "liveVisitors" | "manifest" | "overview" | "removeAffiliate" | "removeFunnel" | "removeGoal" | "retentionStatus" | "revenueSummary" | "sessionJourney" | "setRetentionPolicy" | "siteMap" | "siteSettings" | "transferConnection" | "updateSite" | "upsertAffiliate" | "upsertFunnel" | "upsertGoal" | "visitorJourney" | "vitalsReport">;
|
|
326
|
+
capabilities: import("convex/values").VArray<("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "revenueSummary" | "sessionDetails" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "transfer" | "visitorJourney" | "vitals")[], import("convex/values").VUnion<"affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "revenueSummary" | "sessionDetails" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "transfer" | "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<"sessionDetails", "required">, import("convex/values").VLiteral<"revenueSummary", "required">, import("convex/values").VLiteral<"vitals", "required">, import("convex/values").VLiteral<"siteMap", "required">, import("convex/values").VLiteral<"localDays", "required">, import("convex/values").VLiteral<"configure", "required">, import("convex/values").VLiteral<"transfer", "required">], "required", never>, "required">;
|
|
306
327
|
limits: import("convex/values").VObject<{
|
|
307
328
|
maxJourneyEvents: number;
|
|
308
329
|
maxLiveVisitors: number;
|
|
@@ -316,9 +337,9 @@ export declare const federatedAnalyticsManifestValidator: import("convex/values"
|
|
|
316
337
|
maxLiveVisitors: import("convex/values").VFloat64<number, "required">;
|
|
317
338
|
maxJourneyEvents: import("convex/values").VFloat64<number, "required">;
|
|
318
339
|
}, "required", "maxJourneyEvents" | "maxLiveVisitors" | "maxReportRangeDays" | "maxSitesPerConnection" | "maxSitesPerRequest">;
|
|
319
|
-
}, "required", "capabilities" | "functions" | "functions.affiliatesReport" | "functions.connectionStatus" | "functions.dataCoverage" | "functions.disableRetentionPolicy" | "functions.funnelsReport" | "functions.goalsReport" | "functions.listAffiliates" | "functions.listConversions" | "functions.listFunnels" | "functions.listGoals" | "functions.listSessions" | "functions.listSites" | "functions.liveVisitors" | "functions.manifest" | "functions.overview" | "functions.removeAffiliate" | "functions.removeFunnel" | "functions.removeGoal" | "functions.retentionStatus" | "functions.sessionJourney" | "functions.setRetentionPolicy" | "functions.siteMap" | "functions.siteSettings" | "functions.updateSite" | "functions.upsertAffiliate" | "functions.upsertFunnel" | "functions.upsertGoal" | "functions.visitorJourney" | "functions.vitalsReport" | "limits" | "limits.maxJourneyEvents" | "limits.maxLiveVisitors" | "limits.maxReportRangeDays" | "limits.maxSitesPerConnection" | "limits.maxSitesPerRequest" | "moduleName" | "protocol" | "protocolVersion">;
|
|
340
|
+
}, "required", "capabilities" | "functions" | "functions.affiliatesReport" | "functions.connectionStatus" | "functions.dataCoverage" | "functions.disableRetentionPolicy" | "functions.funnelsReport" | "functions.getSession" | "functions.goalsReport" | "functions.listAffiliates" | "functions.listConversions" | "functions.listFunnels" | "functions.listGoals" | "functions.listSessions" | "functions.listSites" | "functions.liveVisitors" | "functions.manifest" | "functions.overview" | "functions.removeAffiliate" | "functions.removeFunnel" | "functions.removeGoal" | "functions.retentionStatus" | "functions.revenueSummary" | "functions.sessionJourney" | "functions.setRetentionPolicy" | "functions.siteMap" | "functions.siteSettings" | "functions.transferConnection" | "functions.updateSite" | "functions.upsertAffiliate" | "functions.upsertFunnel" | "functions.upsertGoal" | "functions.visitorJourney" | "functions.vitalsReport" | "limits" | "limits.maxJourneyEvents" | "limits.maxLiveVisitors" | "limits.maxReportRangeDays" | "limits.maxSitesPerConnection" | "limits.maxSitesPerRequest" | "moduleName" | "protocol" | "protocolVersion">;
|
|
320
341
|
export declare const federatedAnalyticsConnectionStatusValidator: import("convex/values").VObject<{
|
|
321
|
-
capabilities: ("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "visitorJourney" | "vitals")[];
|
|
342
|
+
capabilities: ("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "revenueSummary" | "sessionDetails" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "transfer" | "visitorJourney" | "vitals")[];
|
|
322
343
|
permissions: ("analytics:configure" | "analytics:public" | "analytics:read")[];
|
|
323
344
|
protocolVersion: 1;
|
|
324
345
|
siteCount: number;
|
|
@@ -326,7 +347,7 @@ export declare const federatedAnalyticsConnectionStatusValidator: import("convex
|
|
|
326
347
|
}, {
|
|
327
348
|
status: import("convex/values").VLiteral<"connected", "required">;
|
|
328
349
|
protocolVersion: import("convex/values").VLiteral<1, "required">;
|
|
329
|
-
capabilities: import("convex/values").VArray<("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "visitorJourney" | "vitals")[], import("convex/values").VUnion<"affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "sessionJourney" | "sessions" | "siteMap" | "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">, import("convex/values").VLiteral<"siteMap", "required">, import("convex/values").VLiteral<"localDays", "required">, import("convex/values").VLiteral<"configure", "required">], "required", never>, "required">;
|
|
350
|
+
capabilities: import("convex/values").VArray<("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "revenueSummary" | "sessionDetails" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "transfer" | "visitorJourney" | "vitals")[], import("convex/values").VUnion<"affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "revenueSummary" | "sessionDetails" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "transfer" | "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<"sessionDetails", "required">, import("convex/values").VLiteral<"revenueSummary", "required">, import("convex/values").VLiteral<"vitals", "required">, import("convex/values").VLiteral<"siteMap", "required">, import("convex/values").VLiteral<"localDays", "required">, import("convex/values").VLiteral<"configure", "required">, import("convex/values").VLiteral<"transfer", "required">], "required", never>, "required">;
|
|
330
351
|
permissions: import("convex/values").VArray<("analytics:configure" | "analytics:public" | "analytics:read")[], import("convex/values").VUnion<"analytics:configure" | "analytics:public" | "analytics:read", [import("convex/values").VLiteral<"analytics:read", "required">, import("convex/values").VLiteral<"analytics:configure", "required">, import("convex/values").VLiteral<"analytics:public", "required">], "required", never>, "required">;
|
|
331
352
|
siteCount: import("convex/values").VFloat64<number, "required">;
|
|
332
353
|
}, "required", "capabilities" | "permissions" | "protocolVersion" | "siteCount" | "status">;
|
|
@@ -373,7 +394,7 @@ export declare const federatedSiteSummaryValidator: import("convex/values").VObj
|
|
|
373
394
|
since: import("convex/values").VFloat64<number, "required">;
|
|
374
395
|
}, "required", "since" | "timezone">, import("convex/values").VNull<null, "required">], "required", "since" | "timezone">;
|
|
375
396
|
}, "required", "cookieless" | "currency" | "localDays" | "localDays.since" | "localDays.timezone" | "name" | "siteId" | "timezone">;
|
|
376
|
-
export declare function createFederatedAnalyticsManifest(): {
|
|
397
|
+
export declare function createFederatedAnalyticsManifest(transfer?: boolean): {
|
|
377
398
|
protocol: "amage-rastro-analytics";
|
|
378
399
|
protocolVersion: 1;
|
|
379
400
|
moduleName: "rastroFederation";
|
|
@@ -405,10 +426,13 @@ export declare function createFederatedAnalyticsManifest(): {
|
|
|
405
426
|
retentionStatus: "retentionStatus";
|
|
406
427
|
setRetentionPolicy: "setRetentionPolicy";
|
|
407
428
|
disableRetentionPolicy: "disableRetentionPolicy";
|
|
429
|
+
getSession: "getSession";
|
|
430
|
+
revenueSummary: "revenueSummary";
|
|
408
431
|
vitalsReport: "vitalsReport";
|
|
409
432
|
siteMap: "siteMap";
|
|
433
|
+
transferConnection?: "transferConnection" | undefined;
|
|
410
434
|
};
|
|
411
|
-
capabilities: ("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "visitorJourney" | "vitals")[];
|
|
435
|
+
capabilities: ("affiliates" | "configure" | "conversions" | "dataCoverage" | "funnels" | "goals" | "liveVisitors" | "localDays" | "overview" | "revenueSummary" | "sessionDetails" | "sessionJourney" | "sessions" | "siteMap" | "siteSummaries" | "transfer" | "visitorJourney" | "vitals")[];
|
|
412
436
|
limits: {
|
|
413
437
|
maxSitesPerRequest: 10;
|
|
414
438
|
maxSitesPerConnection: 10;
|
|
@@ -418,4 +442,6 @@ export declare function createFederatedAnalyticsManifest(): {
|
|
|
418
442
|
};
|
|
419
443
|
};
|
|
420
444
|
export declare function createFederatedAnalyticsConnectionAuthorizer(options: FederatedAnalyticsAuthorizerOptions): (ctx: AnalyticsAuthorizationContext, requestedSiteIds?: readonly string[], requiredPermission?: FederatedAnalyticsPermission) => Promise<AuthorizedFederatedAnalyticsConnection>;
|
|
445
|
+
/** Only a server-issued, destination-bound intent may change a local grant. */
|
|
446
|
+
export declare function transferFederatedAnalyticsConnection(ctx: GenericMutationCtx<GenericDataModel>, options: FederatedAnalyticsAuthorizerOptions): Promise<null>;
|
|
421
447
|
//# sourceMappingURL=federation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/client/federation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/client/federation.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ export const FEDERATED_ANALYTICS_CLAIMS = Object.freeze({
|
|
|
4
4
|
connectionId: "rastro_connection_id",
|
|
5
5
|
organizationId: "rastro_organization_id",
|
|
6
6
|
permissions: "rastro_permissions",
|
|
7
|
+
version: "rastro_connection_version",
|
|
8
|
+
transferTo: "rastro_transfer_to",
|
|
7
9
|
/**
|
|
8
10
|
* Optional: the sites the token may read, a subset of the grant. A public
|
|
9
11
|
* link's token carries the sites the link was created for.
|
|
@@ -113,12 +115,16 @@ export const FEDERATED_ANALYTICS_PUBLIC_FUNCTIONS = Object.freeze({
|
|
|
113
115
|
});
|
|
114
116
|
const FEDERATED_ANALYTICS_FUNCTION_NAMES = Object.freeze({
|
|
115
117
|
...FEDERATED_ANALYTICS_REQUIRED_FUNCTIONS,
|
|
118
|
+
getSession: "getSession",
|
|
119
|
+
revenueSummary: "revenueSummary",
|
|
116
120
|
vitalsReport: "vitalsReport",
|
|
117
121
|
siteMap: "siteMap",
|
|
118
122
|
...FEDERATED_ANALYTICS_CONFIGURE_FUNCTIONS,
|
|
119
123
|
});
|
|
120
124
|
const FEDERATED_ANALYTICS_CAPABILITIES = Object.freeze([
|
|
121
125
|
...FEDERATED_ANALYTICS_REQUIRED_CAPABILITIES,
|
|
126
|
+
"sessionDetails",
|
|
127
|
+
"revenueSummary",
|
|
122
128
|
"vitals",
|
|
123
129
|
"siteMap",
|
|
124
130
|
// The daily overview answers whole calendar days in the site's timezone
|
|
@@ -143,7 +149,7 @@ export const FEDERATED_ANALYTICS_CONNECTOR_MANIFEST = Object.freeze({
|
|
|
143
149
|
});
|
|
144
150
|
const MAX_CLAIM_LENGTH = 128;
|
|
145
151
|
const MAX_PERMISSIONS = 16;
|
|
146
|
-
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"), v.literal("siteMap"), v.literal("localDays"), v.literal("configure"));
|
|
152
|
+
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("sessionDetails"), v.literal("revenueSummary"), v.literal("vitals"), v.literal("siteMap"), v.literal("localDays"), v.literal("configure"), v.literal("transfer"));
|
|
147
153
|
export const federatedAnalyticsPermissionValidator = v.union(v.literal(FEDERATED_ANALYTICS_READ_PERMISSION), v.literal(FEDERATED_ANALYTICS_CONFIGURE_PERMISSION), v.literal(FEDERATED_ANALYTICS_PUBLIC_PERMISSION));
|
|
148
154
|
export const federatedAnalyticsManifestValidator = v.object({
|
|
149
155
|
protocol: v.literal(FEDERATED_ANALYTICS_CONNECTOR_MANIFEST.protocol),
|
|
@@ -163,6 +169,8 @@ export const federatedAnalyticsManifestValidator = v.object({
|
|
|
163
169
|
funnelsReport: v.literal("funnelsReport"),
|
|
164
170
|
affiliatesReport: v.literal("affiliatesReport"),
|
|
165
171
|
dataCoverage: v.literal("dataCoverage"),
|
|
172
|
+
getSession: v.literal("getSession"),
|
|
173
|
+
revenueSummary: v.literal("revenueSummary"),
|
|
166
174
|
vitalsReport: v.literal("vitalsReport"),
|
|
167
175
|
siteMap: v.literal("siteMap"),
|
|
168
176
|
siteSettings: v.literal("siteSettings"),
|
|
@@ -179,6 +187,7 @@ export const federatedAnalyticsManifestValidator = v.object({
|
|
|
179
187
|
retentionStatus: v.literal("retentionStatus"),
|
|
180
188
|
setRetentionPolicy: v.literal("setRetentionPolicy"),
|
|
181
189
|
disableRetentionPolicy: v.literal("disableRetentionPolicy"),
|
|
190
|
+
transferConnection: v.optional(v.literal("transferConnection")),
|
|
182
191
|
}),
|
|
183
192
|
capabilities: v.array(federatedAnalyticsCapabilityValidator),
|
|
184
193
|
limits: v.object({
|
|
@@ -241,11 +250,19 @@ export const federatedSiteSummaryValidator = v.object({
|
|
|
241
250
|
cookieless: v.boolean(),
|
|
242
251
|
localDays: v.union(v.object({ timezone: v.string(), since: v.number() }), v.null()),
|
|
243
252
|
});
|
|
244
|
-
export function createFederatedAnalyticsManifest() {
|
|
253
|
+
export function createFederatedAnalyticsManifest(transfer = false) {
|
|
245
254
|
return {
|
|
246
255
|
...FEDERATED_ANALYTICS_CONNECTOR_MANIFEST,
|
|
247
|
-
functions: {
|
|
248
|
-
|
|
256
|
+
functions: {
|
|
257
|
+
...FEDERATED_ANALYTICS_CONNECTOR_MANIFEST.functions,
|
|
258
|
+
...(transfer
|
|
259
|
+
? { transferConnection: "transferConnection" }
|
|
260
|
+
: {}),
|
|
261
|
+
},
|
|
262
|
+
capabilities: [
|
|
263
|
+
...FEDERATED_ANALYTICS_CONNECTOR_MANIFEST.capabilities,
|
|
264
|
+
...(transfer ? ["transfer"] : []),
|
|
265
|
+
],
|
|
249
266
|
limits: { ...FEDERATED_ANALYTICS_CONNECTOR_MANIFEST.limits },
|
|
250
267
|
};
|
|
251
268
|
}
|
|
@@ -268,8 +285,11 @@ export function createFederatedAnalyticsConnectionAuthorizer(options) {
|
|
|
268
285
|
const organizationId = identity[FEDERATED_ANALYTICS_CLAIMS.organizationId];
|
|
269
286
|
const permissions = identity[FEDERATED_ANALYTICS_CLAIMS.permissions];
|
|
270
287
|
const claimedSiteIds = identity[FEDERATED_ANALYTICS_CLAIMS.siteIds];
|
|
288
|
+
const version = identity[FEDERATED_ANALYTICS_CLAIMS.version] ?? 0;
|
|
271
289
|
if (!isBoundedClaim(connectionId) ||
|
|
272
290
|
!isBoundedClaim(organizationId) ||
|
|
291
|
+
!Number.isSafeInteger(version) ||
|
|
292
|
+
version < 0 ||
|
|
273
293
|
!isStringArray(permissions, MAX_PERMISSIONS) ||
|
|
274
294
|
!(permissions.includes(FEDERATED_ANALYTICS_READ_PERMISSION) ||
|
|
275
295
|
permissions.includes(FEDERATED_ANALYTICS_PUBLIC_PERMISSION)) ||
|
|
@@ -288,6 +308,7 @@ export function createFederatedAnalyticsConnectionAuthorizer(options) {
|
|
|
288
308
|
connection.revokedAt !== undefined ||
|
|
289
309
|
connection.connectionId !== connectionId ||
|
|
290
310
|
connection.organizationId !== organizationId ||
|
|
311
|
+
(connection.version ?? 0) !== version ||
|
|
291
312
|
!isStringArray(connection.siteIds, MAX_CONNECTION_SITE_IDS) ||
|
|
292
313
|
connection.siteIds.length === 0 ||
|
|
293
314
|
new Set(connection.siteIds).size !== connection.siteIds.length ||
|
|
@@ -329,6 +350,61 @@ export function createFederatedAnalyticsConnectionAuthorizer(options) {
|
|
|
329
350
|
return { ...connection, siteIds, effectivePermissions };
|
|
330
351
|
};
|
|
331
352
|
}
|
|
353
|
+
/** Only a server-issued, destination-bound intent may change a local grant. */
|
|
354
|
+
export async function transferFederatedAnalyticsConnection(ctx, options) {
|
|
355
|
+
const identity = await ctx.auth.getUserIdentity();
|
|
356
|
+
const connectionId = identity?.[FEDERATED_ANALYTICS_CLAIMS.connectionId];
|
|
357
|
+
const source = identity?.[FEDERATED_ANALYTICS_CLAIMS.organizationId];
|
|
358
|
+
const target = identity?.[FEDERATED_ANALYTICS_CLAIMS.transferTo];
|
|
359
|
+
const version = identity?.[FEDERATED_ANALYTICS_CLAIMS.version];
|
|
360
|
+
const permissions = identity?.[FEDERATED_ANALYTICS_CLAIMS.permissions];
|
|
361
|
+
if (!options.transferConnection ||
|
|
362
|
+
!identity ||
|
|
363
|
+
identity.issuer !== options.issuer ||
|
|
364
|
+
!isBoundedClaim(connectionId) ||
|
|
365
|
+
!isBoundedClaim(source) ||
|
|
366
|
+
!isBoundedClaim(target) ||
|
|
367
|
+
source === target ||
|
|
368
|
+
typeof version !== "number" ||
|
|
369
|
+
!Number.isSafeInteger(version) ||
|
|
370
|
+
version < 0 ||
|
|
371
|
+
!Number.isSafeInteger(version + 1) ||
|
|
372
|
+
identity[FEDERATED_ANALYTICS_CLAIMS.siteIds] !== undefined ||
|
|
373
|
+
!isStringArray(permissions, MAX_PERMISSIONS) ||
|
|
374
|
+
!permissions.includes(FEDERATED_ANALYTICS_READ_PERMISSION) ||
|
|
375
|
+
!permissions.includes(FEDERATED_ANALYTICS_CONFIGURE_PERMISSION)) {
|
|
376
|
+
fail(FEDERATED_ANALYTICS_ERROR_CODES.CONNECTION_DENIED, "Invalid transfer authorization");
|
|
377
|
+
}
|
|
378
|
+
// A lost response can be retried with the same signed intent. Checking the
|
|
379
|
+
// generation prevents an old intent from replaying after a later transfer.
|
|
380
|
+
const transferred = await options.resolveConnection(ctx, {
|
|
381
|
+
connectionId,
|
|
382
|
+
organizationId: target,
|
|
383
|
+
identity,
|
|
384
|
+
});
|
|
385
|
+
if (transferred?.connectionId === connectionId &&
|
|
386
|
+
transferred.organizationId === target &&
|
|
387
|
+
transferred.version === version + 1 &&
|
|
388
|
+
transferred.revokedAt === undefined)
|
|
389
|
+
return null;
|
|
390
|
+
await createFederatedAnalyticsConnectionAuthorizer(options)(ctx, undefined, FEDERATED_ANALYTICS_CONFIGURE_PERMISSION);
|
|
391
|
+
await options.transferConnection(ctx, {
|
|
392
|
+
connectionId,
|
|
393
|
+
organizationId: target,
|
|
394
|
+
version: version + 1,
|
|
395
|
+
});
|
|
396
|
+
const updated = await options.resolveConnection(ctx, {
|
|
397
|
+
connectionId,
|
|
398
|
+
organizationId: target,
|
|
399
|
+
identity,
|
|
400
|
+
});
|
|
401
|
+
if (updated?.connectionId !== connectionId ||
|
|
402
|
+
updated.organizationId !== target ||
|
|
403
|
+
updated.version !== version + 1) {
|
|
404
|
+
fail(FEDERATED_ANALYTICS_ERROR_CODES.CONNECTION_DENIED, "Transfer callback must persist organization and version");
|
|
405
|
+
}
|
|
406
|
+
return null;
|
|
407
|
+
}
|
|
332
408
|
function isBoundedClaim(value) {
|
|
333
409
|
return (typeof value === "string" &&
|
|
334
410
|
value.length > 0 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/client/federation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../../src/client/federation.ts"],"names":[],"mappings":"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"}
|