seo 0.2.20 → 0.2.22

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
@@ -2283,7 +2283,7 @@ declare function analyzePageOpportunitiesFromRows(input: PageOpportunityAnalysis
2283
2283
  type PageOpportunityFocus = PageOpportunityType | 'no-data';
2284
2284
  //#endregion
2285
2285
  //#region packages/core/src/analyze/page-opportunities.d.ts
2286
- type SearchAnalytics$11 = typeof querySearchAnalytics;
2286
+ type SearchAnalytics$12 = typeof querySearchAnalytics;
2287
2287
  type FetchPage$4 = typeof fetchPage;
2288
2288
  type ExtractPage$3 = typeof extractPage;
2289
2289
  type PageOpportunityInput = {
@@ -2355,7 +2355,7 @@ type PageOpportunityReport = {
2355
2355
  recommendations: string[];
2356
2356
  };
2357
2357
  type PageOpportunityDependencies = {
2358
- searchAnalytics: SearchAnalytics$11;
2358
+ searchAnalytics: SearchAnalytics$12;
2359
2359
  fetch: FetchPage$4;
2360
2360
  extract: ExtractPage$3;
2361
2361
  now: () => Date;
@@ -20343,9 +20343,9 @@ declare function analyzeCtrUnderperformersFromRows(input: {
20343
20343
  };
20344
20344
  //#endregion
20345
20345
  //#region packages/core/src/analyze/ctr-underperformers.d.ts
20346
- type SearchAnalytics$10 = typeof querySearchAnalytics;
20346
+ type SearchAnalytics$11 = typeof querySearchAnalytics;
20347
20347
  interface CtrUnderperformerDependencies {
20348
- searchAnalytics: SearchAnalytics$10;
20348
+ searchAnalytics: SearchAnalytics$11;
20349
20349
  now: () => Date;
20350
20350
  }
20351
20351
  declare function ctrUnderperformersReport(input: {
@@ -20543,7 +20543,7 @@ declare function resolveSegmentRanges(input: {
20543
20543
  };
20544
20544
  //#endregion
20545
20545
  //#region packages/core/src/analyze/segment-impact.d.ts
20546
- type SearchAnalytics$9 = typeof querySearchAnalytics;
20546
+ type SearchAnalytics$10 = typeof querySearchAnalytics;
20547
20547
  interface SegmentImpactInput {
20548
20548
  site: string;
20549
20549
  dimension?: SegmentDimension;
@@ -20557,7 +20557,7 @@ interface SegmentImpactInput {
20557
20557
  refresh?: boolean;
20558
20558
  }
20559
20559
  interface SegmentImpactDependencies {
20560
- searchAnalytics: SearchAnalytics$9;
20560
+ searchAnalytics: SearchAnalytics$10;
20561
20561
  now: () => Date;
20562
20562
  }
20563
20563
  declare function compareSegmentRows(input: {
@@ -20752,7 +20752,7 @@ declare const CANNIBAL_MINIMUM_PAGE_SHARE = 0.1;
20752
20752
  declare const CANNIBAL_MAXIMUM_DOMINANT_SHARE = 0.8;
20753
20753
  //#endregion
20754
20754
  //#region packages/core/src/analyze/site-diagnostics/cannibal.d.ts
20755
- type SearchAnalytics$8 = typeof querySearchAnalytics;
20755
+ type SearchAnalytics$9 = typeof querySearchAnalytics;
20756
20756
  interface CannibalReportInput {
20757
20757
  site: string;
20758
20758
  days?: number;
@@ -20765,7 +20765,7 @@ interface CannibalReportInput {
20765
20765
  refresh?: boolean;
20766
20766
  }
20767
20767
  interface CannibalDependencies {
20768
- searchAnalytics: SearchAnalytics$8;
20768
+ searchAnalytics: SearchAnalytics$9;
20769
20769
  now: () => Date;
20770
20770
  }
20771
20771
  declare function cannibalReport(input: CannibalReportInput, dependencies?: CannibalDependencies): Promise<CannibalReport>;
@@ -20933,7 +20933,7 @@ declare function decayComparisonRange(current: {
20933
20933
  };
20934
20934
  //#endregion
20935
20935
  //#region packages/core/src/analyze/site-diagnostics/decaying.d.ts
20936
- type SearchAnalytics$7 = typeof querySearchAnalytics;
20936
+ type SearchAnalytics$8 = typeof querySearchAnalytics;
20937
20937
  interface DecayingReportInput {
20938
20938
  site: string;
20939
20939
  days?: number;
@@ -20949,7 +20949,7 @@ interface DecayingReportInput {
20949
20949
  refresh?: boolean;
20950
20950
  }
20951
20951
  interface DecayingDependencies {
20952
- searchAnalytics: SearchAnalytics$7;
20952
+ searchAnalytics: SearchAnalytics$8;
20953
20953
  now: () => Date;
20954
20954
  }
20955
20955
  declare function decayingReport(input: DecayingReportInput, dependencies?: DecayingDependencies): Promise<DecayReport>;
@@ -21095,7 +21095,7 @@ type AnalyzeQuickWinsInput = {
21095
21095
  declare function analyzeQuickWinsFromRows(input: AnalyzeQuickWinsInput): QuickWinAnalysis;
21096
21096
  //#endregion
21097
21097
  //#region packages/core/src/analyze/site-diagnostics/quick-wins.d.ts
21098
- type SearchAnalytics$6 = typeof querySearchAnalytics;
21098
+ type SearchAnalytics$7 = typeof querySearchAnalytics;
21099
21099
  type FetchPage$3 = typeof fetchPage;
21100
21100
  type ExtractPage$2 = typeof extractPage;
21101
21101
  type QuickWinsInput = {
@@ -21114,7 +21114,7 @@ type QuickWinsInput = {
21114
21114
  refresh?: boolean;
21115
21115
  };
21116
21116
  type QuickWinsDependencies = {
21117
- searchAnalytics: SearchAnalytics$6;
21117
+ searchAnalytics: SearchAnalytics$7;
21118
21118
  fetch: FetchPage$3;
21119
21119
  extract: ExtractPage$2;
21120
21120
  now: () => Date;
@@ -21356,7 +21356,7 @@ type AnalyzeStrikingDistanceInput = {
21356
21356
  declare function analyzeStrikingDistanceRows(input: AnalyzeStrikingDistanceInput): StrikingDistanceAnalysis;
21357
21357
  //#endregion
21358
21358
  //#region packages/core/src/analyze/striking-distance.d.ts
21359
- type SearchAnalytics$5 = typeof querySearchAnalytics;
21359
+ type SearchAnalytics$6 = typeof querySearchAnalytics;
21360
21360
  type VerifyQueryContent = typeof verifyQueryContent;
21361
21361
  type StrikingDistanceInput = {
21362
21362
  site: string;
@@ -21421,7 +21421,7 @@ type StrikingDistanceReport = {
21421
21421
  recommendations: string[];
21422
21422
  };
21423
21423
  type StrikingDistanceDependencies = {
21424
- searchAnalytics: SearchAnalytics$5;
21424
+ searchAnalytics: SearchAnalytics$6;
21425
21425
  verifyContent: VerifyQueryContent;
21426
21426
  now: () => Date;
21427
21427
  };
@@ -21927,19 +21927,24 @@ type ProviderRequestEvidence = {
21927
21927
  filters: Record<string, string | number | boolean>;
21928
21928
  sort: string[];
21929
21929
  };
21930
- type ProviderEvidence<T> = {
21930
+ type ProviderEvidenceBase<T> = {
21931
21931
  schemaVersion: 1;
21932
21932
  provider: ProviderId;
21933
21933
  capability: ProviderCapability;
21934
21934
  data: T;
21935
21935
  observedAt: string;
21936
- market: SearchMarket;
21937
21936
  coverage: ProviderCoverage;
21938
21937
  cache: ProviderCacheEvidence;
21939
21938
  cost: ProviderCostEvidence;
21940
21939
  request: ProviderRequestEvidence;
21941
21940
  warnings: ProviderWarning[];
21942
21941
  };
21942
+ type ProviderEvidence<T> = ProviderEvidenceBase<T> & {
21943
+ market: SearchMarket;
21944
+ };
21945
+ type MarketIndependentProviderEvidence<T> = ProviderEvidenceBase<T> & {
21946
+ market: null;
21947
+ };
21943
21948
  type ProviderCapabilitySupport = {
21944
21949
  capability: ProviderCapability;
21945
21950
  status: 'available' | 'unavailable';
@@ -22850,7 +22855,7 @@ interface InternalLinksAnalysis {
22850
22855
  declare function analyzeInternalLinksFromRows(input: InternalLinksAnalysisInput): InternalLinksAnalysis;
22851
22856
  //#endregion
22852
22857
  //#region packages/core/src/analyze/internal-links.d.ts
22853
- type SearchAnalytics$4 = typeof querySearchAnalytics;
22858
+ type SearchAnalytics$5 = typeof querySearchAnalytics;
22854
22859
  type FetchPage$2 = typeof fetchPage;
22855
22860
  type ExtractPage$1 = typeof extractPage;
22856
22861
  interface InternalLinksInput {
@@ -22867,7 +22872,7 @@ interface InternalLinksInput {
22867
22872
  refresh?: boolean;
22868
22873
  }
22869
22874
  interface InternalLinksDependencies {
22870
- searchAnalytics: SearchAnalytics$4;
22875
+ searchAnalytics: SearchAnalytics$5;
22871
22876
  fetch: FetchPage$2;
22872
22877
  extract: ExtractPage$1;
22873
22878
  now: () => Date;
@@ -23127,10 +23132,10 @@ type KeywordOpportunitiesReport = {
23127
23132
  };
23128
23133
  //#endregion
23129
23134
  //#region packages/core/src/analyze/keyword-opportunities.d.ts
23130
- type SearchAnalytics$3 = typeof querySearchAnalytics;
23135
+ type SearchAnalytics$4 = typeof querySearchAnalytics;
23131
23136
  type KeywordMetrics = typeof keywordMetricsReport;
23132
23137
  type KeywordOpportunitiesDependencies = {
23133
- searchAnalytics?: SearchAnalytics$3;
23138
+ searchAnalytics?: SearchAnalytics$4;
23134
23139
  keywordMetrics?: KeywordMetrics;
23135
23140
  now?: () => Date;
23136
23141
  };
@@ -23187,6 +23192,264 @@ declare function keywordResearchReport(input: {
23187
23192
  refresh?: boolean;
23188
23193
  }, dependencies?: KeywordResearchReportDependencies): Promise<KeywordResearchReport>;
23189
23194
  //#endregion
23195
+ //#region packages/core/src/analyze/serp-results.d.ts
23196
+ type SerpDomainSummary = {
23197
+ domain: string;
23198
+ resultCount: number;
23199
+ ranks: number[];
23200
+ };
23201
+ type SerpResultFinding = {
23202
+ code: 'query-correction' | 'repeated-domain';
23203
+ evidenceRef: string;
23204
+ principle: string;
23205
+ detail: string;
23206
+ };
23207
+ type SerpResultsReport = {
23208
+ schemaVersion: 1;
23209
+ generatedAt: string;
23210
+ dataStatus: 'complete' | 'partial' | 'unavailable';
23211
+ market: SearchMarket;
23212
+ summary: {
23213
+ keyword: string;
23214
+ effectiveKeyword: string;
23215
+ requestedDepth: number;
23216
+ organicResults: number;
23217
+ uniqueDomains: number;
23218
+ observedFeatures: number;
23219
+ correctedQuery: boolean;
23220
+ verdict: string;
23221
+ };
23222
+ evidence: ProviderEvidence<SerpSnapshot>;
23223
+ domains: SerpDomainSummary[];
23224
+ findings: SerpResultFinding[];
23225
+ caveats: string[];
23226
+ nextSteps: string[];
23227
+ };
23228
+ type SerpResultsReportDependencies = {
23229
+ candidates?: readonly ProviderCandidate[];
23230
+ now?: () => Date;
23231
+ };
23232
+ declare function serpResultsReport(input: {
23233
+ keyword: string;
23234
+ market: SearchMarket;
23235
+ depth?: number;
23236
+ provider?: ProviderId;
23237
+ projectId?: string;
23238
+ context?: Partial<ProviderRequestContext>;
23239
+ refresh?: boolean;
23240
+ }, dependencies?: SerpResultsReportDependencies): Promise<SerpResultsReport>;
23241
+ //#endregion
23242
+ //#region packages/core/src/analyze/local-search/types.d.ts
23243
+ type LocalIntentClass = 'named-location' | 'nearby' | 'postal-code';
23244
+ type LocalIntentEvidence = {
23245
+ heuristic: true;
23246
+ method: 'explicit-local-intent-v1';
23247
+ classes: LocalIntentClass[];
23248
+ matchedTerms: string[];
23249
+ };
23250
+ type LocalSearchPageEvidence = {
23251
+ url: string;
23252
+ clicks: number;
23253
+ impressions: number;
23254
+ ctr: number;
23255
+ averagePosition: number;
23256
+ };
23257
+ type LocalSearchOpportunity = {
23258
+ query: string;
23259
+ clicks: number;
23260
+ impressions: number;
23261
+ ctr: number;
23262
+ averagePosition: number;
23263
+ intent: LocalIntentEvidence;
23264
+ action: 'protect-visibility' | 'improve-existing-page' | 'investigate-relevance' | 'review-page-overlap';
23265
+ pages: LocalSearchPageEvidence[];
23266
+ pageCoverage: {
23267
+ available: number;
23268
+ returned: number;
23269
+ omitted: number;
23270
+ };
23271
+ };
23272
+ type LocalSearchTemplate = {
23273
+ heuristic: true;
23274
+ signature: string;
23275
+ urlCount: number;
23276
+ sampleUrls: string[];
23277
+ queryCount: number;
23278
+ clicks: number;
23279
+ impressions: number;
23280
+ };
23281
+ type LocalSerpEvidence = {
23282
+ requested: boolean;
23283
+ status: 'not-requested' | 'skipped' | 'complete' | 'partial' | 'unavailable';
23284
+ selection: {
23285
+ availableQueries: number;
23286
+ requestedQueries: number;
23287
+ omittedQueries: number;
23288
+ limit: number;
23289
+ depth: number;
23290
+ method: 'highest-impression-local-queries-v1';
23291
+ };
23292
+ market: SearchMarket | null;
23293
+ reports: SerpResultsReport[];
23294
+ cost: ProviderCostEvidence;
23295
+ reason?: string;
23296
+ error?: {
23297
+ code: 'PROVIDER_UNAVAILABLE' | 'RATE_LIMITED';
23298
+ message: string;
23299
+ retryable: boolean;
23300
+ };
23301
+ };
23302
+ type LocalSearchReport = {
23303
+ schemaVersion: 1;
23304
+ methodology: 'local-search-demand-v1';
23305
+ site: string;
23306
+ generatedAt: string;
23307
+ range: {
23308
+ startDate: string;
23309
+ endDate: string;
23310
+ };
23311
+ rangeDays: number;
23312
+ dataStatus: 'complete' | 'partial' | 'empty' | 'filtered';
23313
+ source: {
23314
+ provider: 'google-search-console';
23315
+ dimensions: ['query', 'page'];
23316
+ searchType: 'web';
23317
+ dataState: 'final';
23318
+ rowsFetched: number;
23319
+ calls: number;
23320
+ maxRows: number;
23321
+ possiblyTruncated: boolean;
23322
+ completeness: 'retained-query-page-rows-only' | 'possibly-truncated';
23323
+ };
23324
+ methodologyDetails: {
23325
+ intentMethod: LocalIntentEvidence['method'];
23326
+ suppliedLocationTerms: string[];
23327
+ automaticPatterns: ['nearby-phrases', 'uk-postcodes', 'contextual-us-zip-codes'];
23328
+ opportunityOrder: 'impressions-clicks-position-query-v1';
23329
+ templateMethod: 'pseo-url-template-clustering-v1';
23330
+ };
23331
+ selection: {
23332
+ sourceRows: number;
23333
+ invalidRows: number;
23334
+ exactDuplicateRows: number;
23335
+ conflictingRows: number;
23336
+ lowActionabilityRows: number;
23337
+ brandRows: number;
23338
+ nonLocalRows: number;
23339
+ belowMinimumRows: number;
23340
+ eligibleQueries: number;
23341
+ returnedQueries: number;
23342
+ omittedQueries: number;
23343
+ limit: number;
23344
+ minImpressions: number;
23345
+ };
23346
+ summary: {
23347
+ localQueries: number;
23348
+ returnedQueries: number;
23349
+ pages: number;
23350
+ clicks: number;
23351
+ impressions: number;
23352
+ namedLocationQueries: number;
23353
+ nearbyQueries: number;
23354
+ postalCodeQueries: number;
23355
+ pageOverlapQueries: number;
23356
+ templates: number;
23357
+ serpSnapshots: number;
23358
+ localPackSnapshots: number;
23359
+ verdict: string;
23360
+ };
23361
+ opportunities: LocalSearchOpportunity[];
23362
+ templates: LocalSearchTemplate[];
23363
+ serpEvidence: LocalSerpEvidence;
23364
+ warnings: string[];
23365
+ caveats: string[];
23366
+ nextSteps: string[];
23367
+ };
23368
+ type LocalSearchInput = {
23369
+ site: string;
23370
+ days?: number;
23371
+ locationTerms?: string[];
23372
+ minImpressions?: number;
23373
+ limit?: number;
23374
+ maxRows?: number;
23375
+ brandTerms?: string[];
23376
+ includeBrand?: boolean;
23377
+ includeSerps?: boolean;
23378
+ market?: SearchMarket;
23379
+ provider?: ProviderId;
23380
+ projectId?: string;
23381
+ serpLimit?: number;
23382
+ serpDepth?: number;
23383
+ refresh?: boolean;
23384
+ };
23385
+ //#endregion
23386
+ //#region packages/core/src/analyze/local-search/analysis.d.ts
23387
+ type Selection = {
23388
+ sourceRows: number;
23389
+ invalidRows: number;
23390
+ exactDuplicateRows: number;
23391
+ conflictingRows: number;
23392
+ lowActionabilityRows: number;
23393
+ brandRows: number;
23394
+ nonLocalRows: number;
23395
+ belowMinimumRows: number;
23396
+ eligibleQueries: number;
23397
+ returnedQueries: number;
23398
+ omittedQueries: number;
23399
+ limit: number;
23400
+ minImpressions: number;
23401
+ };
23402
+ declare function analyzeLocalSearchRows(input: {
23403
+ rows: GscRow[];
23404
+ site: string;
23405
+ locationTerms: string[];
23406
+ brandTerms?: string[];
23407
+ includeBrand?: boolean;
23408
+ minImpressions: number;
23409
+ limit: number;
23410
+ }): {
23411
+ selection: Selection;
23412
+ eligibleSummary: {
23413
+ clicks: number;
23414
+ impressions: number;
23415
+ namedLocationQueries: number;
23416
+ nearbyQueries: number;
23417
+ postalCodeQueries: number;
23418
+ pageOverlapQueries: number;
23419
+ };
23420
+ eligiblePageCount: number;
23421
+ opportunities: {
23422
+ pages: LocalSearchPageEvidence[];
23423
+ query: string;
23424
+ clicks: number;
23425
+ impressions: number;
23426
+ ctr: number;
23427
+ averagePosition: number;
23428
+ intent: LocalIntentEvidence;
23429
+ action: "protect-visibility" | "improve-existing-page" | "investigate-relevance" | "review-page-overlap";
23430
+ pageCoverage: {
23431
+ available: number;
23432
+ returned: number;
23433
+ omitted: number;
23434
+ };
23435
+ }[];
23436
+ templates: LocalSearchTemplate[];
23437
+ };
23438
+ //#endregion
23439
+ //#region packages/core/src/analyze/local-search/intent.d.ts
23440
+ declare function normalizeLocalSearchText(value: string): string;
23441
+ declare function normalizeLocationTerms(values?: string[]): string[];
23442
+ declare function classifyLocalIntent(query: string, locationTerms: string[]): LocalIntentEvidence | null;
23443
+ declare function createLocalIntentClassifier(locationTerms: string[]): (query: string) => LocalIntentEvidence | null;
23444
+ //#endregion
23445
+ //#region packages/core/src/analyze/local-search/report.d.ts
23446
+ type LocalSearchDependencies = {
23447
+ searchAnalytics?: typeof querySearchAnalytics;
23448
+ serpResults?: typeof serpResultsReport;
23449
+ now?: () => Date;
23450
+ };
23451
+ declare function localSearchReport(input: LocalSearchInput, dependencies?: LocalSearchDependencies): Promise<LocalSearchReport>;
23452
+ //#endregion
23190
23453
  //#region packages/core/src/analyze/monitoring/crawl-diff.d.ts
23191
23454
  declare function compareCrawlPages(input: {
23192
23455
  current: CrawlPageSnapshot[];
@@ -23411,7 +23674,7 @@ type IndexCoverageSignalsReport = {
23411
23674
  declare function analyzeIndexCoverageSignals(input: IndexCoverageInput): IndexCoverageSignalsReport;
23412
23675
  //#endregion
23413
23676
  //#region packages/core/src/analyze/monitoring/index-coverage-report.d.ts
23414
- type SearchAnalytics$2 = typeof querySearchAnalytics;
23677
+ type SearchAnalytics$3 = typeof querySearchAnalytics;
23415
23678
  type FetchSitemap = typeof fetchSitemapUrls;
23416
23679
  type IndexCoverageReportInput = {
23417
23680
  site: string;
@@ -23451,7 +23714,7 @@ type IndexCoverageReport = IndexCoverageSignalsReport & {
23451
23714
  type IndexCoverageReportDependencies = {
23452
23715
  loadCrawl: (id: string) => CrawlReport | undefined;
23453
23716
  latestCrawl: (site: string) => CrawlReport | undefined;
23454
- searchAnalytics: SearchAnalytics$2;
23717
+ searchAnalytics: SearchAnalytics$3;
23455
23718
  fetchSitemap: FetchSitemap;
23456
23719
  now: () => Date;
23457
23720
  };
@@ -24146,7 +24409,7 @@ type PseoDatasetInput = {
24146
24409
  declare function buildPseoAuditReportFromRows(input: PseoDatasetInput): PseoAuditReport;
24147
24410
  //#endregion
24148
24411
  //#region packages/core/src/analyze/pseo/audit.d.ts
24149
- type SearchAnalytics$1 = typeof querySearchAnalytics;
24412
+ type SearchAnalytics$2 = typeof querySearchAnalytics;
24150
24413
  type FetchPage$1 = typeof fetchPage;
24151
24414
  type InspectUrl = typeof inspectUrl;
24152
24415
  type FetchSitemapUrls = typeof fetchSitemapUrls;
@@ -24169,7 +24432,7 @@ type PseoAuditInput = {
24169
24432
  progress?: ProgressReporter;
24170
24433
  };
24171
24434
  type PseoDependencies = {
24172
- searchAnalytics: SearchAnalytics$1;
24435
+ searchAnalytics: SearchAnalytics$2;
24173
24436
  fetchPage: FetchPage$1;
24174
24437
  inspectUrl: InspectUrl;
24175
24438
  fetchSitemapUrls: FetchSitemapUrls;
@@ -24468,66 +24731,19 @@ type PseoOpportunitiesReport = {
24468
24731
  nextSteps: string[];
24469
24732
  };
24470
24733
  //#endregion
24471
- //#region packages/core/src/analyze/serp-results.d.ts
24472
- type SerpDomainSummary = {
24473
- domain: string;
24474
- resultCount: number;
24475
- ranks: number[];
24734
+ //#region packages/core/src/analyze/query-cluster-primitives.d.ts
24735
+ type QueryClusterRow = {
24736
+ query: string;
24737
+ impressions: number;
24738
+ clicks: number;
24739
+ position: number;
24740
+ tokens: string[];
24741
+ pages: QueryClusterPage[];
24476
24742
  };
24477
- type SerpResultFinding = {
24478
- code: 'query-correction' | 'repeated-domain';
24479
- evidenceRef: string;
24480
- principle: string;
24481
- detail: string;
24482
- };
24483
- type SerpResultsReport = {
24484
- schemaVersion: 1;
24485
- generatedAt: string;
24486
- dataStatus: 'complete' | 'partial' | 'unavailable';
24487
- market: SearchMarket;
24488
- summary: {
24489
- keyword: string;
24490
- effectiveKeyword: string;
24491
- requestedDepth: number;
24492
- organicResults: number;
24493
- uniqueDomains: number;
24494
- observedFeatures: number;
24495
- correctedQuery: boolean;
24496
- verdict: string;
24497
- };
24498
- evidence: ProviderEvidence<SerpSnapshot>;
24499
- domains: SerpDomainSummary[];
24500
- findings: SerpResultFinding[];
24501
- caveats: string[];
24502
- nextSteps: string[];
24503
- };
24504
- type SerpResultsReportDependencies = {
24505
- candidates?: readonly ProviderCandidate[];
24506
- now?: () => Date;
24507
- };
24508
- declare function serpResultsReport(input: {
24509
- keyword: string;
24510
- market: SearchMarket;
24511
- depth?: number;
24512
- provider?: ProviderId;
24513
- projectId?: string;
24514
- context?: Partial<ProviderRequestContext>;
24515
- refresh?: boolean;
24516
- }, dependencies?: SerpResultsReportDependencies): Promise<SerpResultsReport>;
24517
- //#endregion
24518
- //#region packages/core/src/analyze/query-cluster-primitives.d.ts
24519
- type QueryClusterRow = {
24520
- query: string;
24521
- impressions: number;
24522
- clicks: number;
24523
- position: number;
24524
- tokens: string[];
24525
- pages: QueryClusterPage[];
24526
- };
24527
- type QueryClusterPage = {
24528
- url: string;
24529
- impressions: number;
24530
- clicks: number;
24743
+ type QueryClusterPage = {
24744
+ url: string;
24745
+ impressions: number;
24746
+ clicks: number;
24531
24747
  };
24532
24748
  declare function queryClusterTokens(query: string): string[];
24533
24749
  declare function clusterQueryRows(rows: QueryClusterRow[]): QueryClusterRow[][];
@@ -25281,7 +25497,7 @@ declare function savedKeywordSetReport(input: {
25281
25497
  }): SavedKeywordSetReport;
25282
25498
  //#endregion
25283
25499
  //#region packages/core/src/analyze/second-page.d.ts
25284
- type SearchAnalytics = typeof querySearchAnalytics;
25500
+ type SearchAnalytics$1 = typeof querySearchAnalytics;
25285
25501
  type FetchPage = typeof fetchPage;
25286
25502
  type ExtractPage = typeof extractPage;
25287
25503
  type SecondPageInput = {
@@ -25298,7 +25514,7 @@ type SecondPageInput = {
25298
25514
  includeBrand?: boolean;
25299
25515
  };
25300
25516
  type SecondPageDependencies = {
25301
- searchAnalytics: SearchAnalytics;
25517
+ searchAnalytics: SearchAnalytics$1;
25302
25518
  fetch: FetchPage;
25303
25519
  extract: ExtractPage;
25304
25520
  now: () => Date;
@@ -26775,8 +26991,94 @@ declare function resolveIndexNowKey(input: {
26775
26991
  declare function listIndexNowKeys(): Promise<Array<Omit<IndexNowKey, 'key'>>>;
26776
26992
  declare function removeIndexNowKey(siteValue: string): Promise<boolean>;
26777
26993
  //#endregion
26994
+ //#region packages/core/src/providers/link-contracts.d.ts
26995
+ type LinkTargetScope = 'domain' | 'page';
26996
+ type ProviderLinkMetric = {
26997
+ provider: ProviderId;
26998
+ id: string;
26999
+ label: string;
27000
+ value: number;
27001
+ scale: {
27002
+ minimum: number;
27003
+ maximum: number;
27004
+ } | null;
27005
+ };
27006
+ type LinkSummary = {
27007
+ target: string;
27008
+ scope: LinkTargetScope;
27009
+ backlinks: ProviderValue<number>;
27010
+ referringDomains: ProviderValue<number>;
27011
+ referringPages: ProviderValue<number>;
27012
+ brokenBacklinks: ProviderValue<number>;
27013
+ brokenPages: ProviderValue<number>;
27014
+ metrics: ProviderLinkMetric[];
27015
+ };
27016
+ type LinkSummaryRequest = {
27017
+ target: string;
27018
+ scope?: LinkTargetScope;
27019
+ includeSubdomains?: boolean;
27020
+ refresh?: boolean;
27021
+ context?: ProviderRequestContext;
27022
+ };
27023
+ interface LinkSummaryProvider extends ProviderAdapter {
27024
+ linkSummary(input: LinkSummaryRequest): Promise<MarketIndependentProviderEvidence<LinkSummary>>;
27025
+ }
27026
+ type ReferringDomain = {
27027
+ domain: string;
27028
+ backlinks: ProviderValue<number>;
27029
+ referringPages: ProviderValue<number>;
27030
+ brokenBacklinks: ProviderValue<number>;
27031
+ brokenPages: ProviderValue<number>;
27032
+ firstSeenAt: ProviderValue<string>;
27033
+ metrics: ProviderLinkMetric[];
27034
+ };
27035
+ type ReferringDomainPage = {
27036
+ target: string;
27037
+ rows: ReferringDomain[];
27038
+ totalRows: number | null;
27039
+ };
27040
+ type ReferringDomainsRequest = LinkSummaryRequest & {
27041
+ limit: number;
27042
+ offset?: number;
27043
+ };
27044
+ interface ReferringDomainsProvider extends ProviderAdapter {
27045
+ referringDomains(input: ReferringDomainsRequest): Promise<MarketIndependentProviderEvidence<ReferringDomainPage>>;
27046
+ }
27047
+ type ExternalBacklink = {
27048
+ sourceUrl: string;
27049
+ sourceDomain: string;
27050
+ targetUrl: string;
27051
+ anchorText: string | null;
27052
+ linkType: string | null;
27053
+ dofollow: boolean | null;
27054
+ attributes: string[];
27055
+ firstSeenAt: string | null;
27056
+ lastSeenAt: string | null;
27057
+ state: 'live' | 'lost';
27058
+ indirect: boolean | null;
27059
+ linksFromPage: number | null;
27060
+ linksFromDomain: number | null;
27061
+ metrics: ProviderLinkMetric[];
27062
+ };
27063
+ type ExternalBacklinkPage = {
27064
+ target: string;
27065
+ mode: 'representative' | 'all';
27066
+ rows: ExternalBacklink[];
27067
+ totalRows: number | null;
27068
+ };
27069
+ type BacklinksRequest = LinkSummaryRequest & {
27070
+ mode?: 'representative' | 'all';
27071
+ status?: 'live' | 'lost' | 'all';
27072
+ limit: number;
27073
+ offset?: number;
27074
+ };
27075
+ interface BacklinksProvider extends ProviderAdapter {
27076
+ backlinks(input: BacklinksRequest): Promise<MarketIndependentProviderEvidence<ExternalBacklinkPage>>;
27077
+ }
27078
+ interface LiveLinkProvider extends LinkSummaryProvider, ReferringDomainsProvider, BacklinksProvider {}
27079
+ //#endregion
26778
27080
  //#region packages/core/src/links/types.d.ts
26779
- type LinkEvidenceProvider = 'bing-webmaster' | 'csv-import' | 'json-import' | 'jsonl-import';
27081
+ type LinkEvidenceProvider = 'bing-webmaster' | 'dataforseo' | 'csv-import' | 'json-import' | 'jsonl-import';
26780
27082
  type LinkEvidenceRow = {
26781
27083
  sourceUrl: string;
26782
27084
  sourceDomain: string;
@@ -26785,6 +27087,13 @@ type LinkEvidenceRow = {
26785
27087
  firstSeenAt?: string;
26786
27088
  lastSeenAt?: string;
26787
27089
  nofollow?: boolean;
27090
+ linkType?: string;
27091
+ attributes?: string[];
27092
+ state?: 'live' | 'lost';
27093
+ indirect?: boolean;
27094
+ linksFromPage?: number;
27095
+ linksFromDomain?: number;
27096
+ providerMetrics?: ProviderLinkMetric[];
26788
27097
  };
26789
27098
  type LinkTargetCount = {
26790
27099
  targetUrl: string;
@@ -26794,7 +27103,7 @@ type LinkTargetCount = {
26794
27103
  type LinkEvidenceProvenance = {
26795
27104
  provider: LinkEvidenceProvider;
26796
27105
  observedAt: string;
26797
- cached: false;
27106
+ cached: boolean;
26798
27107
  suppliedRows: number;
26799
27108
  validRows: number;
26800
27109
  invalidRows: number;
@@ -26810,9 +27119,9 @@ type LinkEvidenceProvenance = {
26810
27119
  };
26811
27120
  providerRequests?: {
26812
27121
  methods: string[];
26813
- targetPagesRequested: number;
26814
- detailPagesRequested: number;
26815
- maxConcurrentRequests: number;
27122
+ targetPagesRequested?: number;
27123
+ detailPagesRequested?: number;
27124
+ maxConcurrentRequests?: number;
26816
27125
  };
26817
27126
  providerCoverage?: {
26818
27127
  targetCountRows: {
@@ -26825,12 +27134,28 @@ type LinkEvidenceProvenance = {
26825
27134
  retainedRows: number;
26826
27135
  invalidRows: number;
26827
27136
  };
27137
+ summaryRows?: {
27138
+ returnedRows: number;
27139
+ retainedRows: number;
27140
+ invalidRows: number;
27141
+ };
27142
+ backlinkRows?: {
27143
+ returnedRows: number;
27144
+ retainedRows: number;
27145
+ invalidRows: number;
27146
+ providerTotalRows: number | null;
27147
+ };
26828
27148
  };
26829
27149
  };
27150
+ type ExternalLinkProviderEvidence = {
27151
+ summary: MarketIndependentProviderEvidence<LinkSummary>;
27152
+ backlinks: MarketIndependentProviderEvidence<ExternalBacklinkPage>;
27153
+ };
26830
27154
  type CollectedLinkEvidence = {
26831
27155
  rows: LinkEvidenceRow[];
26832
27156
  targetCounts: LinkTargetCount[];
26833
27157
  provenance: LinkEvidenceProvenance;
27158
+ externalProvider?: ExternalLinkProviderEvidence;
26834
27159
  warnings: string[];
26835
27160
  };
26836
27161
  //#endregion
@@ -26843,80 +27168,98 @@ declare function collectBingLinkEvidence(input: {
26843
27168
  rowLimit?: number;
26844
27169
  }): Promise<CollectedLinkEvidence>;
26845
27170
  //#endregion
26846
- //#region packages/core/src/links/import.d.ts
26847
- type ImportFormat = 'csv' | 'json' | 'jsonl';
26848
- declare function importLinkEvidence(input: {
26849
- file: string;
26850
- format?: ImportFormat;
26851
- rowLimit?: number;
26852
- }): Promise<CollectedLinkEvidence>;
26853
- //#endregion
26854
- //#region packages/core/src/links/normalize.d.ts
26855
- type RawLinkEvidenceRow = Record<string, unknown>;
26856
- declare function normalizeLinkEvidenceRow(raw: RawLinkEvidenceRow): LinkEvidenceRow | undefined;
26857
- declare function linkEvidenceKey(row: LinkEvidenceRow): string;
26858
- declare function compareLinkEvidence(a: LinkEvidenceRow, b: LinkEvidenceRow): number;
26859
- //#endregion
26860
- //#region packages/core/src/links/report.d.ts
26861
- declare function linkEvidenceReport(input: {
26862
- evidence: CollectedLinkEvidence;
26863
- limit?: number;
26864
- }): {
27171
+ //#region packages/core/src/links/context-types.d.ts
27172
+ type LinkTargetCrawlEvidence = {
27173
+ state: 'observed';
27174
+ reportId: string;
27175
+ observedAt: string;
27176
+ status: number;
27177
+ finalUrl: string;
27178
+ indexable: boolean;
27179
+ canonical: string | null;
27180
+ issueIds: string[];
27181
+ } | {
27182
+ state: 'not-observed' | 'unavailable';
27183
+ reason: string;
27184
+ };
27185
+ type LinkTargetSearchEvidence = {
27186
+ state: 'observed';
27187
+ clicks: number;
27188
+ impressions: number;
27189
+ ctr: number;
27190
+ position: number;
27191
+ } | {
27192
+ state: 'not-retained' | 'unavailable';
27193
+ reason: string;
27194
+ };
27195
+ type LinkTargetContextRow = LinkTargetCount & {
27196
+ crawl: LinkTargetCrawlEvidence;
27197
+ searchConsole: LinkTargetSearchEvidence;
27198
+ };
27199
+ type LinkTargetFinding = {
27200
+ code: 'linked-broken-target' | 'linked-redirect-target' | 'linked-canonical-conflict' | 'linked-non-indexable-target';
27201
+ priority: 'high' | 'medium' | 'low';
27202
+ heuristic: true;
27203
+ targetUrl: string;
27204
+ observedLinks: number;
27205
+ evidenceRefs: string[];
27206
+ principle: string;
27207
+ evidence: string;
27208
+ action: string;
27209
+ verify: string;
27210
+ };
27211
+ type LinkTargetContext = {
26865
27212
  schemaVersion: 1;
26866
- generatedAt: string;
26867
- dataStatus: "partial" | "complete";
26868
- summary: {
26869
- observedLinks: number;
26870
- referringDomains: number;
26871
- targetPages: number;
26872
- providerTargetPages: number;
26873
- };
26874
- provenance: LinkEvidenceProvenance;
27213
+ dataStatus: 'complete' | 'partial' | 'unavailable';
26875
27214
  selection: {
26876
- availableRows: number;
26877
- returnedRows: number;
26878
- omittedRows: number;
27215
+ availableTargets: number;
27216
+ returnedTargets: number;
27217
+ omittedTargets: number;
26879
27218
  limit: number;
26880
27219
  };
26881
- targetCounts: LinkTargetCount[];
26882
- links: LinkEvidenceRow[];
27220
+ provenance: {
27221
+ crawl: {
27222
+ status: 'joined' | 'unavailable';
27223
+ reportId: string | null;
27224
+ observedAt: string | null;
27225
+ availablePages: number;
27226
+ matchedTargets: number;
27227
+ };
27228
+ searchConsole: {
27229
+ status: 'joined' | 'partial' | 'unavailable';
27230
+ site: string | null;
27231
+ range: {
27232
+ startDate: string;
27233
+ endDate: string;
27234
+ days: number;
27235
+ } | null;
27236
+ calls: number;
27237
+ rowsFetched: number;
27238
+ retainedRowLimit: number;
27239
+ retainedRowLimitReached: boolean;
27240
+ matchedTargets: number;
27241
+ };
27242
+ };
27243
+ rows: LinkTargetContextRow[];
27244
+ findings: LinkTargetFinding[];
26883
27245
  warnings: string[];
26884
- caveats: string[];
26885
27246
  };
26886
27247
  //#endregion
26887
- //#region packages/core/src/logger.d.ts
26888
- declare function createLogger(runId: string): pino.Logger;
26889
- declare function makeRunId(): string;
26890
- //#endregion
26891
- //#region packages/core/src/markdown.d.ts
26892
- declare function renderPresentationTablesMarkdown(tables: PresentationTable[]): string[];
26893
- //#endregion
26894
- //#region packages/core/src/paths.d.ts
26895
- interface SeoCliPaths {
26896
- configDir: string;
26897
- cacheDir: string;
26898
- logDir: string;
26899
- configFile: string;
26900
- tokensFile: string;
26901
- oauthClientFile: string;
26902
- providerSecretsFile: string;
26903
- telemetryStateFile: string;
26904
- cacheDbFile: string;
26905
- }
26906
- type SeoCliPathOptions = {
26907
- env?: NodeJS.ProcessEnv;
26908
- home?: string;
26909
- platform?: NodeJS.Platform;
27248
+ //#region packages/core/src/links/context.d.ts
27249
+ type SearchAnalytics = typeof querySearchAnalytics;
27250
+ type LinkTargetContextDependencies = {
27251
+ latestCrawl: (site?: string) => CrawlReport | undefined;
27252
+ searchAnalytics: SearchAnalytics;
27253
+ now: () => Date;
26910
27254
  };
26911
- declare function resolveSeoCliPaths(input?: SeoCliPathOptions): SeoCliPaths;
26912
- declare function migrateLegacyMacConfig(input?: SeoCliPathOptions): void;
26913
- declare function getSeoCliPaths(): SeoCliPaths;
26914
- declare function ensureSeoCliDirs(): SeoCliPaths;
26915
- declare function fileSize(path: string): number;
26916
- //#endregion
26917
- //#region packages/core/src/phrasing.d.ts
26918
- declare function plural(count: number, singular: string, pluralLabel?: string): string;
26919
- declare function countLabel(count: number, singular: string, pluralLabel?: string): string;
27255
+ declare function linkTargetContext(input: {
27256
+ evidence: CollectedLinkEvidence;
27257
+ searchConsoleSite?: string;
27258
+ crawlSite?: string;
27259
+ days?: number;
27260
+ limit?: number;
27261
+ refresh?: boolean;
27262
+ }, dependencies?: LinkTargetContextDependencies): Promise<LinkTargetContext>;
26920
27263
  //#endregion
26921
27264
  //#region packages/core/src/providers/cost-limits.d.ts
26922
27265
  type ProviderSpendLimits = {
@@ -27318,6 +27661,109 @@ type DataForSeoRankedKeywordsResponse = z.infer<typeof dataForSeoRankedKeywordsR
27318
27661
  type DataForSeoRankingPagesResponse = z.infer<typeof dataForSeoRankingPagesResponseSchema>;
27319
27662
  type DataForSeoSerpCompetitorsResponse = z.infer<typeof dataForSeoSerpCompetitorsResponseSchema>;
27320
27663
  //#endregion
27664
+ //#region packages/core/src/providers/dataforseo/link-schema.d.ts
27665
+ declare const dataForSeoLinkSummaryResponseSchema: z.ZodObject<{
27666
+ status_code: z.ZodNumber;
27667
+ status_message: z.ZodString;
27668
+ cost: z.ZodOptional<z.ZodNumber>;
27669
+ tasks_count: z.ZodNumber;
27670
+ tasks_error: z.ZodNumber;
27671
+ tasks: z.ZodArray<z.ZodObject<{
27672
+ result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27673
+ target: z.ZodOptional<z.ZodString>;
27674
+ rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27675
+ backlinks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27676
+ referring_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27677
+ referring_domains: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27678
+ broken_backlinks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27679
+ broken_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27680
+ backlinks_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27681
+ info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
27682
+ target_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27683
+ }, z.core.$loose>>>;
27684
+ }, z.core.$loose>>>>;
27685
+ id: z.ZodOptional<z.ZodString>;
27686
+ status_code: z.ZodNumber;
27687
+ status_message: z.ZodString;
27688
+ cost: z.ZodOptional<z.ZodNumber>;
27689
+ result_count: z.ZodOptional<z.ZodNumber>;
27690
+ }, z.core.$loose>>;
27691
+ }, z.core.$loose>;
27692
+ declare const dataForSeoBacklinksResponseSchema: z.ZodObject<{
27693
+ status_code: z.ZodNumber;
27694
+ status_message: z.ZodString;
27695
+ cost: z.ZodOptional<z.ZodNumber>;
27696
+ tasks_count: z.ZodNumber;
27697
+ tasks_error: z.ZodNumber;
27698
+ tasks: z.ZodArray<z.ZodObject<{
27699
+ result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27700
+ target: z.ZodOptional<z.ZodString>;
27701
+ total_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27702
+ items_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27703
+ search_after_token: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27704
+ items: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27705
+ domain_from: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27706
+ url_from: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27707
+ url_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27708
+ anchor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27709
+ item_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27710
+ dofollow: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
27711
+ rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27712
+ domain_from_rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27713
+ page_from_rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27714
+ backlink_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27715
+ backlinks_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27716
+ first_seen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27717
+ last_visited: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27718
+ lost_date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27719
+ is_lost: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
27720
+ is_indirect_link: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
27721
+ links_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27722
+ group_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27723
+ rel_attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
27724
+ attributes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
27725
+ }, z.core.$loose>>>>;
27726
+ }, z.core.$loose>>>>;
27727
+ id: z.ZodOptional<z.ZodString>;
27728
+ status_code: z.ZodNumber;
27729
+ status_message: z.ZodString;
27730
+ cost: z.ZodOptional<z.ZodNumber>;
27731
+ result_count: z.ZodOptional<z.ZodNumber>;
27732
+ }, z.core.$loose>>;
27733
+ }, z.core.$loose>;
27734
+ declare const dataForSeoReferringDomainsResponseSchema: z.ZodObject<{
27735
+ status_code: z.ZodNumber;
27736
+ status_message: z.ZodString;
27737
+ cost: z.ZodOptional<z.ZodNumber>;
27738
+ tasks_count: z.ZodNumber;
27739
+ tasks_error: z.ZodNumber;
27740
+ tasks: z.ZodArray<z.ZodObject<{
27741
+ result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27742
+ target: z.ZodOptional<z.ZodString>;
27743
+ total_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27744
+ items_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27745
+ items: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
27746
+ domain: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27747
+ backlinks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27748
+ referring_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27749
+ broken_backlinks: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27750
+ broken_pages: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27751
+ rank: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27752
+ backlinks_spam_score: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27753
+ first_seen: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27754
+ }, z.core.$loose>>>>;
27755
+ }, z.core.$loose>>>>;
27756
+ id: z.ZodOptional<z.ZodString>;
27757
+ status_code: z.ZodNumber;
27758
+ status_message: z.ZodString;
27759
+ cost: z.ZodOptional<z.ZodNumber>;
27760
+ result_count: z.ZodOptional<z.ZodNumber>;
27761
+ }, z.core.$loose>>;
27762
+ }, z.core.$loose>;
27763
+ type DataForSeoLinkSummaryResponse = z.infer<typeof dataForSeoLinkSummaryResponseSchema>;
27764
+ type DataForSeoBacklinksResponse = z.infer<typeof dataForSeoBacklinksResponseSchema>;
27765
+ type DataForSeoReferringDomainsResponse = z.infer<typeof dataForSeoReferringDomainsResponseSchema>;
27766
+ //#endregion
27321
27767
  //#region packages/core/src/providers/dataforseo/paid-request.d.ts
27322
27768
  type DataForSeoUnitPrice = {
27323
27769
  perRequestMicros: number | null;
@@ -27441,6 +27887,11 @@ type DataForSeoAccountSnapshot = {
27441
27887
  rankingPages: DataForSeoUnitPrice;
27442
27888
  serpCompetitors: DataForSeoUnitPrice;
27443
27889
  };
27890
+ linkPrices: {
27891
+ summary: DataForSeoUnitPrice;
27892
+ backlinks: DataForSeoUnitPrice;
27893
+ referringDomains: DataForSeoUnitPrice;
27894
+ };
27444
27895
  serpLiveAdvancedPrice: DataForSeoUnitPrice;
27445
27896
  serpTaskPostPrice: DataForSeoUnitPrice;
27446
27897
  backlinksSubscriptionExpiresAt: string | null;
@@ -27464,6 +27915,7 @@ type DataForSeoClientOptions = {
27464
27915
  accountPricingTtlMs?: number;
27465
27916
  spendLimits?: ProviderSpendLimits;
27466
27917
  domainResearchTtlMs?: number;
27918
+ linkTtlMs?: number;
27467
27919
  };
27468
27920
  type DataForSeoKeywordOverviewRequest = {
27469
27921
  keywords: string[];
@@ -27582,6 +28034,29 @@ type DataForSeoSerpReadyTask = {
27582
28034
  providerTaskId: string;
27583
28035
  tag: string | null;
27584
28036
  };
28037
+ type DataForSeoLinkRequestBase = {
28038
+ target: string;
28039
+ scope: 'domain' | 'page';
28040
+ includeSubdomains: boolean;
28041
+ refresh?: boolean;
28042
+ context: ProviderRequestContext;
28043
+ };
28044
+ type DataForSeoLinkSummaryRequest = DataForSeoLinkRequestBase;
28045
+ type DataForSeoBacklinksRequest = DataForSeoLinkRequestBase & {
28046
+ mode: 'one_per_domain' | 'as_is';
28047
+ status: 'live' | 'lost' | 'all';
28048
+ limit: number;
28049
+ offset: number;
28050
+ orderBy: string[];
28051
+ };
28052
+ type DataForSeoReferringDomainsRequest = DataForSeoLinkRequestBase & {
28053
+ limit: number;
28054
+ offset: number;
28055
+ orderBy: string[];
28056
+ };
28057
+ type DataForSeoLinkSummarySnapshot = DataForSeoPaidSnapshot<DataForSeoLinkSummaryResponse>;
28058
+ type DataForSeoBacklinksSnapshot = DataForSeoPaidSnapshot<DataForSeoBacklinksResponse>;
28059
+ type DataForSeoReferringDomainsSnapshot = DataForSeoPaidSnapshot<DataForSeoReferringDomainsResponse>;
27585
28060
  //#endregion
27586
28061
  //#region packages/core/src/providers/dataforseo/client.d.ts
27587
28062
  declare class DataForSeoClient {
@@ -27597,6 +28072,7 @@ declare class DataForSeoClient {
27597
28072
  private readonly serpTtlMs;
27598
28073
  private readonly accountPricingTtlMs;
27599
28074
  private readonly domainResearchTtlMs;
28075
+ private readonly linkTtlMs;
27600
28076
  private readonly spendLimits;
27601
28077
  private accountPricing;
27602
28078
  private accountPricingRequest;
@@ -27612,6 +28088,9 @@ declare class DataForSeoClient {
27612
28088
  rankedKeywords(input: DataForSeoRankedKeywordsRequest): Promise<DataForSeoRankedKeywordsSnapshot>;
27613
28089
  rankingPages(input: DataForSeoRankingPagesRequest): Promise<DataForSeoRankingPagesSnapshot>;
27614
28090
  serpCompetitors(input: DataForSeoSerpCompetitorsRequest): Promise<DataForSeoSerpCompetitorsSnapshot>;
28091
+ linkSummary(input: DataForSeoLinkSummaryRequest): Promise<DataForSeoLinkSummarySnapshot>;
28092
+ backlinks(input: DataForSeoBacklinksRequest): Promise<DataForSeoBacklinksSnapshot>;
28093
+ referringDomains(input: DataForSeoReferringDomainsRequest): Promise<DataForSeoReferringDomainsSnapshot>;
27615
28094
  keywordOverview(input: DataForSeoKeywordOverviewRequest): Promise<DataForSeoKeywordOverviewSnapshot>;
27616
28095
  keywordDiscovery(input: DataForSeoKeywordDiscoveryRequest): Promise<DataForSeoKeywordDiscoverySnapshot>;
27617
28096
  serpLive(input: DataForSeoSerpRequest): Promise<DataForSeoSerpSnapshot>;
@@ -27623,6 +28102,197 @@ declare class DataForSeoClient {
27623
28102
  serpTaskGet(providerTaskId: string): Promise<DataForSeoSerpSnapshot>;
27624
28103
  }
27625
28104
  //#endregion
28105
+ //#region packages/core/src/providers/dataforseo/link-research-client.d.ts
28106
+ type LinkResearchClient = Pick<DataForSeoClient, 'linkSummary' | 'backlinks' | 'referringDomains'>;
28107
+ //#endregion
28108
+ //#region packages/core/src/providers/dataforseo/link-research.d.ts
28109
+ type DataForSeoLinkProviderOptions = DataForSeoClientOptions & {
28110
+ client?: LinkResearchClient;
28111
+ };
28112
+ declare class DataForSeoLinkProvider implements LiveLinkProvider {
28113
+ readonly provider: "dataforseo";
28114
+ readonly capabilitySupport: {
28115
+ capability: "link-summary" | "referring-domains" | "backlinks";
28116
+ status: "available";
28117
+ markets: "all";
28118
+ }[];
28119
+ private readonly client;
28120
+ constructor(options?: DataForSeoLinkProviderOptions);
28121
+ linkSummary(input: LinkSummaryRequest): Promise<MarketIndependentProviderEvidence<LinkSummary>>;
28122
+ backlinks(input: BacklinksRequest): Promise<MarketIndependentProviderEvidence<ExternalBacklinkPage>>;
28123
+ referringDomains(input: ReferringDomainsRequest): Promise<MarketIndependentProviderEvidence<ReferringDomainPage>>;
28124
+ }
28125
+ //#endregion
28126
+ //#region packages/core/src/links/dataforseo.d.ts
28127
+ declare function collectDataForSeoLinkEvidence(input: {
28128
+ target: string;
28129
+ scope?: LinkTargetScope;
28130
+ includeSubdomains?: boolean;
28131
+ rowLimit?: number;
28132
+ refresh?: boolean;
28133
+ context?: ProviderRequestContext;
28134
+ provider?: Pick<DataForSeoLinkProvider, 'linkSummary' | 'backlinks'>;
28135
+ }): Promise<CollectedLinkEvidence>;
28136
+ //#endregion
28137
+ //#region packages/core/src/links/import.d.ts
28138
+ type ImportFormat = 'csv' | 'json' | 'jsonl';
28139
+ declare function importLinkEvidence(input: {
28140
+ file: string;
28141
+ format?: ImportFormat;
28142
+ rowLimit?: number;
28143
+ }): Promise<CollectedLinkEvidence>;
28144
+ //#endregion
28145
+ //#region packages/core/src/links/normalize.d.ts
28146
+ type RawLinkEvidenceRow = Record<string, unknown>;
28147
+ declare function normalizeLinkEvidenceRow(raw: RawLinkEvidenceRow): LinkEvidenceRow | undefined;
28148
+ declare function linkEvidenceKey(row: LinkEvidenceRow): string;
28149
+ declare function compareLinkEvidence(a: LinkEvidenceRow, b: LinkEvidenceRow): number;
28150
+ //#endregion
28151
+ //#region packages/core/src/links/report.d.ts
28152
+ declare function linkEvidenceReport(input: {
28153
+ evidence: CollectedLinkEvidence;
28154
+ limit?: number;
28155
+ targetContext?: LinkTargetContext;
28156
+ }): {
28157
+ schemaVersion: 2;
28158
+ generatedAt: string;
28159
+ dataStatus: "partial" | "complete";
28160
+ summary: {
28161
+ observedLinks: number;
28162
+ referringDomains: number;
28163
+ targetPages: number;
28164
+ providerTargetPages: number;
28165
+ };
28166
+ providerSummary: LinkSummary | null;
28167
+ providerEvidence: {
28168
+ summary: MarketIndependentProviderEvidence<LinkSummary>;
28169
+ backlinks: {
28170
+ data: {
28171
+ target: string;
28172
+ mode: "all" | "representative";
28173
+ totalRows: number | null;
28174
+ retainedRows: number;
28175
+ };
28176
+ schemaVersion: 1;
28177
+ provider: ProviderId;
28178
+ capability: ProviderCapability;
28179
+ observedAt: string;
28180
+ coverage: ProviderCoverage;
28181
+ cache: ProviderCacheEvidence;
28182
+ cost: ProviderCostEvidence;
28183
+ request: ProviderRequestEvidence;
28184
+ warnings: ProviderWarning[];
28185
+ market: null;
28186
+ };
28187
+ } | null;
28188
+ provenance: LinkEvidenceProvenance;
28189
+ selection: {
28190
+ availableRows: number;
28191
+ returnedRows: number;
28192
+ omittedRows: number;
28193
+ limit: number;
28194
+ };
28195
+ outputBudget: {
28196
+ unit: "structured-detail-rows";
28197
+ limit: number;
28198
+ returned: number;
28199
+ omitted: number;
28200
+ sections: {
28201
+ links: {
28202
+ limit: number;
28203
+ returned: number;
28204
+ };
28205
+ targetCounts: {
28206
+ limit: number;
28207
+ returned: number;
28208
+ };
28209
+ targetContext: {
28210
+ limit: number;
28211
+ returned: number;
28212
+ };
28213
+ findings: {
28214
+ limit: number;
28215
+ returned: number;
28216
+ };
28217
+ };
28218
+ };
28219
+ targetCounts: LinkTargetCount[];
28220
+ links: LinkEvidenceRow[];
28221
+ targetContext: {
28222
+ rows: LinkTargetContextRow[];
28223
+ findings: LinkTargetFinding[];
28224
+ schemaVersion: 1;
28225
+ dataStatus: "complete" | "partial" | "unavailable";
28226
+ selection: {
28227
+ availableTargets: number;
28228
+ returnedTargets: number;
28229
+ omittedTargets: number;
28230
+ limit: number;
28231
+ };
28232
+ provenance: {
28233
+ crawl: {
28234
+ status: "joined" | "unavailable";
28235
+ reportId: string | null;
28236
+ observedAt: string | null;
28237
+ availablePages: number;
28238
+ matchedTargets: number;
28239
+ };
28240
+ searchConsole: {
28241
+ status: "joined" | "partial" | "unavailable";
28242
+ site: string | null;
28243
+ range: {
28244
+ startDate: string;
28245
+ endDate: string;
28246
+ days: number;
28247
+ } | null;
28248
+ calls: number;
28249
+ rowsFetched: number;
28250
+ retainedRowLimit: number;
28251
+ retainedRowLimitReached: boolean;
28252
+ matchedTargets: number;
28253
+ };
28254
+ };
28255
+ warnings: string[];
28256
+ } | null;
28257
+ findings: LinkTargetFinding[];
28258
+ warnings: string[];
28259
+ caveats: string[];
28260
+ };
28261
+ //#endregion
28262
+ //#region packages/core/src/logger.d.ts
28263
+ declare function createLogger(runId: string): pino.Logger;
28264
+ declare function makeRunId(): string;
28265
+ //#endregion
28266
+ //#region packages/core/src/markdown.d.ts
28267
+ declare function renderPresentationTablesMarkdown(tables: PresentationTable[]): string[];
28268
+ //#endregion
28269
+ //#region packages/core/src/paths.d.ts
28270
+ interface SeoCliPaths {
28271
+ configDir: string;
28272
+ cacheDir: string;
28273
+ logDir: string;
28274
+ configFile: string;
28275
+ tokensFile: string;
28276
+ oauthClientFile: string;
28277
+ providerSecretsFile: string;
28278
+ telemetryStateFile: string;
28279
+ cacheDbFile: string;
28280
+ }
28281
+ type SeoCliPathOptions = {
28282
+ env?: NodeJS.ProcessEnv;
28283
+ home?: string;
28284
+ platform?: NodeJS.Platform;
28285
+ };
28286
+ declare function resolveSeoCliPaths(input?: SeoCliPathOptions): SeoCliPaths;
28287
+ declare function migrateLegacyMacConfig(input?: SeoCliPathOptions): void;
28288
+ declare function getSeoCliPaths(): SeoCliPaths;
28289
+ declare function ensureSeoCliDirs(): SeoCliPaths;
28290
+ declare function fileSize(path: string): number;
28291
+ //#endregion
28292
+ //#region packages/core/src/phrasing.d.ts
28293
+ declare function plural(count: number, singular: string, pluralLabel?: string): string;
28294
+ declare function countLabel(count: number, singular: string, pluralLabel?: string): string;
28295
+ //#endregion
27626
28296
  //#region packages/core/src/providers/dataforseo/keyword-discovery.d.ts
27627
28297
  type KeywordDiscoveryClient = Pick<DataForSeoClient, 'keywordDiscovery'>;
27628
28298
  type DataForSeoKeywordDiscoveryProviderOptions = DataForSeoClientOptions & {
@@ -28045,7 +28715,7 @@ declare const TELEMETRY_TIMEOUT_MS = 2000;
28045
28715
  declare const TELEMETRY_EVENTS: readonly ["first_run", "setup_complete", "audit_start", "audit_complete", "audit_failed", "first_audit_complete", "active_d1", "active_d7", "active_d30"];
28046
28716
  declare const TELEMETRY_AGENTS: readonly ["claude-code", "cursor", "codex", "cli", "unknown"];
28047
28717
  declare const TELEMETRY_ERROR_CATEGORIES: readonly ["auth", "crawl_timeout", "network", "config", "unknown"];
28048
- declare const TELEMETRY_REPORTS: readonly ["affected-urls", "agent-readiness", "ai-readiness", "ai-referrals", "ai-search-scorecard", "audit-page", "audit-urls", "bing-webmaster-overview", "cannibalisation", "community-intent", "compare-crawls", "competitor-keyword-gap", "content-optimization", "crawl-diff", "site-crawl", "ctr-underperformers", "decaying-pages", "domain-overview", "setup-check", "entity-readiness", "explain-crawl-issue", "geo-gaps", "crawl-report", "index-coverage", "index-coverage-plan", "index-monitor", "index-watch", "internal-links", "keyword-metrics", "keyword-opportunities", "keyword-research", "saved-keywords", "link-evidence", "server-log-analysis", "link-recovery", "crawl-history", "crawler-rules", "llms-txt-audit", "generate-llms-txt", "measure-change", "monthly-report", "okf-build", "okf-validate", "page-opportunities", "performance-audit", "pseo-audit", "pseo-opportunities", "query-clusters", "quick-wins", "rank-tracking", "ranked-keywords", "ranking-pages", "redirect-trace", "narrative-report", "second-page", "segment-impact", "serp-results", "serp-competitors", "striking-distance", "seo-to-ai-query", "top-fixes", "traffic-anomaly", "update-correlation", "search-performance-overview", "monthly-action-plan", "refresh-priorities", "technical-watch", "update-postmortem"];
28718
+ declare const TELEMETRY_REPORTS: readonly ["affected-urls", "agent-readiness", "ai-readiness", "ai-referrals", "ai-search-scorecard", "audit-page", "audit-urls", "bing-webmaster-overview", "cannibalisation", "community-intent", "compare-crawls", "competitor-keyword-gap", "content-optimization", "crawl-diff", "site-crawl", "ctr-underperformers", "decaying-pages", "domain-overview", "setup-check", "entity-readiness", "explain-crawl-issue", "geo-gaps", "crawl-report", "index-coverage", "index-coverage-plan", "index-monitor", "index-watch", "internal-links", "keyword-metrics", "keyword-opportunities", "keyword-research", "saved-keywords", "link-evidence", "server-log-analysis", "link-recovery", "crawl-history", "crawler-rules", "llms-txt-audit", "local-search-demand", "generate-llms-txt", "measure-change", "monthly-report", "okf-build", "okf-validate", "page-opportunities", "performance-audit", "pseo-audit", "pseo-opportunities", "query-clusters", "quick-wins", "rank-tracking", "ranked-keywords", "ranking-pages", "redirect-trace", "narrative-report", "second-page", "segment-impact", "serp-results", "serp-competitors", "striking-distance", "seo-to-ai-query", "top-fixes", "traffic-anomaly", "update-correlation", "search-performance-overview", "monthly-action-plan", "refresh-priorities", "technical-watch", "update-postmortem"];
28049
28719
  type TelemetryEvent = (typeof TELEMETRY_EVENTS)[number];
28050
28720
  type TelemetryAgent = (typeof TELEMETRY_AGENTS)[number];
28051
28721
  type TelemetryErrorCategory = (typeof TELEMETRY_ERROR_CATEGORIES)[number];
@@ -28120,5 +28790,5 @@ declare function isoDate(daysAgo?: number): string;
28120
28790
  //#region packages/core/src/version.d.ts
28121
28791
  declare const SEO_VERSION: string;
28122
28792
  //#endregion
28123
- 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, 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, 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 };
28793
+ 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, LocalIntentClass, LocalIntentEvidence, LocalSearchDependencies, LocalSearchInput, LocalSearchOpportunity, LocalSearchPageEvidence, LocalSearchReport, LocalSearchTemplate, LocalSerpEvidence, 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, analyzeLocalSearchRows, 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, classifyLocalIntent, 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, createLocalIntentClassifier, 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, localSearchReport, loginWithLoopback, makeRunId, mapDataForSeoSerpSnapshot, markRankTasksPosted, markRankTasksPosting, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLinkEvidenceRow, normalizeLoadedCrawlReport, normalizeLocalSearchText, normalizeLocationTerms, 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 };
28124
28794
  //# sourceMappingURL=index.d.ts.map