seo 0.2.19 → 0.2.21

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.ts CHANGED
@@ -3,6 +3,19 @@ import { Headers, RequestInit as RequestInit$1, Response as Response$1, fetch as
3
3
  import { z } from "zod";
4
4
  import Libsql from "libsql";
5
5
  import pino from "pino";
6
+ //#region packages/core/src/ga4/account-summaries.d.ts
7
+ interface Ga4PropertySummary {
8
+ property: string;
9
+ displayName?: string;
10
+ propertyType?: string;
11
+ parent?: string;
12
+ }
13
+ interface Ga4AccountSummary {
14
+ account: string;
15
+ displayName?: string;
16
+ propertySummaries: Ga4PropertySummary[];
17
+ }
18
+ //#endregion
6
19
  //#region packages/core/src/ga4/client.d.ts
7
20
  interface Ga4ReportRequest {
8
21
  dateRanges: Array<{
@@ -51,17 +64,6 @@ interface Ga4RunReportResult {
51
64
  };
52
65
  propertyQuota?: unknown;
53
66
  }
54
- interface Ga4PropertySummary {
55
- property: string;
56
- displayName?: string;
57
- propertyType?: string;
58
- parent?: string;
59
- }
60
- interface Ga4AccountSummary {
61
- account: string;
62
- displayName?: string;
63
- propertySummaries: Ga4PropertySummary[];
64
- }
65
67
  interface Ga4DataStream {
66
68
  name: string;
67
69
  displayName?: string;
@@ -2281,7 +2283,7 @@ declare function analyzePageOpportunitiesFromRows(input: PageOpportunityAnalysis
2281
2283
  type PageOpportunityFocus = PageOpportunityType | 'no-data';
2282
2284
  //#endregion
2283
2285
  //#region packages/core/src/analyze/page-opportunities.d.ts
2284
- type SearchAnalytics$11 = typeof querySearchAnalytics;
2286
+ type SearchAnalytics$12 = typeof querySearchAnalytics;
2285
2287
  type FetchPage$4 = typeof fetchPage;
2286
2288
  type ExtractPage$3 = typeof extractPage;
2287
2289
  type PageOpportunityInput = {
@@ -2353,7 +2355,7 @@ type PageOpportunityReport = {
2353
2355
  recommendations: string[];
2354
2356
  };
2355
2357
  type PageOpportunityDependencies = {
2356
- searchAnalytics: SearchAnalytics$11;
2358
+ searchAnalytics: SearchAnalytics$12;
2357
2359
  fetch: FetchPage$4;
2358
2360
  extract: ExtractPage$3;
2359
2361
  now: () => Date;
@@ -20341,9 +20343,9 @@ declare function analyzeCtrUnderperformersFromRows(input: {
20341
20343
  };
20342
20344
  //#endregion
20343
20345
  //#region packages/core/src/analyze/ctr-underperformers.d.ts
20344
- type SearchAnalytics$10 = typeof querySearchAnalytics;
20346
+ type SearchAnalytics$11 = typeof querySearchAnalytics;
20345
20347
  interface CtrUnderperformerDependencies {
20346
- searchAnalytics: SearchAnalytics$10;
20348
+ searchAnalytics: SearchAnalytics$11;
20347
20349
  now: () => Date;
20348
20350
  }
20349
20351
  declare function ctrUnderperformersReport(input: {
@@ -20541,7 +20543,7 @@ declare function resolveSegmentRanges(input: {
20541
20543
  };
20542
20544
  //#endregion
20543
20545
  //#region packages/core/src/analyze/segment-impact.d.ts
20544
- type SearchAnalytics$9 = typeof querySearchAnalytics;
20546
+ type SearchAnalytics$10 = typeof querySearchAnalytics;
20545
20547
  interface SegmentImpactInput {
20546
20548
  site: string;
20547
20549
  dimension?: SegmentDimension;
@@ -20555,7 +20557,7 @@ interface SegmentImpactInput {
20555
20557
  refresh?: boolean;
20556
20558
  }
20557
20559
  interface SegmentImpactDependencies {
20558
- searchAnalytics: SearchAnalytics$9;
20560
+ searchAnalytics: SearchAnalytics$10;
20559
20561
  now: () => Date;
20560
20562
  }
20561
20563
  declare function compareSegmentRows(input: {
@@ -20750,7 +20752,7 @@ declare const CANNIBAL_MINIMUM_PAGE_SHARE = 0.1;
20750
20752
  declare const CANNIBAL_MAXIMUM_DOMINANT_SHARE = 0.8;
20751
20753
  //#endregion
20752
20754
  //#region packages/core/src/analyze/site-diagnostics/cannibal.d.ts
20753
- type SearchAnalytics$8 = typeof querySearchAnalytics;
20755
+ type SearchAnalytics$9 = typeof querySearchAnalytics;
20754
20756
  interface CannibalReportInput {
20755
20757
  site: string;
20756
20758
  days?: number;
@@ -20763,7 +20765,7 @@ interface CannibalReportInput {
20763
20765
  refresh?: boolean;
20764
20766
  }
20765
20767
  interface CannibalDependencies {
20766
- searchAnalytics: SearchAnalytics$8;
20768
+ searchAnalytics: SearchAnalytics$9;
20767
20769
  now: () => Date;
20768
20770
  }
20769
20771
  declare function cannibalReport(input: CannibalReportInput, dependencies?: CannibalDependencies): Promise<CannibalReport>;
@@ -20931,7 +20933,7 @@ declare function decayComparisonRange(current: {
20931
20933
  };
20932
20934
  //#endregion
20933
20935
  //#region packages/core/src/analyze/site-diagnostics/decaying.d.ts
20934
- type SearchAnalytics$7 = typeof querySearchAnalytics;
20936
+ type SearchAnalytics$8 = typeof querySearchAnalytics;
20935
20937
  interface DecayingReportInput {
20936
20938
  site: string;
20937
20939
  days?: number;
@@ -20947,7 +20949,7 @@ interface DecayingReportInput {
20947
20949
  refresh?: boolean;
20948
20950
  }
20949
20951
  interface DecayingDependencies {
20950
- searchAnalytics: SearchAnalytics$7;
20952
+ searchAnalytics: SearchAnalytics$8;
20951
20953
  now: () => Date;
20952
20954
  }
20953
20955
  declare function decayingReport(input: DecayingReportInput, dependencies?: DecayingDependencies): Promise<DecayReport>;
@@ -21093,7 +21095,7 @@ type AnalyzeQuickWinsInput = {
21093
21095
  declare function analyzeQuickWinsFromRows(input: AnalyzeQuickWinsInput): QuickWinAnalysis;
21094
21096
  //#endregion
21095
21097
  //#region packages/core/src/analyze/site-diagnostics/quick-wins.d.ts
21096
- type SearchAnalytics$6 = typeof querySearchAnalytics;
21098
+ type SearchAnalytics$7 = typeof querySearchAnalytics;
21097
21099
  type FetchPage$3 = typeof fetchPage;
21098
21100
  type ExtractPage$2 = typeof extractPage;
21099
21101
  type QuickWinsInput = {
@@ -21112,7 +21114,7 @@ type QuickWinsInput = {
21112
21114
  refresh?: boolean;
21113
21115
  };
21114
21116
  type QuickWinsDependencies = {
21115
- searchAnalytics: SearchAnalytics$6;
21117
+ searchAnalytics: SearchAnalytics$7;
21116
21118
  fetch: FetchPage$3;
21117
21119
  extract: ExtractPage$2;
21118
21120
  now: () => Date;
@@ -21354,7 +21356,7 @@ type AnalyzeStrikingDistanceInput = {
21354
21356
  declare function analyzeStrikingDistanceRows(input: AnalyzeStrikingDistanceInput): StrikingDistanceAnalysis;
21355
21357
  //#endregion
21356
21358
  //#region packages/core/src/analyze/striking-distance.d.ts
21357
- type SearchAnalytics$5 = typeof querySearchAnalytics;
21359
+ type SearchAnalytics$6 = typeof querySearchAnalytics;
21358
21360
  type VerifyQueryContent = typeof verifyQueryContent;
21359
21361
  type StrikingDistanceInput = {
21360
21362
  site: string;
@@ -21419,7 +21421,7 @@ type StrikingDistanceReport = {
21419
21421
  recommendations: string[];
21420
21422
  };
21421
21423
  type StrikingDistanceDependencies = {
21422
- searchAnalytics: SearchAnalytics$5;
21424
+ searchAnalytics: SearchAnalytics$6;
21423
21425
  verifyContent: VerifyQueryContent;
21424
21426
  now: () => Date;
21425
21427
  };
@@ -21843,8 +21845,8 @@ declare function diagnoseProperty(input: {
21843
21845
  //#endregion
21844
21846
  //#region packages/core/src/providers/contracts.d.ts
21845
21847
  declare const providerIdSchema: z.ZodEnum<{
21846
- dataforseo: "dataforseo";
21847
21848
  semrush: "semrush";
21849
+ dataforseo: "dataforseo";
21848
21850
  ahrefs: "ahrefs";
21849
21851
  }>;
21850
21852
  type ProviderId = z.infer<typeof providerIdSchema>;
@@ -21925,19 +21927,24 @@ type ProviderRequestEvidence = {
21925
21927
  filters: Record<string, string | number | boolean>;
21926
21928
  sort: string[];
21927
21929
  };
21928
- type ProviderEvidence<T> = {
21930
+ type ProviderEvidenceBase<T> = {
21929
21931
  schemaVersion: 1;
21930
21932
  provider: ProviderId;
21931
21933
  capability: ProviderCapability;
21932
21934
  data: T;
21933
21935
  observedAt: string;
21934
- market: SearchMarket;
21935
21936
  coverage: ProviderCoverage;
21936
21937
  cache: ProviderCacheEvidence;
21937
21938
  cost: ProviderCostEvidence;
21938
21939
  request: ProviderRequestEvidence;
21939
21940
  warnings: ProviderWarning[];
21940
21941
  };
21942
+ type ProviderEvidence<T> = ProviderEvidenceBase<T> & {
21943
+ market: SearchMarket;
21944
+ };
21945
+ type MarketIndependentProviderEvidence<T> = ProviderEvidenceBase<T> & {
21946
+ market: null;
21947
+ };
21941
21948
  type ProviderCapabilitySupport = {
21942
21949
  capability: ProviderCapability;
21943
21950
  status: 'available' | 'unavailable';
@@ -22848,7 +22855,7 @@ interface InternalLinksAnalysis {
22848
22855
  declare function analyzeInternalLinksFromRows(input: InternalLinksAnalysisInput): InternalLinksAnalysis;
22849
22856
  //#endregion
22850
22857
  //#region packages/core/src/analyze/internal-links.d.ts
22851
- type SearchAnalytics$4 = typeof querySearchAnalytics;
22858
+ type SearchAnalytics$5 = typeof querySearchAnalytics;
22852
22859
  type FetchPage$2 = typeof fetchPage;
22853
22860
  type ExtractPage$1 = typeof extractPage;
22854
22861
  interface InternalLinksInput {
@@ -22865,7 +22872,7 @@ interface InternalLinksInput {
22865
22872
  refresh?: boolean;
22866
22873
  }
22867
22874
  interface InternalLinksDependencies {
22868
- searchAnalytics: SearchAnalytics$4;
22875
+ searchAnalytics: SearchAnalytics$5;
22869
22876
  fetch: FetchPage$2;
22870
22877
  extract: ExtractPage$1;
22871
22878
  now: () => Date;
@@ -23125,10 +23132,10 @@ type KeywordOpportunitiesReport = {
23125
23132
  };
23126
23133
  //#endregion
23127
23134
  //#region packages/core/src/analyze/keyword-opportunities.d.ts
23128
- type SearchAnalytics$3 = typeof querySearchAnalytics;
23135
+ type SearchAnalytics$4 = typeof querySearchAnalytics;
23129
23136
  type KeywordMetrics = typeof keywordMetricsReport;
23130
23137
  type KeywordOpportunitiesDependencies = {
23131
- searchAnalytics?: SearchAnalytics$3;
23138
+ searchAnalytics?: SearchAnalytics$4;
23132
23139
  keywordMetrics?: KeywordMetrics;
23133
23140
  now?: () => Date;
23134
23141
  };
@@ -23409,7 +23416,7 @@ type IndexCoverageSignalsReport = {
23409
23416
  declare function analyzeIndexCoverageSignals(input: IndexCoverageInput): IndexCoverageSignalsReport;
23410
23417
  //#endregion
23411
23418
  //#region packages/core/src/analyze/monitoring/index-coverage-report.d.ts
23412
- type SearchAnalytics$2 = typeof querySearchAnalytics;
23419
+ type SearchAnalytics$3 = typeof querySearchAnalytics;
23413
23420
  type FetchSitemap = typeof fetchSitemapUrls;
23414
23421
  type IndexCoverageReportInput = {
23415
23422
  site: string;
@@ -23449,7 +23456,7 @@ type IndexCoverageReport = IndexCoverageSignalsReport & {
23449
23456
  type IndexCoverageReportDependencies = {
23450
23457
  loadCrawl: (id: string) => CrawlReport | undefined;
23451
23458
  latestCrawl: (site: string) => CrawlReport | undefined;
23452
- searchAnalytics: SearchAnalytics$2;
23459
+ searchAnalytics: SearchAnalytics$3;
23453
23460
  fetchSitemap: FetchSitemap;
23454
23461
  now: () => Date;
23455
23462
  };
@@ -24144,7 +24151,7 @@ type PseoDatasetInput = {
24144
24151
  declare function buildPseoAuditReportFromRows(input: PseoDatasetInput): PseoAuditReport;
24145
24152
  //#endregion
24146
24153
  //#region packages/core/src/analyze/pseo/audit.d.ts
24147
- type SearchAnalytics$1 = typeof querySearchAnalytics;
24154
+ type SearchAnalytics$2 = typeof querySearchAnalytics;
24148
24155
  type FetchPage$1 = typeof fetchPage;
24149
24156
  type InspectUrl = typeof inspectUrl;
24150
24157
  type FetchSitemapUrls = typeof fetchSitemapUrls;
@@ -24167,7 +24174,7 @@ type PseoAuditInput = {
24167
24174
  progress?: ProgressReporter;
24168
24175
  };
24169
24176
  type PseoDependencies = {
24170
- searchAnalytics: SearchAnalytics$1;
24177
+ searchAnalytics: SearchAnalytics$2;
24171
24178
  fetchPage: FetchPage$1;
24172
24179
  inspectUrl: InspectUrl;
24173
24180
  fetchSitemapUrls: FetchSitemapUrls;
@@ -25279,7 +25286,7 @@ declare function savedKeywordSetReport(input: {
25279
25286
  }): SavedKeywordSetReport;
25280
25287
  //#endregion
25281
25288
  //#region packages/core/src/analyze/second-page.d.ts
25282
- type SearchAnalytics = typeof querySearchAnalytics;
25289
+ type SearchAnalytics$1 = typeof querySearchAnalytics;
25283
25290
  type FetchPage = typeof fetchPage;
25284
25291
  type ExtractPage = typeof extractPage;
25285
25292
  type SecondPageInput = {
@@ -25296,7 +25303,7 @@ type SecondPageInput = {
25296
25303
  includeBrand?: boolean;
25297
25304
  };
25298
25305
  type SecondPageDependencies = {
25299
- searchAnalytics: SearchAnalytics;
25306
+ searchAnalytics: SearchAnalytics$1;
25300
25307
  fetch: FetchPage;
25301
25308
  extract: ExtractPage;
25302
25309
  now: () => Date;
@@ -26773,8 +26780,94 @@ declare function resolveIndexNowKey(input: {
26773
26780
  declare function listIndexNowKeys(): Promise<Array<Omit<IndexNowKey, 'key'>>>;
26774
26781
  declare function removeIndexNowKey(siteValue: string): Promise<boolean>;
26775
26782
  //#endregion
26783
+ //#region packages/core/src/providers/link-contracts.d.ts
26784
+ type LinkTargetScope = 'domain' | 'page';
26785
+ type ProviderLinkMetric = {
26786
+ provider: ProviderId;
26787
+ id: string;
26788
+ label: string;
26789
+ value: number;
26790
+ scale: {
26791
+ minimum: number;
26792
+ maximum: number;
26793
+ } | null;
26794
+ };
26795
+ type LinkSummary = {
26796
+ target: string;
26797
+ scope: LinkTargetScope;
26798
+ backlinks: ProviderValue<number>;
26799
+ referringDomains: ProviderValue<number>;
26800
+ referringPages: ProviderValue<number>;
26801
+ brokenBacklinks: ProviderValue<number>;
26802
+ brokenPages: ProviderValue<number>;
26803
+ metrics: ProviderLinkMetric[];
26804
+ };
26805
+ type LinkSummaryRequest = {
26806
+ target: string;
26807
+ scope?: LinkTargetScope;
26808
+ includeSubdomains?: boolean;
26809
+ refresh?: boolean;
26810
+ context?: ProviderRequestContext;
26811
+ };
26812
+ interface LinkSummaryProvider extends ProviderAdapter {
26813
+ linkSummary(input: LinkSummaryRequest): Promise<MarketIndependentProviderEvidence<LinkSummary>>;
26814
+ }
26815
+ type ReferringDomain = {
26816
+ domain: string;
26817
+ backlinks: ProviderValue<number>;
26818
+ referringPages: ProviderValue<number>;
26819
+ brokenBacklinks: ProviderValue<number>;
26820
+ brokenPages: ProviderValue<number>;
26821
+ firstSeenAt: ProviderValue<string>;
26822
+ metrics: ProviderLinkMetric[];
26823
+ };
26824
+ type ReferringDomainPage = {
26825
+ target: string;
26826
+ rows: ReferringDomain[];
26827
+ totalRows: number | null;
26828
+ };
26829
+ type ReferringDomainsRequest = LinkSummaryRequest & {
26830
+ limit: number;
26831
+ offset?: number;
26832
+ };
26833
+ interface ReferringDomainsProvider extends ProviderAdapter {
26834
+ referringDomains(input: ReferringDomainsRequest): Promise<MarketIndependentProviderEvidence<ReferringDomainPage>>;
26835
+ }
26836
+ type ExternalBacklink = {
26837
+ sourceUrl: string;
26838
+ sourceDomain: string;
26839
+ targetUrl: string;
26840
+ anchorText: string | null;
26841
+ linkType: string | null;
26842
+ dofollow: boolean | null;
26843
+ attributes: string[];
26844
+ firstSeenAt: string | null;
26845
+ lastSeenAt: string | null;
26846
+ state: 'live' | 'lost';
26847
+ indirect: boolean | null;
26848
+ linksFromPage: number | null;
26849
+ linksFromDomain: number | null;
26850
+ metrics: ProviderLinkMetric[];
26851
+ };
26852
+ type ExternalBacklinkPage = {
26853
+ target: string;
26854
+ mode: 'representative' | 'all';
26855
+ rows: ExternalBacklink[];
26856
+ totalRows: number | null;
26857
+ };
26858
+ type BacklinksRequest = LinkSummaryRequest & {
26859
+ mode?: 'representative' | 'all';
26860
+ status?: 'live' | 'lost' | 'all';
26861
+ limit: number;
26862
+ offset?: number;
26863
+ };
26864
+ interface BacklinksProvider extends ProviderAdapter {
26865
+ backlinks(input: BacklinksRequest): Promise<MarketIndependentProviderEvidence<ExternalBacklinkPage>>;
26866
+ }
26867
+ interface LiveLinkProvider extends LinkSummaryProvider, ReferringDomainsProvider, BacklinksProvider {}
26868
+ //#endregion
26776
26869
  //#region packages/core/src/links/types.d.ts
26777
- type LinkEvidenceProvider = 'bing-webmaster' | 'csv-import' | 'json-import' | 'jsonl-import';
26870
+ type LinkEvidenceProvider = 'bing-webmaster' | 'dataforseo' | 'csv-import' | 'json-import' | 'jsonl-import';
26778
26871
  type LinkEvidenceRow = {
26779
26872
  sourceUrl: string;
26780
26873
  sourceDomain: string;
@@ -26783,6 +26876,13 @@ type LinkEvidenceRow = {
26783
26876
  firstSeenAt?: string;
26784
26877
  lastSeenAt?: string;
26785
26878
  nofollow?: boolean;
26879
+ linkType?: string;
26880
+ attributes?: string[];
26881
+ state?: 'live' | 'lost';
26882
+ indirect?: boolean;
26883
+ linksFromPage?: number;
26884
+ linksFromDomain?: number;
26885
+ providerMetrics?: ProviderLinkMetric[];
26786
26886
  };
26787
26887
  type LinkTargetCount = {
26788
26888
  targetUrl: string;
@@ -26792,7 +26892,7 @@ type LinkTargetCount = {
26792
26892
  type LinkEvidenceProvenance = {
26793
26893
  provider: LinkEvidenceProvider;
26794
26894
  observedAt: string;
26795
- cached: false;
26895
+ cached: boolean;
26796
26896
  suppliedRows: number;
26797
26897
  validRows: number;
26798
26898
  invalidRows: number;
@@ -26808,9 +26908,9 @@ type LinkEvidenceProvenance = {
26808
26908
  };
26809
26909
  providerRequests?: {
26810
26910
  methods: string[];
26811
- targetPagesRequested: number;
26812
- detailPagesRequested: number;
26813
- maxConcurrentRequests: number;
26911
+ targetPagesRequested?: number;
26912
+ detailPagesRequested?: number;
26913
+ maxConcurrentRequests?: number;
26814
26914
  };
26815
26915
  providerCoverage?: {
26816
26916
  targetCountRows: {
@@ -26823,12 +26923,28 @@ type LinkEvidenceProvenance = {
26823
26923
  retainedRows: number;
26824
26924
  invalidRows: number;
26825
26925
  };
26926
+ summaryRows?: {
26927
+ returnedRows: number;
26928
+ retainedRows: number;
26929
+ invalidRows: number;
26930
+ };
26931
+ backlinkRows?: {
26932
+ returnedRows: number;
26933
+ retainedRows: number;
26934
+ invalidRows: number;
26935
+ providerTotalRows: number | null;
26936
+ };
26826
26937
  };
26827
26938
  };
26939
+ type ExternalLinkProviderEvidence = {
26940
+ summary: MarketIndependentProviderEvidence<LinkSummary>;
26941
+ backlinks: MarketIndependentProviderEvidence<ExternalBacklinkPage>;
26942
+ };
26828
26943
  type CollectedLinkEvidence = {
26829
26944
  rows: LinkEvidenceRow[];
26830
26945
  targetCounts: LinkTargetCount[];
26831
26946
  provenance: LinkEvidenceProvenance;
26947
+ externalProvider?: ExternalLinkProviderEvidence;
26832
26948
  warnings: string[];
26833
26949
  };
26834
26950
  //#endregion
@@ -26841,80 +26957,98 @@ declare function collectBingLinkEvidence(input: {
26841
26957
  rowLimit?: number;
26842
26958
  }): Promise<CollectedLinkEvidence>;
26843
26959
  //#endregion
26844
- //#region packages/core/src/links/import.d.ts
26845
- type ImportFormat = 'csv' | 'json' | 'jsonl';
26846
- declare function importLinkEvidence(input: {
26847
- file: string;
26848
- format?: ImportFormat;
26849
- rowLimit?: number;
26850
- }): Promise<CollectedLinkEvidence>;
26851
- //#endregion
26852
- //#region packages/core/src/links/normalize.d.ts
26853
- type RawLinkEvidenceRow = Record<string, unknown>;
26854
- declare function normalizeLinkEvidenceRow(raw: RawLinkEvidenceRow): LinkEvidenceRow | undefined;
26855
- declare function linkEvidenceKey(row: LinkEvidenceRow): string;
26856
- declare function compareLinkEvidence(a: LinkEvidenceRow, b: LinkEvidenceRow): number;
26857
- //#endregion
26858
- //#region packages/core/src/links/report.d.ts
26859
- declare function linkEvidenceReport(input: {
26860
- evidence: CollectedLinkEvidence;
26861
- limit?: number;
26862
- }): {
26960
+ //#region packages/core/src/links/context-types.d.ts
26961
+ type LinkTargetCrawlEvidence = {
26962
+ state: 'observed';
26963
+ reportId: string;
26964
+ observedAt: string;
26965
+ status: number;
26966
+ finalUrl: string;
26967
+ indexable: boolean;
26968
+ canonical: string | null;
26969
+ issueIds: string[];
26970
+ } | {
26971
+ state: 'not-observed' | 'unavailable';
26972
+ reason: string;
26973
+ };
26974
+ type LinkTargetSearchEvidence = {
26975
+ state: 'observed';
26976
+ clicks: number;
26977
+ impressions: number;
26978
+ ctr: number;
26979
+ position: number;
26980
+ } | {
26981
+ state: 'not-retained' | 'unavailable';
26982
+ reason: string;
26983
+ };
26984
+ type LinkTargetContextRow = LinkTargetCount & {
26985
+ crawl: LinkTargetCrawlEvidence;
26986
+ searchConsole: LinkTargetSearchEvidence;
26987
+ };
26988
+ type LinkTargetFinding = {
26989
+ code: 'linked-broken-target' | 'linked-redirect-target' | 'linked-canonical-conflict' | 'linked-non-indexable-target';
26990
+ priority: 'high' | 'medium' | 'low';
26991
+ heuristic: true;
26992
+ targetUrl: string;
26993
+ observedLinks: number;
26994
+ evidenceRefs: string[];
26995
+ principle: string;
26996
+ evidence: string;
26997
+ action: string;
26998
+ verify: string;
26999
+ };
27000
+ type LinkTargetContext = {
26863
27001
  schemaVersion: 1;
26864
- generatedAt: string;
26865
- dataStatus: "partial" | "complete";
26866
- summary: {
26867
- observedLinks: number;
26868
- referringDomains: number;
26869
- targetPages: number;
26870
- providerTargetPages: number;
26871
- };
26872
- provenance: LinkEvidenceProvenance;
27002
+ dataStatus: 'complete' | 'partial' | 'unavailable';
26873
27003
  selection: {
26874
- availableRows: number;
26875
- returnedRows: number;
26876
- omittedRows: number;
27004
+ availableTargets: number;
27005
+ returnedTargets: number;
27006
+ omittedTargets: number;
26877
27007
  limit: number;
26878
27008
  };
26879
- targetCounts: LinkTargetCount[];
26880
- links: LinkEvidenceRow[];
27009
+ provenance: {
27010
+ crawl: {
27011
+ status: 'joined' | 'unavailable';
27012
+ reportId: string | null;
27013
+ observedAt: string | null;
27014
+ availablePages: number;
27015
+ matchedTargets: number;
27016
+ };
27017
+ searchConsole: {
27018
+ status: 'joined' | 'partial' | 'unavailable';
27019
+ site: string | null;
27020
+ range: {
27021
+ startDate: string;
27022
+ endDate: string;
27023
+ days: number;
27024
+ } | null;
27025
+ calls: number;
27026
+ rowsFetched: number;
27027
+ retainedRowLimit: number;
27028
+ retainedRowLimitReached: boolean;
27029
+ matchedTargets: number;
27030
+ };
27031
+ };
27032
+ rows: LinkTargetContextRow[];
27033
+ findings: LinkTargetFinding[];
26881
27034
  warnings: string[];
26882
- caveats: string[];
26883
27035
  };
26884
27036
  //#endregion
26885
- //#region packages/core/src/logger.d.ts
26886
- declare function createLogger(runId: string): pino.Logger;
26887
- declare function makeRunId(): string;
26888
- //#endregion
26889
- //#region packages/core/src/markdown.d.ts
26890
- declare function renderPresentationTablesMarkdown(tables: PresentationTable[]): string[];
26891
- //#endregion
26892
- //#region packages/core/src/paths.d.ts
26893
- interface SeoCliPaths {
26894
- configDir: string;
26895
- cacheDir: string;
26896
- logDir: string;
26897
- configFile: string;
26898
- tokensFile: string;
26899
- oauthClientFile: string;
26900
- providerSecretsFile: string;
26901
- telemetryStateFile: string;
26902
- cacheDbFile: string;
26903
- }
26904
- type SeoCliPathOptions = {
26905
- env?: NodeJS.ProcessEnv;
26906
- home?: string;
26907
- platform?: NodeJS.Platform;
27037
+ //#region packages/core/src/links/context.d.ts
27038
+ type SearchAnalytics = typeof querySearchAnalytics;
27039
+ type LinkTargetContextDependencies = {
27040
+ latestCrawl: (site?: string) => CrawlReport | undefined;
27041
+ searchAnalytics: SearchAnalytics;
27042
+ now: () => Date;
26908
27043
  };
26909
- declare function resolveSeoCliPaths(input?: SeoCliPathOptions): SeoCliPaths;
26910
- declare function migrateLegacyMacConfig(input?: SeoCliPathOptions): void;
26911
- declare function getSeoCliPaths(): SeoCliPaths;
26912
- declare function ensureSeoCliDirs(): SeoCliPaths;
26913
- declare function fileSize(path: string): number;
26914
- //#endregion
26915
- //#region packages/core/src/phrasing.d.ts
26916
- declare function plural(count: number, singular: string, pluralLabel?: string): string;
26917
- declare function countLabel(count: number, singular: string, pluralLabel?: string): string;
27044
+ declare function linkTargetContext(input: {
27045
+ evidence: CollectedLinkEvidence;
27046
+ searchConsoleSite?: string;
27047
+ crawlSite?: string;
27048
+ days?: number;
27049
+ limit?: number;
27050
+ refresh?: boolean;
27051
+ }, dependencies?: LinkTargetContextDependencies): Promise<LinkTargetContext>;
26918
27052
  //#endregion
26919
27053
  //#region packages/core/src/providers/cost-limits.d.ts
26920
27054
  type ProviderSpendLimits = {
@@ -27316,6 +27450,109 @@ type DataForSeoRankedKeywordsResponse = z.infer<typeof dataForSeoRankedKeywordsR
27316
27450
  type DataForSeoRankingPagesResponse = z.infer<typeof dataForSeoRankingPagesResponseSchema>;
27317
27451
  type DataForSeoSerpCompetitorsResponse = z.infer<typeof dataForSeoSerpCompetitorsResponseSchema>;
27318
27452
  //#endregion
27453
+ //#region packages/core/src/providers/dataforseo/link-schema.d.ts
27454
+ declare const dataForSeoLinkSummaryResponseSchema: z.ZodObject<{
27455
+ status_code: z.ZodNumber;
27456
+ status_message: z.ZodString;
27457
+ cost: z.ZodOptional<z.ZodNumber>;
27458
+ tasks_count: z.ZodNumber;
27459
+ tasks_error: z.ZodNumber;
27460
+ tasks: z.ZodArray<z.ZodObject<{
27461
+ result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27462
+ target: z.ZodOptional<z.ZodString>;
27463
+ rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27464
+ backlinks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27465
+ referring_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27466
+ referring_domains: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27467
+ broken_backlinks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27468
+ broken_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27469
+ backlinks_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27470
+ info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
27471
+ target_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27472
+ }, z.core.$loose>>>;
27473
+ }, z.core.$loose>>>>;
27474
+ id: z.ZodOptional<z.ZodString>;
27475
+ status_code: z.ZodNumber;
27476
+ status_message: z.ZodString;
27477
+ cost: z.ZodOptional<z.ZodNumber>;
27478
+ result_count: z.ZodOptional<z.ZodNumber>;
27479
+ }, z.core.$loose>>;
27480
+ }, z.core.$loose>;
27481
+ declare const dataForSeoBacklinksResponseSchema: z.ZodObject<{
27482
+ status_code: z.ZodNumber;
27483
+ status_message: z.ZodString;
27484
+ cost: z.ZodOptional<z.ZodNumber>;
27485
+ tasks_count: z.ZodNumber;
27486
+ tasks_error: z.ZodNumber;
27487
+ tasks: z.ZodArray<z.ZodObject<{
27488
+ result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27489
+ target: z.ZodOptional<z.ZodString>;
27490
+ total_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27491
+ items_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27492
+ search_after_token: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27493
+ items: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27494
+ domain_from: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27495
+ url_from: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27496
+ url_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27497
+ anchor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27498
+ item_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27499
+ dofollow: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
27500
+ rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27501
+ domain_from_rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27502
+ page_from_rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27503
+ backlink_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27504
+ backlinks_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27505
+ first_seen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27506
+ last_visited: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27507
+ lost_date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27508
+ is_lost: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
27509
+ is_indirect_link: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
27510
+ links_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27511
+ group_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27512
+ rel_attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
27513
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
27514
+ }, z.core.$loose>>>>;
27515
+ }, z.core.$loose>>>>;
27516
+ id: z.ZodOptional<z.ZodString>;
27517
+ status_code: z.ZodNumber;
27518
+ status_message: z.ZodString;
27519
+ cost: z.ZodOptional<z.ZodNumber>;
27520
+ result_count: z.ZodOptional<z.ZodNumber>;
27521
+ }, z.core.$loose>>;
27522
+ }, z.core.$loose>;
27523
+ declare const dataForSeoReferringDomainsResponseSchema: z.ZodObject<{
27524
+ status_code: z.ZodNumber;
27525
+ status_message: z.ZodString;
27526
+ cost: z.ZodOptional<z.ZodNumber>;
27527
+ tasks_count: z.ZodNumber;
27528
+ tasks_error: z.ZodNumber;
27529
+ tasks: z.ZodArray<z.ZodObject<{
27530
+ result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27531
+ target: z.ZodOptional<z.ZodString>;
27532
+ total_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27533
+ items_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27534
+ items: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27535
+ domain: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27536
+ backlinks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27537
+ referring_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27538
+ broken_backlinks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27539
+ broken_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27540
+ rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27541
+ backlinks_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27542
+ first_seen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27543
+ }, z.core.$loose>>>>;
27544
+ }, z.core.$loose>>>>;
27545
+ id: z.ZodOptional<z.ZodString>;
27546
+ status_code: z.ZodNumber;
27547
+ status_message: z.ZodString;
27548
+ cost: z.ZodOptional<z.ZodNumber>;
27549
+ result_count: z.ZodOptional<z.ZodNumber>;
27550
+ }, z.core.$loose>>;
27551
+ }, z.core.$loose>;
27552
+ type DataForSeoLinkSummaryResponse = z.infer<typeof dataForSeoLinkSummaryResponseSchema>;
27553
+ type DataForSeoBacklinksResponse = z.infer<typeof dataForSeoBacklinksResponseSchema>;
27554
+ type DataForSeoReferringDomainsResponse = z.infer<typeof dataForSeoReferringDomainsResponseSchema>;
27555
+ //#endregion
27319
27556
  //#region packages/core/src/providers/dataforseo/paid-request.d.ts
27320
27557
  type DataForSeoUnitPrice = {
27321
27558
  perRequestMicros: number | null;
@@ -27439,6 +27676,11 @@ type DataForSeoAccountSnapshot = {
27439
27676
  rankingPages: DataForSeoUnitPrice;
27440
27677
  serpCompetitors: DataForSeoUnitPrice;
27441
27678
  };
27679
+ linkPrices: {
27680
+ summary: DataForSeoUnitPrice;
27681
+ backlinks: DataForSeoUnitPrice;
27682
+ referringDomains: DataForSeoUnitPrice;
27683
+ };
27442
27684
  serpLiveAdvancedPrice: DataForSeoUnitPrice;
27443
27685
  serpTaskPostPrice: DataForSeoUnitPrice;
27444
27686
  backlinksSubscriptionExpiresAt: string | null;
@@ -27462,6 +27704,7 @@ type DataForSeoClientOptions = {
27462
27704
  accountPricingTtlMs?: number;
27463
27705
  spendLimits?: ProviderSpendLimits;
27464
27706
  domainResearchTtlMs?: number;
27707
+ linkTtlMs?: number;
27465
27708
  };
27466
27709
  type DataForSeoKeywordOverviewRequest = {
27467
27710
  keywords: string[];
@@ -27580,6 +27823,29 @@ type DataForSeoSerpReadyTask = {
27580
27823
  providerTaskId: string;
27581
27824
  tag: string | null;
27582
27825
  };
27826
+ type DataForSeoLinkRequestBase = {
27827
+ target: string;
27828
+ scope: 'domain' | 'page';
27829
+ includeSubdomains: boolean;
27830
+ refresh?: boolean;
27831
+ context: ProviderRequestContext;
27832
+ };
27833
+ type DataForSeoLinkSummaryRequest = DataForSeoLinkRequestBase;
27834
+ type DataForSeoBacklinksRequest = DataForSeoLinkRequestBase & {
27835
+ mode: 'one_per_domain' | 'as_is';
27836
+ status: 'live' | 'lost' | 'all';
27837
+ limit: number;
27838
+ offset: number;
27839
+ orderBy: string[];
27840
+ };
27841
+ type DataForSeoReferringDomainsRequest = DataForSeoLinkRequestBase & {
27842
+ limit: number;
27843
+ offset: number;
27844
+ orderBy: string[];
27845
+ };
27846
+ type DataForSeoLinkSummarySnapshot = DataForSeoPaidSnapshot<DataForSeoLinkSummaryResponse>;
27847
+ type DataForSeoBacklinksSnapshot = DataForSeoPaidSnapshot<DataForSeoBacklinksResponse>;
27848
+ type DataForSeoReferringDomainsSnapshot = DataForSeoPaidSnapshot<DataForSeoReferringDomainsResponse>;
27583
27849
  //#endregion
27584
27850
  //#region packages/core/src/providers/dataforseo/client.d.ts
27585
27851
  declare class DataForSeoClient {
@@ -27595,6 +27861,7 @@ declare class DataForSeoClient {
27595
27861
  private readonly serpTtlMs;
27596
27862
  private readonly accountPricingTtlMs;
27597
27863
  private readonly domainResearchTtlMs;
27864
+ private readonly linkTtlMs;
27598
27865
  private readonly spendLimits;
27599
27866
  private accountPricing;
27600
27867
  private accountPricingRequest;
@@ -27610,6 +27877,9 @@ declare class DataForSeoClient {
27610
27877
  rankedKeywords(input: DataForSeoRankedKeywordsRequest): Promise<DataForSeoRankedKeywordsSnapshot>;
27611
27878
  rankingPages(input: DataForSeoRankingPagesRequest): Promise<DataForSeoRankingPagesSnapshot>;
27612
27879
  serpCompetitors(input: DataForSeoSerpCompetitorsRequest): Promise<DataForSeoSerpCompetitorsSnapshot>;
27880
+ linkSummary(input: DataForSeoLinkSummaryRequest): Promise<DataForSeoLinkSummarySnapshot>;
27881
+ backlinks(input: DataForSeoBacklinksRequest): Promise<DataForSeoBacklinksSnapshot>;
27882
+ referringDomains(input: DataForSeoReferringDomainsRequest): Promise<DataForSeoReferringDomainsSnapshot>;
27613
27883
  keywordOverview(input: DataForSeoKeywordOverviewRequest): Promise<DataForSeoKeywordOverviewSnapshot>;
27614
27884
  keywordDiscovery(input: DataForSeoKeywordDiscoveryRequest): Promise<DataForSeoKeywordDiscoverySnapshot>;
27615
27885
  serpLive(input: DataForSeoSerpRequest): Promise<DataForSeoSerpSnapshot>;
@@ -27621,6 +27891,197 @@ declare class DataForSeoClient {
27621
27891
  serpTaskGet(providerTaskId: string): Promise<DataForSeoSerpSnapshot>;
27622
27892
  }
27623
27893
  //#endregion
27894
+ //#region packages/core/src/providers/dataforseo/link-research-client.d.ts
27895
+ type LinkResearchClient = Pick<DataForSeoClient, 'linkSummary' | 'backlinks' | 'referringDomains'>;
27896
+ //#endregion
27897
+ //#region packages/core/src/providers/dataforseo/link-research.d.ts
27898
+ type DataForSeoLinkProviderOptions = DataForSeoClientOptions & {
27899
+ client?: LinkResearchClient;
27900
+ };
27901
+ declare class DataForSeoLinkProvider implements LiveLinkProvider {
27902
+ readonly provider: "dataforseo";
27903
+ readonly capabilitySupport: {
27904
+ capability: "link-summary" | "referring-domains" | "backlinks";
27905
+ status: "available";
27906
+ markets: "all";
27907
+ }[];
27908
+ private readonly client;
27909
+ constructor(options?: DataForSeoLinkProviderOptions);
27910
+ linkSummary(input: LinkSummaryRequest): Promise<MarketIndependentProviderEvidence<LinkSummary>>;
27911
+ backlinks(input: BacklinksRequest): Promise<MarketIndependentProviderEvidence<ExternalBacklinkPage>>;
27912
+ referringDomains(input: ReferringDomainsRequest): Promise<MarketIndependentProviderEvidence<ReferringDomainPage>>;
27913
+ }
27914
+ //#endregion
27915
+ //#region packages/core/src/links/dataforseo.d.ts
27916
+ declare function collectDataForSeoLinkEvidence(input: {
27917
+ target: string;
27918
+ scope?: LinkTargetScope;
27919
+ includeSubdomains?: boolean;
27920
+ rowLimit?: number;
27921
+ refresh?: boolean;
27922
+ context?: ProviderRequestContext;
27923
+ provider?: Pick<DataForSeoLinkProvider, 'linkSummary' | 'backlinks'>;
27924
+ }): Promise<CollectedLinkEvidence>;
27925
+ //#endregion
27926
+ //#region packages/core/src/links/import.d.ts
27927
+ type ImportFormat = 'csv' | 'json' | 'jsonl';
27928
+ declare function importLinkEvidence(input: {
27929
+ file: string;
27930
+ format?: ImportFormat;
27931
+ rowLimit?: number;
27932
+ }): Promise<CollectedLinkEvidence>;
27933
+ //#endregion
27934
+ //#region packages/core/src/links/normalize.d.ts
27935
+ type RawLinkEvidenceRow = Record<string, unknown>;
27936
+ declare function normalizeLinkEvidenceRow(raw: RawLinkEvidenceRow): LinkEvidenceRow | undefined;
27937
+ declare function linkEvidenceKey(row: LinkEvidenceRow): string;
27938
+ declare function compareLinkEvidence(a: LinkEvidenceRow, b: LinkEvidenceRow): number;
27939
+ //#endregion
27940
+ //#region packages/core/src/links/report.d.ts
27941
+ declare function linkEvidenceReport(input: {
27942
+ evidence: CollectedLinkEvidence;
27943
+ limit?: number;
27944
+ targetContext?: LinkTargetContext;
27945
+ }): {
27946
+ schemaVersion: 2;
27947
+ generatedAt: string;
27948
+ dataStatus: "partial" | "complete";
27949
+ summary: {
27950
+ observedLinks: number;
27951
+ referringDomains: number;
27952
+ targetPages: number;
27953
+ providerTargetPages: number;
27954
+ };
27955
+ providerSummary: LinkSummary | null;
27956
+ providerEvidence: {
27957
+ summary: MarketIndependentProviderEvidence<LinkSummary>;
27958
+ backlinks: {
27959
+ data: {
27960
+ target: string;
27961
+ mode: "all" | "representative";
27962
+ totalRows: number | null;
27963
+ retainedRows: number;
27964
+ };
27965
+ schemaVersion: 1;
27966
+ provider: ProviderId;
27967
+ capability: ProviderCapability;
27968
+ observedAt: string;
27969
+ coverage: ProviderCoverage;
27970
+ cache: ProviderCacheEvidence;
27971
+ cost: ProviderCostEvidence;
27972
+ request: ProviderRequestEvidence;
27973
+ warnings: ProviderWarning[];
27974
+ market: null;
27975
+ };
27976
+ } | null;
27977
+ provenance: LinkEvidenceProvenance;
27978
+ selection: {
27979
+ availableRows: number;
27980
+ returnedRows: number;
27981
+ omittedRows: number;
27982
+ limit: number;
27983
+ };
27984
+ outputBudget: {
27985
+ unit: "structured-detail-rows";
27986
+ limit: number;
27987
+ returned: number;
27988
+ omitted: number;
27989
+ sections: {
27990
+ links: {
27991
+ limit: number;
27992
+ returned: number;
27993
+ };
27994
+ targetCounts: {
27995
+ limit: number;
27996
+ returned: number;
27997
+ };
27998
+ targetContext: {
27999
+ limit: number;
28000
+ returned: number;
28001
+ };
28002
+ findings: {
28003
+ limit: number;
28004
+ returned: number;
28005
+ };
28006
+ };
28007
+ };
28008
+ targetCounts: LinkTargetCount[];
28009
+ links: LinkEvidenceRow[];
28010
+ targetContext: {
28011
+ rows: LinkTargetContextRow[];
28012
+ findings: LinkTargetFinding[];
28013
+ schemaVersion: 1;
28014
+ dataStatus: "complete" | "partial" | "unavailable";
28015
+ selection: {
28016
+ availableTargets: number;
28017
+ returnedTargets: number;
28018
+ omittedTargets: number;
28019
+ limit: number;
28020
+ };
28021
+ provenance: {
28022
+ crawl: {
28023
+ status: "joined" | "unavailable";
28024
+ reportId: string | null;
28025
+ observedAt: string | null;
28026
+ availablePages: number;
28027
+ matchedTargets: number;
28028
+ };
28029
+ searchConsole: {
28030
+ status: "joined" | "partial" | "unavailable";
28031
+ site: string | null;
28032
+ range: {
28033
+ startDate: string;
28034
+ endDate: string;
28035
+ days: number;
28036
+ } | null;
28037
+ calls: number;
28038
+ rowsFetched: number;
28039
+ retainedRowLimit: number;
28040
+ retainedRowLimitReached: boolean;
28041
+ matchedTargets: number;
28042
+ };
28043
+ };
28044
+ warnings: string[];
28045
+ } | null;
28046
+ findings: LinkTargetFinding[];
28047
+ warnings: string[];
28048
+ caveats: string[];
28049
+ };
28050
+ //#endregion
28051
+ //#region packages/core/src/logger.d.ts
28052
+ declare function createLogger(runId: string): pino.Logger;
28053
+ declare function makeRunId(): string;
28054
+ //#endregion
28055
+ //#region packages/core/src/markdown.d.ts
28056
+ declare function renderPresentationTablesMarkdown(tables: PresentationTable[]): string[];
28057
+ //#endregion
28058
+ //#region packages/core/src/paths.d.ts
28059
+ interface SeoCliPaths {
28060
+ configDir: string;
28061
+ cacheDir: string;
28062
+ logDir: string;
28063
+ configFile: string;
28064
+ tokensFile: string;
28065
+ oauthClientFile: string;
28066
+ providerSecretsFile: string;
28067
+ telemetryStateFile: string;
28068
+ cacheDbFile: string;
28069
+ }
28070
+ type SeoCliPathOptions = {
28071
+ env?: NodeJS.ProcessEnv;
28072
+ home?: string;
28073
+ platform?: NodeJS.Platform;
28074
+ };
28075
+ declare function resolveSeoCliPaths(input?: SeoCliPathOptions): SeoCliPaths;
28076
+ declare function migrateLegacyMacConfig(input?: SeoCliPathOptions): void;
28077
+ declare function getSeoCliPaths(): SeoCliPaths;
28078
+ declare function ensureSeoCliDirs(): SeoCliPaths;
28079
+ declare function fileSize(path: string): number;
28080
+ //#endregion
28081
+ //#region packages/core/src/phrasing.d.ts
28082
+ declare function plural(count: number, singular: string, pluralLabel?: string): string;
28083
+ declare function countLabel(count: number, singular: string, pluralLabel?: string): string;
28084
+ //#endregion
27624
28085
  //#region packages/core/src/providers/dataforseo/keyword-discovery.d.ts
27625
28086
  type KeywordDiscoveryClient = Pick<DataForSeoClient, 'keywordDiscovery'>;
27626
28087
  type DataForSeoKeywordDiscoveryProviderOptions = DataForSeoClientOptions & {
@@ -28118,5 +28579,5 @@ declare function isoDate(daysAgo?: number): string;
28118
28579
  //#region packages/core/src/version.d.ts
28119
28580
  declare const SEO_VERSION: string;
28120
28581
  //#endregion
28121
- export { AI_REFERRAL_SOURCES, AI_REFERRAL_SOURCES_VERSION, AI_SEARCH_SCORECARD_METHODOLOGY_ID, AI_SEARCH_SCORECARD_METHODOLOGY_VERSION, AUDIT_PAGE_RULE_IDS, AUTOMATIC_BASELINE_SITE_RETENTION, AUTOMATIC_BASELINE_TOTAL_RETENTION, AccessBlockEvidence, AffectedUrl, AffectedUrlFilters, AffectedUrlResult, AffectedUrlSelection, type AgentDiscoveryDataStatus, type AgentEndpointDiscovery, type AgentEndpointObservation, type AgentLinkHeaderEntry, type AgentLinkHeaderObservation, AgentReadinessCheck, AgentReadinessCheckStatus, type AgentReadinessProfile, AgentReadinessReport, AgentReadinessSection, type AgentRepresentationResponse, type AgentSkillObservation, AiReadinessReport, type AiReferralDataSource, type AiReferralMetrics, type AiReferralQueryEvidence, type AiReferralReport, type AiReferralSourceDefinition, AiSearchScorecard, AnalyticsMetricDelta, AnalyticsTestMetrics, type AnalyzeCannibalRowsInput, type AnalyzeDecayInput, type AnalyzeQuickWinsInput, type AnalyzeSecondPageInput, type AnalyzeStrikingDistanceInput, AppConfig, AuditPageDependencies, AuditPageReport, AuthorizedGoogleClient, BING_API_KEY_ENV, BING_API_KEY_SECRET, BROWSER_USER_AGENT, BacklinkProvider, BingCrawlRow, BingDimensionRow, BingLinkCountRow, BingLinkPage, BingRows, BingTrafficRow, BingUrlLinkRow, BingWebmasterClient, BingWebmasterCredentials, BingWebmasterSite, BoundedSecondPageItem, BoundedSitemapInventory, BrandTermCandidate, CANNIBAL_MAXIMUM_DOMINANT_SHARE, CANNIBAL_MINIMUM_PAGE_SHARE, CRAWL_REPORT_STORAGE_VERSION, CRAWL_RUN_RETENTION, CRAWL_SKIP_REASONS, CTR_DEFAULT_LIMIT, CTR_DEFAULT_MIN_IMPRESSIONS, CTR_MAX_LIMIT, CTR_MAX_MIN_IMPRESSIONS, CacheStats, type CannibalAnalysis, CannibalDependencies, type CannibalItem, type CannibalPage, type CannibalReport, CannibalReportInput, type CannibalSelection, type CannibalSuppression, type CannibalSuppressionReason, ChangeMeasurement, ChangeMeasurementAttempt, ChangeRow, ChangeScope, type ClassifiedSerpCompetitor, ClientProfile, ClientProfileInput, CollectedLinkEvidence, CommunityIntent, CommunityIntentClassification, CommunityIntentReport, type CompetitorKeywordGapCandidate, type CompetitorKeywordGapReport, type CompetitorKeywordGapReportInput, type CompetitorSiteType, ContentExtractionDiagnostics, ContentExtractor, ContentGroup, ContentGroupDimension, ContentGroupMatchType, ContentGroupRow, ContentOptimizationIntent, ContentOptimizationReport, CoverageField, CrawlAccessSummary, type CrawlAgentDiscovery, CrawlAiBotAccess, CrawlAiResourceSignal, CrawlAiSignals, CrawlAnalyticsDataSource, CrawlConfig, CrawlConfigInput, CrawlDataSourceStatus, CrawlDataSourceWindow, CrawlDiffItem, CrawlDiffRecommendation, CrawlDiffReport, CrawlExternalLinkVerification, CrawlFetchRateConfig, CrawlImplementationQueueInput, CrawlImplementationQueueItem, CrawlImplementationQueueOutput, CrawlIssue, CrawlIssueGroup, CrawlLinkGraph, CrawlMode, CrawlOneResult, CrawlOutputFormat, CrawlPageRow, CrawlPageSnapshot, CrawlReport, CrawlReportDataSources, CrawlReportMeta, CrawlReportSaveOptions, CrawlReportStorageEnvelope, CrawlReportStoreAdapter, CrawlReportSummary, CrawlRequestObservation, CrawlResponseObservation, CrawlRun, CrawlRunRow, CrawlRunStats, CrawlSearchDataSource, type CrawlSiteChecks, type CrawlSiteDependencies, CrawlSitemapDiscovery, CrawlSkipImpact, CrawlSkipReason, CrawlSkipReasonCount, CrawlSkippedUrlsByImpact, CrawlSnapshotDiffReport, CrawlSnapshotIssueChange, CrawlSnapshotPageChange, CrawlStatusEvent, CrawlStatusHandler, CrawlStatusPhase, CrawlStrategy, CrawlerCategory, CrawlerIdentity, CrawlerPathSummary, CrawlerSummary, CredentialsProvider, CreditUsage, CsvFile, CsvRow, CsvValue, type CtrUnderperformer, CtrUnderperformerDependencies, type CtrUnderperformerSelection, DATAFORSEO_CREDENTIAL_SECRET, DATAFORSEO_LOGIN_ENV, DATAFORSEO_PASSWORD_ENV, DEFAULT_PROVIDER_SPEND_LIMITS, type DataForSeoAccountSnapshot, DataForSeoClient, type DataForSeoClientOptions, DataForSeoCredentials, type DataForSeoDomainOverviewRequest, type DataForSeoDomainOverviewSnapshot, DataForSeoKeywordDiscoveryProvider, DataForSeoKeywordDiscoveryProviderOptions, type DataForSeoKeywordDiscoveryRequest, type DataForSeoKeywordDiscoverySnapshot, DataForSeoKeywordMetricsProvider, DataForSeoKeywordMetricsProviderOptions, type DataForSeoKeywordOverviewRequest, type DataForSeoKeywordOverviewSnapshot, DataForSeoProvider, DataForSeoRankTrackingCollector, type DataForSeoRankedKeywordsRequest, type DataForSeoRankedKeywordsSnapshot, type DataForSeoRankingPagesRequest, type DataForSeoRankingPagesSnapshot, type DataForSeoSerpCompetitorsRequest, type DataForSeoSerpCompetitorsSnapshot, type DataForSeoSerpRequest, type DataForSeoSerpSnapshot, DataForSeoSerpSnapshotProvider, DataForSeoSerpSnapshotProviderOptions, type DecayAnalysis, type DecayComparison, type DecayDiagnosis, type DecayGroup, type DecayItem, type DecayMetrics, type DecayReport, type DecaySelection, type DecaySignal, DecayingDependencies, DecayingReportInput, type DeclaredCompetitor, DiagnosePropertyDependencies, DiagnosePropertyReport, DiagnosisDataStatus, DiagnosisPriority, DoctorCheck, DomainOverview, DomainOverviewProvider, type DomainOverviewReport, type DomainOverviewReportInput, DomainOverviewRequest, type DomainReportInput, type DomainResearchDataStatus, DomainResearchProvider, DueIndexSelection, DueIndexUrl, EffectiveSnippetControl, EntityReadinessCheck, EntityReadinessReport, ExternalLinkCheck, ExternalLinkCheckAttempt, ExternalLinkCheckState, ExtractedLinkLocation, ExtractedPage, FetchPageDependencies, type FetchPageOptions, type FetchRateControls, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, Ga4AccountSummary, Ga4DataStream, Ga4PropertySummary, Ga4ReportRequest, Ga4RunReportResult, Ga4WebStreamCandidate, Ga4WebStreamMatch, type GapCompetitor, GenerateLlmsTxtOptions, GeneratedLlmsTxt, GeoGap, GeoGapFilters, GeoGapResult, type GoogleAccessTokenClient, GoogleRichResultAssessment, GoogleRichResultAssessmentSelection, GoogleRichResultAssessmentStatus, GscRow, HttpProfile, INDEXNOW_ENDPOINT, INDEXNOW_KEYS_SECRET, INDEXNOW_KEY_ENV, INDEXNOW_MAX_URLS, INDEX_WATCH_ATTEMPT_RETENTION, INTERNAL_LINK_LEXICAL_TARGET_LIMIT, INTERNAL_LINK_MATCH_EVIDENCE_LIMIT, IndexCoverageBoundedSection, IndexCoverageCandidateItem, IndexCoverageControlReason, IndexCoverageControlledItem, IndexCoverageCrawlInput, IndexCoverageInput, IndexCoverageInventoryItem, IndexCoveragePlan, IndexCoveragePlanInput, IndexCoverageReport, IndexCoverageReportDependencies, IndexCoverageReportInput, IndexCoverageSearchConsoleInput, IndexCoverageSearchVisibilityItem, IndexCoverageSignalsReport, IndexCoverageSitemapInput, IndexCoverageSourceCompleteness, IndexCoverageSourceEvidence, IndexCoverageSourceMembership, IndexCoverageTemplateReview, IndexMonitorPropertyRun, IndexMonitorReport, IndexNowKey, IndexNowKeySource, IndexNowSubmission, IndexPlanProperty, IndexPlanSuggestion, IndexPropertyUrlAllocation, IndexWatchChange, IndexWatchChangeKind, IndexWatchDependencies, IndexWatchIssueCode, IndexWatchItem, IndexWatchPrevious, IndexWatchReport, IndexWatchRow, IndexWatchStore, type InternalLinkCandidate, type InternalLinkMatchKind, type InternalLinkOpportunity, type InternalLinkQueryMatch, InternalLinksAnalysis, InternalLinksAnalysisInput, InternalLinksDependencies, InternalLinksInput, type InternalLinksReport, type InternalLinksSelection, type InternalLinksWarning, type JavaScriptRenderingInput, type JavaScriptRenderingMode, JsonFileStorageAdapter, KEYWORD_SET_FIELD_LIMITS, KEYWORD_SET_LIMITS, KEYWORD_SET_SCHEMA_SQL, KeywordDataProvider, KeywordDiscoveryProvider, KeywordDiscoveryRequest, KeywordDiscoverySource, KeywordIdea, KeywordIdeaSource, KeywordMetric, KeywordMetricAnalysis, KeywordMetricFinding, KeywordMetricsCostEstimate, KeywordMetricsCostEstimator, KeywordMetricsProvider, KeywordMetricsReport, KeywordMetricsReportDependencies, KeywordMetricsRequest, KeywordMonthlySearch, KeywordOpportunitiesDependencies, KeywordOpportunitiesInput, KeywordOpportunitiesReport, KeywordOpportunityCluster, KeywordOpportunityCombined, KeywordOpportunityDataSourcePrompt, KeywordOpportunityExternal, KeywordOpportunityFinding, KeywordOpportunityFirstParty, KeywordOpportunitySource, KeywordOverview, KeywordResearchAnalysis, KeywordResearchFinding, KeywordResearchReport, KeywordResearchReportDependencies, KeywordRow, KeywordSet, KeywordSetDetail, KeywordSetItem, KeywordSetMutationItem, KeywordSetMutationResult, KeywordSetPageMapping, KeywordSetRefreshDependencies, KeywordSetRefreshReport, type KeywordSetStoreOptions, KeywordTrend, LINK_RECOVER_RUN_RETENTION, LOG_MAX_AGE_MS, LOG_MAX_FILE_BYTES, LOG_MAX_TOTAL_BYTES, LatestCrawlSummaryRow, LighthouseFailureCode, LinkEvidenceProvenance, LinkEvidenceProvider, LinkEvidenceRow, LinkRecoverItem, LinkRecoverReport, LinkRecoverSummary, LinkTargetCount, LlmsAuditIssue, LlmsAuditReport, type LlmsTxtLinkObservation, LocalCredentialsProvider, LogPruneResult, MAX_CRAWL_CONCURRENCY, MAX_CRAWL_DEPTH, MAX_CRAWL_PAGES, MAX_CRAWL_TIMEOUT_MS, type MarkdownAlternateObservation, type MarkdownQualityObservation, MeasureChangeDependencies, MetricDelta, MonitoringStatusCheck, MonitoringStatusReport, NarrativeSection, type OAuthClientConfig, OKF_DEFAULT_CONCEPTS, OKF_MAX_CONCEPTS, OkfBundle, OkfExplainReport, OkfFile, OkfValidationIssue, OkfValidationReport, OpportunityBenchmarkRow, OrganicFootprint, PROVIDER_SPEND_MAX_BYTES, PROVIDER_SPEND_MAX_ROWS, PROVIDER_SPEND_RETENTION_DAYS, PageFetchDiagnostics, PageFetchResult, type PageOpportunityAnalysis, type PageOpportunityAnalysisInput, type PageOpportunityBenchmark, PageOpportunityInput, type PageOpportunityItem, PageOpportunityReport, type PageOpportunitySelection, type PageOpportunityType, type PageOpportunityVerification, type PageRenderer, PageSearchMetrics, PageTopQuery, PartialDiagnosisReason, PerformanceAuditReport, PerformanceFieldData, PerformanceFieldMetric, PerformanceMetric, PerformanceRating, PositionBenchmark, Presentation, PresentationChart, PresentationScalar, PresentationTable, PresentationTableColumn, PriorityQueueItem, ProgressReporter, ProviderAdapter, ProviderCacheEvidence, ProviderCandidate, ProviderCapability, ProviderCapabilitySupport, ProviderCostEvidence, ProviderCoverage, ProviderError, ProviderErrorCode, ProviderEvidence, ProviderFetch, ProviderId, ProviderMarketSupport, ProviderOpts, ProviderRequestContext, ProviderRequestEvidence, ProviderRequestInput, ProviderResolution, ProviderResult, ProviderSecret, ProviderSecretSource, ProviderSpendFinalization, ProviderSpendLimits, ProviderSpendNotice, ProviderSpendReservation, ProviderSpendReservationInput, ProviderSpendState, ProviderSpendSummary, ProviderValue, ProviderWarning, PseoAuditAcquisition, PseoAuditInput, type PseoAuditReport, type PseoAuditTemplate, type PseoCompetitorPattern, type PseoCrawlSample, type PseoCrawlTechnicalStatus, type PseoDataSourceBrief, PseoDependencies, type PseoDiscoveryEvidence, type PseoEntityFit, type PseoExternalAcquisition, type PseoExternalCandidate, type PseoIndexStatus, type PseoInspectionSample, type PseoKnownCost, PseoOpportunitiesDependencies, type PseoOpportunitiesInput, type PseoOpportunitiesReport, type PseoOpportunityCluster, type PseoOpportunityFinding, type PseoOpportunityTemplate, type PseoPageRow, type PseoQueryCoverage, type PseoQueryPageRow, type PseoResearchSeed, type PseoSerpEvidence, type PseoSerpObservation, PseoTemplateCluster, type PseoTemplateMetrics, PseoTemplateShape, QueryCluster, type QueryClusterPage, QueryClusterReport, type QueryClusterRow, QueryClusterSourceRow, QueryContentClassification, QueryContentCoverage, QueryContentSignal, QueryFieldCoverage, QueuedSerpPostReceipt, QueuedSerpPostResult, QueuedSerpReadyTask, type QuickWinAnalysis, type QuickWinGroup, type QuickWinItem, type QuickWinSelection, type QuickWinTemplateRecommendation, QuickWinsDependencies, QuickWinsInput, QuickWinsSection, RANK_TRACKING_LIMITS, RANK_TRACKING_SCHEMA_SQL, REPORT_BASELINE_MAX_AGE_MS, REPORT_BASELINE_MAX_DEPTH, REPORT_BASELINE_MAX_PAGES, RankChange, RankObservation, RankTrackingCadence, RankTrackingCollectionMethod, RankTrackingCollector, RankTrackingConfiguration, RankTrackingDevice, RankTrackingExecution, RankTrackingExecutionDependencies, RankTrackingExecutionInput, RankTrackingReport, RankTrackingReportInput, RankTrackingReportItem, RankTrackingRun, RankTrackingRunState, type RankTrackingStoreOptions, RankTrackingTask, RankedKeyword, type RankedKeywordFirstPartyMatch, RankedKeywordPage, RankedKeywordsProvider, type RankedKeywordsReport, type RankedKeywordsReportInput, RankedKeywordsRequest, RankingDistribution, RankingPage, RankingPagePage, type RankingPageTemplatePattern, RankingPagesProvider, type RankingPagesReport, type RankingPagesReportInput, RankingPagesRequest, RawLinkEvidenceRow, ReadinessCheck, ReadinessSection, ReadinessStatus, Recommendation, RedirectTraceIssue, RedirectTraceReport, RedirectTraceStep, RenderingDocumentDifference, RenderingDocumentField, RenderingDocumentSnapshot, ReportHtmlInput, ReportHtmlSection, ReportHtmlView, ReportNarrative, ResolveTechnicalBaselineInput, ResponseSizeLimitError, RobotsDirective, RuleCategory, RuleId, RuleInfo, RuleRecommendation, RuleSeverity, SCORECARD_CHECK_WEIGHTS, SCORECARD_STATUS_CREDIT, SEO_CRAWLER_IDENTITY, SEO_CRAWLER_TOKEN, SEO_CRAWLER_USER_AGENT, SEO_VERSION, SERP_TITLE_REFERENCE_WIDTH_PX, SERP_TITLE_WIDTH_PROFILE, SavedKeywordMetric, SavedKeywordSetReport, ScorecardBand, ScorecardCheck, ScorecardCheckId, ScorecardObservation, ScorecardStatus, SearchAnalyticsRequest, type SearchConsoleAggregateEvidence, SearchDateWindow, SearchMarket, SearchPageBatch, SearchStatusIncident, SearchUpdate, type SecondPageAnalysis, SecondPageDependencies, SecondPageInput, type SecondPageItem, type SecondPageQuery, type SecondPageRecommendation, type SecondPageReport, SecondPageSection, type SecondPageSelection, type SegmentDimension, SegmentImpactDependencies, SegmentImpactInput, type SegmentImpactItem, type SegmentImpactReport, type SegmentImpactSelection, type SegmentPeriodEvidence, type SegmentRange, SemrushProvider, SeoChange, SeoCliPathOptions, SeoCliPaths, SeoError, SeoErrorCode, SeoToAiQueryReport, SerpCompetitor, SerpCompetitorKeywordPosition, SerpCompetitorSet, SerpCompetitorsProvider, type SerpCompetitorsReport, type SerpCompetitorsReportInput, SerpCompetitorsRequest, SerpDomainSummary, SerpOrganicResult, SerpProvider, SerpResultFinding, SerpResultsReport, SerpResultsReportDependencies, SerpSnapshot, SerpSnapshotProvider, SerpSnapshotRequest, ServerLogEvidence, ServerLogFormat, ServerLogRecord, ServiceAccountAccessTokenClient, ServiceAccountConfig, ServiceAccountStatus, SessionLedger, SitemapDocument, SitemapFetchResult, SitemapInvalidLoc, SitemapLastmodObservation, SkippedDiagnosisSection, SnippetControlEvidence, StatusBreakdown, StorageAdapter, StoredDataForSeoCredentials, StoredTokens, type StrikingDistanceAnalysis, type StrikingDistanceAnalysisGroup, type StrikingDistanceAnalysisItem, StrikingDistanceDependencies, StrikingDistanceInput, StrikingDistanceItem, StrikingDistanceReport, StrikingDistanceSection, TELEMETRY_AGENTS, TELEMETRY_ENDPOINT, TELEMETRY_ERROR_CATEGORIES, TELEMETRY_EVENTS, TELEMETRY_NOTICE, TELEMETRY_REPORTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_TIMEOUT_MS, TechnicalBaseline, TechnicalBaselineDependencies, TechnicalBaselineStatus, TelemetryAgent, TelemetryDisableReason, TelemetryErrorCategory, TelemetryEvent, TelemetryOptions, TelemetryPayload, TelemetryReport, TelemetryState, TelemetryStatus, TemplateAwareReport, TestMetrics, TitleWidthEstimate, TokenStorageMode, TokenStorageStatus, TopFix, TopFixFilters, TrafficAnomaly, TrafficAnomalyCoverage, TrafficAnomalyReport, type UnmatchedSegment, UpdateConfounder, UpdateCorrelationReport, UrlInspectionRequest, UrlInspectionResult, WorkflowAction, WorkflowReport, WorkflowStep, acquirePseoAuditEvidence, activeRankTrackingRun, addKeywordsToSet, addStatus, affectedUrls, agentReadiness, aiPromptsForQuery, aiReadiness, aiReferralSourceForValue, aiReferralsReport, aiSearchScorecard, allocateIndexUrlsToProperties, analyticsConnectionsSchema, analyzeAiReferralRows, analyzeBingCrawl, analyzeBingDimensions, analyzeBingTraffic, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzeKeywordTrend, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertCrawlConfigLimits, assertUrlMatchesGscProperty, attachCrawlRecommendations, auditCrawlPages, auditCrawlRequests, auditLlmsTxt, auditPage, authStatus, bingAnalysisDefaults, bingWebmasterOverview, bingWebmasterSiteUrl, boundedSitemapInventory, buildOkfBundle, buildPseoAuditFromAcquisition, buildPseoAuditReportFromRows, buildQueryClusterReportFromRows, buildTelemetryPayload, cannibalReport, changeMeasurementCsvRows, checkDatabaseReadiness, classifyCommunityIntent, classifyCrawler, clearCache, clientProfileSchema, clusterPseoTemplates, clusterQueryRows, collectAgentDiscovery, collectBingLinkEvidence, combineRobotsValues, communityIntentReport, compareCrawlPages, compareCrawlReports, compareLinkEvidence, compareSegmentRows, competitorKeywordGapReport, configSchema, contentCoverageRecommendation, contentCoverageType, contentOptimizationFromPageOpportunities, contentOptimizationReport, countLabel, crawlConfigHash, crawlConfigSchema, crawlDefinitionId, crawlDiff, crawlFixToQueueItem, crawlImplementationQueueWorkflow, crawlIssueGroupSchema, crawlIssueSchema, crawlOne, crawlPageSnapshotSchema, crawlReportSchema, crawlReportStore, crawlReportSummarySchema, crawlRequestObservationSchema, crawlRunId, crawlSite, crawlSkipImpact, crawlSkipReasonCountsFromRecord, crawlStatusOnly, crawlTopFixSchema, crawlerJsonSchemas, crawlerRuleCategorySchema, crawlerRuleIdSchema, crawlerRuleInfoSchema, crawlerRuleRecommendationSchema, crawlerRuleSeveritySchema, crawlerSchemas, createAuthorizedClient, createBingWebmasterClient, createContentGroup, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createIndexNowKey, createIndexNowKeyRecord, createKeywordSet, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteDataForSeoCredentials, deleteKeywordSet, deleteProviderSecret, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, domainOverviewReport, effectiveRobotsDirectives, effectiveSnippetControl, emptyStatusBreakdown, enforceRankTrackingLogicalBytes, ensurePrivateDatabaseFiles, ensureSeoCliDirs, entityReadiness, estimateSerpTitleWidth, executeRankTracking, expectedCtrForPosition, explainOkfValidation, explainRule, failRankTrackingTask, fetchCruxFieldData, fetchPage, fetchPageStatus, fetchSearchStatusIncidents, fetchSitemapUrls, fetchText, fileSize, finalGscDateRange, finalizeProviderSpend, findOverlappingSearchUpdates, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, generateLlmsTxt, geoGaps, geoGapsReport, getAuthModeStatus, getCacheStats, getChange, getClient, getClientConfig, getContentGroup, getDb, getKeywordProvider, getKeywordSet, getOrCreateRankTrackingConfiguration, getPreviousRun, getPrivacySnapshot, getProviderSpendLimits, getProviderSpendSummary, getRankTrackingRun, getRepeatedLinkRecoverUrls, getRunPages, getSeoCliPaths, getServiceAccountConfig, getServiceAccountStatus, getTelemetryStatus, getTokenStorageStatus, googleAnalyticsPropertyId, groupCrawlIssues, hasMetaRobotsDirective, hasRule, hasXRobotsDirective, hashKey, importLinkEvidence, importServerLog, indexCoveragePlan, indexCoverageSignals, indexMonitor, indexWatch, inferPseoTemplate, inferTemplateMovement, initializeTelemetry, insertCrawlRun, insertLinkRecoverRun, inspectUrl, internalLinksReport, interpretUpdateCorrelation, isBrandQuery, isCompatibleTechnicalBaseline, isCurrentTechnicalBaseline, isEntityEvidenceSchemaType, isSiteIdentitySchemaType, isSkippableReportError, isTelemetryCi, isTelemetryReport, isoDate, isoWeek, keywordDiscoverySourceSchema, keywordMetricsReport, keywordOpportunitiesReport, keywordResearchReport, keywordSetLogicalBytes, latestCrawlReport, latestCrawlSummaries, latestFinalGscDate, latestIndexWatchSummary, latestLinkRecoverSummary, latestRankTrackingRun, linkEntries, linkEvidenceKey, linkEvidenceReport, linkRecover, linkRecoverRecommendation, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listIndexNowKeys, listKeywordSets, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, mapDataForSeoSerpSnapshot, markRankTasksPosted, markRankTasksPosting, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLinkEvidenceRow, normalizeLoadedCrawlReport, normalizeSavedKeyword, noteCacheWrite, observedValue, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, parseCombinedLogLine, parseIndexNowSite, parseJsonLogLine, parseOlderThan, parsePseoPath, performanceAudit, performanceReportIsCacheable, planDueIndexUrls, planIndexCoverageFromUrls, plural, priorComparableRankTrackingRun, propertyMatchesUrl, providerCapabilitySchema, providerIdSchema, providerPreferenceSchema, providerRequestJson, providerRequestText, providerSpendLimitOverridesSchema, pruneIndexWatchSnapshots, pruneLogs, pseoAuditOptions, pseoAuditReport, pseoCsvFiles, pseoIndexStatus, pseoOpportunitiesReport, pseoPresentation, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, rankObservations, rankTrackingLogicalBytes, rankTrackingReport, rankTrackingTasks, rankedKeywordsReport, rankingPagesReport, readBoundedResponseText, readConfig, readDataForSeoCredentials, readOauthClient, readProviderSecret, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, recoverRankTaskReceipt, redirectTrace, refreshAuthToken, refreshKeywordSet, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, refreshRankTrackingRun, removeIndexNowKey, removeKeywordsFromSet, renderCrawlCsv, renderCrawlHtml, renderCrawlJunit, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderPseoMarkdown, renderReportHtml, renderWorkflowMarkdown, reportNarrative, reportPresentation, requestHeaders, reserveProviderSpend, resolveIndexNowKey, resolveProvider, resolveSegmentRanges, resolveSeoCliPaths, resolveTechnicalBaseline, reviewObservations, roundedPosition, runDoctor, runGa4Report, safeError, saveClient, saveCrawlReport, saveIndexNowKey, saveRankObservation, saveRankObservations, savedKeywordSetReport, searchMarketSchema, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, serpCompetitorsReport, serpResultsReport, serverLogReport, sessionSourceInListFilter, setClientBingSite, setDefaultClient, setKeywordSetRefreshTime, setProviderSpendLimits, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, startRankTrackingRun, strikingDistance, submitIndexNow, summarizeCrawlReport, targetMatchesDomain, pageTechnicalSignals as technicalPageSignals, technicalWatchWorkflow, telemetryErrorCategory, templateForUrl, toSeoError, tokenSchema, topCrawlRecommendations, topFixes, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, unavailableSegmentImpactReport, unavailableValue, unicodeTokens, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateIndexNowKey, validateIndexNowKeyRecord, validateOkfFiles, verifyIndexNowKey, verifyQueryContent, workflowPresentation, writeConfig, writeDataForSeoCredentials, writeOauthClient, writeProviderSecret, writeTokens, xRobotsDirectives };
28582
+ export { AI_REFERRAL_SOURCES, AI_REFERRAL_SOURCES_VERSION, AI_SEARCH_SCORECARD_METHODOLOGY_ID, AI_SEARCH_SCORECARD_METHODOLOGY_VERSION, AUDIT_PAGE_RULE_IDS, AUTOMATIC_BASELINE_SITE_RETENTION, AUTOMATIC_BASELINE_TOTAL_RETENTION, AccessBlockEvidence, AffectedUrl, AffectedUrlFilters, AffectedUrlResult, AffectedUrlSelection, type AgentDiscoveryDataStatus, type AgentEndpointDiscovery, type AgentEndpointObservation, type AgentLinkHeaderEntry, type AgentLinkHeaderObservation, AgentReadinessCheck, AgentReadinessCheckStatus, type AgentReadinessProfile, AgentReadinessReport, AgentReadinessSection, type AgentRepresentationResponse, type AgentSkillObservation, AiReadinessReport, type AiReferralDataSource, type AiReferralMetrics, type AiReferralQueryEvidence, type AiReferralReport, type AiReferralSourceDefinition, AiSearchScorecard, AnalyticsMetricDelta, AnalyticsTestMetrics, type AnalyzeCannibalRowsInput, type AnalyzeDecayInput, type AnalyzeQuickWinsInput, type AnalyzeSecondPageInput, type AnalyzeStrikingDistanceInput, AppConfig, AuditPageDependencies, AuditPageReport, AuthorizedGoogleClient, BING_API_KEY_ENV, BING_API_KEY_SECRET, BROWSER_USER_AGENT, BacklinkProvider, BacklinksProvider, BacklinksRequest, BingCrawlRow, BingDimensionRow, BingLinkCountRow, BingLinkPage, BingRows, BingTrafficRow, BingUrlLinkRow, BingWebmasterClient, BingWebmasterCredentials, BingWebmasterSite, BoundedSecondPageItem, BoundedSitemapInventory, BrandTermCandidate, CANNIBAL_MAXIMUM_DOMINANT_SHARE, CANNIBAL_MINIMUM_PAGE_SHARE, CRAWL_REPORT_STORAGE_VERSION, CRAWL_RUN_RETENTION, CRAWL_SKIP_REASONS, CTR_DEFAULT_LIMIT, CTR_DEFAULT_MIN_IMPRESSIONS, CTR_MAX_LIMIT, CTR_MAX_MIN_IMPRESSIONS, CacheStats, type CannibalAnalysis, CannibalDependencies, type CannibalItem, type CannibalPage, type CannibalReport, CannibalReportInput, type CannibalSelection, type CannibalSuppression, type CannibalSuppressionReason, ChangeMeasurement, ChangeMeasurementAttempt, ChangeRow, ChangeScope, type ClassifiedSerpCompetitor, ClientProfile, ClientProfileInput, CollectedLinkEvidence, CommunityIntent, CommunityIntentClassification, CommunityIntentReport, type CompetitorKeywordGapCandidate, type CompetitorKeywordGapReport, type CompetitorKeywordGapReportInput, type CompetitorSiteType, ContentExtractionDiagnostics, ContentExtractor, ContentGroup, ContentGroupDimension, ContentGroupMatchType, ContentGroupRow, ContentOptimizationIntent, ContentOptimizationReport, CoverageField, CrawlAccessSummary, type CrawlAgentDiscovery, CrawlAiBotAccess, CrawlAiResourceSignal, CrawlAiSignals, CrawlAnalyticsDataSource, CrawlConfig, CrawlConfigInput, CrawlDataSourceStatus, CrawlDataSourceWindow, CrawlDiffItem, CrawlDiffRecommendation, CrawlDiffReport, CrawlExternalLinkVerification, CrawlFetchRateConfig, CrawlImplementationQueueInput, CrawlImplementationQueueItem, CrawlImplementationQueueOutput, CrawlIssue, CrawlIssueGroup, CrawlLinkGraph, CrawlMode, CrawlOneResult, CrawlOutputFormat, CrawlPageRow, CrawlPageSnapshot, CrawlReport, CrawlReportDataSources, CrawlReportMeta, CrawlReportSaveOptions, CrawlReportStorageEnvelope, CrawlReportStoreAdapter, CrawlReportSummary, CrawlRequestObservation, CrawlResponseObservation, CrawlRun, CrawlRunRow, CrawlRunStats, CrawlSearchDataSource, type CrawlSiteChecks, type CrawlSiteDependencies, CrawlSitemapDiscovery, CrawlSkipImpact, CrawlSkipReason, CrawlSkipReasonCount, CrawlSkippedUrlsByImpact, CrawlSnapshotDiffReport, CrawlSnapshotIssueChange, CrawlSnapshotPageChange, CrawlStatusEvent, CrawlStatusHandler, CrawlStatusPhase, CrawlStrategy, CrawlerCategory, CrawlerIdentity, CrawlerPathSummary, CrawlerSummary, CredentialsProvider, CreditUsage, CsvFile, CsvRow, CsvValue, type CtrUnderperformer, CtrUnderperformerDependencies, type CtrUnderperformerSelection, DATAFORSEO_CREDENTIAL_SECRET, DATAFORSEO_LOGIN_ENV, DATAFORSEO_PASSWORD_ENV, DEFAULT_PROVIDER_SPEND_LIMITS, type DataForSeoAccountSnapshot, type DataForSeoBacklinksRequest, type DataForSeoBacklinksSnapshot, DataForSeoClient, type DataForSeoClientOptions, DataForSeoCredentials, type DataForSeoDomainOverviewRequest, type DataForSeoDomainOverviewSnapshot, DataForSeoKeywordDiscoveryProvider, DataForSeoKeywordDiscoveryProviderOptions, type DataForSeoKeywordDiscoveryRequest, type DataForSeoKeywordDiscoverySnapshot, DataForSeoKeywordMetricsProvider, DataForSeoKeywordMetricsProviderOptions, type DataForSeoKeywordOverviewRequest, type DataForSeoKeywordOverviewSnapshot, DataForSeoLinkProvider, DataForSeoLinkProviderOptions, type DataForSeoLinkSummaryRequest, type DataForSeoLinkSummarySnapshot, DataForSeoProvider, DataForSeoRankTrackingCollector, type DataForSeoRankedKeywordsRequest, type DataForSeoRankedKeywordsSnapshot, type DataForSeoRankingPagesRequest, type DataForSeoRankingPagesSnapshot, type DataForSeoReferringDomainsRequest, type DataForSeoReferringDomainsSnapshot, type DataForSeoSerpCompetitorsRequest, type DataForSeoSerpCompetitorsSnapshot, type DataForSeoSerpRequest, type DataForSeoSerpSnapshot, DataForSeoSerpSnapshotProvider, DataForSeoSerpSnapshotProviderOptions, type DecayAnalysis, type DecayComparison, type DecayDiagnosis, type DecayGroup, type DecayItem, type DecayMetrics, type DecayReport, type DecaySelection, type DecaySignal, DecayingDependencies, DecayingReportInput, type DeclaredCompetitor, DiagnosePropertyDependencies, DiagnosePropertyReport, DiagnosisDataStatus, DiagnosisPriority, DoctorCheck, DomainOverview, DomainOverviewProvider, type DomainOverviewReport, type DomainOverviewReportInput, DomainOverviewRequest, type DomainReportInput, type DomainResearchDataStatus, DomainResearchProvider, DueIndexSelection, DueIndexUrl, EffectiveSnippetControl, EntityReadinessCheck, EntityReadinessReport, ExternalBacklink, ExternalBacklinkPage, ExternalLinkCheck, ExternalLinkCheckAttempt, ExternalLinkCheckState, ExternalLinkProviderEvidence, ExtractedLinkLocation, ExtractedPage, FetchPageDependencies, type FetchPageOptions, type FetchRateControls, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, type Ga4AccountSummary, Ga4DataStream, type Ga4PropertySummary, Ga4ReportRequest, Ga4RunReportResult, Ga4WebStreamCandidate, Ga4WebStreamMatch, type GapCompetitor, GenerateLlmsTxtOptions, GeneratedLlmsTxt, GeoGap, GeoGapFilters, GeoGapResult, type GoogleAccessTokenClient, GoogleRichResultAssessment, GoogleRichResultAssessmentSelection, GoogleRichResultAssessmentStatus, GscRow, HttpProfile, INDEXNOW_ENDPOINT, INDEXNOW_KEYS_SECRET, INDEXNOW_KEY_ENV, INDEXNOW_MAX_URLS, INDEX_WATCH_ATTEMPT_RETENTION, INTERNAL_LINK_LEXICAL_TARGET_LIMIT, INTERNAL_LINK_MATCH_EVIDENCE_LIMIT, IndexCoverageBoundedSection, IndexCoverageCandidateItem, IndexCoverageControlReason, IndexCoverageControlledItem, IndexCoverageCrawlInput, IndexCoverageInput, IndexCoverageInventoryItem, IndexCoveragePlan, IndexCoveragePlanInput, IndexCoverageReport, IndexCoverageReportDependencies, IndexCoverageReportInput, IndexCoverageSearchConsoleInput, IndexCoverageSearchVisibilityItem, IndexCoverageSignalsReport, IndexCoverageSitemapInput, IndexCoverageSourceCompleteness, IndexCoverageSourceEvidence, IndexCoverageSourceMembership, IndexCoverageTemplateReview, IndexMonitorPropertyRun, IndexMonitorReport, IndexNowKey, IndexNowKeySource, IndexNowSubmission, IndexPlanProperty, IndexPlanSuggestion, IndexPropertyUrlAllocation, IndexWatchChange, IndexWatchChangeKind, IndexWatchDependencies, IndexWatchIssueCode, IndexWatchItem, IndexWatchPrevious, IndexWatchReport, IndexWatchRow, IndexWatchStore, type InternalLinkCandidate, type InternalLinkMatchKind, type InternalLinkOpportunity, type InternalLinkQueryMatch, InternalLinksAnalysis, InternalLinksAnalysisInput, InternalLinksDependencies, InternalLinksInput, type InternalLinksReport, type InternalLinksSelection, type InternalLinksWarning, type JavaScriptRenderingInput, type JavaScriptRenderingMode, JsonFileStorageAdapter, KEYWORD_SET_FIELD_LIMITS, KEYWORD_SET_LIMITS, KEYWORD_SET_SCHEMA_SQL, KeywordDataProvider, KeywordDiscoveryProvider, KeywordDiscoveryRequest, KeywordDiscoverySource, KeywordIdea, KeywordIdeaSource, KeywordMetric, KeywordMetricAnalysis, KeywordMetricFinding, KeywordMetricsCostEstimate, KeywordMetricsCostEstimator, KeywordMetricsProvider, KeywordMetricsReport, KeywordMetricsReportDependencies, KeywordMetricsRequest, KeywordMonthlySearch, KeywordOpportunitiesDependencies, KeywordOpportunitiesInput, KeywordOpportunitiesReport, KeywordOpportunityCluster, KeywordOpportunityCombined, KeywordOpportunityDataSourcePrompt, KeywordOpportunityExternal, KeywordOpportunityFinding, KeywordOpportunityFirstParty, KeywordOpportunitySource, KeywordOverview, KeywordResearchAnalysis, KeywordResearchFinding, KeywordResearchReport, KeywordResearchReportDependencies, KeywordRow, KeywordSet, KeywordSetDetail, KeywordSetItem, KeywordSetMutationItem, KeywordSetMutationResult, KeywordSetPageMapping, KeywordSetRefreshDependencies, KeywordSetRefreshReport, type KeywordSetStoreOptions, KeywordTrend, LINK_RECOVER_RUN_RETENTION, LOG_MAX_AGE_MS, LOG_MAX_FILE_BYTES, LOG_MAX_TOTAL_BYTES, LatestCrawlSummaryRow, LighthouseFailureCode, LinkEvidenceProvenance, LinkEvidenceProvider, LinkEvidenceRow, LinkRecoverItem, LinkRecoverReport, LinkRecoverSummary, LinkSummary, LinkSummaryProvider, LinkSummaryRequest, type LinkTargetContext, LinkTargetContextDependencies, type LinkTargetContextRow, LinkTargetCount, type LinkTargetCrawlEvidence, type LinkTargetFinding, LinkTargetScope, type LinkTargetSearchEvidence, LiveLinkProvider, LlmsAuditIssue, LlmsAuditReport, type LlmsTxtLinkObservation, LocalCredentialsProvider, LogPruneResult, MAX_CRAWL_CONCURRENCY, MAX_CRAWL_DEPTH, MAX_CRAWL_PAGES, MAX_CRAWL_TIMEOUT_MS, type MarkdownAlternateObservation, type MarkdownQualityObservation, MarketIndependentProviderEvidence, MeasureChangeDependencies, MetricDelta, MonitoringStatusCheck, MonitoringStatusReport, NarrativeSection, type OAuthClientConfig, OKF_DEFAULT_CONCEPTS, OKF_MAX_CONCEPTS, OkfBundle, OkfExplainReport, OkfFile, OkfValidationIssue, OkfValidationReport, OpportunityBenchmarkRow, OrganicFootprint, PROVIDER_SPEND_MAX_BYTES, PROVIDER_SPEND_MAX_ROWS, PROVIDER_SPEND_RETENTION_DAYS, PageFetchDiagnostics, PageFetchResult, type PageOpportunityAnalysis, type PageOpportunityAnalysisInput, type PageOpportunityBenchmark, PageOpportunityInput, type PageOpportunityItem, PageOpportunityReport, type PageOpportunitySelection, type PageOpportunityType, type PageOpportunityVerification, type PageRenderer, PageSearchMetrics, PageTopQuery, PartialDiagnosisReason, PerformanceAuditReport, PerformanceFieldData, PerformanceFieldMetric, PerformanceMetric, PerformanceRating, PositionBenchmark, Presentation, PresentationChart, PresentationScalar, PresentationTable, PresentationTableColumn, PriorityQueueItem, ProgressReporter, ProviderAdapter, ProviderCacheEvidence, ProviderCandidate, ProviderCapability, ProviderCapabilitySupport, ProviderCostEvidence, ProviderCoverage, ProviderError, ProviderErrorCode, ProviderEvidence, ProviderEvidenceBase, ProviderFetch, ProviderId, ProviderLinkMetric, ProviderMarketSupport, ProviderOpts, ProviderRequestContext, ProviderRequestEvidence, ProviderRequestInput, ProviderResolution, ProviderResult, ProviderSecret, ProviderSecretSource, ProviderSpendFinalization, ProviderSpendLimits, ProviderSpendNotice, ProviderSpendReservation, ProviderSpendReservationInput, ProviderSpendState, ProviderSpendSummary, ProviderValue, ProviderWarning, PseoAuditAcquisition, PseoAuditInput, type PseoAuditReport, type PseoAuditTemplate, type PseoCompetitorPattern, type PseoCrawlSample, type PseoCrawlTechnicalStatus, type PseoDataSourceBrief, PseoDependencies, type PseoDiscoveryEvidence, type PseoEntityFit, type PseoExternalAcquisition, type PseoExternalCandidate, type PseoIndexStatus, type PseoInspectionSample, type PseoKnownCost, PseoOpportunitiesDependencies, type PseoOpportunitiesInput, type PseoOpportunitiesReport, type PseoOpportunityCluster, type PseoOpportunityFinding, type PseoOpportunityTemplate, type PseoPageRow, type PseoQueryCoverage, type PseoQueryPageRow, type PseoResearchSeed, type PseoSerpEvidence, type PseoSerpObservation, PseoTemplateCluster, type PseoTemplateMetrics, PseoTemplateShape, QueryCluster, type QueryClusterPage, QueryClusterReport, type QueryClusterRow, QueryClusterSourceRow, QueryContentClassification, QueryContentCoverage, QueryContentSignal, QueryFieldCoverage, QueuedSerpPostReceipt, QueuedSerpPostResult, QueuedSerpReadyTask, type QuickWinAnalysis, type QuickWinGroup, type QuickWinItem, type QuickWinSelection, type QuickWinTemplateRecommendation, QuickWinsDependencies, QuickWinsInput, QuickWinsSection, RANK_TRACKING_LIMITS, RANK_TRACKING_SCHEMA_SQL, REPORT_BASELINE_MAX_AGE_MS, REPORT_BASELINE_MAX_DEPTH, REPORT_BASELINE_MAX_PAGES, RankChange, RankObservation, RankTrackingCadence, RankTrackingCollectionMethod, RankTrackingCollector, RankTrackingConfiguration, RankTrackingDevice, RankTrackingExecution, RankTrackingExecutionDependencies, RankTrackingExecutionInput, RankTrackingReport, RankTrackingReportInput, RankTrackingReportItem, RankTrackingRun, RankTrackingRunState, type RankTrackingStoreOptions, RankTrackingTask, RankedKeyword, type RankedKeywordFirstPartyMatch, RankedKeywordPage, RankedKeywordsProvider, type RankedKeywordsReport, type RankedKeywordsReportInput, RankedKeywordsRequest, RankingDistribution, RankingPage, RankingPagePage, type RankingPageTemplatePattern, RankingPagesProvider, type RankingPagesReport, type RankingPagesReportInput, RankingPagesRequest, RawLinkEvidenceRow, ReadinessCheck, ReadinessSection, ReadinessStatus, Recommendation, RedirectTraceIssue, RedirectTraceReport, RedirectTraceStep, ReferringDomain, ReferringDomainPage, ReferringDomainsProvider, ReferringDomainsRequest, RenderingDocumentDifference, RenderingDocumentField, RenderingDocumentSnapshot, ReportHtmlInput, ReportHtmlSection, ReportHtmlView, ReportNarrative, ResolveTechnicalBaselineInput, ResponseSizeLimitError, RobotsDirective, RuleCategory, RuleId, RuleInfo, RuleRecommendation, RuleSeverity, SCORECARD_CHECK_WEIGHTS, SCORECARD_STATUS_CREDIT, SEO_CRAWLER_IDENTITY, SEO_CRAWLER_TOKEN, SEO_CRAWLER_USER_AGENT, SEO_VERSION, SERP_TITLE_REFERENCE_WIDTH_PX, SERP_TITLE_WIDTH_PROFILE, SavedKeywordMetric, SavedKeywordSetReport, ScorecardBand, ScorecardCheck, ScorecardCheckId, ScorecardObservation, ScorecardStatus, SearchAnalyticsRequest, type SearchConsoleAggregateEvidence, SearchDateWindow, SearchMarket, SearchPageBatch, SearchStatusIncident, SearchUpdate, type SecondPageAnalysis, SecondPageDependencies, SecondPageInput, type SecondPageItem, type SecondPageQuery, type SecondPageRecommendation, type SecondPageReport, SecondPageSection, type SecondPageSelection, type SegmentDimension, SegmentImpactDependencies, SegmentImpactInput, type SegmentImpactItem, type SegmentImpactReport, type SegmentImpactSelection, type SegmentPeriodEvidence, type SegmentRange, SemrushProvider, SeoChange, SeoCliPathOptions, SeoCliPaths, SeoError, SeoErrorCode, SeoToAiQueryReport, SerpCompetitor, SerpCompetitorKeywordPosition, SerpCompetitorSet, SerpCompetitorsProvider, type SerpCompetitorsReport, type SerpCompetitorsReportInput, SerpCompetitorsRequest, SerpDomainSummary, SerpOrganicResult, SerpProvider, SerpResultFinding, SerpResultsReport, SerpResultsReportDependencies, SerpSnapshot, SerpSnapshotProvider, SerpSnapshotRequest, ServerLogEvidence, ServerLogFormat, ServerLogRecord, ServiceAccountAccessTokenClient, ServiceAccountConfig, ServiceAccountStatus, SessionLedger, SitemapDocument, SitemapFetchResult, SitemapInvalidLoc, SitemapLastmodObservation, SkippedDiagnosisSection, SnippetControlEvidence, StatusBreakdown, StorageAdapter, StoredDataForSeoCredentials, StoredTokens, type StrikingDistanceAnalysis, type StrikingDistanceAnalysisGroup, type StrikingDistanceAnalysisItem, StrikingDistanceDependencies, StrikingDistanceInput, StrikingDistanceItem, StrikingDistanceReport, StrikingDistanceSection, TELEMETRY_AGENTS, TELEMETRY_ENDPOINT, TELEMETRY_ERROR_CATEGORIES, TELEMETRY_EVENTS, TELEMETRY_NOTICE, TELEMETRY_REPORTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_TIMEOUT_MS, TechnicalBaseline, TechnicalBaselineDependencies, TechnicalBaselineStatus, TelemetryAgent, TelemetryDisableReason, TelemetryErrorCategory, TelemetryEvent, TelemetryOptions, TelemetryPayload, TelemetryReport, TelemetryState, TelemetryStatus, TemplateAwareReport, TestMetrics, TitleWidthEstimate, TokenStorageMode, TokenStorageStatus, TopFix, TopFixFilters, TrafficAnomaly, TrafficAnomalyCoverage, TrafficAnomalyReport, type UnmatchedSegment, UpdateConfounder, UpdateCorrelationReport, UrlInspectionRequest, UrlInspectionResult, WorkflowAction, WorkflowReport, WorkflowStep, acquirePseoAuditEvidence, activeRankTrackingRun, addKeywordsToSet, addStatus, affectedUrls, agentReadiness, aiPromptsForQuery, aiReadiness, aiReferralSourceForValue, aiReferralsReport, aiSearchScorecard, allocateIndexUrlsToProperties, analyticsConnectionsSchema, analyzeAiReferralRows, analyzeBingCrawl, analyzeBingDimensions, analyzeBingTraffic, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzeKeywordTrend, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertCrawlConfigLimits, assertUrlMatchesGscProperty, attachCrawlRecommendations, auditCrawlPages, auditCrawlRequests, auditLlmsTxt, auditPage, authStatus, bingAnalysisDefaults, bingWebmasterOverview, bingWebmasterSiteUrl, boundedSitemapInventory, buildOkfBundle, buildPseoAuditFromAcquisition, buildPseoAuditReportFromRows, buildQueryClusterReportFromRows, buildTelemetryPayload, cannibalReport, changeMeasurementCsvRows, checkDatabaseReadiness, classifyCommunityIntent, classifyCrawler, clearCache, clientProfileSchema, clusterPseoTemplates, clusterQueryRows, collectAgentDiscovery, collectBingLinkEvidence, collectDataForSeoLinkEvidence, combineRobotsValues, communityIntentReport, compareCrawlPages, compareCrawlReports, compareLinkEvidence, compareSegmentRows, competitorKeywordGapReport, configSchema, contentCoverageRecommendation, contentCoverageType, contentOptimizationFromPageOpportunities, contentOptimizationReport, countLabel, crawlConfigHash, crawlConfigSchema, crawlDefinitionId, crawlDiff, crawlFixToQueueItem, crawlImplementationQueueWorkflow, crawlIssueGroupSchema, crawlIssueSchema, crawlOne, crawlPageSnapshotSchema, crawlReportSchema, crawlReportStore, crawlReportSummarySchema, crawlRequestObservationSchema, crawlRunId, crawlSite, crawlSkipImpact, crawlSkipReasonCountsFromRecord, crawlStatusOnly, crawlTopFixSchema, crawlerJsonSchemas, crawlerRuleCategorySchema, crawlerRuleIdSchema, crawlerRuleInfoSchema, crawlerRuleRecommendationSchema, crawlerRuleSeveritySchema, crawlerSchemas, createAuthorizedClient, createBingWebmasterClient, createContentGroup, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createIndexNowKey, createIndexNowKeyRecord, createKeywordSet, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteDataForSeoCredentials, deleteKeywordSet, deleteProviderSecret, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, domainOverviewReport, effectiveRobotsDirectives, effectiveSnippetControl, emptyStatusBreakdown, enforceRankTrackingLogicalBytes, ensurePrivateDatabaseFiles, ensureSeoCliDirs, entityReadiness, estimateSerpTitleWidth, executeRankTracking, expectedCtrForPosition, explainOkfValidation, explainRule, failRankTrackingTask, fetchCruxFieldData, fetchPage, fetchPageStatus, fetchSearchStatusIncidents, fetchSitemapUrls, fetchText, fileSize, finalGscDateRange, finalizeProviderSpend, findOverlappingSearchUpdates, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, generateLlmsTxt, geoGaps, geoGapsReport, getAuthModeStatus, getCacheStats, getChange, getClient, getClientConfig, getContentGroup, getDb, getKeywordProvider, getKeywordSet, getOrCreateRankTrackingConfiguration, getPreviousRun, getPrivacySnapshot, getProviderSpendLimits, getProviderSpendSummary, getRankTrackingRun, getRepeatedLinkRecoverUrls, getRunPages, getSeoCliPaths, getServiceAccountConfig, getServiceAccountStatus, getTelemetryStatus, getTokenStorageStatus, googleAnalyticsPropertyId, groupCrawlIssues, hasMetaRobotsDirective, hasRule, hasXRobotsDirective, hashKey, importLinkEvidence, importServerLog, indexCoveragePlan, indexCoverageSignals, indexMonitor, indexWatch, inferPseoTemplate, inferTemplateMovement, initializeTelemetry, insertCrawlRun, insertLinkRecoverRun, inspectUrl, internalLinksReport, interpretUpdateCorrelation, isBrandQuery, isCompatibleTechnicalBaseline, isCurrentTechnicalBaseline, isEntityEvidenceSchemaType, isSiteIdentitySchemaType, isSkippableReportError, isTelemetryCi, isTelemetryReport, isoDate, isoWeek, keywordDiscoverySourceSchema, keywordMetricsReport, keywordOpportunitiesReport, keywordResearchReport, keywordSetLogicalBytes, latestCrawlReport, latestCrawlSummaries, latestFinalGscDate, latestIndexWatchSummary, latestLinkRecoverSummary, latestRankTrackingRun, linkEntries, linkEvidenceKey, linkEvidenceReport, linkRecover, linkRecoverRecommendation, linkTargetContext, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listIndexNowKeys, listKeywordSets, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, mapDataForSeoSerpSnapshot, markRankTasksPosted, markRankTasksPosting, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLinkEvidenceRow, normalizeLoadedCrawlReport, normalizeSavedKeyword, noteCacheWrite, observedValue, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, parseCombinedLogLine, parseIndexNowSite, parseJsonLogLine, parseOlderThan, parsePseoPath, performanceAudit, performanceReportIsCacheable, planDueIndexUrls, planIndexCoverageFromUrls, plural, priorComparableRankTrackingRun, propertyMatchesUrl, providerCapabilitySchema, providerIdSchema, providerPreferenceSchema, providerRequestJson, providerRequestText, providerSpendLimitOverridesSchema, pruneIndexWatchSnapshots, pruneLogs, pseoAuditOptions, pseoAuditReport, pseoCsvFiles, pseoIndexStatus, pseoOpportunitiesReport, pseoPresentation, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, rankObservations, rankTrackingLogicalBytes, rankTrackingReport, rankTrackingTasks, rankedKeywordsReport, rankingPagesReport, readBoundedResponseText, readConfig, readDataForSeoCredentials, readOauthClient, readProviderSecret, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, recoverRankTaskReceipt, redirectTrace, refreshAuthToken, refreshKeywordSet, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, refreshRankTrackingRun, removeIndexNowKey, removeKeywordsFromSet, renderCrawlCsv, renderCrawlHtml, renderCrawlJunit, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderPseoMarkdown, renderReportHtml, renderWorkflowMarkdown, reportNarrative, reportPresentation, requestHeaders, reserveProviderSpend, resolveIndexNowKey, resolveProvider, resolveSegmentRanges, resolveSeoCliPaths, resolveTechnicalBaseline, reviewObservations, roundedPosition, runDoctor, runGa4Report, safeError, saveClient, saveCrawlReport, saveIndexNowKey, saveRankObservation, saveRankObservations, savedKeywordSetReport, searchMarketSchema, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, serpCompetitorsReport, serpResultsReport, serverLogReport, sessionSourceInListFilter, setClientBingSite, setDefaultClient, setKeywordSetRefreshTime, setProviderSpendLimits, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, startRankTrackingRun, strikingDistance, submitIndexNow, summarizeCrawlReport, targetMatchesDomain, pageTechnicalSignals as technicalPageSignals, technicalWatchWorkflow, telemetryErrorCategory, templateForUrl, toSeoError, tokenSchema, topCrawlRecommendations, topFixes, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, unavailableSegmentImpactReport, unavailableValue, unicodeTokens, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateIndexNowKey, validateIndexNowKeyRecord, validateOkfFiles, verifyIndexNowKey, verifyQueryContent, workflowPresentation, writeConfig, writeDataForSeoCredentials, writeOauthClient, writeProviderSecret, writeTokens, xRobotsDirectives };
28122
28583
  //# sourceMappingURL=index.d.ts.map