gscdump 0.36.4 → 0.37.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/index.d.mts CHANGED
@@ -728,11 +728,18 @@ declare const INDEXING_ISSUE_FILTERS: {
728
728
  readonly crawled_not_indexed: "coverage_state = 'Crawled - currently not indexed'";
729
729
  readonly discovered_not_indexed: "coverage_state = 'Discovered - currently not indexed'";
730
730
  readonly not_found: "page_fetch_state = 'NOT_FOUND' OR coverage_state = 'Not found (404)'";
731
- readonly soft_404: "page_fetch_state = 'SOFT_404'";
732
- readonly server_error: "page_fetch_state = 'SERVER_ERROR'";
731
+ readonly soft_404: "page_fetch_state = 'SOFT_404' OR coverage_state = 'Soft 404'";
732
+ readonly server_error: "page_fetch_state = 'SERVER_ERROR' OR coverage_state = 'Server error (5xx)'";
733
+ readonly access_forbidden: "page_fetch_state = 'ACCESS_FORBIDDEN' OR coverage_state = 'Blocked due to access forbidden (403)'";
734
+ readonly access_denied: "page_fetch_state = 'ACCESS_DENIED' OR coverage_state = 'Blocked due to unauthorized request (401)'";
735
+ readonly blocked_4xx: "page_fetch_state = 'BLOCKED_4XX' OR coverage_state = 'Blocked due to other 4xx issue'";
736
+ readonly redirect_error: "page_fetch_state = 'REDIRECT_ERROR' OR coverage_state = 'Redirect error'";
737
+ readonly crawl_error: "page_fetch_state IN ('INTERNAL_CRAWL_ERROR', 'INVALID_URL')";
733
738
  readonly blocked_robots: "robots_txt_state = 'DISALLOWED'";
734
739
  readonly noindex: "indexing_state LIKE '%noindex%' OR coverage_state LIKE '%noindex%'";
735
740
  readonly redirect: "coverage_state = 'Page with redirect'";
741
+ readonly sitemap_redirect: "coverage_state = 'Page with redirect' AND sitemaps IS NOT NULL AND sitemaps != '[]'";
742
+ readonly alternate_canonical: "coverage_state = 'Alternate page with proper canonical tag'";
736
743
  readonly fragment_url: "url LIKE '%#%'";
737
744
  readonly mobile_fail: "mobile_verdict IN ('FAIL', 'PARTIAL')";
738
745
  readonly rich_results_fail: "rich_results_verdict = 'FAIL'";
@@ -742,6 +749,33 @@ declare const INDEXING_ISSUE_FILTERS: {
742
749
  type IndexingIssueType = keyof typeof INDEXING_ISSUE_FILTERS;
743
750
  declare const INDEXING_ISSUE_LABELS: Record<IndexingIssueType, string>;
744
751
  declare const INDEXING_ISSUE_SEVERITY: Record<IndexingIssueType, 'error' | 'warning' | 'info'>;
752
+ /**
753
+ * Every `pageFetchState` the URL Inspection API documents. `SUCCESSFUL` and the
754
+ * `_UNSPECIFIED` sentinel are non-faults; the rest each map to a filter above.
755
+ */
756
+ declare const KNOWN_PAGE_FETCH_STATES: ReadonlySet<string>;
757
+ /**
758
+ * Every `coverageState` string we have a bucket for, plus the indexed-state strings
759
+ * that are not faults. Google is free to invent new prose here at any time — that's
760
+ * exactly what {@link unmappedInspectionReasons} exists to catch.
761
+ */
762
+ declare const KNOWN_COVERAGE_STATES: ReadonlySet<string>;
763
+ interface UnmappedInspectionReasons {
764
+ coverageStates: string[];
765
+ pageFetchStates: string[];
766
+ }
767
+ /**
768
+ * Which reason strings in this batch of inspection results we have no bucket for.
769
+ *
770
+ * Pure, allocation-cheap, and safe to call on every ingest batch. A non-empty
771
+ * result means Google reports a state the filter map cannot see — the URLs are
772
+ * still counted in `not_indexed`, but nothing narrower, so the product will
773
+ * under-report exactly the way it did for `ACCESS_FORBIDDEN` before this existed.
774
+ */
775
+ declare function unmappedInspectionReasons(rows: ReadonlyArray<{
776
+ coverageState?: string | null;
777
+ pageFetchState?: string | null;
778
+ }>): UnmappedInspectionReasons;
745
779
  interface GscPropertyCandidate {
746
780
  siteUrl?: string | null;
747
781
  permissionLevel?: string | null;
@@ -977,4 +1011,4 @@ declare function normalizeSiteUrl(siteUrl: string): string;
977
1011
  * Example: `https://www.Example.com/Foo/` → `example.com/foo`
978
1012
  */
979
1013
  declare function urlMatchKey(url: string): string | null;
980
- export { AccountNextAction, AccountStatus, AnalyticsNextAction, AnalyticsStatus, ApiSite, ApiSitemap, ApiSitemapContent, Auth, AuthClient, AuthOptions, BackfillProgress, CallOptions, DAYS_PER_RANGE, DataRow, DimensionFilter, DimensionFilterGroup, DiscoverSitemapOptions, Err, FetchSitemapUrlsOptions, GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSC_FINALIZED_LAG_DAYS, GSC_FRESHEST_LAG_DAYS, GSC_INDEXING_SCOPE, GSC_QUOTAS, GSC_READ_SCOPE, GSC_RETENTION_MONTHS, GSC_SITE_VERIFICATION_SCOPE, GSC_WRITE_SCOPE, GoogleSearchConsoleClient, GoogleSearchConsoleClientOptions, GscApiError, GscApiErrorInfo, GscError, GscErrorKind, GscPropertyCandidate, GscdumpApiOptions, INDEXING_ISSUE_FILTERS, INDEXING_ISSUE_LABELS, INDEXING_ISSUE_SEVERITY, IndexStatusResult, IndexingEligibility, IndexingIneligibleReason, IndexingIssueType, IndexingMetadata, IndexingNextAction, IndexingNotificationType, IndexingResult, IndexingStatus, InspectUrlIndexResponse, InspectUrlResult, InspectionPriority, LifecycleError, LifecycleErrorCode, LifecycleProgress, LifecycleWebhookEnvelope, LifecycleWebhookEvent, MS_PER_DAY, MobileUsabilityResult, OAuthTokens, Ok, ParsedGscSiteUrl, ParsedIndexingResult, PartnerLifecycleAccount, PartnerLifecycleResponse, PartnerLifecycleSite, Period, PropertyNextAction, PropertyStatus, PublishUrlNotificationResponse, QueryReturn, QuerySourceMode, RequiredNonNullable, ResolvedAnalyticsRange, Result, RichResultsResult, SearchAnalyticsQuery, SearchAnalyticsResponse, Site, SiteAnalytics, SitemapNextAction, SitemapStatus, URL_INSPECTION_DAILY_LIMIT, URL_INSPECTION_EFFECTIVE_LIMIT, UrlInspectionResult, UrlNotificationMetadata, VerificationMethod, VerificationSite, VerificationSiteType, VerificationToken, VerificationWebResource, accountNextActions, accountStatuses, addDays, addSite, analyticsNextActions, analyticsStatuses, batchInspectUrls, batchRequestIndexing, canUseUrlInspection, classifyError, countDays, createAuth, createFetch, daysAgo, decodeSiteId, deleteSite, deleteSitemap, discoverSitemap, encodeSiteId, err, exchangeAuthCode, exchangeAuthCodeResult, fetchSitemap, fetchSitemapUrls, fetchSitemaps, fetchSites, fetchSitesWithSitemaps, findBestGscProperty, findExactGscProperty, formatErrorForCli, formatGscPropertyCandidates, generateGscDateRange, getBackfillProgress, getDateRange, getFreshestGscDate, getIndexingEligibility, getIndexingMetadata, getLatestGscDate, getNextCheckAfter, getNextCheckPriority, getNextDate, getOldestGscDate, getPendingDates, getPreviousDate, getPstDate, getVerificationToken, getVerifiedSite, googleSearchConsole, grantedScopeList, groupIntoRanges, gscErrorToException, gscPropertyMatchesTarget, gscdumpApi, hasGoogleScope, hasGscReadScope, hasGscWriteScope, hasIndexingScope, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingNextActions, indexingStatuses, inspectUrl, inspectUrlFlat, isErr, isOk, isPermissionDeniedError, isValidGscDate, isVerifiedGscPermission, isVerifiedGscProperty, lifecycleErrorCodes, lifecycleWebhookEvents, listVerifiedSites, mapErr, mapResult, matchGscSite, matchResult, normalizeGscSiteUrl, normalizeRegistrationTarget, normalizeSiteUrl, normalizeUrl, ok, parseGoogleError, parseGoogleScopes, parseGrantedScopes, parseGscSiteUrl, pickBestGscProperty, progressBar, propertyNextActions, propertyStatuses, querySourceModes, refreshAccessToken, refreshAccessTokenResult, requestIndexing, rethrowAsGscApiError, rowWithMetricDefaults, runSequentialBatch, siteUrlToVerificationSite, sitemapNextActions, sitemapStatuses, storageError, submitSitemap, toIsoDate, unverifySite, unwrapResult, urlMatchKey, verificationMethodsFor, verifySite };
1014
+ export { AccountNextAction, AccountStatus, AnalyticsNextAction, AnalyticsStatus, ApiSite, ApiSitemap, ApiSitemapContent, Auth, AuthClient, AuthOptions, BackfillProgress, CallOptions, DAYS_PER_RANGE, DataRow, DimensionFilter, DimensionFilterGroup, DiscoverSitemapOptions, Err, FetchSitemapUrlsOptions, GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSC_FINALIZED_LAG_DAYS, GSC_FRESHEST_LAG_DAYS, GSC_INDEXING_SCOPE, GSC_QUOTAS, GSC_READ_SCOPE, GSC_RETENTION_MONTHS, GSC_SITE_VERIFICATION_SCOPE, GSC_WRITE_SCOPE, GoogleSearchConsoleClient, GoogleSearchConsoleClientOptions, GscApiError, GscApiErrorInfo, GscError, GscErrorKind, GscPropertyCandidate, GscdumpApiOptions, INDEXING_ISSUE_FILTERS, INDEXING_ISSUE_LABELS, INDEXING_ISSUE_SEVERITY, IndexStatusResult, IndexingEligibility, IndexingIneligibleReason, IndexingIssueType, IndexingMetadata, IndexingNextAction, IndexingNotificationType, IndexingResult, IndexingStatus, InspectUrlIndexResponse, InspectUrlResult, InspectionPriority, KNOWN_COVERAGE_STATES, KNOWN_PAGE_FETCH_STATES, LifecycleError, LifecycleErrorCode, LifecycleProgress, LifecycleWebhookEnvelope, LifecycleWebhookEvent, MS_PER_DAY, MobileUsabilityResult, OAuthTokens, Ok, ParsedGscSiteUrl, ParsedIndexingResult, PartnerLifecycleAccount, PartnerLifecycleResponse, PartnerLifecycleSite, Period, PropertyNextAction, PropertyStatus, PublishUrlNotificationResponse, QueryReturn, QuerySourceMode, RequiredNonNullable, ResolvedAnalyticsRange, Result, RichResultsResult, SearchAnalyticsQuery, SearchAnalyticsResponse, Site, SiteAnalytics, SitemapNextAction, SitemapStatus, URL_INSPECTION_DAILY_LIMIT, URL_INSPECTION_EFFECTIVE_LIMIT, UnmappedInspectionReasons, UrlInspectionResult, UrlNotificationMetadata, VerificationMethod, VerificationSite, VerificationSiteType, VerificationToken, VerificationWebResource, accountNextActions, accountStatuses, addDays, addSite, analyticsNextActions, analyticsStatuses, batchInspectUrls, batchRequestIndexing, canUseUrlInspection, classifyError, countDays, createAuth, createFetch, daysAgo, decodeSiteId, deleteSite, deleteSitemap, discoverSitemap, encodeSiteId, err, exchangeAuthCode, exchangeAuthCodeResult, fetchSitemap, fetchSitemapUrls, fetchSitemaps, fetchSites, fetchSitesWithSitemaps, findBestGscProperty, findExactGscProperty, formatErrorForCli, formatGscPropertyCandidates, generateGscDateRange, getBackfillProgress, getDateRange, getFreshestGscDate, getIndexingEligibility, getIndexingMetadata, getLatestGscDate, getNextCheckAfter, getNextCheckPriority, getNextDate, getOldestGscDate, getPendingDates, getPreviousDate, getPstDate, getVerificationToken, getVerifiedSite, googleSearchConsole, grantedScopeList, groupIntoRanges, gscErrorToException, gscPropertyMatchesTarget, gscdumpApi, hasGoogleScope, hasGscReadScope, hasGscWriteScope, hasIndexingScope, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingNextActions, indexingStatuses, inspectUrl, inspectUrlFlat, isErr, isOk, isPermissionDeniedError, isValidGscDate, isVerifiedGscPermission, isVerifiedGscProperty, lifecycleErrorCodes, lifecycleWebhookEvents, listVerifiedSites, mapErr, mapResult, matchGscSite, matchResult, normalizeGscSiteUrl, normalizeRegistrationTarget, normalizeSiteUrl, normalizeUrl, ok, parseGoogleError, parseGoogleScopes, parseGrantedScopes, parseGscSiteUrl, pickBestGscProperty, progressBar, propertyNextActions, propertyStatuses, querySourceModes, refreshAccessToken, refreshAccessTokenResult, requestIndexing, rethrowAsGscApiError, rowWithMetricDefaults, runSequentialBatch, siteUrlToVerificationSite, sitemapNextActions, sitemapStatuses, storageError, submitSitemap, toIsoDate, unmappedInspectionReasons, unverifySite, unwrapResult, urlMatchKey, verificationMethodsFor, verifySite };
package/dist/index.mjs CHANGED
@@ -2886,11 +2886,18 @@ const INDEXING_ISSUE_FILTERS = {
2886
2886
  crawled_not_indexed: `coverage_state = 'Crawled - currently not indexed'`,
2887
2887
  discovered_not_indexed: `coverage_state = 'Discovered - currently not indexed'`,
2888
2888
  not_found: `page_fetch_state = 'NOT_FOUND' OR coverage_state = 'Not found (404)'`,
2889
- soft_404: `page_fetch_state = 'SOFT_404'`,
2890
- server_error: `page_fetch_state = 'SERVER_ERROR'`,
2889
+ soft_404: `page_fetch_state = 'SOFT_404' OR coverage_state = 'Soft 404'`,
2890
+ server_error: `page_fetch_state = 'SERVER_ERROR' OR coverage_state = 'Server error (5xx)'`,
2891
+ access_forbidden: `page_fetch_state = 'ACCESS_FORBIDDEN' OR coverage_state = 'Blocked due to access forbidden (403)'`,
2892
+ access_denied: `page_fetch_state = 'ACCESS_DENIED' OR coverage_state = 'Blocked due to unauthorized request (401)'`,
2893
+ blocked_4xx: `page_fetch_state = 'BLOCKED_4XX' OR coverage_state = 'Blocked due to other 4xx issue'`,
2894
+ redirect_error: `page_fetch_state = 'REDIRECT_ERROR' OR coverage_state = 'Redirect error'`,
2895
+ crawl_error: `page_fetch_state IN ('INTERNAL_CRAWL_ERROR', 'INVALID_URL')`,
2891
2896
  blocked_robots: `robots_txt_state = 'DISALLOWED'`,
2892
2897
  noindex: `indexing_state LIKE '%noindex%' OR coverage_state LIKE '%noindex%'`,
2893
2898
  redirect: `coverage_state = 'Page with redirect'`,
2899
+ sitemap_redirect: `coverage_state = 'Page with redirect' AND sitemaps IS NOT NULL AND sitemaps != '[]'`,
2900
+ alternate_canonical: `coverage_state = 'Alternate page with proper canonical tag'`,
2894
2901
  fragment_url: `url LIKE '%#%'`,
2895
2902
  mobile_fail: `mobile_verdict IN ('FAIL', 'PARTIAL')`,
2896
2903
  rich_results_fail: `rich_results_verdict = 'FAIL'`,
@@ -2908,9 +2915,16 @@ const INDEXING_ISSUE_LABELS = {
2908
2915
  not_found: "404 Not Found",
2909
2916
  soft_404: "Soft 404",
2910
2917
  server_error: "Server error",
2918
+ access_forbidden: "Blocked: forbidden (403)",
2919
+ access_denied: "Blocked: unauthorized (401)",
2920
+ blocked_4xx: "Blocked: other 4xx",
2921
+ redirect_error: "Redirect error",
2922
+ crawl_error: "Crawl error",
2911
2923
  blocked_robots: "Blocked by robots.txt",
2912
2924
  noindex: "Noindex tag",
2913
2925
  redirect: "Redirect",
2926
+ sitemap_redirect: "Sitemap URL redirects",
2927
+ alternate_canonical: "Alternate page with canonical",
2914
2928
  fragment_url: "Fragment URL (#)",
2915
2929
  mobile_fail: "Mobile usability issues",
2916
2930
  rich_results_fail: "Rich results errors",
@@ -2928,15 +2942,73 @@ const INDEXING_ISSUE_SEVERITY = {
2928
2942
  not_found: "error",
2929
2943
  soft_404: "error",
2930
2944
  server_error: "error",
2945
+ access_forbidden: "error",
2946
+ access_denied: "error",
2947
+ blocked_4xx: "error",
2948
+ redirect_error: "error",
2949
+ crawl_error: "warning",
2931
2950
  blocked_robots: "warning",
2932
2951
  noindex: "info",
2933
2952
  redirect: "info",
2953
+ sitemap_redirect: "warning",
2954
+ alternate_canonical: "info",
2934
2955
  fragment_url: "warning",
2935
2956
  mobile_fail: "warning",
2936
2957
  rich_results_fail: "error",
2937
2958
  rich_results_warning: "warning",
2938
2959
  rich_results_pass: "info"
2939
2960
  };
2961
+ const KNOWN_PAGE_FETCH_STATES = /* @__PURE__ */ new Set([
2962
+ "PAGE_FETCH_STATE_UNSPECIFIED",
2963
+ "SUCCESSFUL",
2964
+ "SOFT_404",
2965
+ "BLOCKED_ROBOTS_TXT",
2966
+ "NOT_FOUND",
2967
+ "ACCESS_DENIED",
2968
+ "SERVER_ERROR",
2969
+ "REDIRECT_ERROR",
2970
+ "ACCESS_FORBIDDEN",
2971
+ "BLOCKED_4XX",
2972
+ "INTERNAL_CRAWL_ERROR",
2973
+ "INVALID_URL"
2974
+ ]);
2975
+ const KNOWN_COVERAGE_STATES = /* @__PURE__ */ new Set([
2976
+ "Submitted and indexed",
2977
+ "Indexed, not submitted in sitemap",
2978
+ "Indexed, though blocked by robots.txt",
2979
+ "Indexed; consider marking as canonical",
2980
+ "URL is unknown to Google",
2981
+ "Crawled - currently not indexed",
2982
+ "Discovered - currently not indexed",
2983
+ "Not found (404)",
2984
+ "Soft 404",
2985
+ "Server error (5xx)",
2986
+ "Blocked due to access forbidden (403)",
2987
+ "Blocked due to unauthorized request (401)",
2988
+ "Blocked due to other 4xx issue",
2989
+ "Redirect error",
2990
+ "Blocked by robots.txt",
2991
+ "Excluded by ‘noindex’ tag",
2992
+ "Page with redirect",
2993
+ "Alternate page with proper canonical tag",
2994
+ "Duplicate without user-selected canonical",
2995
+ "Duplicate, Google chose different canonical than user",
2996
+ "Blocked by page removal tool"
2997
+ ]);
2998
+ function unmappedInspectionReasons(rows) {
2999
+ const coverageStates = /* @__PURE__ */ new Set();
3000
+ const pageFetchStates = /* @__PURE__ */ new Set();
3001
+ for (const row of rows) {
3002
+ const coverage = row.coverageState?.trim();
3003
+ if (coverage && !KNOWN_COVERAGE_STATES.has(coverage)) coverageStates.add(coverage);
3004
+ const fetchState = row.pageFetchState?.trim();
3005
+ if (fetchState && !KNOWN_PAGE_FETCH_STATES.has(fetchState)) pageFetchStates.add(fetchState);
3006
+ }
3007
+ return {
3008
+ coverageStates: [...coverageStates],
3009
+ pageFetchStates: [...pageFetchStates]
3010
+ };
3011
+ }
2940
3012
  const SCHEME_RE = /^(sc-domain:|https?:\/\/)/;
2941
3013
  function parseGscSiteUrl(siteUrl) {
2942
3014
  const isDomain = siteUrl.startsWith("sc-domain:");
@@ -3258,4 +3330,4 @@ function urlMatchKey(url) {
3258
3330
  if (!u) return null;
3259
3331
  return [u.hostname.replace(/^www\./, ""), u.pathname.replace(/\/$/, "") || "/"].join("").toLowerCase();
3260
3332
  }
3261
- export { DAYS_PER_RANGE, GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSC_FINALIZED_LAG_DAYS, GSC_FRESHEST_LAG_DAYS, GSC_INDEXING_SCOPE, GSC_QUOTAS, GSC_READ_SCOPE, GSC_RETENTION_MONTHS, GSC_SITE_VERIFICATION_SCOPE, GSC_WRITE_SCOPE, GscApiError, INDEXING_ISSUE_FILTERS, INDEXING_ISSUE_LABELS, INDEXING_ISSUE_SEVERITY, MS_PER_DAY, URL_INSPECTION_DAILY_LIMIT, URL_INSPECTION_EFFECTIVE_LIMIT, accountNextActions, accountStatuses, addDays, addSite, analyticsNextActions, analyticsStatuses, batchInspectUrls, batchRequestIndexing, canUseUrlInspection, classifyError, countDays, createAuth, createFetch, daysAgo, decodeSiteId, deleteSite, deleteSitemap, discoverSitemap, encodeSiteId, err, exchangeAuthCode, exchangeAuthCodeResult, fetchSitemap, fetchSitemapUrls, fetchSitemaps, fetchSites, fetchSitesWithSitemaps, findBestGscProperty, findExactGscProperty, formatErrorForCli, formatGscPropertyCandidates, generateGscDateRange, getBackfillProgress, getDateRange, getFreshestGscDate, getIndexingEligibility, getIndexingMetadata, getLatestGscDate, getNextCheckAfter, getNextCheckPriority, getNextDate, getOldestGscDate, getPendingDates, getPreviousDate, getPstDate, getVerificationToken, getVerifiedSite, googleSearchConsole, grantedScopeList, groupIntoRanges, gscErrorToException, gscPropertyMatchesTarget, gscdumpApi, hasGoogleScope, hasGscReadScope, hasGscWriteScope, hasIndexingScope, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingNextActions, indexingStatuses, inspectUrl, inspectUrlFlat, isErr, isOk, isPermissionDeniedError, isValidGscDate, isVerifiedGscPermission, isVerifiedGscProperty, lifecycleErrorCodes, lifecycleWebhookEvents, listVerifiedSites, mapErr, mapResult, matchGscSite, matchResult, normalizeGscSiteUrl, normalizeRegistrationTarget, normalizeSiteUrl, normalizeUrl, ok, parseGoogleError, parseGoogleScopes, parseGrantedScopes, parseGscSiteUrl, pickBestGscProperty, progressBar, propertyNextActions, propertyStatuses, querySourceModes, refreshAccessToken, refreshAccessTokenResult, requestIndexing, rethrowAsGscApiError, rowWithMetricDefaults, runSequentialBatch, siteUrlToVerificationSite, sitemapNextActions, sitemapStatuses, storageError, submitSitemap, toIsoDate, unverifySite, unwrapResult, urlMatchKey, verificationMethodsFor, verifySite };
3333
+ export { DAYS_PER_RANGE, GSCDUMP_ONBOARDING_CONTRACT_VERSION, GSCDUMP_OPTIONAL_INDEXING_SCOPE, GSCDUMP_REQUIRED_ANALYTICS_SCOPE, GSC_FINALIZED_LAG_DAYS, GSC_FRESHEST_LAG_DAYS, GSC_INDEXING_SCOPE, GSC_QUOTAS, GSC_READ_SCOPE, GSC_RETENTION_MONTHS, GSC_SITE_VERIFICATION_SCOPE, GSC_WRITE_SCOPE, GscApiError, INDEXING_ISSUE_FILTERS, INDEXING_ISSUE_LABELS, INDEXING_ISSUE_SEVERITY, KNOWN_COVERAGE_STATES, KNOWN_PAGE_FETCH_STATES, MS_PER_DAY, URL_INSPECTION_DAILY_LIMIT, URL_INSPECTION_EFFECTIVE_LIMIT, accountNextActions, accountStatuses, addDays, addSite, analyticsNextActions, analyticsStatuses, batchInspectUrls, batchRequestIndexing, canUseUrlInspection, classifyError, countDays, createAuth, createFetch, daysAgo, decodeSiteId, deleteSite, deleteSitemap, discoverSitemap, encodeSiteId, err, exchangeAuthCode, exchangeAuthCodeResult, fetchSitemap, fetchSitemapUrls, fetchSitemaps, fetchSites, fetchSitesWithSitemaps, findBestGscProperty, findExactGscProperty, formatErrorForCli, formatGscPropertyCandidates, generateGscDateRange, getBackfillProgress, getDateRange, getFreshestGscDate, getIndexingEligibility, getIndexingMetadata, getLatestGscDate, getNextCheckAfter, getNextCheckPriority, getNextDate, getOldestGscDate, getPendingDates, getPreviousDate, getPstDate, getVerificationToken, getVerifiedSite, googleSearchConsole, grantedScopeList, groupIntoRanges, gscErrorToException, gscPropertyMatchesTarget, gscdumpApi, hasGoogleScope, hasGscReadScope, hasGscWriteScope, hasIndexingScope, hasOptionalIndexingScope, hasRequiredAnalyticsScope, indexingNextActions, indexingStatuses, inspectUrl, inspectUrlFlat, isErr, isOk, isPermissionDeniedError, isValidGscDate, isVerifiedGscPermission, isVerifiedGscProperty, lifecycleErrorCodes, lifecycleWebhookEvents, listVerifiedSites, mapErr, mapResult, matchGscSite, matchResult, normalizeGscSiteUrl, normalizeRegistrationTarget, normalizeSiteUrl, normalizeUrl, ok, parseGoogleError, parseGoogleScopes, parseGrantedScopes, parseGscSiteUrl, pickBestGscProperty, progressBar, propertyNextActions, propertyStatuses, querySourceModes, refreshAccessToken, refreshAccessTokenResult, requestIndexing, rethrowAsGscApiError, rowWithMetricDefaults, runSequentialBatch, siteUrlToVerificationSite, sitemapNextActions, sitemapStatuses, storageError, submitSitemap, toIsoDate, unmappedInspectionReasons, unverifySite, unwrapResult, urlMatchKey, verificationMethodsFor, verifySite };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gscdump",
3
3
  "type": "module",
4
- "version": "0.36.4",
4
+ "version": "0.37.1",
5
5
  "description": "Google Search Console API wrapper with typed query builder, streaming pagination, and SEO analysis functions",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -98,7 +98,7 @@
98
98
  "defu": "^6.1.7",
99
99
  "ofetch": "^1.5.1",
100
100
  "ufo": "^1.6.4",
101
- "@gscdump/contracts": "0.36.4"
101
+ "@gscdump/contracts": "0.37.1"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@googleapis/indexing": "^6.0.1",