@gscdump/contracts 4.6.0 → 4.7.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 +1 -1
- package/dist/analytics.d.mts +2 -2
- package/dist/endpoints.d.mts +14 -0
- package/dist/entitlements.d.mts +90 -0
- package/dist/entitlements.mjs +55 -0
- package/dist/index.d.mts +3 -2
- package/dist/index.mjs +2 -1
- package/dist/onboarding.d.mts +3 -0
- package/dist/partner.d.mts +2 -2
- package/dist/schemas.d.mts +55 -3
- package/dist/schemas.mjs +11 -1
- package/dist/types.d.mts +14 -1
- package/dist/v1/browser.d.mts +13 -1
- package/dist/v1/browser.mjs +3 -0
- package/dist/v1/http.d.mts +2 -2
- package/dist/v1/index.d.mts +2 -2
- package/dist/v1/operations.d.mts +351 -11
- package/dist/v1/operations.mjs +129 -0
- package/dist/v1/route-catalog.d.mts +5 -0
- package/dist/v1/route-catalog.mjs +5 -0
- package/dist/webhook-constants.d.mts +2 -2
- package/dist/webhook-constants.mjs +2 -1
- package/package.json +1 -1
package/dist/v1/operations.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { siteHoldReasonSchema } from "../entitlements.mjs";
|
|
1
2
|
import { watchedUrlsChangeRequestSchema, watchedUrlsChangeResponseSchema, watchedUrlsResponseSchema } from "../indexing-coverage.mjs";
|
|
2
3
|
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";
|
|
3
4
|
import { bingConnectionV1Schemas } from "./bing.mjs";
|
|
@@ -386,6 +387,52 @@ function createGscdumpV1Protocol() {
|
|
|
386
387
|
ok: z.literal(true),
|
|
387
388
|
keyId: partnerUserApiKeyId
|
|
388
389
|
}), partnerResponseMeta);
|
|
390
|
+
const entitlementCount = z.number().int().nonnegative();
|
|
391
|
+
const entitlementUsage = defineResponseObject({
|
|
392
|
+
used: entitlementCount,
|
|
393
|
+
allowance: entitlementCount
|
|
394
|
+
});
|
|
395
|
+
const preservedRowsUsage = defineResponseObject({
|
|
396
|
+
used: entitlementCount.nullable(),
|
|
397
|
+
allowance: entitlementCount
|
|
398
|
+
});
|
|
399
|
+
const urlInspectionsUsage = defineResponseObject({
|
|
400
|
+
used: entitlementCount,
|
|
401
|
+
allowance: entitlementCount.nullable(),
|
|
402
|
+
resetsAt: z.iso.date()
|
|
403
|
+
});
|
|
404
|
+
const entitlementMeters = defineResponseObject({
|
|
405
|
+
sites: entitlementUsage.producer,
|
|
406
|
+
preservedRows: preservedRowsUsage.producer,
|
|
407
|
+
urlInspections: urlInspectionsUsage.producer
|
|
408
|
+
}, {
|
|
409
|
+
sites: entitlementUsage.client,
|
|
410
|
+
preservedRows: preservedRowsUsage.client,
|
|
411
|
+
urlInspections: urlInspectionsUsage.client
|
|
412
|
+
});
|
|
413
|
+
const heldSite = defineResponseObject({
|
|
414
|
+
siteId: realtimeSchemas.publicSiteId,
|
|
415
|
+
hold: siteHoldReasonSchema
|
|
416
|
+
});
|
|
417
|
+
const exemptEntitlements = defineResponseObject({ mode: z.literal("exempt") });
|
|
418
|
+
const meteredEntitlementsShape = {
|
|
419
|
+
mode: z.literal("metered"),
|
|
420
|
+
phase: z.enum(["beta", "billing"]),
|
|
421
|
+
sizeLimitRowsPerDay: z.number().int().positive()
|
|
422
|
+
};
|
|
423
|
+
const meteredEntitlements = defineResponseObject({
|
|
424
|
+
...meteredEntitlementsShape,
|
|
425
|
+
meters: entitlementMeters.producer,
|
|
426
|
+
heldSites: z.array(heldSite.producer)
|
|
427
|
+
}, {
|
|
428
|
+
...meteredEntitlementsShape,
|
|
429
|
+
meters: entitlementMeters.client,
|
|
430
|
+
heldSites: z.array(heldSite.client)
|
|
431
|
+
});
|
|
432
|
+
const userEntitlementsResponse = defineSuccessResponse({
|
|
433
|
+
producer: z.discriminatedUnion("mode", [exemptEntitlements.producer, meteredEntitlements.producer]),
|
|
434
|
+
client: z.discriminatedUnion("mode", [exemptEntitlements.client, meteredEntitlements.client])
|
|
435
|
+
}, partnerResponseMeta);
|
|
389
436
|
const trendQuery = z.strictObject({
|
|
390
437
|
startDate: calendarDate,
|
|
391
438
|
endDate: calendarDate,
|
|
@@ -813,6 +860,87 @@ function createGscdumpV1Protocol() {
|
|
|
813
860
|
}
|
|
814
861
|
}
|
|
815
862
|
}),
|
|
863
|
+
getUserEntitlements: defineHttpOperation({
|
|
864
|
+
...gscdumpV1OperationRoute("partner.users.entitlements.get"),
|
|
865
|
+
visibility: "public",
|
|
866
|
+
semantics: {
|
|
867
|
+
kind: "query",
|
|
868
|
+
sideEffects: "none",
|
|
869
|
+
idempotent: true,
|
|
870
|
+
retry: "idempotent",
|
|
871
|
+
readConsistency: "primary"
|
|
872
|
+
},
|
|
873
|
+
auth: {
|
|
874
|
+
credentials: ["user_key", "partner_key"],
|
|
875
|
+
scopes: ["users:read"],
|
|
876
|
+
ownership: [{
|
|
877
|
+
credential: "user_key",
|
|
878
|
+
rule: "self"
|
|
879
|
+
}, {
|
|
880
|
+
credential: "partner_key",
|
|
881
|
+
rule: "linked_user"
|
|
882
|
+
}]
|
|
883
|
+
},
|
|
884
|
+
request: {
|
|
885
|
+
params: z.strictObject({ userId: realtimeSchemas.publicUserId }),
|
|
886
|
+
query: null,
|
|
887
|
+
headers: requestHeaders,
|
|
888
|
+
body: null
|
|
889
|
+
},
|
|
890
|
+
responses: { 200: userEntitlementsResponse },
|
|
891
|
+
errors: partnerUserErrors,
|
|
892
|
+
errorResponse: errorEnvelopeSchemas(partnerUserErrors, realtimeSchemas.publicRequestId),
|
|
893
|
+
resources: {
|
|
894
|
+
reads: [{
|
|
895
|
+
type: "partner.user",
|
|
896
|
+
idFrom: "params.userId"
|
|
897
|
+
}, {
|
|
898
|
+
type: "user.sites",
|
|
899
|
+
idFrom: "params.userId"
|
|
900
|
+
}],
|
|
901
|
+
changes: []
|
|
902
|
+
},
|
|
903
|
+
lifecycle: { introduced: "4.7.0" },
|
|
904
|
+
docs: {
|
|
905
|
+
summary: "Get user entitlements",
|
|
906
|
+
description: "Returns the Meters that apply to the user's partner Sites. If the partner is exempt, the response is `{ mode: \"exempt\" }` and no free allowance applies. If the partner is metered, the response gives the usage of the user's Billing owner against each free allowance, the size limit in query×page rows per day, and the held Sites the user can read. `urlInspections.allowance` is `null` when URL Inspections have no cap. `urlInspections.resetsAt` is the first UTC day of the next usage month.",
|
|
907
|
+
tags: ["Users"],
|
|
908
|
+
examples: {
|
|
909
|
+
request: { params: { userId: "u_01" } },
|
|
910
|
+
response: {
|
|
911
|
+
data: {
|
|
912
|
+
mode: "metered",
|
|
913
|
+
phase: "beta",
|
|
914
|
+
meters: {
|
|
915
|
+
sites: {
|
|
916
|
+
used: 2,
|
|
917
|
+
allowance: 3
|
|
918
|
+
},
|
|
919
|
+
preservedRows: {
|
|
920
|
+
used: 12e4,
|
|
921
|
+
allowance: 25e4
|
|
922
|
+
},
|
|
923
|
+
urlInspections: {
|
|
924
|
+
used: 310,
|
|
925
|
+
allowance: 5e3,
|
|
926
|
+
resetsAt: "2026-11-01"
|
|
927
|
+
}
|
|
928
|
+
},
|
|
929
|
+
sizeLimitRowsPerDay: 2500,
|
|
930
|
+
heldSites: [{
|
|
931
|
+
siteId: "s_02",
|
|
932
|
+
hold: "size_limit"
|
|
933
|
+
}]
|
|
934
|
+
},
|
|
935
|
+
meta: {
|
|
936
|
+
requestId: "req_01",
|
|
937
|
+
surface: "partner",
|
|
938
|
+
version: "1.0"
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
}),
|
|
816
944
|
listAvailableSites: defineHttpOperation({
|
|
817
945
|
...gscdumpV1OperationRoute("partner.users.sites.available.list"),
|
|
818
946
|
visibility: "public",
|
|
@@ -5281,6 +5409,7 @@ function createGscdumpV1Protocol() {
|
|
|
5281
5409
|
indexNowSubmissionResponse,
|
|
5282
5410
|
indexNowSubmissionReceiptsResponse,
|
|
5283
5411
|
lifecycleResponse,
|
|
5412
|
+
userEntitlementsResponse,
|
|
5284
5413
|
registerSiteRequest,
|
|
5285
5414
|
sitemapChangesQuery,
|
|
5286
5415
|
sitemapChangesResponse,
|
|
@@ -21,6 +21,11 @@ export declare const GSCDUMP_V1_ROUTE_CATALOG: {
|
|
|
21
21
|
readonly method: "GET";
|
|
22
22
|
readonly template: "/users/{userId}/lifecycle";
|
|
23
23
|
};
|
|
24
|
+
readonly 'partner.users.entitlements.get': {
|
|
25
|
+
readonly surface: "partner";
|
|
26
|
+
readonly method: "GET";
|
|
27
|
+
readonly template: "/users/{userId}/entitlements";
|
|
28
|
+
};
|
|
24
29
|
readonly 'partner.users.sites.available.list': {
|
|
25
30
|
readonly surface: "partner";
|
|
26
31
|
readonly method: "GET";
|
|
@@ -8,6 +8,11 @@ const GSCDUMP_V1_ROUTE_CATALOG = {
|
|
|
8
8
|
method: "GET",
|
|
9
9
|
template: "/users/{userId}/lifecycle"
|
|
10
10
|
},
|
|
11
|
+
"partner.users.entitlements.get": {
|
|
12
|
+
surface: "partner",
|
|
13
|
+
method: "GET",
|
|
14
|
+
template: "/users/{userId}/entitlements"
|
|
15
|
+
},
|
|
11
16
|
"partner.users.sites.available.list": {
|
|
12
17
|
surface: "partner",
|
|
13
18
|
method: "GET",
|
|
@@ -4,5 +4,5 @@ export declare const WEBHOOK_EVENT_HEADER = "X-GSCDump-Event";
|
|
|
4
4
|
export declare const WEBHOOK_DELIVERY_HEADER = "X-GSCDump-Delivery";
|
|
5
5
|
export declare const WEBHOOK_CONTRACT_VERSION_HEADER = "X-GSCDump-Contract-Version";
|
|
6
6
|
export declare const WEBHOOK_TIMESTAMP_HEADER = "X-GSCDump-Timestamp";
|
|
7
|
-
export declare const CANONICAL_WEBHOOK_EVENTS: readonly ["user.lifecycle.changed", "site.lifecycle.changed", "site.analytics.ready", "site.indexing.ready", "site.auth.failed", "job.failed"];
|
|
8
|
-
export declare const VALID_WEBHOOK_EVENTS: readonly ["user.lifecycle.changed", "site.lifecycle.changed", "site.analytics.ready", "site.indexing.ready", "site.auth.failed", "job.failed"];
|
|
7
|
+
export declare const CANONICAL_WEBHOOK_EVENTS: readonly ["user.lifecycle.changed", "site.lifecycle.changed", "site.analytics.ready", "site.indexing.ready", "site.auth.failed", "job.failed", "user.allowance.notice"];
|
|
8
|
+
export declare const VALID_WEBHOOK_EVENTS: readonly ["user.lifecycle.changed", "site.lifecycle.changed", "site.analytics.ready", "site.indexing.ready", "site.auth.failed", "job.failed", "user.allowance.notice"];
|
|
@@ -10,7 +10,8 @@ const CANONICAL_WEBHOOK_EVENTS = [
|
|
|
10
10
|
"site.analytics.ready",
|
|
11
11
|
"site.indexing.ready",
|
|
12
12
|
"site.auth.failed",
|
|
13
|
-
"job.failed"
|
|
13
|
+
"job.failed",
|
|
14
|
+
"user.allowance.notice"
|
|
14
15
|
];
|
|
15
16
|
const VALID_WEBHOOK_EVENTS = CANONICAL_WEBHOOK_EVENTS;
|
|
16
17
|
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 };
|