@gscdump/contracts 1.5.4 → 2.0.1
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/dist/analytics.d.mts +2 -2
- package/dist/endpoints.d.mts +0 -216
- package/dist/endpoints.mjs +0 -7
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +2 -2
- package/dist/partner.d.mts +2 -2
- package/dist/routes.d.mts +0 -6
- package/dist/routes.mjs +0 -6
- package/dist/schemas.d.mts +214 -438
- package/dist/schemas.mjs +103 -53
- package/dist/types.d.mts +77 -44
- package/dist/v1/operations.d.mts +677 -42
- package/dist/v1/operations.mjs +172 -13
- package/package.json +1 -1
package/dist/v1/operations.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addPartnerTeamMemberSchema, bindPartnerSiteTeamSchema, bindPartnerTeamCatalogResponseSchema, bindPartnerTeamCatalogSchema, builderStateSchema, createPartnerTeamSchema, gscComparisonFilterSchema, gscdumpAnalysisBundleResponseSchema, gscdumpAnalysisPresetSchema, gscdumpAnalysisResponseSchema, gscdumpAvailableSiteSchema, gscdumpCanonicalMismatchesResponseSchema, gscdumpDataDetailResponseSchema, gscdumpDataResponseSchema, gscdumpDeletePartnerUserResponseSchema, gscdumpIndexPercentResponseSchema, gscdumpIndexingDiagnosticsResponseSchema, gscdumpIndexingResponseSchema, gscdumpIndexingTransitionFieldSchema, gscdumpKeywordSparklinesResponseSchema, gscdumpPageTrendResponseSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapMembershipParamsSchema, gscdumpSitemapMembershipResponseSchema, gscdumpSitemapsResponseSchema, gscdumpTeamRoleSchema, gscdumpTopAssociationResponseSchema, gscdumpUserRegistrationSchema, indexingUrlsResponseSchema, partnerSiteTeamBindingResponseSchema, partnerSitemapActionResponseSchema, partnerSitemapActionSchema, partnerTeamCreatedResponseSchema, partnerTeamDeletedResponseSchema, partnerTeamMemberAddedResponseSchema, partnerTeamMemberRemovedResponseSchema, partnerTeamMemberRoleResponseSchema, partnerTeamMembersResponseSchema, partnerTeamRenamedResponseSchema, registerPartnerSiteSchema, registerPartnerUserSchema, renamePartnerTeamSchema, searchTypeSchema, siteIntIdCrosswalkResponseSchema, sitemapChangesTruncationReasonSchema, teamCatalogRefSchema, updatePartnerUserTokensSchema } from "../schemas.mjs";
|
|
1
|
+
import { addPartnerTeamMemberSchema, bindPartnerSiteTeamSchema, bindPartnerTeamCatalogResponseSchema, bindPartnerTeamCatalogSchema, builderStateSchema, createPartnerTeamSchema, gscComparisonFilterSchema, gscdumpAnalysisBundleResponseSchema, gscdumpAnalysisPresetSchema, gscdumpAnalysisResponseSchema, gscdumpAvailableSiteSchema, gscdumpCanonicalMismatchesResponseSchema, gscdumpDataDetailResponseSchema, gscdumpDataResponseSchema, gscdumpDeletePartnerUserResponseSchema, gscdumpIndexPercentResponseSchema, gscdumpIndexingDiagnosticsResponseSchema, gscdumpIndexingResponseSchema, gscdumpIndexingTransitionFieldSchema, gscdumpKeywordSparklinesResponseSchema, gscdumpPageTrendResponseSchema, gscdumpQueryTrendResponseSchema, gscdumpSiteRegistrationSchema, gscdumpSitemapChangesResponseSchema, gscdumpSitemapExportQuerySchema, gscdumpSitemapExportResponseSchema, gscdumpSitemapMembershipParamsSchema, gscdumpSitemapMembershipResponseSchema, gscdumpSitemapUrlsQuerySchema, gscdumpSitemapUrlsResponseSchema, gscdumpSitemapsResponseSchema, gscdumpTeamRoleSchema, gscdumpTopAssociationResponseSchema, gscdumpUserRegistrationSchema, indexingUrlsResponseSchema, partnerSiteTeamBindingResponseSchema, partnerSitemapActionResponseSchema, partnerSitemapActionSchema, partnerTeamCreatedResponseSchema, partnerTeamDeletedResponseSchema, partnerTeamMemberAddedResponseSchema, partnerTeamMemberRemovedResponseSchema, partnerTeamMemberRoleResponseSchema, partnerTeamMembersResponseSchema, partnerTeamRenamedResponseSchema, registerPartnerSiteSchema, registerPartnerUserSchema, renamePartnerTeamSchema, searchTypeSchema, siteIntIdCrosswalkResponseSchema, sitemapChangesTruncationReasonSchema, teamCatalogRefSchema, updatePartnerUserTokensSchema } from "../schemas.mjs";
|
|
2
2
|
import "./version.mjs";
|
|
3
3
|
import { HTTP_V1_ERROR_CODES, defineHttpOperation, defineHttpSurface, defineResponseObject, defineSuccessResponse } from "./http-core.mjs";
|
|
4
4
|
import { GSCDUMP_REALTIME_ACK_POLICY, GSCDUMP_REALTIME_CLOSE_CODES, GSCDUMP_REALTIME_CONNECTION_POLICY, GSCDUMP_REALTIME_LIMITS, GSCDUMP_REALTIME_PING, GSCDUMP_REALTIME_PONG, GSCDUMP_REALTIME_REPLAY_POLICY, GSCDUMP_REALTIME_SUBPROTOCOL, GSCDUMP_REALTIME_TICKET_AUDIENCE, GSCDUMP_REALTIME_TICKET_ISSUER, GSCDUMP_REALTIME_TICKET_POLICY, GSCDUMP_REALTIME_TICKET_PREFIX, REALTIME_V1_EVENT_SEMANTICS, createRealtimeV1Schemas } from "./realtime.mjs";
|
|
@@ -242,10 +242,12 @@ function createGscdumpV1Protocol() {
|
|
|
242
242
|
_tag: z.literal("truncated"),
|
|
243
243
|
scannedUrls: z.number().int().nonnegative(),
|
|
244
244
|
reasons: z.array(sitemapChangesTruncationReasonSchema).min(1),
|
|
245
|
+
historyAvailableFrom: z.number().int().nonnegative().optional(),
|
|
245
246
|
limits: z.strictObject({
|
|
246
247
|
scannedUrls: z.number().int().positive(),
|
|
247
248
|
added: z.number().int().positive(),
|
|
248
|
-
removed: z.number().int().positive()
|
|
249
|
+
removed: z.number().int().positive(),
|
|
250
|
+
updated: z.number().int().positive()
|
|
249
251
|
})
|
|
250
252
|
};
|
|
251
253
|
const sitemapChangesResponse = defineSuccessResponse(defineResponseObject({
|
|
@@ -495,6 +497,16 @@ function createGscdumpV1Protocol() {
|
|
|
495
497
|
}, partnerResponseMeta);
|
|
496
498
|
const sitemapMembershipRequest = gscdumpSitemapMembershipParamsSchema.strict();
|
|
497
499
|
const sitemapMembershipResponse = defineSuccessResponse(defineResponseObject(gscdumpSitemapMembershipResponseSchema.shape), partnerResponseMeta);
|
|
500
|
+
const sitemapUrlsQuery = gscdumpSitemapUrlsQuerySchema;
|
|
501
|
+
const sitemapUrlsResponse = defineSuccessResponse({
|
|
502
|
+
producer: gscdumpSitemapUrlsResponseSchema,
|
|
503
|
+
client: gscdumpSitemapUrlsResponseSchema
|
|
504
|
+
}, partnerResponseMeta);
|
|
505
|
+
const sitemapExportQuery = gscdumpSitemapExportQuerySchema;
|
|
506
|
+
const sitemapExportResponse = defineSuccessResponse({
|
|
507
|
+
producer: gscdumpSitemapExportResponseSchema,
|
|
508
|
+
client: gscdumpSitemapExportResponseSchema
|
|
509
|
+
}, partnerResponseMeta);
|
|
498
510
|
const createTeamRequest = createPartnerTeamSchema.strict();
|
|
499
511
|
const teamCreatedResponse = defineSuccessResponse(defineResponseObject(partnerTeamCreatedResponseSchema.shape), partnerResponseMeta);
|
|
500
512
|
const renameTeamRequest = renamePartnerTeamSchema.strict();
|
|
@@ -1335,6 +1347,7 @@ function createGscdumpV1Protocol() {
|
|
|
1335
1347
|
sitemaps: [],
|
|
1336
1348
|
history: [],
|
|
1337
1349
|
perSitemapHistory: {},
|
|
1350
|
+
generation: null,
|
|
1338
1351
|
meta: {
|
|
1339
1352
|
siteUrl: "sc-domain:example.com",
|
|
1340
1353
|
gscPropertyUrl: "sc-domain:example.com",
|
|
@@ -1407,9 +1420,12 @@ function createGscdumpV1Protocol() {
|
|
|
1407
1420
|
data: {
|
|
1408
1421
|
added: [],
|
|
1409
1422
|
removed: [],
|
|
1423
|
+
updated: [],
|
|
1424
|
+
generation: null,
|
|
1410
1425
|
summary: {
|
|
1411
1426
|
totalAdded: 0,
|
|
1412
1427
|
totalRemoved: 0,
|
|
1428
|
+
totalUpdated: 0,
|
|
1413
1429
|
period: { days: 28 }
|
|
1414
1430
|
},
|
|
1415
1431
|
completeness: {
|
|
@@ -2749,26 +2765,169 @@ function createGscdumpV1Protocol() {
|
|
|
2749
2765
|
lifecycle: { introduced: "1.3.0" },
|
|
2750
2766
|
docs: {
|
|
2751
2767
|
summary: "Query sitemap membership",
|
|
2752
|
-
description: "
|
|
2768
|
+
description: "Returns generation-pinned present, absent, or unknown evidence for each exact requested URL.",
|
|
2753
2769
|
tags: ["Sitemaps"],
|
|
2754
2770
|
examples: {
|
|
2755
2771
|
request: {
|
|
2756
2772
|
params: { siteId: "s_01" },
|
|
2757
|
-
body: {
|
|
2758
|
-
urls: ["https://example.com/"],
|
|
2759
|
-
maxAgeDays: 30
|
|
2760
|
-
}
|
|
2773
|
+
body: { urls: ["https://example.com/"] }
|
|
2761
2774
|
},
|
|
2762
2775
|
response: {
|
|
2763
2776
|
data: {
|
|
2764
|
-
|
|
2777
|
+
generation: null,
|
|
2778
|
+
evidence: [{
|
|
2779
|
+
_tag: "unknown",
|
|
2780
|
+
url: "https://example.com/",
|
|
2781
|
+
reason: "no_generation"
|
|
2782
|
+
}],
|
|
2765
2783
|
meta: {
|
|
2766
|
-
available: true,
|
|
2767
|
-
reason: null,
|
|
2768
2784
|
requested: 1,
|
|
2769
|
-
checked:
|
|
2770
|
-
matched: 0
|
|
2771
|
-
|
|
2785
|
+
checked: 0,
|
|
2786
|
+
matched: 0
|
|
2787
|
+
}
|
|
2788
|
+
},
|
|
2789
|
+
meta: {
|
|
2790
|
+
requestId: "req_01",
|
|
2791
|
+
surface: "partner",
|
|
2792
|
+
version: "1.0"
|
|
2793
|
+
}
|
|
2794
|
+
}
|
|
2795
|
+
}
|
|
2796
|
+
}
|
|
2797
|
+
}),
|
|
2798
|
+
listSitemapUrls: defineHttpOperation({
|
|
2799
|
+
id: "partner.sites.sitemaps.urls.get",
|
|
2800
|
+
method: "GET",
|
|
2801
|
+
path: "/sites/{siteId}/sitemaps/urls",
|
|
2802
|
+
visibility: "public",
|
|
2803
|
+
semantics: {
|
|
2804
|
+
kind: "query",
|
|
2805
|
+
sideEffects: "none",
|
|
2806
|
+
idempotent: true,
|
|
2807
|
+
retry: "idempotent",
|
|
2808
|
+
readConsistency: "primary"
|
|
2809
|
+
},
|
|
2810
|
+
auth: {
|
|
2811
|
+
credentials: ["user_key", "partner_key"],
|
|
2812
|
+
scopes: ["sitemaps:read"],
|
|
2813
|
+
ownership: [{
|
|
2814
|
+
credential: "user_key",
|
|
2815
|
+
rule: "authorized_site"
|
|
2816
|
+
}, {
|
|
2817
|
+
credential: "partner_key",
|
|
2818
|
+
rule: "authorized_site"
|
|
2819
|
+
}]
|
|
2820
|
+
},
|
|
2821
|
+
request: {
|
|
2822
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
2823
|
+
query: sitemapUrlsQuery,
|
|
2824
|
+
headers: requestHeaders,
|
|
2825
|
+
body: null
|
|
2826
|
+
},
|
|
2827
|
+
responses: { 200: sitemapUrlsResponse },
|
|
2828
|
+
errors: partnerSiteErrors,
|
|
2829
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
2830
|
+
resources: {
|
|
2831
|
+
reads: [{
|
|
2832
|
+
type: "site.sitemaps",
|
|
2833
|
+
idFrom: "params.siteId"
|
|
2834
|
+
}],
|
|
2835
|
+
changes: []
|
|
2836
|
+
},
|
|
2837
|
+
lifecycle: { introduced: "2.0.0" },
|
|
2838
|
+
docs: {
|
|
2839
|
+
summary: "List sitemap URLs",
|
|
2840
|
+
description: "Returns an exact generation-pinned cursor page of sitemap membership and lastmod evidence.",
|
|
2841
|
+
tags: ["Sitemaps"],
|
|
2842
|
+
examples: {
|
|
2843
|
+
request: {
|
|
2844
|
+
params: { siteId: "s_01" },
|
|
2845
|
+
query: { limit: 500 }
|
|
2846
|
+
},
|
|
2847
|
+
response: {
|
|
2848
|
+
data: {
|
|
2849
|
+
generation: {
|
|
2850
|
+
id: "site-01JZ",
|
|
2851
|
+
observedAt: 1753746e6,
|
|
2852
|
+
publishedAt: 1753746000100,
|
|
2853
|
+
completeness: { _tag: "complete" },
|
|
2854
|
+
membershipHistoryAvailableFrom: 1753746e6,
|
|
2855
|
+
legacyImport: { _tag: "none" }
|
|
2856
|
+
},
|
|
2857
|
+
items: [],
|
|
2858
|
+
page: {
|
|
2859
|
+
nextCursor: null,
|
|
2860
|
+
limit: 500
|
|
2861
|
+
}
|
|
2862
|
+
},
|
|
2863
|
+
meta: {
|
|
2864
|
+
requestId: "req_01",
|
|
2865
|
+
surface: "partner",
|
|
2866
|
+
version: "1.0"
|
|
2867
|
+
}
|
|
2868
|
+
}
|
|
2869
|
+
}
|
|
2870
|
+
}
|
|
2871
|
+
}),
|
|
2872
|
+
getSitemapExport: defineHttpOperation({
|
|
2873
|
+
id: "partner.sites.sitemaps.export.get",
|
|
2874
|
+
method: "GET",
|
|
2875
|
+
path: "/sites/{siteId}/sitemaps/export",
|
|
2876
|
+
visibility: "public",
|
|
2877
|
+
semantics: {
|
|
2878
|
+
kind: "query",
|
|
2879
|
+
sideEffects: "none",
|
|
2880
|
+
idempotent: true,
|
|
2881
|
+
retry: "idempotent",
|
|
2882
|
+
readConsistency: "primary"
|
|
2883
|
+
},
|
|
2884
|
+
auth: {
|
|
2885
|
+
credentials: ["user_key", "partner_key"],
|
|
2886
|
+
scopes: ["sitemaps:read"],
|
|
2887
|
+
ownership: [{
|
|
2888
|
+
credential: "user_key",
|
|
2889
|
+
rule: "authorized_site"
|
|
2890
|
+
}, {
|
|
2891
|
+
credential: "partner_key",
|
|
2892
|
+
rule: "authorized_site"
|
|
2893
|
+
}]
|
|
2894
|
+
},
|
|
2895
|
+
request: {
|
|
2896
|
+
params: z.strictObject({ siteId: realtimeSchemas.publicSiteId }),
|
|
2897
|
+
query: sitemapExportQuery,
|
|
2898
|
+
headers: requestHeaders,
|
|
2899
|
+
body: null
|
|
2900
|
+
},
|
|
2901
|
+
responses: { 200: sitemapExportResponse },
|
|
2902
|
+
errors: partnerSiteErrors,
|
|
2903
|
+
errorResponse: errorEnvelopeSchemas(partnerSiteErrors, realtimeSchemas.publicRequestId),
|
|
2904
|
+
resources: {
|
|
2905
|
+
reads: [{
|
|
2906
|
+
type: "site.sitemaps",
|
|
2907
|
+
idFrom: "params.siteId"
|
|
2908
|
+
}],
|
|
2909
|
+
changes: []
|
|
2910
|
+
},
|
|
2911
|
+
lifecycle: { introduced: "2.0.0" },
|
|
2912
|
+
docs: {
|
|
2913
|
+
summary: "Get sitemap bulk export",
|
|
2914
|
+
description: "Returns a generation-pinned expiring URL for the full NDJSON sitemap projection.",
|
|
2915
|
+
tags: ["Sitemaps"],
|
|
2916
|
+
examples: {
|
|
2917
|
+
request: { params: { siteId: "s_01" } },
|
|
2918
|
+
response: {
|
|
2919
|
+
data: {
|
|
2920
|
+
generation: {
|
|
2921
|
+
id: "site-01JZ",
|
|
2922
|
+
observedAt: 1753746e6,
|
|
2923
|
+
publishedAt: 1753746000100,
|
|
2924
|
+
completeness: { _tag: "complete" },
|
|
2925
|
+
membershipHistoryAvailableFrom: 1753746e6,
|
|
2926
|
+
legacyImport: { _tag: "none" }
|
|
2927
|
+
},
|
|
2928
|
+
export: {
|
|
2929
|
+
_tag: "unavailable",
|
|
2930
|
+
reason: "export_unavailable"
|
|
2772
2931
|
}
|
|
2773
2932
|
},
|
|
2774
2933
|
meta: {
|