@gscdump/contracts 0.37.6 → 0.38.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 +27 -0
- package/dist/_chunks/endpoints.d.mts +4 -4
- package/dist/_chunks/onboarding.mjs +130 -0
- package/dist/_chunks/schemas.d.mts +11 -11
- package/dist/_chunks/schemas.mjs +2 -130
- package/dist/archetypes.d.mts +1 -1
- package/dist/index.mjs +2 -1
- package/dist/partner.mjs +2 -1
- package/dist/v1/index.d.mts +2825 -0
- package/dist/v1/index.mjs +1440 -0
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Shared protocol contracts for gscdump.com integrations.
|
|
4
4
|
|
|
5
|
+
> The executable four-operation public-v1 registry is exported from
|
|
6
|
+
> `@gscdump/contracts/v1`. Existing root route/endpoint exports still describe
|
|
7
|
+
> the legacy host during the release and cutover overlap. See the
|
|
8
|
+
> [v1 contract](../../docs/hosted-api-v1.md) and
|
|
9
|
+
> [producer inventory](../../docs/hosted-api-inventory.md).
|
|
10
|
+
|
|
5
11
|
This package contains types, route metadata, Zod schemas, shared storage/query
|
|
6
12
|
primitives, event names, and contract versions. It has no HTTP client, no
|
|
7
13
|
websocket client, no queueing, and no producer behavior.
|
|
@@ -14,3 +20,24 @@ Used by:
|
|
|
14
20
|
|
|
15
21
|
Producer behavior such as DB reads, auth, queues, webhook delivery, retries,
|
|
16
22
|
and storage remains in gscdump.com.
|
|
23
|
+
|
|
24
|
+
## Public v1 bar
|
|
25
|
+
|
|
26
|
+
Each of the four initial public operations has one executable descriptor covering its
|
|
27
|
+
surface/version, method/path, query or mutation semantics, credential classes,
|
|
28
|
+
static scopes, ownership policy, request/response schemas, consistency,
|
|
29
|
+
idempotency, and errors. V1 has no schema-less descriptor and no two logical
|
|
30
|
+
operations sharing an ambiguous method/path.
|
|
31
|
+
|
|
32
|
+
Response object schemas are additive for consumers: parsers accept unknown
|
|
33
|
+
object keys while validating known fields. Producer contract tests remain
|
|
34
|
+
strict against the documented current schema, and enum values remain closed.
|
|
35
|
+
Every `user_key` query declares primary read consistency with no caller
|
|
36
|
+
override.
|
|
37
|
+
|
|
38
|
+
Realtime contracts cover credential-inferred streams, tickets, frame bounds,
|
|
39
|
+
replay, cumulative ACKs, and resync. A semantic event owns one cursor and a
|
|
40
|
+
`changes[]` list, so one terminal transition can invalidate analytics and
|
|
41
|
+
lifecycle state atomically. Configurable grants and public resource revisions
|
|
42
|
+
are not part of v1; internal RPC/storage revisioning remains a host
|
|
43
|
+
implementation concern.
|
|
@@ -520,8 +520,8 @@ declare const partnerEndpoints: {
|
|
|
520
520
|
intId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
521
521
|
syncStatus: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodEnum<{
|
|
522
522
|
syncing: "syncing";
|
|
523
|
-
pending: "pending";
|
|
524
523
|
error: "error";
|
|
524
|
+
pending: "pending";
|
|
525
525
|
synced: "synced";
|
|
526
526
|
}>>>;
|
|
527
527
|
syncProgress: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -732,8 +732,8 @@ declare const partnerEndpoints: {
|
|
|
732
732
|
siteUrl: import("zod").ZodString;
|
|
733
733
|
syncStatus: import("zod").ZodEnum<{
|
|
734
734
|
syncing: "syncing";
|
|
735
|
-
pending: "pending";
|
|
736
735
|
error: "error";
|
|
736
|
+
pending: "pending";
|
|
737
737
|
synced: "synced";
|
|
738
738
|
idle: "idle";
|
|
739
739
|
}>;
|
|
@@ -756,8 +756,8 @@ declare const partnerEndpoints: {
|
|
|
756
756
|
intId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
757
757
|
syncStatus: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodEnum<{
|
|
758
758
|
syncing: "syncing";
|
|
759
|
-
pending: "pending";
|
|
760
759
|
error: "error";
|
|
760
|
+
pending: "pending";
|
|
761
761
|
synced: "synced";
|
|
762
762
|
}>>>;
|
|
763
763
|
syncProgress: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -809,8 +809,8 @@ declare const partnerEndpoints: {
|
|
|
809
809
|
catalogSiteId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
810
810
|
status: import("zod").ZodEnum<{
|
|
811
811
|
syncing: "syncing";
|
|
812
|
-
pending: "pending";
|
|
813
812
|
error: "error";
|
|
813
|
+
pending: "pending";
|
|
814
814
|
synced: "synced";
|
|
815
815
|
idle: "idle";
|
|
816
816
|
}>;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
const GSCDUMP_ONBOARDING_CONTRACT_VERSION = "2026-05-11";
|
|
2
|
+
const GSCDUMP_REQUIRED_ANALYTICS_SCOPE = "https://www.googleapis.com/auth/webmasters.readonly";
|
|
3
|
+
const GSCDUMP_WRITE_ANALYTICS_SCOPE = "https://www.googleapis.com/auth/webmasters";
|
|
4
|
+
const GSCDUMP_OPTIONAL_INDEXING_SCOPE = "https://www.googleapis.com/auth/indexing";
|
|
5
|
+
const accountStatuses = [
|
|
6
|
+
"disconnected",
|
|
7
|
+
"oauth_received",
|
|
8
|
+
"scope_missing",
|
|
9
|
+
"refresh_missing",
|
|
10
|
+
"db_provisioning",
|
|
11
|
+
"ready",
|
|
12
|
+
"reauth_required"
|
|
13
|
+
];
|
|
14
|
+
const accountNextActions = [
|
|
15
|
+
"connect_google",
|
|
16
|
+
"reconnect_google",
|
|
17
|
+
"wait_for_provisioning",
|
|
18
|
+
"none"
|
|
19
|
+
];
|
|
20
|
+
const propertyStatuses = [
|
|
21
|
+
"no_local_site",
|
|
22
|
+
"no_gsc_property",
|
|
23
|
+
"unverified_property",
|
|
24
|
+
"verified_candidate",
|
|
25
|
+
"registered",
|
|
26
|
+
"linked"
|
|
27
|
+
];
|
|
28
|
+
const propertyNextActions = [
|
|
29
|
+
"create_site",
|
|
30
|
+
"verify_gsc_property",
|
|
31
|
+
"choose_property",
|
|
32
|
+
"register_site",
|
|
33
|
+
"none"
|
|
34
|
+
];
|
|
35
|
+
const analyticsStatuses = [
|
|
36
|
+
"not_registered",
|
|
37
|
+
"queued",
|
|
38
|
+
"preparing",
|
|
39
|
+
"syncing",
|
|
40
|
+
"queryable_live",
|
|
41
|
+
"queryable_partial",
|
|
42
|
+
"ready",
|
|
43
|
+
"failed"
|
|
44
|
+
];
|
|
45
|
+
const analyticsNextActions = [
|
|
46
|
+
"wait_for_sync",
|
|
47
|
+
"retry_sync",
|
|
48
|
+
"none"
|
|
49
|
+
];
|
|
50
|
+
const querySourceModes = [
|
|
51
|
+
"none",
|
|
52
|
+
"live",
|
|
53
|
+
"d1",
|
|
54
|
+
"r2",
|
|
55
|
+
"mixed"
|
|
56
|
+
];
|
|
57
|
+
const sitemapStatuses = [
|
|
58
|
+
"unknown",
|
|
59
|
+
"discovering",
|
|
60
|
+
"none_found",
|
|
61
|
+
"auto_submitted",
|
|
62
|
+
"syncing",
|
|
63
|
+
"ready",
|
|
64
|
+
"failed"
|
|
65
|
+
];
|
|
66
|
+
const sitemapNextActions = [
|
|
67
|
+
"submit_sitemap",
|
|
68
|
+
"wait_for_sitemaps",
|
|
69
|
+
"retry_sitemaps",
|
|
70
|
+
"none"
|
|
71
|
+
];
|
|
72
|
+
const indexingStatuses = [
|
|
73
|
+
"not_requested",
|
|
74
|
+
"missing_scope",
|
|
75
|
+
"insufficient_permission",
|
|
76
|
+
"waiting_for_sitemaps",
|
|
77
|
+
"discovering",
|
|
78
|
+
"checking",
|
|
79
|
+
"ready",
|
|
80
|
+
"budget_exhausted",
|
|
81
|
+
"no_urls",
|
|
82
|
+
"failed"
|
|
83
|
+
];
|
|
84
|
+
const indexingNextActions = [
|
|
85
|
+
"reconnect_google",
|
|
86
|
+
"fix_gsc_permission",
|
|
87
|
+
"wait_for_sitemaps",
|
|
88
|
+
"wait_for_indexing",
|
|
89
|
+
"retry_indexing",
|
|
90
|
+
"none"
|
|
91
|
+
];
|
|
92
|
+
const lifecycleWebhookEvents = [
|
|
93
|
+
"user.lifecycle.changed",
|
|
94
|
+
"site.lifecycle.changed",
|
|
95
|
+
"site.analytics.ready",
|
|
96
|
+
"site.indexing.ready",
|
|
97
|
+
"site.auth.failed",
|
|
98
|
+
"job.failed"
|
|
99
|
+
];
|
|
100
|
+
const lifecycleErrorCodes = [
|
|
101
|
+
"missing_refresh_token",
|
|
102
|
+
"missing_analytics_scope",
|
|
103
|
+
"missing_indexing_scope",
|
|
104
|
+
"token_refresh_failed",
|
|
105
|
+
"permission_lost",
|
|
106
|
+
"insufficient_gsc_permission",
|
|
107
|
+
"gsc_property_not_found",
|
|
108
|
+
"gsc_property_unverified",
|
|
109
|
+
"user_database_not_provisioned",
|
|
110
|
+
"sync_failed",
|
|
111
|
+
"sitemap_sync_failed",
|
|
112
|
+
"indexing_failed"
|
|
113
|
+
];
|
|
114
|
+
function parseGrantedScopes(scopes) {
|
|
115
|
+
if (!scopes) return [];
|
|
116
|
+
if (typeof scopes === "string") return scopes.split(/\s+/).map((scope) => scope.trim()).filter(Boolean);
|
|
117
|
+
return scopes.map((scope) => scope.trim()).filter(Boolean);
|
|
118
|
+
}
|
|
119
|
+
function hasGoogleScope(scopes, scope) {
|
|
120
|
+
const granted = parseGrantedScopes(scopes);
|
|
121
|
+
const suffix = scope.replace("https://www.googleapis.com/auth/", "");
|
|
122
|
+
return granted.includes(scope) || granted.includes(suffix);
|
|
123
|
+
}
|
|
124
|
+
function hasRequiredAnalyticsScope(scopes) {
|
|
125
|
+
return hasGoogleScope(scopes, "https://www.googleapis.com/auth/webmasters.readonly") || hasGoogleScope(scopes, "https://www.googleapis.com/auth/webmasters");
|
|
126
|
+
}
|
|
127
|
+
function hasOptionalIndexingScope(scopes) {
|
|
128
|
+
return hasGoogleScope(scopes, GSCDUMP_OPTIONAL_INDEXING_SCOPE);
|
|
129
|
+
}
|
|
130
|
+
export { GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSCDUMP_WRITE_ANALYTICS_SCOPE, accountNextActions, accountStatuses, analyticsNextActions, analyticsStatuses, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingNextActions, indexingStatuses, lifecycleErrorCodes, lifecycleWebhookEvents, parseGrantedScopes, propertyNextActions, propertyStatuses, querySourceModes, sitemapNextActions, sitemapStatuses };
|
|
@@ -1106,8 +1106,8 @@ declare const gscdumpAvailableSiteSchema: z.ZodObject<{
|
|
|
1106
1106
|
intId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
1107
1107
|
syncStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
1108
1108
|
syncing: "syncing";
|
|
1109
|
-
pending: "pending";
|
|
1110
1109
|
error: "error";
|
|
1110
|
+
pending: "pending";
|
|
1111
1111
|
synced: "synced";
|
|
1112
1112
|
}>>>;
|
|
1113
1113
|
syncProgress: z.ZodOptional<z.ZodObject<{
|
|
@@ -1125,8 +1125,8 @@ declare const gscdumpUserSiteSchema: z.ZodObject<{
|
|
|
1125
1125
|
siteUrl: z.ZodString;
|
|
1126
1126
|
syncStatus: z.ZodEnum<{
|
|
1127
1127
|
syncing: "syncing";
|
|
1128
|
-
pending: "pending";
|
|
1129
1128
|
error: "error";
|
|
1129
|
+
pending: "pending";
|
|
1130
1130
|
synced: "synced";
|
|
1131
1131
|
idle: "idle";
|
|
1132
1132
|
}>;
|
|
@@ -1140,8 +1140,8 @@ declare const gscdumpSiteRegistrationSchema: z.ZodObject<{
|
|
|
1140
1140
|
catalogSiteId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
1141
1141
|
status: z.ZodEnum<{
|
|
1142
1142
|
syncing: "syncing";
|
|
1143
|
-
pending: "pending";
|
|
1144
1143
|
error: "error";
|
|
1144
|
+
pending: "pending";
|
|
1145
1145
|
synced: "synced";
|
|
1146
1146
|
idle: "idle";
|
|
1147
1147
|
}>;
|
|
@@ -2850,8 +2850,8 @@ declare const partnerControlEndpointSchemas: {
|
|
|
2850
2850
|
intId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
2851
2851
|
syncStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
2852
2852
|
syncing: "syncing";
|
|
2853
|
-
pending: "pending";
|
|
2854
2853
|
error: "error";
|
|
2854
|
+
pending: "pending";
|
|
2855
2855
|
synced: "synced";
|
|
2856
2856
|
}>>>;
|
|
2857
2857
|
syncProgress: z.ZodOptional<z.ZodObject<{
|
|
@@ -3049,8 +3049,8 @@ declare const partnerControlEndpointSchemas: {
|
|
|
3049
3049
|
siteUrl: z.ZodString;
|
|
3050
3050
|
syncStatus: z.ZodEnum<{
|
|
3051
3051
|
syncing: "syncing";
|
|
3052
|
-
pending: "pending";
|
|
3053
3052
|
error: "error";
|
|
3053
|
+
pending: "pending";
|
|
3054
3054
|
synced: "synced";
|
|
3055
3055
|
idle: "idle";
|
|
3056
3056
|
}>;
|
|
@@ -3070,8 +3070,8 @@ declare const partnerControlEndpointSchemas: {
|
|
|
3070
3070
|
intId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3071
3071
|
syncStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
3072
3072
|
syncing: "syncing";
|
|
3073
|
-
pending: "pending";
|
|
3074
3073
|
error: "error";
|
|
3074
|
+
pending: "pending";
|
|
3075
3075
|
synced: "synced";
|
|
3076
3076
|
}>>>;
|
|
3077
3077
|
syncProgress: z.ZodOptional<z.ZodObject<{
|
|
@@ -3120,8 +3120,8 @@ declare const partnerControlEndpointSchemas: {
|
|
|
3120
3120
|
catalogSiteId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
3121
3121
|
status: z.ZodEnum<{
|
|
3122
3122
|
syncing: "syncing";
|
|
3123
|
-
pending: "pending";
|
|
3124
3123
|
error: "error";
|
|
3124
|
+
pending: "pending";
|
|
3125
3125
|
synced: "synced";
|
|
3126
3126
|
idle: "idle";
|
|
3127
3127
|
}>;
|
|
@@ -4357,8 +4357,8 @@ declare const partnerEndpointSchemas: {
|
|
|
4357
4357
|
intId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
4358
4358
|
syncStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
4359
4359
|
syncing: "syncing";
|
|
4360
|
-
pending: "pending";
|
|
4361
4360
|
error: "error";
|
|
4361
|
+
pending: "pending";
|
|
4362
4362
|
synced: "synced";
|
|
4363
4363
|
}>>>;
|
|
4364
4364
|
syncProgress: z.ZodOptional<z.ZodObject<{
|
|
@@ -4556,8 +4556,8 @@ declare const partnerEndpointSchemas: {
|
|
|
4556
4556
|
siteUrl: z.ZodString;
|
|
4557
4557
|
syncStatus: z.ZodEnum<{
|
|
4558
4558
|
syncing: "syncing";
|
|
4559
|
-
pending: "pending";
|
|
4560
4559
|
error: "error";
|
|
4560
|
+
pending: "pending";
|
|
4561
4561
|
synced: "synced";
|
|
4562
4562
|
idle: "idle";
|
|
4563
4563
|
}>;
|
|
@@ -4577,8 +4577,8 @@ declare const partnerEndpointSchemas: {
|
|
|
4577
4577
|
intId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
4578
4578
|
syncStatus: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
4579
4579
|
syncing: "syncing";
|
|
4580
|
-
pending: "pending";
|
|
4581
4580
|
error: "error";
|
|
4581
|
+
pending: "pending";
|
|
4582
4582
|
synced: "synced";
|
|
4583
4583
|
}>>>;
|
|
4584
4584
|
syncProgress: z.ZodOptional<z.ZodObject<{
|
|
@@ -4627,8 +4627,8 @@ declare const partnerEndpointSchemas: {
|
|
|
4627
4627
|
catalogSiteId: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
4628
4628
|
status: z.ZodEnum<{
|
|
4629
4629
|
syncing: "syncing";
|
|
4630
|
-
pending: "pending";
|
|
4631
4630
|
error: "error";
|
|
4631
|
+
pending: "pending";
|
|
4632
4632
|
synced: "synced";
|
|
4633
4633
|
idle: "idle";
|
|
4634
4634
|
}>;
|
package/dist/_chunks/schemas.mjs
CHANGED
|
@@ -1,133 +1,5 @@
|
|
|
1
|
+
import { GSCDUMP_ONBOARDING_CONTRACT_VERSION, accountNextActions, accountStatuses, analyticsNextActions, analyticsStatuses, indexingNextActions, indexingStatuses, lifecycleErrorCodes, propertyNextActions, propertyStatuses, querySourceModes, sitemapNextActions, sitemapStatuses } from "./onboarding.mjs";
|
|
1
2
|
import { z } from "zod";
|
|
2
|
-
const GSCDUMP_ONBOARDING_CONTRACT_VERSION = "2026-05-11";
|
|
3
|
-
const GSCDUMP_REQUIRED_ANALYTICS_SCOPE = "https://www.googleapis.com/auth/webmasters.readonly";
|
|
4
|
-
const GSCDUMP_WRITE_ANALYTICS_SCOPE = "https://www.googleapis.com/auth/webmasters";
|
|
5
|
-
const GSCDUMP_OPTIONAL_INDEXING_SCOPE = "https://www.googleapis.com/auth/indexing";
|
|
6
|
-
const accountStatuses = [
|
|
7
|
-
"disconnected",
|
|
8
|
-
"oauth_received",
|
|
9
|
-
"scope_missing",
|
|
10
|
-
"refresh_missing",
|
|
11
|
-
"db_provisioning",
|
|
12
|
-
"ready",
|
|
13
|
-
"reauth_required"
|
|
14
|
-
];
|
|
15
|
-
const accountNextActions = [
|
|
16
|
-
"connect_google",
|
|
17
|
-
"reconnect_google",
|
|
18
|
-
"wait_for_provisioning",
|
|
19
|
-
"none"
|
|
20
|
-
];
|
|
21
|
-
const propertyStatuses = [
|
|
22
|
-
"no_local_site",
|
|
23
|
-
"no_gsc_property",
|
|
24
|
-
"unverified_property",
|
|
25
|
-
"verified_candidate",
|
|
26
|
-
"registered",
|
|
27
|
-
"linked"
|
|
28
|
-
];
|
|
29
|
-
const propertyNextActions = [
|
|
30
|
-
"create_site",
|
|
31
|
-
"verify_gsc_property",
|
|
32
|
-
"choose_property",
|
|
33
|
-
"register_site",
|
|
34
|
-
"none"
|
|
35
|
-
];
|
|
36
|
-
const analyticsStatuses = [
|
|
37
|
-
"not_registered",
|
|
38
|
-
"queued",
|
|
39
|
-
"preparing",
|
|
40
|
-
"syncing",
|
|
41
|
-
"queryable_live",
|
|
42
|
-
"queryable_partial",
|
|
43
|
-
"ready",
|
|
44
|
-
"failed"
|
|
45
|
-
];
|
|
46
|
-
const analyticsNextActions = [
|
|
47
|
-
"wait_for_sync",
|
|
48
|
-
"retry_sync",
|
|
49
|
-
"none"
|
|
50
|
-
];
|
|
51
|
-
const querySourceModes = [
|
|
52
|
-
"none",
|
|
53
|
-
"live",
|
|
54
|
-
"d1",
|
|
55
|
-
"r2",
|
|
56
|
-
"mixed"
|
|
57
|
-
];
|
|
58
|
-
const sitemapStatuses = [
|
|
59
|
-
"unknown",
|
|
60
|
-
"discovering",
|
|
61
|
-
"none_found",
|
|
62
|
-
"auto_submitted",
|
|
63
|
-
"syncing",
|
|
64
|
-
"ready",
|
|
65
|
-
"failed"
|
|
66
|
-
];
|
|
67
|
-
const sitemapNextActions = [
|
|
68
|
-
"submit_sitemap",
|
|
69
|
-
"wait_for_sitemaps",
|
|
70
|
-
"retry_sitemaps",
|
|
71
|
-
"none"
|
|
72
|
-
];
|
|
73
|
-
const indexingStatuses = [
|
|
74
|
-
"not_requested",
|
|
75
|
-
"missing_scope",
|
|
76
|
-
"insufficient_permission",
|
|
77
|
-
"waiting_for_sitemaps",
|
|
78
|
-
"discovering",
|
|
79
|
-
"checking",
|
|
80
|
-
"ready",
|
|
81
|
-
"budget_exhausted",
|
|
82
|
-
"no_urls",
|
|
83
|
-
"failed"
|
|
84
|
-
];
|
|
85
|
-
const indexingNextActions = [
|
|
86
|
-
"reconnect_google",
|
|
87
|
-
"fix_gsc_permission",
|
|
88
|
-
"wait_for_sitemaps",
|
|
89
|
-
"wait_for_indexing",
|
|
90
|
-
"retry_indexing",
|
|
91
|
-
"none"
|
|
92
|
-
];
|
|
93
|
-
const lifecycleWebhookEvents = [
|
|
94
|
-
"user.lifecycle.changed",
|
|
95
|
-
"site.lifecycle.changed",
|
|
96
|
-
"site.analytics.ready",
|
|
97
|
-
"site.indexing.ready",
|
|
98
|
-
"site.auth.failed",
|
|
99
|
-
"job.failed"
|
|
100
|
-
];
|
|
101
|
-
const lifecycleErrorCodes = [
|
|
102
|
-
"missing_refresh_token",
|
|
103
|
-
"missing_analytics_scope",
|
|
104
|
-
"missing_indexing_scope",
|
|
105
|
-
"token_refresh_failed",
|
|
106
|
-
"permission_lost",
|
|
107
|
-
"insufficient_gsc_permission",
|
|
108
|
-
"gsc_property_not_found",
|
|
109
|
-
"gsc_property_unverified",
|
|
110
|
-
"user_database_not_provisioned",
|
|
111
|
-
"sync_failed",
|
|
112
|
-
"sitemap_sync_failed",
|
|
113
|
-
"indexing_failed"
|
|
114
|
-
];
|
|
115
|
-
function parseGrantedScopes(scopes) {
|
|
116
|
-
if (!scopes) return [];
|
|
117
|
-
if (typeof scopes === "string") return scopes.split(/\s+/).map((scope) => scope.trim()).filter(Boolean);
|
|
118
|
-
return scopes.map((scope) => scope.trim()).filter(Boolean);
|
|
119
|
-
}
|
|
120
|
-
function hasGoogleScope(scopes, scope) {
|
|
121
|
-
const granted = parseGrantedScopes(scopes);
|
|
122
|
-
const suffix = scope.replace("https://www.googleapis.com/auth/", "");
|
|
123
|
-
return granted.includes(scope) || granted.includes(suffix);
|
|
124
|
-
}
|
|
125
|
-
function hasRequiredAnalyticsScope(scopes) {
|
|
126
|
-
return hasGoogleScope(scopes, "https://www.googleapis.com/auth/webmasters.readonly") || hasGoogleScope(scopes, "https://www.googleapis.com/auth/webmasters");
|
|
127
|
-
}
|
|
128
|
-
function hasOptionalIndexingScope(scopes) {
|
|
129
|
-
return hasGoogleScope(scopes, GSCDUMP_OPTIONAL_INDEXING_SCOPE);
|
|
130
|
-
}
|
|
131
3
|
const partnerRoutes = {
|
|
132
4
|
partner: {
|
|
133
5
|
users: {
|
|
@@ -1631,4 +1503,4 @@ const partnerEndpointSchemas = {
|
|
|
1631
1503
|
...analyticsEndpointSchemas,
|
|
1632
1504
|
...partnerControlEndpointSchemas
|
|
1633
1505
|
};
|
|
1634
|
-
export { CANONICAL_WEBHOOK_EVENTS,
|
|
1506
|
+
export { CANONICAL_WEBHOOK_EVENTS, VALID_WEBHOOK_EVENTS, WEBHOOK_CONTRACT_VERSION, WEBHOOK_CONTRACT_VERSION_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_EVENT_HEADER, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_TIMESTAMP_HEADER, addPartnerTeamMemberSchema, analyticsEndpointSchemas, analyticsRoutes, backfillRangeSchema, backfillResponseSchema, bindPartnerSiteTeamSchema, builderStateSchema, bulkRegisterPartnerSitesResponseSchema, bulkRegisterPartnerSitesSchema, canonicalWebhookEventTypeSchema, countriesResponseSchema, countryRowSchema, createPartnerTeamSchema, dataDetailOptionsSchema, dataQueryOptionsSchema, gscApiRangeSchema, gscComparisonFilterSchema, gscRowQueryMetaSchema, gscRowQueryResponseSchema, gscdumpAnalysisParamsSchema, gscdumpAnalysisPresetSchema, gscdumpAnalysisResponseSchema, gscdumpAnalysisSourcesResponseSchema, gscdumpAvailableSiteSchema, gscdumpCanonicalMismatchesResponseSchema, gscdumpDataDetailResponseSchema, gscdumpDataResponseSchema, gscdumpDataRowSchema, gscdumpDateRangeParamsSchema, gscdumpDeletePartnerUserResponseSchema, gscdumpHealthResponseSchema, gscdumpIndexPercentParamsSchema, gscdumpIndexPercentResponseSchema, gscdumpIndexingDiagnosticsResponseSchema, gscdumpIndexingResponseSchema, gscdumpIndexingUrlsResponseSchema, gscdumpKeywordSparklinesParamsSchema, gscdumpKeywordSparklinesResponseSchema, gscdumpMetaSchema, gscdumpPageTrendParamsSchema, gscdumpPageTrendResponseSchema, gscdumpPermissionRecoverySchema, gscdumpQueryTrendParamsSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSiteReportResponseSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapsResponseSchema, gscdumpSyncJobsResponseSchema, gscdumpSyncProgressResponseSchema, gscdumpTeamMemberRowSchema, gscdumpTeamRoleSchema, gscdumpTeamRowSchema, gscdumpTopAssociationParamsSchema, gscdumpTopAssociationResponseSchema, gscdumpTotalsSchema, gscdumpUserMeResponseSchema, gscdumpUserRegistrationSchema, gscdumpUserSettingsSchema, gscdumpUserSiteSchema, gscdumpUserStatusSchema, indexingDiagnosticsParamsSchema, indexingDiagnosticsSchema, indexingInspectAnyResponseSchema, indexingInspectRateLimitedSchema, indexingInspectRequestSchema, indexingInspectResponseSchema, indexingInspectResultSchema, indexingIssueSchema, indexingUrlRowSchema, indexingUrlStatusSchema, indexingUrlsParamsSchema, indexingUrlsResponseSchema, inspectionHistoryRecordSchema, inspectionHistoryResponseSchema, inspectionIndexSchema, inspectionRecordRawSchema, jobFailedWebhookPayloadSchema, lifecycleErrorSchema, lifecycleProgressSchema, partnerControlEndpointSchemas, partnerEndpointSchemas, partnerLifecycleAccountSchema, partnerLifecycleResponseSchema, partnerLifecycleSiteSchema, partnerRealtimeEventSchema, partnerRoutes, partnerWebhookDataSchema, partnerWebhookEnvelopeSchema, registerPartnerSiteSchema, registerPartnerUserSchema, rollupEnvelopeSchema, scheduleStateSchema, searchAppearanceResponseSchema, searchAppearanceRowSchema, searchTypeSchema, siteListItemSchema, sitemapChangesResponseSchema, sitemapHistoryRecordSchema, sitemapHistoryResponseSchema, sitemapIndexSchema, sourceInfoResponseSchema, teamCatalogRefSchema, updatePartnerUserTokensSchema, webhookEventTypeSchema, whoamiResponseSchema };
|
package/dist/archetypes.d.mts
CHANGED
|
@@ -26,7 +26,7 @@ interface SiteDailyTimeseriesQuery extends ArchetypeQueryBase {
|
|
|
26
26
|
interface EntityDailyTimeseriesQuery extends ArchetypeQueryBase {
|
|
27
27
|
archetype: 'entity-daily-timeseries';
|
|
28
28
|
entity: {
|
|
29
|
-
dimension: Extract<Dimension, 'page' | 'query'>;
|
|
29
|
+
dimension: Extract<Dimension, 'page' | 'query' | 'queryCanonical'>;
|
|
30
30
|
value: string;
|
|
31
31
|
};
|
|
32
32
|
metrics: readonly Metric[];
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { ARCHETYPE_EXECUTION_CLASS } from "./archetypes.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSCDUMP_WRITE_ANALYTICS_SCOPE, accountNextActions, accountStatuses, analyticsNextActions, analyticsStatuses, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingNextActions, indexingStatuses, lifecycleErrorCodes, lifecycleWebhookEvents, parseGrantedScopes, propertyNextActions, propertyStatuses, querySourceModes, sitemapNextActions, sitemapStatuses } from "./_chunks/onboarding.mjs";
|
|
3
|
+
import { CANONICAL_WEBHOOK_EVENTS, VALID_WEBHOOK_EVENTS, WEBHOOK_CONTRACT_VERSION, WEBHOOK_CONTRACT_VERSION_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_EVENT_HEADER, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_TIMESTAMP_HEADER, addPartnerTeamMemberSchema, analyticsEndpointSchemas, analyticsRoutes, backfillRangeSchema, backfillResponseSchema, bindPartnerSiteTeamSchema, builderStateSchema, bulkRegisterPartnerSitesResponseSchema, bulkRegisterPartnerSitesSchema, canonicalWebhookEventTypeSchema, countriesResponseSchema, countryRowSchema, createPartnerTeamSchema, dataDetailOptionsSchema, dataQueryOptionsSchema, gscApiRangeSchema, gscComparisonFilterSchema, gscRowQueryMetaSchema, gscRowQueryResponseSchema, gscdumpAnalysisParamsSchema, gscdumpAnalysisPresetSchema, gscdumpAnalysisResponseSchema, gscdumpAnalysisSourcesResponseSchema, gscdumpAvailableSiteSchema, gscdumpCanonicalMismatchesResponseSchema, gscdumpDataDetailResponseSchema, gscdumpDataResponseSchema, gscdumpDataRowSchema, gscdumpDateRangeParamsSchema, gscdumpDeletePartnerUserResponseSchema, gscdumpHealthResponseSchema, gscdumpIndexPercentParamsSchema, gscdumpIndexPercentResponseSchema, gscdumpIndexingDiagnosticsResponseSchema, gscdumpIndexingResponseSchema, gscdumpIndexingUrlsResponseSchema, gscdumpKeywordSparklinesParamsSchema, gscdumpKeywordSparklinesResponseSchema, gscdumpMetaSchema, gscdumpPageTrendParamsSchema, gscdumpPageTrendResponseSchema, gscdumpPermissionRecoverySchema, gscdumpQueryTrendParamsSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSiteReportResponseSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapsResponseSchema, gscdumpSyncJobsResponseSchema, gscdumpSyncProgressResponseSchema, gscdumpTeamMemberRowSchema, gscdumpTeamRoleSchema, gscdumpTeamRowSchema, gscdumpTopAssociationParamsSchema, gscdumpTopAssociationResponseSchema, gscdumpTotalsSchema, gscdumpUserMeResponseSchema, gscdumpUserRegistrationSchema, gscdumpUserSettingsSchema, gscdumpUserSiteSchema, gscdumpUserStatusSchema, indexingDiagnosticsParamsSchema, indexingDiagnosticsSchema, indexingInspectAnyResponseSchema, indexingInspectRateLimitedSchema, indexingInspectRequestSchema, indexingInspectResponseSchema, indexingInspectResultSchema, indexingIssueSchema, indexingUrlRowSchema, indexingUrlStatusSchema, indexingUrlsParamsSchema, indexingUrlsResponseSchema, inspectionHistoryRecordSchema, inspectionHistoryResponseSchema, inspectionIndexSchema, inspectionRecordRawSchema, jobFailedWebhookPayloadSchema, lifecycleErrorSchema, lifecycleProgressSchema, partnerControlEndpointSchemas, partnerEndpointSchemas, partnerLifecycleAccountSchema, partnerLifecycleResponseSchema, partnerLifecycleSiteSchema, partnerRealtimeEventSchema, partnerRoutes, partnerWebhookDataSchema, partnerWebhookEnvelopeSchema, registerPartnerSiteSchema, registerPartnerUserSchema, rollupEnvelopeSchema, scheduleStateSchema, searchAppearanceResponseSchema, searchAppearanceRowSchema, searchTypeSchema, siteListItemSchema, sitemapChangesResponseSchema, sitemapHistoryRecordSchema, sitemapHistoryResponseSchema, sitemapIndexSchema, sourceInfoResponseSchema, teamCatalogRefSchema, updatePartnerUserTokensSchema, webhookEventTypeSchema, whoamiResponseSchema } from "./_chunks/schemas.mjs";
|
|
3
4
|
export { ARCHETYPE_EXECUTION_CLASS, CANONICAL_WEBHOOK_EVENTS, GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSCDUMP_WRITE_ANALYTICS_SCOPE, VALID_WEBHOOK_EVENTS, WEBHOOK_CONTRACT_VERSION, WEBHOOK_CONTRACT_VERSION_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_EVENT_HEADER, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_TIMESTAMP_HEADER, accountNextActions, accountStatuses, addPartnerTeamMemberSchema, analyticsEndpointSchemas, analyticsNextActions, analyticsRoutes, analyticsStatuses, backfillRangeSchema, backfillResponseSchema, bindPartnerSiteTeamSchema, builderStateSchema, bulkRegisterPartnerSitesResponseSchema, bulkRegisterPartnerSitesSchema, canonicalWebhookEventTypeSchema, countriesResponseSchema, countryRowSchema, createPartnerTeamSchema, dataDetailOptionsSchema, dataQueryOptionsSchema, gscApiRangeSchema, gscComparisonFilterSchema, gscRowQueryMetaSchema, gscRowQueryResponseSchema, gscdumpAnalysisParamsSchema, gscdumpAnalysisPresetSchema, gscdumpAnalysisResponseSchema, gscdumpAnalysisSourcesResponseSchema, gscdumpAvailableSiteSchema, gscdumpCanonicalMismatchesResponseSchema, gscdumpDataDetailResponseSchema, gscdumpDataResponseSchema, gscdumpDataRowSchema, gscdumpDateRangeParamsSchema, gscdumpDeletePartnerUserResponseSchema, gscdumpHealthResponseSchema, gscdumpIndexPercentParamsSchema, gscdumpIndexPercentResponseSchema, gscdumpIndexingDiagnosticsResponseSchema, gscdumpIndexingResponseSchema, gscdumpIndexingUrlsResponseSchema, gscdumpKeywordSparklinesParamsSchema, gscdumpKeywordSparklinesResponseSchema, gscdumpMetaSchema, gscdumpPageTrendParamsSchema, gscdumpPageTrendResponseSchema, gscdumpPermissionRecoverySchema, gscdumpQueryTrendParamsSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSiteReportResponseSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapsResponseSchema, gscdumpSyncJobsResponseSchema, gscdumpSyncProgressResponseSchema, gscdumpTeamMemberRowSchema, gscdumpTeamRoleSchema, gscdumpTeamRowSchema, gscdumpTopAssociationParamsSchema, gscdumpTopAssociationResponseSchema, gscdumpTotalsSchema, gscdumpUserMeResponseSchema, gscdumpUserRegistrationSchema, gscdumpUserSettingsSchema, gscdumpUserSiteSchema, gscdumpUserStatusSchema, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingDiagnosticsParamsSchema, indexingDiagnosticsSchema, indexingInspectAnyResponseSchema, indexingInspectRateLimitedSchema, indexingInspectRequestSchema, indexingInspectResponseSchema, indexingInspectResultSchema, indexingIssueSchema, indexingNextActions, indexingStatuses, indexingUrlRowSchema, indexingUrlStatusSchema, indexingUrlsParamsSchema, indexingUrlsResponseSchema, inspectionHistoryRecordSchema, inspectionHistoryResponseSchema, inspectionIndexSchema, inspectionRecordRawSchema, jobFailedWebhookPayloadSchema, lifecycleErrorCodes, lifecycleErrorSchema, lifecycleProgressSchema, lifecycleWebhookEvents, parseGrantedScopes, partnerControlEndpointSchemas, partnerEndpointSchemas, partnerLifecycleAccountSchema, partnerLifecycleResponseSchema, partnerLifecycleSiteSchema, partnerRealtimeEventSchema, partnerRoutes, partnerWebhookDataSchema, partnerWebhookEnvelopeSchema, propertyNextActions, propertyStatuses, querySourceModes, registerPartnerSiteSchema, registerPartnerUserSchema, rollupEnvelopeSchema, scheduleStateSchema, searchAppearanceResponseSchema, searchAppearanceRowSchema, searchTypeSchema, siteListItemSchema, sitemapChangesResponseSchema, sitemapHistoryRecordSchema, sitemapHistoryResponseSchema, sitemapIndexSchema, sitemapNextActions, sitemapStatuses, sourceInfoResponseSchema, teamCatalogRefSchema, updatePartnerUserTokensSchema, webhookEventTypeSchema, whoamiResponseSchema };
|
package/dist/partner.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSCDUMP_WRITE_ANALYTICS_SCOPE, accountNextActions, accountStatuses, analyticsNextActions, analyticsStatuses, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingNextActions, indexingStatuses, lifecycleErrorCodes, lifecycleWebhookEvents, parseGrantedScopes, propertyNextActions, propertyStatuses, querySourceModes, sitemapNextActions, sitemapStatuses } from "./_chunks/onboarding.mjs";
|
|
2
|
+
import { CANONICAL_WEBHOOK_EVENTS, VALID_WEBHOOK_EVENTS, WEBHOOK_CONTRACT_VERSION, WEBHOOK_CONTRACT_VERSION_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_EVENT_HEADER, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_TIMESTAMP_HEADER, partnerControlEndpointSchemas, partnerRoutes } from "./_chunks/schemas.mjs";
|
|
2
3
|
import { partnerEndpoints } from "./_chunks/endpoints.mjs";
|
|
3
4
|
export { CANONICAL_WEBHOOK_EVENTS, GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSCDUMP_WRITE_ANALYTICS_SCOPE, VALID_WEBHOOK_EVENTS, WEBHOOK_CONTRACT_VERSION, WEBHOOK_CONTRACT_VERSION_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_EVENT_HEADER, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_TIMESTAMP_HEADER, accountNextActions, accountStatuses, analyticsNextActions, analyticsStatuses, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingNextActions, indexingStatuses, lifecycleErrorCodes, lifecycleWebhookEvents, parseGrantedScopes, partnerControlEndpointSchemas, partnerControlEndpointSchemas as partnerEndpointSchemas, partnerEndpoints, partnerRoutes, propertyNextActions, propertyStatuses, querySourceModes, sitemapNextActions, sitemapStatuses };
|