gscdump 0.37.0 → 0.37.2

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,20 @@ 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'";
743
+ readonly duplicate_no_canonical: "coverage_state = 'Duplicate without user-selected canonical'";
744
+ readonly page_removed: "coverage_state = 'Blocked by page removal tool'";
736
745
  readonly fragment_url: "url LIKE '%#%'";
737
746
  readonly mobile_fail: "mobile_verdict IN ('FAIL', 'PARTIAL')";
738
747
  readonly rich_results_fail: "rich_results_verdict = 'FAIL'";
@@ -742,6 +751,33 @@ declare const INDEXING_ISSUE_FILTERS: {
742
751
  type IndexingIssueType = keyof typeof INDEXING_ISSUE_FILTERS;
743
752
  declare const INDEXING_ISSUE_LABELS: Record<IndexingIssueType, string>;
744
753
  declare const INDEXING_ISSUE_SEVERITY: Record<IndexingIssueType, 'error' | 'warning' | 'info'>;
754
+ /**
755
+ * Every `pageFetchState` the URL Inspection API documents. `SUCCESSFUL` and the
756
+ * `_UNSPECIFIED` sentinel are non-faults; the rest each map to a filter above.
757
+ */
758
+ declare const KNOWN_PAGE_FETCH_STATES: ReadonlySet<string>;
759
+ /**
760
+ * Every `coverageState` string we have a bucket for, plus the indexed-state strings
761
+ * that are not faults. Google is free to invent new prose here at any time — that's
762
+ * exactly what {@link unmappedInspectionReasons} exists to catch.
763
+ */
764
+ declare const KNOWN_COVERAGE_STATES: ReadonlySet<string>;
765
+ interface UnmappedInspectionReasons {
766
+ coverageStates: string[];
767
+ pageFetchStates: string[];
768
+ }
769
+ /**
770
+ * Which reason strings in this batch of inspection results we have no bucket for.
771
+ *
772
+ * Pure, allocation-cheap, and safe to call on every ingest batch. A non-empty
773
+ * result means Google reports a state the filter map cannot see — the URLs are
774
+ * still counted in `not_indexed`, but nothing narrower, so the product will
775
+ * under-report exactly the way it did for `ACCESS_FORBIDDEN` before this existed.
776
+ */
777
+ declare function unmappedInspectionReasons(rows: ReadonlyArray<{
778
+ coverageState?: string | null;
779
+ pageFetchState?: string | null;
780
+ }>): UnmappedInspectionReasons;
745
781
  interface GscPropertyCandidate {
746
782
  siteUrl?: string | null;
747
783
  permissionLevel?: string | null;
@@ -977,4 +1013,4 @@ declare function normalizeSiteUrl(siteUrl: string): string;
977
1013
  * Example: `https://www.Example.com/Foo/` → `example.com/foo`
978
1014
  */
979
1015
  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 };
1016
+ 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,20 @@ 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'`,
2901
+ duplicate_no_canonical: `coverage_state = 'Duplicate without user-selected canonical'`,
2902
+ page_removed: `coverage_state = 'Blocked by page removal tool'`,
2894
2903
  fragment_url: `url LIKE '%#%'`,
2895
2904
  mobile_fail: `mobile_verdict IN ('FAIL', 'PARTIAL')`,
2896
2905
  rich_results_fail: `rich_results_verdict = 'FAIL'`,
@@ -2908,9 +2917,18 @@ const INDEXING_ISSUE_LABELS = {
2908
2917
  not_found: "404 Not Found",
2909
2918
  soft_404: "Soft 404",
2910
2919
  server_error: "Server error",
2920
+ access_forbidden: "Blocked: forbidden (403)",
2921
+ access_denied: "Blocked: unauthorized (401)",
2922
+ blocked_4xx: "Blocked: other 4xx",
2923
+ redirect_error: "Redirect error",
2924
+ crawl_error: "Crawl error",
2911
2925
  blocked_robots: "Blocked by robots.txt",
2912
2926
  noindex: "Noindex tag",
2913
2927
  redirect: "Redirect",
2928
+ sitemap_redirect: "Sitemap URL redirects",
2929
+ alternate_canonical: "Alternate page with canonical",
2930
+ duplicate_no_canonical: "Duplicate, no canonical declared",
2931
+ page_removed: "Removed via removal tool",
2914
2932
  fragment_url: "Fragment URL (#)",
2915
2933
  mobile_fail: "Mobile usability issues",
2916
2934
  rich_results_fail: "Rich results errors",
@@ -2928,15 +2946,75 @@ const INDEXING_ISSUE_SEVERITY = {
2928
2946
  not_found: "error",
2929
2947
  soft_404: "error",
2930
2948
  server_error: "error",
2949
+ access_forbidden: "error",
2950
+ access_denied: "error",
2951
+ blocked_4xx: "error",
2952
+ redirect_error: "error",
2953
+ crawl_error: "warning",
2931
2954
  blocked_robots: "warning",
2932
2955
  noindex: "info",
2933
2956
  redirect: "info",
2957
+ sitemap_redirect: "warning",
2958
+ alternate_canonical: "info",
2959
+ duplicate_no_canonical: "warning",
2960
+ page_removed: "info",
2934
2961
  fragment_url: "warning",
2935
2962
  mobile_fail: "warning",
2936
2963
  rich_results_fail: "error",
2937
2964
  rich_results_warning: "warning",
2938
2965
  rich_results_pass: "info"
2939
2966
  };
2967
+ const KNOWN_PAGE_FETCH_STATES = /* @__PURE__ */ new Set([
2968
+ "PAGE_FETCH_STATE_UNSPECIFIED",
2969
+ "SUCCESSFUL",
2970
+ "SOFT_404",
2971
+ "BLOCKED_ROBOTS_TXT",
2972
+ "NOT_FOUND",
2973
+ "ACCESS_DENIED",
2974
+ "SERVER_ERROR",
2975
+ "REDIRECT_ERROR",
2976
+ "ACCESS_FORBIDDEN",
2977
+ "BLOCKED_4XX",
2978
+ "INTERNAL_CRAWL_ERROR",
2979
+ "INVALID_URL"
2980
+ ]);
2981
+ const KNOWN_COVERAGE_STATES = /* @__PURE__ */ new Set([
2982
+ "Submitted and indexed",
2983
+ "Indexed, not submitted in sitemap",
2984
+ "Indexed, though blocked by robots.txt",
2985
+ "Indexed; consider marking as canonical",
2986
+ "URL is unknown to Google",
2987
+ "Crawled - currently not indexed",
2988
+ "Discovered - currently not indexed",
2989
+ "Not found (404)",
2990
+ "Soft 404",
2991
+ "Server error (5xx)",
2992
+ "Blocked due to access forbidden (403)",
2993
+ "Blocked due to unauthorized request (401)",
2994
+ "Blocked due to other 4xx issue",
2995
+ "Redirect error",
2996
+ "Blocked by robots.txt",
2997
+ "Excluded by ‘noindex’ tag",
2998
+ "Page with redirect",
2999
+ "Alternate page with proper canonical tag",
3000
+ "Duplicate without user-selected canonical",
3001
+ "Duplicate, Google chose different canonical than user",
3002
+ "Blocked by page removal tool"
3003
+ ]);
3004
+ function unmappedInspectionReasons(rows) {
3005
+ const coverageStates = /* @__PURE__ */ new Set();
3006
+ const pageFetchStates = /* @__PURE__ */ new Set();
3007
+ for (const row of rows) {
3008
+ const coverage = row.coverageState?.trim();
3009
+ if (coverage && !KNOWN_COVERAGE_STATES.has(coverage)) coverageStates.add(coverage);
3010
+ const fetchState = row.pageFetchState?.trim();
3011
+ if (fetchState && !KNOWN_PAGE_FETCH_STATES.has(fetchState)) pageFetchStates.add(fetchState);
3012
+ }
3013
+ return {
3014
+ coverageStates: [...coverageStates],
3015
+ pageFetchStates: [...pageFetchStates]
3016
+ };
3017
+ }
2940
3018
  const SCHEME_RE = /^(sc-domain:|https?:\/\/)/;
2941
3019
  function parseGscSiteUrl(siteUrl) {
2942
3020
  const isDomain = siteUrl.startsWith("sc-domain:");
@@ -3258,4 +3336,4 @@ function urlMatchKey(url) {
3258
3336
  if (!u) return null;
3259
3337
  return [u.hostname.replace(/^www\./, ""), u.pathname.replace(/\/$/, "") || "/"].join("").toLowerCase();
3260
3338
  }
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 };
3339
+ 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.37.0",
4
+ "version": "0.37.2",
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.37.0"
101
+ "@gscdump/contracts": "0.37.2"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@googleapis/indexing": "^6.0.1",