@gscdump/contracts 0.11.5 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.mts +190 -778
  2. package/dist/index.mjs +102 -236
  3. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -1,112 +1,4 @@
1
1
  import { z } from "zod";
2
- const partnerRoutes = {
3
- partner: {
4
- users: {
5
- byId: (userId) => `/partner/users/${encodeURIComponent(userId)}`,
6
- lifecycle: (userId) => `/partner/users/${encodeURIComponent(userId)}/lifecycle`,
7
- siteTeam: (userId, siteId) => `/partner/users/${encodeURIComponent(userId)}/sites/${encodeURIComponent(siteId)}`
8
- },
9
- sites: {
10
- register: "/partner/sites/register",
11
- bulkRegister: "/partner/sites/bulk-register"
12
- }
13
- },
14
- users: {
15
- register: "/users/register",
16
- tokens: (userId) => `/users/${encodeURIComponent(userId)}/tokens`,
17
- status: (userId) => `/users/${encodeURIComponent(userId)}/status`,
18
- lifecycle: (userId) => `/users/${encodeURIComponent(userId)}/lifecycle`,
19
- sites: (userId) => `/users/${encodeURIComponent(userId)}/sites`,
20
- availableSites: (userId) => `/users/${encodeURIComponent(userId)}/available-sites`,
21
- siteTeam: (userId, siteId) => `/partner/users/${encodeURIComponent(userId)}/sites/${encodeURIComponent(siteId)}`
22
- },
23
- sites: {
24
- register: "/sites/register",
25
- bulkRegister: "/sites/bulk-register",
26
- byId: (siteId) => `/sites/${encodeURIComponent(siteId)}`,
27
- analysisSources: (siteId) => `/sites/${encodeURIComponent(siteId)}/analysis-sources`,
28
- syncStatus: (siteId) => `/sites/${encodeURIComponent(siteId)}/sync-status`,
29
- data: (siteId) => `/sites/${encodeURIComponent(siteId)}/data`,
30
- dataDetail: (siteId) => `/sites/${encodeURIComponent(siteId)}/data/detail`,
31
- analysis: (siteId) => `/sites/${encodeURIComponent(siteId)}/analysis`,
32
- sitemaps: (siteId) => `/sites/${encodeURIComponent(siteId)}/sitemaps`,
33
- sitemapChanges: (siteId) => `/sites/${encodeURIComponent(siteId)}/sitemaps/changes`,
34
- indexing: (siteId) => `/sites/${encodeURIComponent(siteId)}/indexing`,
35
- indexingUrls: (siteId) => `/sites/${encodeURIComponent(siteId)}/indexing/urls`,
36
- indexingDiagnostics: (siteId) => `/sites/${encodeURIComponent(siteId)}/indexing/diagnostics`,
37
- recoverPermission: (siteId) => `/sites/${encodeURIComponent(siteId)}/recover-permission`,
38
- canonicalMismatches: (siteId) => `/sites/${encodeURIComponent(siteId)}/canonical-mismatches`,
39
- topAssociation: (siteId) => `/sites/${encodeURIComponent(siteId)}/data/top-association`,
40
- keywordSparklines: (siteId) => `/sites/${encodeURIComponent(siteId)}/data/keyword-sparklines`,
41
- queryTrend: (siteId) => `/sites/${encodeURIComponent(siteId)}/data/query-trend`,
42
- contentVelocity: (siteId) => `/sites/${encodeURIComponent(siteId)}/content-velocity`,
43
- ctrCurve: (siteId) => `/sites/${encodeURIComponent(siteId)}/ctr-curve`,
44
- darkTraffic: (siteId) => `/sites/${encodeURIComponent(siteId)}/dark-traffic`,
45
- deviceGap: (siteId) => `/sites/${encodeURIComponent(siteId)}/device-gap`,
46
- indexPercent: (siteId) => `/sites/${encodeURIComponent(siteId)}/index-percent`,
47
- keywordBreadth: (siteId) => `/sites/${encodeURIComponent(siteId)}/keyword-breadth`,
48
- positionDistribution: (siteId) => `/sites/${encodeURIComponent(siteId)}/position-distribution`
49
- },
50
- settings: { user: "/user/settings" },
51
- teams: {
52
- create: "/partner/teams",
53
- byId: (teamId) => `/partner/teams/${encodeURIComponent(teamId)}`,
54
- members: (teamId) => `/partner/teams/${encodeURIComponent(teamId)}/members`,
55
- member: (teamId, userId) => `/partner/teams/${encodeURIComponent(teamId)}/members/${encodeURIComponent(userId)}`
56
- },
57
- realtime: {
58
- partner: "/ws/partner",
59
- user: "/ws/user"
60
- }
61
- };
62
- const analyticsRoutes = {
63
- whoami: "/api/__gsc/whoami",
64
- sites: "/api/__gsc/sites",
65
- site: {
66
- sourceInfo: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/source-info`,
67
- analysisSources: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/analysis-sources`,
68
- analyze: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/analyze`,
69
- rows: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/rows`,
70
- rollup: (siteId, rollupId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/rollup/${encodeURIComponent(rollupId)}`,
71
- backfill: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/backfill`,
72
- sitemaps: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/sitemaps`,
73
- sitemapHistory: (siteId, hash) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/sitemaps/${encodeURIComponent(hash)}`,
74
- sitemapChanges: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/sitemaps/changes`,
75
- inspections: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/inspections`,
76
- inspectionHistory: (siteId, hash) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/inspections/${encodeURIComponent(hash)}`,
77
- indexingUrls: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/indexing/urls`,
78
- indexingDiagnostics: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/indexing/diagnostics`
79
- }
80
- };
81
- const WEBHOOK_CONTRACT_VERSION = "2026-05-11";
82
- const WEBHOOK_SIGNATURE_HEADER = "X-GSCDump-Signature";
83
- const WEBHOOK_EVENT_HEADER = "X-GSCDump-Event";
84
- const WEBHOOK_DELIVERY_HEADER = "X-GSCDump-Delivery";
85
- const WEBHOOK_CONTRACT_VERSION_HEADER = "X-GSCDump-Contract-Version";
86
- const WEBHOOK_TIMESTAMP_HEADER = "X-GSCDump-Timestamp";
87
- const CANONICAL_WEBHOOK_EVENTS = [
88
- "user.lifecycle.changed",
89
- "site.lifecycle.changed",
90
- "site.analytics.ready",
91
- "site.indexing.ready",
92
- "site.auth.failed",
93
- "job.failed"
94
- ];
95
- const LEGACY_WEBHOOK_EVENTS = [
96
- "job.completed",
97
- "job.failed",
98
- "site.completed",
99
- "indexing.completed",
100
- "auth.failed"
101
- ];
102
- const VALID_WEBHOOK_EVENTS = [...LEGACY_WEBHOOK_EVENTS, ...CANONICAL_WEBHOOK_EVENTS.filter((event) => !LEGACY_WEBHOOK_EVENTS.includes(event))];
103
- const WEBHOOK_EVENT_ALIASES = {
104
- "job.completed": "site.lifecycle.changed",
105
- "job.failed": "job.failed",
106
- "site.completed": "site.analytics.ready",
107
- "indexing.completed": "site.indexing.ready",
108
- "auth.failed": "site.auth.failed"
109
- };
110
2
  const GSCDUMP_ONBOARDING_CONTRACT_VERSION = "2026-05-11";
111
3
  const GSCDUMP_REQUIRED_ANALYTICS_SCOPE = "https://www.googleapis.com/auth/webmasters.readonly";
112
4
  const GSCDUMP_OPTIONAL_INDEXING_SCOPE = "https://www.googleapis.com/auth/indexing";
@@ -228,6 +120,102 @@ function hasRequiredAnalyticsScope(scopes) {
228
120
  function hasOptionalIndexingScope(scopes) {
229
121
  return (Array.isArray(scopes) ? scopes : parseGrantedScopes(scopes)).includes(GSCDUMP_OPTIONAL_INDEXING_SCOPE);
230
122
  }
123
+ const partnerRoutes = {
124
+ partner: {
125
+ users: {
126
+ byId: (userId) => `/partner/users/${encodeURIComponent(userId)}`,
127
+ lifecycle: (userId) => `/partner/users/${encodeURIComponent(userId)}/lifecycle`,
128
+ siteTeam: (userId, siteId) => `/partner/users/${encodeURIComponent(userId)}/sites/${encodeURIComponent(siteId)}`
129
+ },
130
+ sites: {
131
+ register: "/partner/sites/register",
132
+ bulkRegister: "/partner/sites/bulk-register"
133
+ }
134
+ },
135
+ users: {
136
+ register: "/users/register",
137
+ tokens: (userId) => `/users/${encodeURIComponent(userId)}/tokens`,
138
+ status: (userId) => `/users/${encodeURIComponent(userId)}/status`,
139
+ lifecycle: (userId) => `/users/${encodeURIComponent(userId)}/lifecycle`,
140
+ sites: (userId) => `/users/${encodeURIComponent(userId)}/sites`,
141
+ availableSites: (userId) => `/users/${encodeURIComponent(userId)}/available-sites`,
142
+ siteTeam: (userId, siteId) => `/partner/users/${encodeURIComponent(userId)}/sites/${encodeURIComponent(siteId)}`
143
+ },
144
+ sites: {
145
+ register: "/sites/register",
146
+ bulkRegister: "/sites/bulk-register",
147
+ byId: (siteId) => `/sites/${encodeURIComponent(siteId)}`,
148
+ analysisSources: (siteId) => `/sites/${encodeURIComponent(siteId)}/analysis-sources`,
149
+ syncStatus: (siteId) => `/sites/${encodeURIComponent(siteId)}/sync-status`,
150
+ data: (siteId) => `/sites/${encodeURIComponent(siteId)}/data`,
151
+ dataDetail: (siteId) => `/sites/${encodeURIComponent(siteId)}/data/detail`,
152
+ analysis: (siteId) => `/sites/${encodeURIComponent(siteId)}/analysis`,
153
+ sitemaps: (siteId) => `/sites/${encodeURIComponent(siteId)}/sitemaps`,
154
+ sitemapChanges: (siteId) => `/sites/${encodeURIComponent(siteId)}/sitemaps/changes`,
155
+ indexing: (siteId) => `/sites/${encodeURIComponent(siteId)}/indexing`,
156
+ indexingUrls: (siteId) => `/sites/${encodeURIComponent(siteId)}/indexing/urls`,
157
+ indexingDiagnostics: (siteId) => `/sites/${encodeURIComponent(siteId)}/indexing/diagnostics`,
158
+ recoverPermission: (siteId) => `/sites/${encodeURIComponent(siteId)}/recover-permission`,
159
+ canonicalMismatches: (siteId) => `/sites/${encodeURIComponent(siteId)}/canonical-mismatches`,
160
+ topAssociation: (siteId) => `/sites/${encodeURIComponent(siteId)}/data/top-association`,
161
+ keywordSparklines: (siteId) => `/sites/${encodeURIComponent(siteId)}/data/keyword-sparklines`,
162
+ queryTrend: (siteId) => `/sites/${encodeURIComponent(siteId)}/data/query-trend`,
163
+ contentVelocity: (siteId) => `/sites/${encodeURIComponent(siteId)}/content-velocity`,
164
+ ctrCurve: (siteId) => `/sites/${encodeURIComponent(siteId)}/ctr-curve`,
165
+ darkTraffic: (siteId) => `/sites/${encodeURIComponent(siteId)}/dark-traffic`,
166
+ deviceGap: (siteId) => `/sites/${encodeURIComponent(siteId)}/device-gap`,
167
+ indexPercent: (siteId) => `/sites/${encodeURIComponent(siteId)}/index-percent`,
168
+ keywordBreadth: (siteId) => `/sites/${encodeURIComponent(siteId)}/keyword-breadth`,
169
+ positionDistribution: (siteId) => `/sites/${encodeURIComponent(siteId)}/position-distribution`
170
+ },
171
+ settings: { user: "/user/settings" },
172
+ teams: {
173
+ create: "/partner/teams",
174
+ byId: (teamId) => `/partner/teams/${encodeURIComponent(teamId)}`,
175
+ members: (teamId) => `/partner/teams/${encodeURIComponent(teamId)}/members`,
176
+ member: (teamId, userId) => `/partner/teams/${encodeURIComponent(teamId)}/members/${encodeURIComponent(userId)}`
177
+ },
178
+ realtime: {
179
+ partner: "/ws/partner",
180
+ user: "/ws/user"
181
+ }
182
+ };
183
+ const analyticsRoutes = {
184
+ whoami: "/api/__gsc/whoami",
185
+ sites: "/api/__gsc/sites",
186
+ site: {
187
+ sourceInfo: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/source-info`,
188
+ analysisSources: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/analysis-sources`,
189
+ analyze: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/analyze`,
190
+ rows: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/rows`,
191
+ rollup: (siteId, rollupId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/rollup/${encodeURIComponent(rollupId)}`,
192
+ backfill: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/backfill`,
193
+ sitemaps: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/sitemaps`,
194
+ sitemapHistory: (siteId, hash) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/sitemaps/${encodeURIComponent(hash)}`,
195
+ sitemapChanges: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/sitemaps/changes`,
196
+ inspections: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/inspections`,
197
+ inspectionHistory: (siteId, hash) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/inspections/${encodeURIComponent(hash)}`,
198
+ indexingUrls: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/indexing/urls`,
199
+ indexingDiagnostics: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/indexing/diagnostics`,
200
+ countries: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/countries`,
201
+ searchAppearance: (siteId) => `/api/__gsc/sites/${encodeURIComponent(siteId)}/search-appearance`
202
+ }
203
+ };
204
+ const WEBHOOK_CONTRACT_VERSION = "2026-05-11";
205
+ const WEBHOOK_SIGNATURE_HEADER = "X-GSCDump-Signature";
206
+ const WEBHOOK_EVENT_HEADER = "X-GSCDump-Event";
207
+ const WEBHOOK_DELIVERY_HEADER = "X-GSCDump-Delivery";
208
+ const WEBHOOK_CONTRACT_VERSION_HEADER = "X-GSCDump-Contract-Version";
209
+ const WEBHOOK_TIMESTAMP_HEADER = "X-GSCDump-Timestamp";
210
+ const CANONICAL_WEBHOOK_EVENTS = [
211
+ "user.lifecycle.changed",
212
+ "site.lifecycle.changed",
213
+ "site.analytics.ready",
214
+ "site.indexing.ready",
215
+ "site.auth.failed",
216
+ "job.failed"
217
+ ];
218
+ const VALID_WEBHOOK_EVENTS = CANONICAL_WEBHOOK_EVENTS;
231
219
  const unknownRecord = z.record(z.string(), z.unknown());
232
220
  const builderStateSchema = unknownRecord;
233
221
  const gscComparisonFilterSchema = z.enum([
@@ -610,7 +598,7 @@ const registerPartnerSiteSchema = z.object({
610
598
  externalSiteId: z.string().optional(),
611
599
  externalSiteUrl: z.string().optional(),
612
600
  webhookUrl: z.url().optional(),
613
- webhookEvents: z.array(z.enum(VALID_WEBHOOK_EVENTS)).optional(),
601
+ webhookEvents: z.array(z.enum(CANONICAL_WEBHOOK_EVENTS)).optional(),
614
602
  teamId: z.string().optional()
615
603
  });
616
604
  const bulkRegisterPartnerSitesSchema = z.object({
@@ -623,7 +611,7 @@ const bulkRegisterPartnerSitesSchema = z.object({
623
611
  externalSiteId: z.string().optional(),
624
612
  externalSiteUrl: z.string().optional(),
625
613
  webhookUrl: z.url().optional(),
626
- webhookEvents: z.array(z.enum(VALID_WEBHOOK_EVENTS)).optional()
614
+ webhookEvents: z.array(z.enum(CANONICAL_WEBHOOK_EVENTS)).optional()
627
615
  }).loose()).optional()
628
616
  }).refine((value) => (value.siteUrls?.length ?? 0) > 0 || (value.sites?.length ?? 0) > 0, { message: "siteUrls or sites is required" });
629
617
  const bulkRegisterPartnerSitesResponseSchema = z.object({
@@ -1218,18 +1206,7 @@ const partnerRealtimeEventSchema = z.discriminatedUnion("event", [
1218
1206
  }).loose()
1219
1207
  ]);
1220
1208
  const canonicalWebhookEventTypeSchema = z.enum(CANONICAL_WEBHOOK_EVENTS);
1221
- const legacyWebhookEventTypeSchema = z.enum(LEGACY_WEBHOOK_EVENTS);
1222
- const webhookEventTypeSchema = z.enum(VALID_WEBHOOK_EVENTS);
1223
- const jobCompletedWebhookPayloadSchema = z.object({
1224
- event: z.literal("job.completed"),
1225
- siteId: z.string(),
1226
- siteUrl: z.string(),
1227
- table: z.string().optional(),
1228
- date: z.string(),
1229
- rowsFetched: z.number(),
1230
- rowsInserted: z.number(),
1231
- timestamp: z.number()
1232
- }).loose();
1209
+ const webhookEventTypeSchema = canonicalWebhookEventTypeSchema;
1233
1210
  const jobFailedWebhookPayloadSchema = z.object({
1234
1211
  event: z.literal("job.failed"),
1235
1212
  siteId: z.string(),
@@ -1239,115 +1216,7 @@ const jobFailedWebhookPayloadSchema = z.object({
1239
1216
  error: z.string(),
1240
1217
  timestamp: z.number()
1241
1218
  }).loose();
1242
- const siteCompletedWebhookPayloadSchema = z.object({
1243
- event: z.literal("site.completed"),
1244
- siteId: z.string(),
1245
- siteUrl: z.string(),
1246
- status: z.string(),
1247
- daysSynced: z.number(),
1248
- failedJobs: z.number(),
1249
- oldestDateSynced: z.string().nullable().optional(),
1250
- newestDateSynced: z.string().nullable().optional(),
1251
- timestamp: z.number()
1252
- }).loose();
1253
- const indexingCompletedWebhookPayloadSchema = z.object({
1254
- event: z.literal("indexing.completed"),
1255
- siteId: z.string(),
1256
- siteUrl: z.string(),
1257
- totalUrls: z.number(),
1258
- indexedCount: z.number(),
1259
- notIndexedCount: z.number(),
1260
- errorCount: z.number(),
1261
- urlsChecked: z.number(),
1262
- timestamp: z.number()
1263
- }).loose();
1264
- const authFailedWebhookPayloadSchema = z.object({
1265
- event: z.literal("auth.failed"),
1266
- siteId: z.string(),
1267
- siteUrl: z.string(),
1268
- reason: z.string().optional(),
1269
- message: z.string().optional(),
1270
- reauthRequired: z.boolean().optional(),
1271
- authFailureCount: z.number().optional(),
1272
- error: z.string().optional(),
1273
- timestamp: z.number().optional()
1274
- }).loose();
1275
- const legacyWebhookPayloadSchema = z.discriminatedUnion("event", [
1276
- jobCompletedWebhookPayloadSchema,
1277
- jobFailedWebhookPayloadSchema,
1278
- siteCompletedWebhookPayloadSchema,
1279
- indexingCompletedWebhookPayloadSchema,
1280
- authFailedWebhookPayloadSchema
1281
- ]);
1282
- const partnerWebhookDataSchema = z.discriminatedUnion("legacyEvent", [
1283
- z.object({
1284
- legacyEvent: z.literal("job.completed"),
1285
- legacyPayload: jobCompletedWebhookPayloadSchema,
1286
- event: z.literal("job.completed").optional(),
1287
- siteId: z.string(),
1288
- siteUrl: z.string(),
1289
- table: z.string().optional(),
1290
- date: z.string(),
1291
- rowsFetched: z.number(),
1292
- rowsInserted: z.number(),
1293
- timestamp: z.number()
1294
- }).loose(),
1295
- z.object({
1296
- legacyEvent: z.literal("job.failed"),
1297
- legacyPayload: jobFailedWebhookPayloadSchema,
1298
- event: z.literal("job.failed").optional(),
1299
- siteId: z.string(),
1300
- siteUrl: z.string(),
1301
- table: z.string(),
1302
- date: z.string(),
1303
- error: z.string(),
1304
- timestamp: z.number()
1305
- }).loose(),
1306
- z.object({
1307
- legacyEvent: z.literal("site.completed"),
1308
- legacyPayload: siteCompletedWebhookPayloadSchema,
1309
- event: z.literal("site.completed").optional(),
1310
- siteId: z.string(),
1311
- siteUrl: z.string(),
1312
- status: z.string(),
1313
- daysSynced: z.number(),
1314
- failedJobs: z.number(),
1315
- oldestDateSynced: z.string().nullable().optional(),
1316
- newestDateSynced: z.string().nullable().optional(),
1317
- timestamp: z.number()
1318
- }).loose(),
1319
- z.object({
1320
- legacyEvent: z.literal("indexing.completed"),
1321
- legacyPayload: indexingCompletedWebhookPayloadSchema,
1322
- event: z.literal("indexing.completed").optional(),
1323
- siteId: z.string(),
1324
- siteUrl: z.string(),
1325
- totalUrls: z.number(),
1326
- indexedCount: z.number(),
1327
- notIndexedCount: z.number(),
1328
- errorCount: z.number(),
1329
- urlsChecked: z.number(),
1330
- timestamp: z.number()
1331
- }).loose(),
1332
- z.object({
1333
- legacyEvent: z.literal("auth.failed"),
1334
- legacyPayload: authFailedWebhookPayloadSchema,
1335
- event: z.literal("auth.failed").optional(),
1336
- siteId: z.string(),
1337
- siteUrl: z.string(),
1338
- reason: z.string().optional(),
1339
- message: z.string().optional(),
1340
- reauthRequired: z.boolean().optional(),
1341
- authFailureCount: z.number().optional(),
1342
- error: z.string().optional(),
1343
- timestamp: z.number().optional()
1344
- }).loose(),
1345
- z.object({ legacyEvent: z.literal("user.lifecycle.changed") }).loose(),
1346
- z.object({ legacyEvent: z.literal("site.lifecycle.changed") }).loose(),
1347
- z.object({ legacyEvent: z.literal("site.analytics.ready") }).loose(),
1348
- z.object({ legacyEvent: z.literal("site.indexing.ready") }).loose(),
1349
- z.object({ legacyEvent: z.literal("site.auth.failed") }).loose()
1350
- ]);
1219
+ const partnerWebhookDataSchema = unknownRecord;
1351
1220
  const partnerWebhookEnvelopeSchema = z.object({
1352
1221
  contractVersion: z.literal(WEBHOOK_CONTRACT_VERSION),
1353
1222
  deliveryId: z.string().min(1),
@@ -1478,9 +1347,6 @@ const partnerEndpointSchemas = {
1478
1347
  }).loose()
1479
1348
  },
1480
1349
  realtimeEvent: { message: partnerRealtimeEventSchema },
1481
- webhook: {
1482
- message: partnerWebhookEnvelopeSchema,
1483
- legacyMessage: legacyWebhookPayloadSchema
1484
- }
1350
+ webhook: { message: partnerWebhookEnvelopeSchema }
1485
1351
  };
1486
- export { CANONICAL_WEBHOOK_EVENTS, GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, LEGACY_WEBHOOK_EVENTS, VALID_WEBHOOK_EVENTS, WEBHOOK_CONTRACT_VERSION, WEBHOOK_CONTRACT_VERSION_HEADER, WEBHOOK_DELIVERY_HEADER, WEBHOOK_EVENT_ALIASES, WEBHOOK_EVENT_HEADER, WEBHOOK_SIGNATURE_HEADER, WEBHOOK_TIMESTAMP_HEADER, accountNextActions, accountStatuses, addPartnerTeamMemberSchema, analyticsNextActions, analyticsRoutes, analyticsStatuses, authFailedWebhookPayloadSchema, 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, gscdumpPermissionRecoverySchema, gscdumpQueryTrendParamsSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSiteReportResponseSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapsResponseSchema, gscdumpSyncJobsResponseSchema, gscdumpSyncProgressResponseSchema, gscdumpTeamMemberRowSchema, gscdumpTeamRoleSchema, gscdumpTeamRowSchema, gscdumpTopAssociationParamsSchema, gscdumpTopAssociationResponseSchema, gscdumpTotalsSchema, gscdumpUserMeResponseSchema, gscdumpUserRegistrationSchema, gscdumpUserSettingsSchema, gscdumpUserSiteSchema, gscdumpUserStatusSchema, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingCompletedWebhookPayloadSchema, indexingDiagnosticsSchema, indexingIssueSchema, indexingNextActions, indexingStatuses, indexingUrlRowSchema, indexingUrlStatusSchema, indexingUrlsParamsSchema, indexingUrlsResponseSchema, inspectionHistoryRecordSchema, inspectionHistoryResponseSchema, inspectionIndexSchema, jobCompletedWebhookPayloadSchema, jobFailedWebhookPayloadSchema, legacyWebhookEventTypeSchema, legacyWebhookPayloadSchema, lifecycleErrorCodes, lifecycleErrorSchema, lifecycleProgressSchema, lifecycleWebhookEvents, parseGrantedScopes, partnerEndpointSchemas, partnerLifecycleAccountSchema, partnerLifecycleResponseSchema, partnerLifecycleSiteSchema, partnerRealtimeEventSchema, partnerRoutes, partnerWebhookDataSchema, partnerWebhookEnvelopeSchema, propertyNextActions, propertyStatuses, querySourceModes, registerPartnerSiteSchema, registerPartnerUserSchema, rollupEnvelopeSchema, searchAppearanceResponseSchema, searchAppearanceRowSchema, siteCompletedWebhookPayloadSchema, siteListItemSchema, sitemapChangesResponseSchema, sitemapHistoryRecordSchema, sitemapHistoryResponseSchema, sitemapIndexSchema, sitemapNextActions, sitemapStatuses, sourceInfoResponseSchema, updatePartnerUserTokensSchema, webhookEventTypeSchema, whoamiResponseSchema };
1352
+ export { CANONICAL_WEBHOOK_EVENTS, GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_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, 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, gscdumpPermissionRecoverySchema, gscdumpQueryTrendParamsSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSiteReportResponseSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapsResponseSchema, gscdumpSyncJobsResponseSchema, gscdumpSyncProgressResponseSchema, gscdumpTeamMemberRowSchema, gscdumpTeamRoleSchema, gscdumpTeamRowSchema, gscdumpTopAssociationParamsSchema, gscdumpTopAssociationResponseSchema, gscdumpTotalsSchema, gscdumpUserMeResponseSchema, gscdumpUserRegistrationSchema, gscdumpUserSettingsSchema, gscdumpUserSiteSchema, gscdumpUserStatusSchema, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingDiagnosticsSchema, indexingIssueSchema, indexingNextActions, indexingStatuses, indexingUrlRowSchema, indexingUrlStatusSchema, indexingUrlsParamsSchema, indexingUrlsResponseSchema, inspectionHistoryRecordSchema, inspectionHistoryResponseSchema, inspectionIndexSchema, jobFailedWebhookPayloadSchema, lifecycleErrorCodes, lifecycleErrorSchema, lifecycleProgressSchema, lifecycleWebhookEvents, parseGrantedScopes, partnerEndpointSchemas, partnerLifecycleAccountSchema, partnerLifecycleResponseSchema, partnerLifecycleSiteSchema, partnerRealtimeEventSchema, partnerRoutes, partnerWebhookDataSchema, partnerWebhookEnvelopeSchema, propertyNextActions, propertyStatuses, querySourceModes, registerPartnerSiteSchema, registerPartnerUserSchema, rollupEnvelopeSchema, searchAppearanceResponseSchema, searchAppearanceRowSchema, siteListItemSchema, sitemapChangesResponseSchema, sitemapHistoryRecordSchema, sitemapHistoryResponseSchema, sitemapIndexSchema, sitemapNextActions, sitemapStatuses, sourceInfoResponseSchema, updatePartnerUserTokensSchema, webhookEventTypeSchema, whoamiResponseSchema };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gscdump/contracts",
3
3
  "type": "module",
4
- "version": "0.11.5",
4
+ "version": "0.12.0",
5
5
  "description": "Shared gscdump.com API, webhook, realtime, and lifecycle contracts.",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",