seo 0.2.13 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cli.js +134 -134
- package/dist/cli.js.map +1 -1
- package/dist/{dist-BB0yH7qK.js → dist-C56VwYuO.js} +1 -1
- package/dist/dist-DIqNaMQf.js +762 -0
- package/dist/dist-DIqNaMQf.js.map +1 -0
- package/dist/index.d.ts +1550 -57
- package/dist/index.js +5835 -1411
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +6400 -1525
- package/dist/mcp.js.map +1 -1
- package/dist/{package-B_swz2Xd.js → package-Cuxp-LBy.js} +2 -2
- package/dist/{package-B_swz2Xd.js.map → package-Cuxp-LBy.js.map} +1 -1
- package/evals/keyword-metrics.json +58 -0
- package/evals/keyword-opportunities.json +57 -0
- package/evals/keyword-research.json +41 -0
- package/evals/pseo-opportunities.json +57 -0
- package/evals/serp-results.json +41 -0
- package/package.json +4 -4
- package/dist/dist-Dwdogl4j.js +0 -656
- package/dist/dist-Dwdogl4j.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -244,6 +244,13 @@ declare const providerPreferenceSchema: z.ZodEnum<{
|
|
|
244
244
|
cheap: "cheap";
|
|
245
245
|
authoritative: "authoritative";
|
|
246
246
|
}>;
|
|
247
|
+
declare const providerSpendLimitOverridesSchema: z.ZodObject<{
|
|
248
|
+
dailyNoticeMicros: z.ZodOptional<z.ZodNumber>;
|
|
249
|
+
dailyHardLimitMicros: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
250
|
+
monthlyHardLimitMicros: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
251
|
+
maxRequestsPerReport: z.ZodOptional<z.ZodNumber>;
|
|
252
|
+
maxRowsPerReport: z.ZodOptional<z.ZodNumber>;
|
|
253
|
+
}, z.core.$strict>;
|
|
247
254
|
declare const analyticsConnectionsSchema: z.ZodDefault<z.ZodObject<{
|
|
248
255
|
google: z.ZodOptional<z.ZodObject<{
|
|
249
256
|
propertyId: z.ZodString;
|
|
@@ -322,6 +329,29 @@ declare const configSchema: z.ZodObject<{
|
|
|
322
329
|
cheap: "cheap";
|
|
323
330
|
authoritative: "authoritative";
|
|
324
331
|
}>>;
|
|
332
|
+
costLimits: z.ZodOptional<z.ZodObject<{
|
|
333
|
+
dataforseo: z.ZodOptional<z.ZodObject<{
|
|
334
|
+
dailyNoticeMicros: z.ZodOptional<z.ZodNumber>;
|
|
335
|
+
dailyHardLimitMicros: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
336
|
+
monthlyHardLimitMicros: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
337
|
+
maxRequestsPerReport: z.ZodOptional<z.ZodNumber>;
|
|
338
|
+
maxRowsPerReport: z.ZodOptional<z.ZodNumber>;
|
|
339
|
+
}, z.core.$strict>>;
|
|
340
|
+
semrush: z.ZodOptional<z.ZodObject<{
|
|
341
|
+
dailyNoticeMicros: z.ZodOptional<z.ZodNumber>;
|
|
342
|
+
dailyHardLimitMicros: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
343
|
+
monthlyHardLimitMicros: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
344
|
+
maxRequestsPerReport: z.ZodOptional<z.ZodNumber>;
|
|
345
|
+
maxRowsPerReport: z.ZodOptional<z.ZodNumber>;
|
|
346
|
+
}, z.core.$strict>>;
|
|
347
|
+
ahrefs: z.ZodOptional<z.ZodObject<{
|
|
348
|
+
dailyNoticeMicros: z.ZodOptional<z.ZodNumber>;
|
|
349
|
+
dailyHardLimitMicros: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
350
|
+
monthlyHardLimitMicros: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
351
|
+
maxRequestsPerReport: z.ZodOptional<z.ZodNumber>;
|
|
352
|
+
maxRowsPerReport: z.ZodOptional<z.ZodNumber>;
|
|
353
|
+
}, z.core.$strict>>;
|
|
354
|
+
}, z.core.$strict>>;
|
|
325
355
|
}, z.core.$strip>>;
|
|
326
356
|
security: z.ZodDefault<z.ZodObject<{
|
|
327
357
|
useKeychain: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -658,6 +688,7 @@ interface ExtractedPage {
|
|
|
658
688
|
}
|
|
659
689
|
//#endregion
|
|
660
690
|
//#region packages/core/src/types/providers.d.ts
|
|
691
|
+
/** @deprecated Use ProviderCostEvidence from providers/contracts. */
|
|
661
692
|
interface CreditUsage {
|
|
662
693
|
provider: string;
|
|
663
694
|
units: number;
|
|
@@ -666,16 +697,19 @@ interface CreditUsage {
|
|
|
666
697
|
calls: number;
|
|
667
698
|
cacheHits?: number;
|
|
668
699
|
}
|
|
700
|
+
/** @deprecated Use ProviderEvidence from providers/contracts. */
|
|
669
701
|
interface ProviderResult<T> {
|
|
670
702
|
data: T;
|
|
671
703
|
usage: CreditUsage;
|
|
672
704
|
warnings?: string[];
|
|
673
705
|
cached?: boolean;
|
|
674
706
|
}
|
|
707
|
+
/** @deprecated Use a capability-specific request type. */
|
|
675
708
|
interface ProviderOpts {
|
|
676
709
|
database?: string;
|
|
677
710
|
refresh?: boolean;
|
|
678
711
|
}
|
|
712
|
+
/** @deprecated Use KeywordMetric from providers/contracts. */
|
|
679
713
|
interface KeywordOverview {
|
|
680
714
|
phrase: string;
|
|
681
715
|
volume?: number;
|
|
@@ -685,6 +719,7 @@ interface KeywordOverview {
|
|
|
685
719
|
intent?: string;
|
|
686
720
|
results?: number;
|
|
687
721
|
}
|
|
722
|
+
/** @deprecated Use a capability-specific row type from providers/contracts. */
|
|
688
723
|
interface KeywordRow {
|
|
689
724
|
phrase: string;
|
|
690
725
|
volume?: number;
|
|
@@ -695,6 +730,11 @@ interface KeywordRow {
|
|
|
695
730
|
domain?: string;
|
|
696
731
|
position?: number;
|
|
697
732
|
}
|
|
733
|
+
/**
|
|
734
|
+
* @deprecated Use the small capability interfaces from providers/contracts.
|
|
735
|
+
* This compatibility contract remains until the registered reports replace
|
|
736
|
+
* the provider-specific MCP passthrough.
|
|
737
|
+
*/
|
|
698
738
|
interface KeywordDataProvider {
|
|
699
739
|
readonly name: string;
|
|
700
740
|
readonly capabilities: {
|
|
@@ -725,9 +765,11 @@ interface KeywordDataProvider {
|
|
|
725
765
|
resetAt?: string;
|
|
726
766
|
}>;
|
|
727
767
|
}
|
|
768
|
+
/** @deprecated Use a capability-specific provider contract. */
|
|
728
769
|
interface SerpProvider {
|
|
729
770
|
readonly name: string;
|
|
730
771
|
}
|
|
772
|
+
/** @deprecated Use a capability-specific provider contract. */
|
|
731
773
|
interface BacklinkProvider {
|
|
732
774
|
readonly name: string;
|
|
733
775
|
}
|
|
@@ -980,7 +1022,7 @@ declare const RULE_DEFINITIONS: readonly [{
|
|
|
980
1022
|
readonly impactIfIgnored: "An avoidable redirect adds a request and can turn into a chain later. An intentional direct redirect needs no change.";
|
|
981
1023
|
readonly howToVerify: "Re-run the crawl and confirm the requested URL is the same as the final URL, or that the redirect is intentional.";
|
|
982
1024
|
readonly agentHints: {
|
|
983
|
-
readonly evidenceFields: ["page.url", "page.finalUrl", "page.status"];
|
|
1025
|
+
readonly evidenceFields: ["page.url", "page.finalUrl", "page.status", "page.metaRefresh"];
|
|
984
1026
|
readonly suggestedCommands: ["seo redirect-trace --url <url> --json"];
|
|
985
1027
|
};
|
|
986
1028
|
}, {
|
|
@@ -2012,6 +2054,10 @@ type CrawlerExtractionEvidence = {
|
|
|
2012
2054
|
}>;
|
|
2013
2055
|
socialProfileLinks: string[];
|
|
2014
2056
|
contentSketch: ContentSketch;
|
|
2057
|
+
metaRefresh?: {
|
|
2058
|
+
targetUrl: string;
|
|
2059
|
+
delaySeconds: number;
|
|
2060
|
+
};
|
|
2015
2061
|
softAuthenticationGate?: {
|
|
2016
2062
|
kind: 'login-form';
|
|
2017
2063
|
indicators: string[];
|
|
@@ -2235,7 +2281,7 @@ declare function analyzePageOpportunitiesFromRows(input: PageOpportunityAnalysis
|
|
|
2235
2281
|
type PageOpportunityFocus = PageOpportunityType | 'no-data';
|
|
2236
2282
|
//#endregion
|
|
2237
2283
|
//#region packages/core/src/analyze/page-opportunities.d.ts
|
|
2238
|
-
type SearchAnalytics$
|
|
2284
|
+
type SearchAnalytics$11 = typeof querySearchAnalytics;
|
|
2239
2285
|
type FetchPage$4 = typeof fetchPage;
|
|
2240
2286
|
type ExtractPage$3 = typeof extractPage;
|
|
2241
2287
|
type PageOpportunityInput = {
|
|
@@ -2307,7 +2353,7 @@ type PageOpportunityReport = {
|
|
|
2307
2353
|
recommendations: string[];
|
|
2308
2354
|
};
|
|
2309
2355
|
type PageOpportunityDependencies = {
|
|
2310
|
-
searchAnalytics: SearchAnalytics$
|
|
2356
|
+
searchAnalytics: SearchAnalytics$11;
|
|
2311
2357
|
fetch: FetchPage$4;
|
|
2312
2358
|
extract: ExtractPage$3;
|
|
2313
2359
|
now: () => Date;
|
|
@@ -2495,7 +2541,7 @@ type CrawlPageSnapshot = {
|
|
|
2495
2541
|
h3Count?: number;
|
|
2496
2542
|
indexable: boolean;
|
|
2497
2543
|
indexability?: string;
|
|
2498
|
-
declaredIndexability?: 'indexable-candidate' | 'noindex' | 'robots-blocked' | 'canonical-conflict' | 'canonical-hint-other' | 'not-html' | 'unknown';
|
|
2544
|
+
declaredIndexability?: 'indexable-candidate' | 'noindex' | 'robots-blocked' | 'canonical-conflict' | 'canonical-hint-other' | 'meta-refresh' | 'not-html' | 'unknown';
|
|
2499
2545
|
extractionStatus?: 'complete' | 'failed' | 'not-applicable' | 'unknown-media-type';
|
|
2500
2546
|
extractionError?: string;
|
|
2501
2547
|
wordCount: number;
|
|
@@ -2511,6 +2557,10 @@ type CrawlPageSnapshot = {
|
|
|
2511
2557
|
indicators: string[];
|
|
2512
2558
|
formActionPath?: string;
|
|
2513
2559
|
};
|
|
2560
|
+
metaRefresh?: {
|
|
2561
|
+
targetUrl: string;
|
|
2562
|
+
delaySeconds: number;
|
|
2563
|
+
};
|
|
2514
2564
|
tabbedContent?: {
|
|
2515
2565
|
groups: number;
|
|
2516
2566
|
panels: number;
|
|
@@ -4697,6 +4747,7 @@ declare const crawlPageSnapshotSchema: z.ZodObject<{
|
|
|
4697
4747
|
"robots-blocked": "robots-blocked";
|
|
4698
4748
|
"canonical-conflict": "canonical-conflict";
|
|
4699
4749
|
"canonical-hint-other": "canonical-hint-other";
|
|
4750
|
+
"meta-refresh": "meta-refresh";
|
|
4700
4751
|
"not-html": "not-html";
|
|
4701
4752
|
}>>;
|
|
4702
4753
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -4748,6 +4799,10 @@ declare const crawlPageSnapshotSchema: z.ZodObject<{
|
|
|
4748
4799
|
indicators: z.ZodArray<z.ZodString>;
|
|
4749
4800
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
4750
4801
|
}, z.core.$strip>>;
|
|
4802
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
4803
|
+
targetUrl: z.ZodString;
|
|
4804
|
+
delaySeconds: z.ZodNumber;
|
|
4805
|
+
}, z.core.$strip>>;
|
|
4751
4806
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
4752
4807
|
groups: z.ZodNumber;
|
|
4753
4808
|
panels: z.ZodNumber;
|
|
@@ -4803,8 +4858,8 @@ declare const crawlPageSnapshotSchema: z.ZodObject<{
|
|
|
4803
4858
|
status: z.ZodOptional<z.ZodNumber>;
|
|
4804
4859
|
error: z.ZodOptional<z.ZodString>;
|
|
4805
4860
|
state: z.ZodOptional<z.ZodEnum<{
|
|
4806
|
-
unavailable: "unavailable";
|
|
4807
4861
|
available: "available";
|
|
4862
|
+
unavailable: "unavailable";
|
|
4808
4863
|
"rate-limited": "rate-limited";
|
|
4809
4864
|
"confirmed-broken": "confirmed-broken";
|
|
4810
4865
|
transient: "transient";
|
|
@@ -5856,6 +5911,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5856
5911
|
"robots-blocked": "robots-blocked";
|
|
5857
5912
|
"canonical-conflict": "canonical-conflict";
|
|
5858
5913
|
"canonical-hint-other": "canonical-hint-other";
|
|
5914
|
+
"meta-refresh": "meta-refresh";
|
|
5859
5915
|
"not-html": "not-html";
|
|
5860
5916
|
}>>;
|
|
5861
5917
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -5907,6 +5963,10 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5907
5963
|
indicators: z.ZodArray<z.ZodString>;
|
|
5908
5964
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
5909
5965
|
}, z.core.$strip>>;
|
|
5966
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
5967
|
+
targetUrl: z.ZodString;
|
|
5968
|
+
delaySeconds: z.ZodNumber;
|
|
5969
|
+
}, z.core.$strip>>;
|
|
5910
5970
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
5911
5971
|
groups: z.ZodNumber;
|
|
5912
5972
|
panels: z.ZodNumber;
|
|
@@ -5962,8 +6022,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5962
6022
|
status: z.ZodOptional<z.ZodNumber>;
|
|
5963
6023
|
error: z.ZodOptional<z.ZodString>;
|
|
5964
6024
|
state: z.ZodOptional<z.ZodEnum<{
|
|
5965
|
-
unavailable: "unavailable";
|
|
5966
6025
|
available: "available";
|
|
6026
|
+
unavailable: "unavailable";
|
|
5967
6027
|
"rate-limited": "rate-limited";
|
|
5968
6028
|
"confirmed-broken": "confirmed-broken";
|
|
5969
6029
|
transient: "transient";
|
|
@@ -6359,8 +6419,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6359
6419
|
deferredUrls: z.ZodNumber;
|
|
6360
6420
|
limit: z.ZodNumber;
|
|
6361
6421
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
6362
|
-
unavailable: "unavailable";
|
|
6363
6422
|
available: "available";
|
|
6423
|
+
unavailable: "unavailable";
|
|
6364
6424
|
"rate-limited": "rate-limited";
|
|
6365
6425
|
"confirmed-broken": "confirmed-broken";
|
|
6366
6426
|
transient: "transient";
|
|
@@ -7300,6 +7360,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7300
7360
|
"robots-blocked": "robots-blocked";
|
|
7301
7361
|
"canonical-conflict": "canonical-conflict";
|
|
7302
7362
|
"canonical-hint-other": "canonical-hint-other";
|
|
7363
|
+
"meta-refresh": "meta-refresh";
|
|
7303
7364
|
"not-html": "not-html";
|
|
7304
7365
|
}>>;
|
|
7305
7366
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -7351,6 +7412,10 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7351
7412
|
indicators: z.ZodArray<z.ZodString>;
|
|
7352
7413
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
7353
7414
|
}, z.core.$strip>>;
|
|
7415
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
7416
|
+
targetUrl: z.ZodString;
|
|
7417
|
+
delaySeconds: z.ZodNumber;
|
|
7418
|
+
}, z.core.$strip>>;
|
|
7354
7419
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
7355
7420
|
groups: z.ZodNumber;
|
|
7356
7421
|
panels: z.ZodNumber;
|
|
@@ -7406,8 +7471,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7406
7471
|
status: z.ZodOptional<z.ZodNumber>;
|
|
7407
7472
|
error: z.ZodOptional<z.ZodString>;
|
|
7408
7473
|
state: z.ZodOptional<z.ZodEnum<{
|
|
7409
|
-
unavailable: "unavailable";
|
|
7410
7474
|
available: "available";
|
|
7475
|
+
unavailable: "unavailable";
|
|
7411
7476
|
"rate-limited": "rate-limited";
|
|
7412
7477
|
"confirmed-broken": "confirmed-broken";
|
|
7413
7478
|
transient: "transient";
|
|
@@ -7803,8 +7868,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7803
7868
|
deferredUrls: z.ZodNumber;
|
|
7804
7869
|
limit: z.ZodNumber;
|
|
7805
7870
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
7806
|
-
unavailable: "unavailable";
|
|
7807
7871
|
available: "available";
|
|
7872
|
+
unavailable: "unavailable";
|
|
7808
7873
|
"rate-limited": "rate-limited";
|
|
7809
7874
|
"confirmed-broken": "confirmed-broken";
|
|
7810
7875
|
transient: "transient";
|
|
@@ -8744,6 +8809,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
8744
8809
|
"robots-blocked": "robots-blocked";
|
|
8745
8810
|
"canonical-conflict": "canonical-conflict";
|
|
8746
8811
|
"canonical-hint-other": "canonical-hint-other";
|
|
8812
|
+
"meta-refresh": "meta-refresh";
|
|
8747
8813
|
"not-html": "not-html";
|
|
8748
8814
|
}>>;
|
|
8749
8815
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -8795,6 +8861,10 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
8795
8861
|
indicators: z.ZodArray<z.ZodString>;
|
|
8796
8862
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
8797
8863
|
}, z.core.$strip>>;
|
|
8864
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
8865
|
+
targetUrl: z.ZodString;
|
|
8866
|
+
delaySeconds: z.ZodNumber;
|
|
8867
|
+
}, z.core.$strip>>;
|
|
8798
8868
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
8799
8869
|
groups: z.ZodNumber;
|
|
8800
8870
|
panels: z.ZodNumber;
|
|
@@ -8850,8 +8920,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
8850
8920
|
status: z.ZodOptional<z.ZodNumber>;
|
|
8851
8921
|
error: z.ZodOptional<z.ZodString>;
|
|
8852
8922
|
state: z.ZodOptional<z.ZodEnum<{
|
|
8853
|
-
unavailable: "unavailable";
|
|
8854
8923
|
available: "available";
|
|
8924
|
+
unavailable: "unavailable";
|
|
8855
8925
|
"rate-limited": "rate-limited";
|
|
8856
8926
|
"confirmed-broken": "confirmed-broken";
|
|
8857
8927
|
transient: "transient";
|
|
@@ -9247,8 +9317,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
9247
9317
|
deferredUrls: z.ZodNumber;
|
|
9248
9318
|
limit: z.ZodNumber;
|
|
9249
9319
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
9250
|
-
unavailable: "unavailable";
|
|
9251
9320
|
available: "available";
|
|
9321
|
+
unavailable: "unavailable";
|
|
9252
9322
|
"rate-limited": "rate-limited";
|
|
9253
9323
|
"confirmed-broken": "confirmed-broken";
|
|
9254
9324
|
transient: "transient";
|
|
@@ -10190,6 +10260,7 @@ declare const crawlerSchemas: {
|
|
|
10190
10260
|
"robots-blocked": "robots-blocked";
|
|
10191
10261
|
"canonical-conflict": "canonical-conflict";
|
|
10192
10262
|
"canonical-hint-other": "canonical-hint-other";
|
|
10263
|
+
"meta-refresh": "meta-refresh";
|
|
10193
10264
|
"not-html": "not-html";
|
|
10194
10265
|
}>>;
|
|
10195
10266
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -10241,6 +10312,10 @@ declare const crawlerSchemas: {
|
|
|
10241
10312
|
indicators: z.ZodArray<z.ZodString>;
|
|
10242
10313
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
10243
10314
|
}, z.core.$strip>>;
|
|
10315
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
10316
|
+
targetUrl: z.ZodString;
|
|
10317
|
+
delaySeconds: z.ZodNumber;
|
|
10318
|
+
}, z.core.$strip>>;
|
|
10244
10319
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
10245
10320
|
groups: z.ZodNumber;
|
|
10246
10321
|
panels: z.ZodNumber;
|
|
@@ -10296,8 +10371,8 @@ declare const crawlerSchemas: {
|
|
|
10296
10371
|
status: z.ZodOptional<z.ZodNumber>;
|
|
10297
10372
|
error: z.ZodOptional<z.ZodString>;
|
|
10298
10373
|
state: z.ZodOptional<z.ZodEnum<{
|
|
10299
|
-
unavailable: "unavailable";
|
|
10300
10374
|
available: "available";
|
|
10375
|
+
unavailable: "unavailable";
|
|
10301
10376
|
"rate-limited": "rate-limited";
|
|
10302
10377
|
"confirmed-broken": "confirmed-broken";
|
|
10303
10378
|
transient: "transient";
|
|
@@ -10693,8 +10768,8 @@ declare const crawlerSchemas: {
|
|
|
10693
10768
|
deferredUrls: z.ZodNumber;
|
|
10694
10769
|
limit: z.ZodNumber;
|
|
10695
10770
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
10696
|
-
unavailable: "unavailable";
|
|
10697
10771
|
available: "available";
|
|
10772
|
+
unavailable: "unavailable";
|
|
10698
10773
|
"rate-limited": "rate-limited";
|
|
10699
10774
|
"confirmed-broken": "confirmed-broken";
|
|
10700
10775
|
transient: "transient";
|
|
@@ -11634,6 +11709,7 @@ declare const crawlerSchemas: {
|
|
|
11634
11709
|
"robots-blocked": "robots-blocked";
|
|
11635
11710
|
"canonical-conflict": "canonical-conflict";
|
|
11636
11711
|
"canonical-hint-other": "canonical-hint-other";
|
|
11712
|
+
"meta-refresh": "meta-refresh";
|
|
11637
11713
|
"not-html": "not-html";
|
|
11638
11714
|
}>>;
|
|
11639
11715
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -11685,6 +11761,10 @@ declare const crawlerSchemas: {
|
|
|
11685
11761
|
indicators: z.ZodArray<z.ZodString>;
|
|
11686
11762
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
11687
11763
|
}, z.core.$strip>>;
|
|
11764
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
11765
|
+
targetUrl: z.ZodString;
|
|
11766
|
+
delaySeconds: z.ZodNumber;
|
|
11767
|
+
}, z.core.$strip>>;
|
|
11688
11768
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
11689
11769
|
groups: z.ZodNumber;
|
|
11690
11770
|
panels: z.ZodNumber;
|
|
@@ -11740,8 +11820,8 @@ declare const crawlerSchemas: {
|
|
|
11740
11820
|
status: z.ZodOptional<z.ZodNumber>;
|
|
11741
11821
|
error: z.ZodOptional<z.ZodString>;
|
|
11742
11822
|
state: z.ZodOptional<z.ZodEnum<{
|
|
11743
|
-
unavailable: "unavailable";
|
|
11744
11823
|
available: "available";
|
|
11824
|
+
unavailable: "unavailable";
|
|
11745
11825
|
"rate-limited": "rate-limited";
|
|
11746
11826
|
"confirmed-broken": "confirmed-broken";
|
|
11747
11827
|
transient: "transient";
|
|
@@ -12137,8 +12217,8 @@ declare const crawlerSchemas: {
|
|
|
12137
12217
|
deferredUrls: z.ZodNumber;
|
|
12138
12218
|
limit: z.ZodNumber;
|
|
12139
12219
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
12140
|
-
unavailable: "unavailable";
|
|
12141
12220
|
available: "available";
|
|
12221
|
+
unavailable: "unavailable";
|
|
12142
12222
|
"rate-limited": "rate-limited";
|
|
12143
12223
|
"confirmed-broken": "confirmed-broken";
|
|
12144
12224
|
transient: "transient";
|
|
@@ -13078,6 +13158,7 @@ declare const crawlerSchemas: {
|
|
|
13078
13158
|
"robots-blocked": "robots-blocked";
|
|
13079
13159
|
"canonical-conflict": "canonical-conflict";
|
|
13080
13160
|
"canonical-hint-other": "canonical-hint-other";
|
|
13161
|
+
"meta-refresh": "meta-refresh";
|
|
13081
13162
|
"not-html": "not-html";
|
|
13082
13163
|
}>>;
|
|
13083
13164
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -13129,6 +13210,10 @@ declare const crawlerSchemas: {
|
|
|
13129
13210
|
indicators: z.ZodArray<z.ZodString>;
|
|
13130
13211
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
13131
13212
|
}, z.core.$strip>>;
|
|
13213
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
13214
|
+
targetUrl: z.ZodString;
|
|
13215
|
+
delaySeconds: z.ZodNumber;
|
|
13216
|
+
}, z.core.$strip>>;
|
|
13132
13217
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
13133
13218
|
groups: z.ZodNumber;
|
|
13134
13219
|
panels: z.ZodNumber;
|
|
@@ -13184,8 +13269,8 @@ declare const crawlerSchemas: {
|
|
|
13184
13269
|
status: z.ZodOptional<z.ZodNumber>;
|
|
13185
13270
|
error: z.ZodOptional<z.ZodString>;
|
|
13186
13271
|
state: z.ZodOptional<z.ZodEnum<{
|
|
13187
|
-
unavailable: "unavailable";
|
|
13188
13272
|
available: "available";
|
|
13273
|
+
unavailable: "unavailable";
|
|
13189
13274
|
"rate-limited": "rate-limited";
|
|
13190
13275
|
"confirmed-broken": "confirmed-broken";
|
|
13191
13276
|
transient: "transient";
|
|
@@ -13581,8 +13666,8 @@ declare const crawlerSchemas: {
|
|
|
13581
13666
|
deferredUrls: z.ZodNumber;
|
|
13582
13667
|
limit: z.ZodNumber;
|
|
13583
13668
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
13584
|
-
unavailable: "unavailable";
|
|
13585
13669
|
available: "available";
|
|
13670
|
+
unavailable: "unavailable";
|
|
13586
13671
|
"rate-limited": "rate-limited";
|
|
13587
13672
|
"confirmed-broken": "confirmed-broken";
|
|
13588
13673
|
transient: "transient";
|
|
@@ -14656,6 +14741,7 @@ declare const crawlerSchemas: {
|
|
|
14656
14741
|
"robots-blocked": "robots-blocked";
|
|
14657
14742
|
"canonical-conflict": "canonical-conflict";
|
|
14658
14743
|
"canonical-hint-other": "canonical-hint-other";
|
|
14744
|
+
"meta-refresh": "meta-refresh";
|
|
14659
14745
|
"not-html": "not-html";
|
|
14660
14746
|
}>>;
|
|
14661
14747
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -14707,6 +14793,10 @@ declare const crawlerSchemas: {
|
|
|
14707
14793
|
indicators: z.ZodArray<z.ZodString>;
|
|
14708
14794
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
14709
14795
|
}, z.core.$strip>>;
|
|
14796
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
14797
|
+
targetUrl: z.ZodString;
|
|
14798
|
+
delaySeconds: z.ZodNumber;
|
|
14799
|
+
}, z.core.$strip>>;
|
|
14710
14800
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
14711
14801
|
groups: z.ZodNumber;
|
|
14712
14802
|
panels: z.ZodNumber;
|
|
@@ -14762,8 +14852,8 @@ declare const crawlerSchemas: {
|
|
|
14762
14852
|
status: z.ZodOptional<z.ZodNumber>;
|
|
14763
14853
|
error: z.ZodOptional<z.ZodString>;
|
|
14764
14854
|
state: z.ZodOptional<z.ZodEnum<{
|
|
14765
|
-
unavailable: "unavailable";
|
|
14766
14855
|
available: "available";
|
|
14856
|
+
unavailable: "unavailable";
|
|
14767
14857
|
"rate-limited": "rate-limited";
|
|
14768
14858
|
"confirmed-broken": "confirmed-broken";
|
|
14769
14859
|
transient: "transient";
|
|
@@ -15435,6 +15525,7 @@ declare const crawlerJsonSchemas: {
|
|
|
15435
15525
|
"robots-blocked": "robots-blocked";
|
|
15436
15526
|
"canonical-conflict": "canonical-conflict";
|
|
15437
15527
|
"canonical-hint-other": "canonical-hint-other";
|
|
15528
|
+
"meta-refresh": "meta-refresh";
|
|
15438
15529
|
"not-html": "not-html";
|
|
15439
15530
|
}>>;
|
|
15440
15531
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -15486,6 +15577,10 @@ declare const crawlerJsonSchemas: {
|
|
|
15486
15577
|
indicators: z.ZodArray<z.ZodString>;
|
|
15487
15578
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
15488
15579
|
}, z.core.$strip>>;
|
|
15580
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
15581
|
+
targetUrl: z.ZodString;
|
|
15582
|
+
delaySeconds: z.ZodNumber;
|
|
15583
|
+
}, z.core.$strip>>;
|
|
15489
15584
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
15490
15585
|
groups: z.ZodNumber;
|
|
15491
15586
|
panels: z.ZodNumber;
|
|
@@ -15541,8 +15636,8 @@ declare const crawlerJsonSchemas: {
|
|
|
15541
15636
|
status: z.ZodOptional<z.ZodNumber>;
|
|
15542
15637
|
error: z.ZodOptional<z.ZodString>;
|
|
15543
15638
|
state: z.ZodOptional<z.ZodEnum<{
|
|
15544
|
-
unavailable: "unavailable";
|
|
15545
15639
|
available: "available";
|
|
15640
|
+
unavailable: "unavailable";
|
|
15546
15641
|
"rate-limited": "rate-limited";
|
|
15547
15642
|
"confirmed-broken": "confirmed-broken";
|
|
15548
15643
|
transient: "transient";
|
|
@@ -15938,8 +16033,8 @@ declare const crawlerJsonSchemas: {
|
|
|
15938
16033
|
deferredUrls: z.ZodNumber;
|
|
15939
16034
|
limit: z.ZodNumber;
|
|
15940
16035
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
15941
|
-
unavailable: "unavailable";
|
|
15942
16036
|
available: "available";
|
|
16037
|
+
unavailable: "unavailable";
|
|
15943
16038
|
"rate-limited": "rate-limited";
|
|
15944
16039
|
"confirmed-broken": "confirmed-broken";
|
|
15945
16040
|
transient: "transient";
|
|
@@ -16879,6 +16974,7 @@ declare const crawlerJsonSchemas: {
|
|
|
16879
16974
|
"robots-blocked": "robots-blocked";
|
|
16880
16975
|
"canonical-conflict": "canonical-conflict";
|
|
16881
16976
|
"canonical-hint-other": "canonical-hint-other";
|
|
16977
|
+
"meta-refresh": "meta-refresh";
|
|
16882
16978
|
"not-html": "not-html";
|
|
16883
16979
|
}>>;
|
|
16884
16980
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -16930,6 +17026,10 @@ declare const crawlerJsonSchemas: {
|
|
|
16930
17026
|
indicators: z.ZodArray<z.ZodString>;
|
|
16931
17027
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
16932
17028
|
}, z.core.$strip>>;
|
|
17029
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
17030
|
+
targetUrl: z.ZodString;
|
|
17031
|
+
delaySeconds: z.ZodNumber;
|
|
17032
|
+
}, z.core.$strip>>;
|
|
16933
17033
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
16934
17034
|
groups: z.ZodNumber;
|
|
16935
17035
|
panels: z.ZodNumber;
|
|
@@ -16985,8 +17085,8 @@ declare const crawlerJsonSchemas: {
|
|
|
16985
17085
|
status: z.ZodOptional<z.ZodNumber>;
|
|
16986
17086
|
error: z.ZodOptional<z.ZodString>;
|
|
16987
17087
|
state: z.ZodOptional<z.ZodEnum<{
|
|
16988
|
-
unavailable: "unavailable";
|
|
16989
17088
|
available: "available";
|
|
17089
|
+
unavailable: "unavailable";
|
|
16990
17090
|
"rate-limited": "rate-limited";
|
|
16991
17091
|
"confirmed-broken": "confirmed-broken";
|
|
16992
17092
|
transient: "transient";
|
|
@@ -17382,8 +17482,8 @@ declare const crawlerJsonSchemas: {
|
|
|
17382
17482
|
deferredUrls: z.ZodNumber;
|
|
17383
17483
|
limit: z.ZodNumber;
|
|
17384
17484
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
17385
|
-
unavailable: "unavailable";
|
|
17386
17485
|
available: "available";
|
|
17486
|
+
unavailable: "unavailable";
|
|
17387
17487
|
"rate-limited": "rate-limited";
|
|
17388
17488
|
"confirmed-broken": "confirmed-broken";
|
|
17389
17489
|
transient: "transient";
|
|
@@ -18323,6 +18423,7 @@ declare const crawlerJsonSchemas: {
|
|
|
18323
18423
|
"robots-blocked": "robots-blocked";
|
|
18324
18424
|
"canonical-conflict": "canonical-conflict";
|
|
18325
18425
|
"canonical-hint-other": "canonical-hint-other";
|
|
18426
|
+
"meta-refresh": "meta-refresh";
|
|
18326
18427
|
"not-html": "not-html";
|
|
18327
18428
|
}>>;
|
|
18328
18429
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -18374,6 +18475,10 @@ declare const crawlerJsonSchemas: {
|
|
|
18374
18475
|
indicators: z.ZodArray<z.ZodString>;
|
|
18375
18476
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
18376
18477
|
}, z.core.$strip>>;
|
|
18478
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
18479
|
+
targetUrl: z.ZodString;
|
|
18480
|
+
delaySeconds: z.ZodNumber;
|
|
18481
|
+
}, z.core.$strip>>;
|
|
18377
18482
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
18378
18483
|
groups: z.ZodNumber;
|
|
18379
18484
|
panels: z.ZodNumber;
|
|
@@ -18429,8 +18534,8 @@ declare const crawlerJsonSchemas: {
|
|
|
18429
18534
|
status: z.ZodOptional<z.ZodNumber>;
|
|
18430
18535
|
error: z.ZodOptional<z.ZodString>;
|
|
18431
18536
|
state: z.ZodOptional<z.ZodEnum<{
|
|
18432
|
-
unavailable: "unavailable";
|
|
18433
18537
|
available: "available";
|
|
18538
|
+
unavailable: "unavailable";
|
|
18434
18539
|
"rate-limited": "rate-limited";
|
|
18435
18540
|
"confirmed-broken": "confirmed-broken";
|
|
18436
18541
|
transient: "transient";
|
|
@@ -18826,8 +18931,8 @@ declare const crawlerJsonSchemas: {
|
|
|
18826
18931
|
deferredUrls: z.ZodNumber;
|
|
18827
18932
|
limit: z.ZodNumber;
|
|
18828
18933
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
18829
|
-
unavailable: "unavailable";
|
|
18830
18934
|
available: "available";
|
|
18935
|
+
unavailable: "unavailable";
|
|
18831
18936
|
"rate-limited": "rate-limited";
|
|
18832
18937
|
"confirmed-broken": "confirmed-broken";
|
|
18833
18938
|
transient: "transient";
|
|
@@ -19901,6 +20006,7 @@ declare const crawlerJsonSchemas: {
|
|
|
19901
20006
|
"robots-blocked": "robots-blocked";
|
|
19902
20007
|
"canonical-conflict": "canonical-conflict";
|
|
19903
20008
|
"canonical-hint-other": "canonical-hint-other";
|
|
20009
|
+
"meta-refresh": "meta-refresh";
|
|
19904
20010
|
"not-html": "not-html";
|
|
19905
20011
|
}>>;
|
|
19906
20012
|
extractionStatus: z.ZodOptional<z.ZodEnum<{
|
|
@@ -19952,6 +20058,10 @@ declare const crawlerJsonSchemas: {
|
|
|
19952
20058
|
indicators: z.ZodArray<z.ZodString>;
|
|
19953
20059
|
formActionPath: z.ZodOptional<z.ZodString>;
|
|
19954
20060
|
}, z.core.$strip>>;
|
|
20061
|
+
metaRefresh: z.ZodOptional<z.ZodObject<{
|
|
20062
|
+
targetUrl: z.ZodString;
|
|
20063
|
+
delaySeconds: z.ZodNumber;
|
|
20064
|
+
}, z.core.$strip>>;
|
|
19955
20065
|
tabbedContent: z.ZodOptional<z.ZodObject<{
|
|
19956
20066
|
groups: z.ZodNumber;
|
|
19957
20067
|
panels: z.ZodNumber;
|
|
@@ -20007,8 +20117,8 @@ declare const crawlerJsonSchemas: {
|
|
|
20007
20117
|
status: z.ZodOptional<z.ZodNumber>;
|
|
20008
20118
|
error: z.ZodOptional<z.ZodString>;
|
|
20009
20119
|
state: z.ZodOptional<z.ZodEnum<{
|
|
20010
|
-
unavailable: "unavailable";
|
|
20011
20120
|
available: "available";
|
|
20121
|
+
unavailable: "unavailable";
|
|
20012
20122
|
"rate-limited": "rate-limited";
|
|
20013
20123
|
"confirmed-broken": "confirmed-broken";
|
|
20014
20124
|
transient: "transient";
|
|
@@ -20231,9 +20341,9 @@ declare function analyzeCtrUnderperformersFromRows(input: {
|
|
|
20231
20341
|
};
|
|
20232
20342
|
//#endregion
|
|
20233
20343
|
//#region packages/core/src/analyze/ctr-underperformers.d.ts
|
|
20234
|
-
type SearchAnalytics$
|
|
20344
|
+
type SearchAnalytics$10 = typeof querySearchAnalytics;
|
|
20235
20345
|
interface CtrUnderperformerDependencies {
|
|
20236
|
-
searchAnalytics: SearchAnalytics$
|
|
20346
|
+
searchAnalytics: SearchAnalytics$10;
|
|
20237
20347
|
now: () => Date;
|
|
20238
20348
|
}
|
|
20239
20349
|
declare function ctrUnderperformersReport(input: {
|
|
@@ -20431,7 +20541,7 @@ declare function resolveSegmentRanges(input: {
|
|
|
20431
20541
|
};
|
|
20432
20542
|
//#endregion
|
|
20433
20543
|
//#region packages/core/src/analyze/segment-impact.d.ts
|
|
20434
|
-
type SearchAnalytics$
|
|
20544
|
+
type SearchAnalytics$9 = typeof querySearchAnalytics;
|
|
20435
20545
|
interface SegmentImpactInput {
|
|
20436
20546
|
site: string;
|
|
20437
20547
|
dimension?: SegmentDimension;
|
|
@@ -20445,7 +20555,7 @@ interface SegmentImpactInput {
|
|
|
20445
20555
|
refresh?: boolean;
|
|
20446
20556
|
}
|
|
20447
20557
|
interface SegmentImpactDependencies {
|
|
20448
|
-
searchAnalytics: SearchAnalytics$
|
|
20558
|
+
searchAnalytics: SearchAnalytics$9;
|
|
20449
20559
|
now: () => Date;
|
|
20450
20560
|
}
|
|
20451
20561
|
declare function compareSegmentRows(input: {
|
|
@@ -20640,7 +20750,7 @@ declare const CANNIBAL_MINIMUM_PAGE_SHARE = 0.1;
|
|
|
20640
20750
|
declare const CANNIBAL_MAXIMUM_DOMINANT_SHARE = 0.8;
|
|
20641
20751
|
//#endregion
|
|
20642
20752
|
//#region packages/core/src/analyze/site-diagnostics/cannibal.d.ts
|
|
20643
|
-
type SearchAnalytics$
|
|
20753
|
+
type SearchAnalytics$8 = typeof querySearchAnalytics;
|
|
20644
20754
|
interface CannibalReportInput {
|
|
20645
20755
|
site: string;
|
|
20646
20756
|
days?: number;
|
|
@@ -20653,7 +20763,7 @@ interface CannibalReportInput {
|
|
|
20653
20763
|
refresh?: boolean;
|
|
20654
20764
|
}
|
|
20655
20765
|
interface CannibalDependencies {
|
|
20656
|
-
searchAnalytics: SearchAnalytics$
|
|
20766
|
+
searchAnalytics: SearchAnalytics$8;
|
|
20657
20767
|
now: () => Date;
|
|
20658
20768
|
}
|
|
20659
20769
|
declare function cannibalReport(input: CannibalReportInput, dependencies?: CannibalDependencies): Promise<CannibalReport>;
|
|
@@ -20821,7 +20931,7 @@ declare function decayComparisonRange(current: {
|
|
|
20821
20931
|
};
|
|
20822
20932
|
//#endregion
|
|
20823
20933
|
//#region packages/core/src/analyze/site-diagnostics/decaying.d.ts
|
|
20824
|
-
type SearchAnalytics$
|
|
20934
|
+
type SearchAnalytics$7 = typeof querySearchAnalytics;
|
|
20825
20935
|
interface DecayingReportInput {
|
|
20826
20936
|
site: string;
|
|
20827
20937
|
days?: number;
|
|
@@ -20837,7 +20947,7 @@ interface DecayingReportInput {
|
|
|
20837
20947
|
refresh?: boolean;
|
|
20838
20948
|
}
|
|
20839
20949
|
interface DecayingDependencies {
|
|
20840
|
-
searchAnalytics: SearchAnalytics$
|
|
20950
|
+
searchAnalytics: SearchAnalytics$7;
|
|
20841
20951
|
now: () => Date;
|
|
20842
20952
|
}
|
|
20843
20953
|
declare function decayingReport(input: DecayingReportInput, dependencies?: DecayingDependencies): Promise<DecayReport>;
|
|
@@ -20983,7 +21093,7 @@ type AnalyzeQuickWinsInput = {
|
|
|
20983
21093
|
declare function analyzeQuickWinsFromRows(input: AnalyzeQuickWinsInput): QuickWinAnalysis;
|
|
20984
21094
|
//#endregion
|
|
20985
21095
|
//#region packages/core/src/analyze/site-diagnostics/quick-wins.d.ts
|
|
20986
|
-
type SearchAnalytics$
|
|
21096
|
+
type SearchAnalytics$6 = typeof querySearchAnalytics;
|
|
20987
21097
|
type FetchPage$3 = typeof fetchPage;
|
|
20988
21098
|
type ExtractPage$2 = typeof extractPage;
|
|
20989
21099
|
type QuickWinsInput = {
|
|
@@ -21002,7 +21112,7 @@ type QuickWinsInput = {
|
|
|
21002
21112
|
refresh?: boolean;
|
|
21003
21113
|
};
|
|
21004
21114
|
type QuickWinsDependencies = {
|
|
21005
|
-
searchAnalytics: SearchAnalytics$
|
|
21115
|
+
searchAnalytics: SearchAnalytics$6;
|
|
21006
21116
|
fetch: FetchPage$3;
|
|
21007
21117
|
extract: ExtractPage$2;
|
|
21008
21118
|
now: () => Date;
|
|
@@ -21244,7 +21354,7 @@ type AnalyzeStrikingDistanceInput = {
|
|
|
21244
21354
|
declare function analyzeStrikingDistanceRows(input: AnalyzeStrikingDistanceInput): StrikingDistanceAnalysis;
|
|
21245
21355
|
//#endregion
|
|
21246
21356
|
//#region packages/core/src/analyze/striking-distance.d.ts
|
|
21247
|
-
type SearchAnalytics$
|
|
21357
|
+
type SearchAnalytics$5 = typeof querySearchAnalytics;
|
|
21248
21358
|
type VerifyQueryContent = typeof verifyQueryContent;
|
|
21249
21359
|
type StrikingDistanceInput = {
|
|
21250
21360
|
site: string;
|
|
@@ -21309,7 +21419,7 @@ type StrikingDistanceReport = {
|
|
|
21309
21419
|
recommendations: string[];
|
|
21310
21420
|
};
|
|
21311
21421
|
type StrikingDistanceDependencies = {
|
|
21312
|
-
searchAnalytics: SearchAnalytics$
|
|
21422
|
+
searchAnalytics: SearchAnalytics$5;
|
|
21313
21423
|
verifyContent: VerifyQueryContent;
|
|
21314
21424
|
now: () => Date;
|
|
21315
21425
|
};
|
|
@@ -21988,7 +22098,7 @@ interface InternalLinksAnalysis {
|
|
|
21988
22098
|
declare function analyzeInternalLinksFromRows(input: InternalLinksAnalysisInput): InternalLinksAnalysis;
|
|
21989
22099
|
//#endregion
|
|
21990
22100
|
//#region packages/core/src/analyze/internal-links.d.ts
|
|
21991
|
-
type SearchAnalytics$
|
|
22101
|
+
type SearchAnalytics$4 = typeof querySearchAnalytics;
|
|
21992
22102
|
type FetchPage$2 = typeof fetchPage;
|
|
21993
22103
|
type ExtractPage$1 = typeof extractPage;
|
|
21994
22104
|
interface InternalLinksInput {
|
|
@@ -22005,13 +22115,548 @@ interface InternalLinksInput {
|
|
|
22005
22115
|
refresh?: boolean;
|
|
22006
22116
|
}
|
|
22007
22117
|
interface InternalLinksDependencies {
|
|
22008
|
-
searchAnalytics: SearchAnalytics$
|
|
22118
|
+
searchAnalytics: SearchAnalytics$4;
|
|
22009
22119
|
fetch: FetchPage$2;
|
|
22010
22120
|
extract: ExtractPage$1;
|
|
22011
22121
|
now: () => Date;
|
|
22012
22122
|
}
|
|
22013
22123
|
declare function internalLinksReport(input: InternalLinksInput, dependencies?: InternalLinksDependencies): Promise<InternalLinksReport>;
|
|
22014
22124
|
//#endregion
|
|
22125
|
+
//#region packages/core/src/providers/contracts.d.ts
|
|
22126
|
+
declare const providerIdSchema: z.ZodEnum<{
|
|
22127
|
+
dataforseo: "dataforseo";
|
|
22128
|
+
semrush: "semrush";
|
|
22129
|
+
ahrefs: "ahrefs";
|
|
22130
|
+
}>;
|
|
22131
|
+
type ProviderId = z.infer<typeof providerIdSchema>;
|
|
22132
|
+
declare const providerCapabilitySchema: z.ZodEnum<{
|
|
22133
|
+
"keyword-metrics": "keyword-metrics";
|
|
22134
|
+
"keyword-discovery": "keyword-discovery";
|
|
22135
|
+
"serp-snapshot": "serp-snapshot";
|
|
22136
|
+
"domain-overview": "domain-overview";
|
|
22137
|
+
"ranked-keywords": "ranked-keywords";
|
|
22138
|
+
"relevant-pages": "relevant-pages";
|
|
22139
|
+
"serp-competitors": "serp-competitors";
|
|
22140
|
+
"link-summary": "link-summary";
|
|
22141
|
+
"referring-domains": "referring-domains";
|
|
22142
|
+
backlinks: "backlinks";
|
|
22143
|
+
"domain-rating": "domain-rating";
|
|
22144
|
+
"local-search": "local-search";
|
|
22145
|
+
"ai-mentions": "ai-mentions";
|
|
22146
|
+
"ai-prompt-observation": "ai-prompt-observation";
|
|
22147
|
+
}>;
|
|
22148
|
+
type ProviderCapability = z.infer<typeof providerCapabilitySchema>;
|
|
22149
|
+
declare const searchMarketSchema: z.ZodObject<{
|
|
22150
|
+
searchEngine: z.ZodDefault<z.ZodEnum<{
|
|
22151
|
+
google: "google";
|
|
22152
|
+
bing: "bing";
|
|
22153
|
+
}>>;
|
|
22154
|
+
countryCode: z.ZodString;
|
|
22155
|
+
languageCode: z.ZodString;
|
|
22156
|
+
location: z.ZodOptional<z.ZodObject<{
|
|
22157
|
+
code: z.ZodOptional<z.ZodNumber>;
|
|
22158
|
+
name: z.ZodOptional<z.ZodString>;
|
|
22159
|
+
}, z.core.$strip>>;
|
|
22160
|
+
device: z.ZodOptional<z.ZodEnum<{
|
|
22161
|
+
mobile: "mobile";
|
|
22162
|
+
desktop: "desktop";
|
|
22163
|
+
}>>;
|
|
22164
|
+
}, z.core.$strict>;
|
|
22165
|
+
type SearchMarket = z.infer<typeof searchMarketSchema>;
|
|
22166
|
+
type ProviderValue<T> = {
|
|
22167
|
+
state: 'observed';
|
|
22168
|
+
value: T;
|
|
22169
|
+
} | {
|
|
22170
|
+
state: 'missing' | 'unavailable' | 'invalid';
|
|
22171
|
+
value: null;
|
|
22172
|
+
reason: string;
|
|
22173
|
+
};
|
|
22174
|
+
declare function observedValue<T>(value: T): ProviderValue<T>;
|
|
22175
|
+
declare function unavailableValue<T>(state: 'missing' | 'unavailable' | 'invalid', reason: string): ProviderValue<T>;
|
|
22176
|
+
type ProviderWarning = {
|
|
22177
|
+
code: string;
|
|
22178
|
+
message: string;
|
|
22179
|
+
field?: string;
|
|
22180
|
+
row?: number;
|
|
22181
|
+
};
|
|
22182
|
+
type ProviderCoverage = {
|
|
22183
|
+
requestedRows: number | null;
|
|
22184
|
+
returnedRows: number | null;
|
|
22185
|
+
retainedRows: number | null;
|
|
22186
|
+
invalidRows: number;
|
|
22187
|
+
providerTotalRows: number | null;
|
|
22188
|
+
completeness: 'complete' | 'partial' | 'capped' | 'filtered' | 'unavailable' | 'invalid' | 'unknown';
|
|
22189
|
+
nextCursor: string | null;
|
|
22190
|
+
};
|
|
22191
|
+
type ProviderCacheEvidence = {
|
|
22192
|
+
status: 'hit' | 'miss' | 'bypass';
|
|
22193
|
+
storedAt: string | null;
|
|
22194
|
+
expiresAt: string | null;
|
|
22195
|
+
};
|
|
22196
|
+
type ProviderCostEvidence = {
|
|
22197
|
+
currency: 'USD';
|
|
22198
|
+
estimatedMicros: number | null;
|
|
22199
|
+
actualMicros: number | null;
|
|
22200
|
+
taskIds: string[];
|
|
22201
|
+
};
|
|
22202
|
+
type ProviderRequestEvidence = {
|
|
22203
|
+
operation: string;
|
|
22204
|
+
endpoint: string;
|
|
22205
|
+
limit: number | null;
|
|
22206
|
+
filters: Record<string, string | number | boolean>;
|
|
22207
|
+
sort: string[];
|
|
22208
|
+
};
|
|
22209
|
+
type ProviderEvidence<T> = {
|
|
22210
|
+
schemaVersion: 1;
|
|
22211
|
+
provider: ProviderId;
|
|
22212
|
+
capability: ProviderCapability;
|
|
22213
|
+
data: T;
|
|
22214
|
+
observedAt: string;
|
|
22215
|
+
market: SearchMarket;
|
|
22216
|
+
coverage: ProviderCoverage;
|
|
22217
|
+
cache: ProviderCacheEvidence;
|
|
22218
|
+
cost: ProviderCostEvidence;
|
|
22219
|
+
request: ProviderRequestEvidence;
|
|
22220
|
+
warnings: ProviderWarning[];
|
|
22221
|
+
};
|
|
22222
|
+
type ProviderCapabilitySupport = {
|
|
22223
|
+
capability: ProviderCapability;
|
|
22224
|
+
status: 'available' | 'unavailable';
|
|
22225
|
+
reason?: string;
|
|
22226
|
+
markets: 'all' | readonly ProviderMarketSupport[];
|
|
22227
|
+
};
|
|
22228
|
+
type ProviderMarketSupport = {
|
|
22229
|
+
searchEngines?: readonly SearchMarket['searchEngine'][];
|
|
22230
|
+
countryCodes?: readonly string[];
|
|
22231
|
+
languageCodes?: readonly string[];
|
|
22232
|
+
devices?: readonly NonNullable<SearchMarket['device']>[];
|
|
22233
|
+
location?: 'any' | 'country-only' | 'canonical';
|
|
22234
|
+
};
|
|
22235
|
+
interface ProviderAdapter {
|
|
22236
|
+
readonly provider: ProviderId;
|
|
22237
|
+
readonly capabilitySupport: readonly ProviderCapabilitySupport[];
|
|
22238
|
+
}
|
|
22239
|
+
type KeywordMetric = {
|
|
22240
|
+
keyword: string;
|
|
22241
|
+
monthlySearchVolume: ProviderValue<number>;
|
|
22242
|
+
monthlySearches: ProviderValue<KeywordMonthlySearch[]>;
|
|
22243
|
+
searchVolumeUpdatedAt: ProviderValue<string>;
|
|
22244
|
+
cpcUsd: ProviderValue<number>;
|
|
22245
|
+
paidCompetition: ProviderValue<number>;
|
|
22246
|
+
keywordDifficulty: ProviderValue<number>;
|
|
22247
|
+
intent: ProviderValue<string>;
|
|
22248
|
+
resultCount: ProviderValue<number>;
|
|
22249
|
+
};
|
|
22250
|
+
type KeywordMonthlySearch = {
|
|
22251
|
+
year: number;
|
|
22252
|
+
month: number;
|
|
22253
|
+
searchVolume: number;
|
|
22254
|
+
};
|
|
22255
|
+
type ProviderRequestContext = {
|
|
22256
|
+
projectId?: string;
|
|
22257
|
+
reportId: string;
|
|
22258
|
+
reportRunId: string;
|
|
22259
|
+
};
|
|
22260
|
+
type KeywordMetricsRequest = {
|
|
22261
|
+
keywords: string[];
|
|
22262
|
+
market: SearchMarket;
|
|
22263
|
+
refresh?: boolean;
|
|
22264
|
+
context?: ProviderRequestContext;
|
|
22265
|
+
};
|
|
22266
|
+
interface KeywordMetricsProvider extends ProviderAdapter {
|
|
22267
|
+
keywordMetrics(input: KeywordMetricsRequest): Promise<ProviderEvidence<KeywordMetric[]>>;
|
|
22268
|
+
}
|
|
22269
|
+
declare const keywordDiscoverySourceSchema: z.ZodEnum<{
|
|
22270
|
+
ideas: "ideas";
|
|
22271
|
+
related: "related";
|
|
22272
|
+
suggestions: "suggestions";
|
|
22273
|
+
}>;
|
|
22274
|
+
type KeywordDiscoverySource = z.infer<typeof keywordDiscoverySourceSchema>;
|
|
22275
|
+
type KeywordIdeaSource = {
|
|
22276
|
+
seed: string;
|
|
22277
|
+
source: KeywordDiscoverySource;
|
|
22278
|
+
};
|
|
22279
|
+
type KeywordIdea = KeywordMetric & {
|
|
22280
|
+
sources: KeywordIdeaSource[];
|
|
22281
|
+
};
|
|
22282
|
+
type KeywordDiscoveryRequest = {
|
|
22283
|
+
seeds: string[];
|
|
22284
|
+
sources: KeywordDiscoverySource[];
|
|
22285
|
+
market: SearchMarket;
|
|
22286
|
+
limit: number;
|
|
22287
|
+
refresh?: boolean;
|
|
22288
|
+
context?: ProviderRequestContext;
|
|
22289
|
+
};
|
|
22290
|
+
interface KeywordDiscoveryProvider extends ProviderAdapter {
|
|
22291
|
+
discoverKeywords(input: KeywordDiscoveryRequest): Promise<ProviderEvidence<KeywordIdea[]>>;
|
|
22292
|
+
}
|
|
22293
|
+
type SerpOrganicResult = {
|
|
22294
|
+
rankGroup: number;
|
|
22295
|
+
rankAbsolute: number;
|
|
22296
|
+
page: number;
|
|
22297
|
+
domain: string;
|
|
22298
|
+
url: string;
|
|
22299
|
+
title: string | null;
|
|
22300
|
+
description: string | null;
|
|
22301
|
+
isFeaturedSnippet: boolean | null;
|
|
22302
|
+
};
|
|
22303
|
+
type SerpSnapshot = {
|
|
22304
|
+
keyword: string;
|
|
22305
|
+
effectiveKeyword: string;
|
|
22306
|
+
searchEngineDomain: string | null;
|
|
22307
|
+
checkedAt: string;
|
|
22308
|
+
checkUrl: string | null;
|
|
22309
|
+
resultCount: number | null;
|
|
22310
|
+
pagesCount: number | null;
|
|
22311
|
+
features: string[];
|
|
22312
|
+
organicResults: SerpOrganicResult[];
|
|
22313
|
+
};
|
|
22314
|
+
type SerpSnapshotRequest = {
|
|
22315
|
+
keyword: string;
|
|
22316
|
+
market: SearchMarket;
|
|
22317
|
+
depth: number;
|
|
22318
|
+
refresh?: boolean;
|
|
22319
|
+
context?: ProviderRequestContext;
|
|
22320
|
+
};
|
|
22321
|
+
interface SerpSnapshotProvider extends ProviderAdapter {
|
|
22322
|
+
serpSnapshot(input: SerpSnapshotRequest): Promise<ProviderEvidence<SerpSnapshot>>;
|
|
22323
|
+
}
|
|
22324
|
+
//#endregion
|
|
22325
|
+
//#region packages/core/src/providers/resolver.d.ts
|
|
22326
|
+
type ProviderCandidate = {
|
|
22327
|
+
adapter: ProviderAdapter;
|
|
22328
|
+
connected: boolean;
|
|
22329
|
+
priority: number;
|
|
22330
|
+
};
|
|
22331
|
+
type ProviderResolution = {
|
|
22332
|
+
status: 'available';
|
|
22333
|
+
provider: ProviderAdapter;
|
|
22334
|
+
considered: ProviderId[];
|
|
22335
|
+
} | {
|
|
22336
|
+
status: 'unavailable';
|
|
22337
|
+
reason: 'provider-not-registered' | 'provider-not-connected' | 'capability-not-supported' | 'market-not-supported';
|
|
22338
|
+
considered: ProviderId[];
|
|
22339
|
+
};
|
|
22340
|
+
declare function resolveProvider(input: {
|
|
22341
|
+
capability: ProviderCapability;
|
|
22342
|
+
market: SearchMarket;
|
|
22343
|
+
candidates: readonly ProviderCandidate[];
|
|
22344
|
+
provider?: ProviderId;
|
|
22345
|
+
}): ProviderResolution;
|
|
22346
|
+
//#endregion
|
|
22347
|
+
//#region packages/core/src/analyze/keyword-metrics.d.ts
|
|
22348
|
+
type KeywordTrend = {
|
|
22349
|
+
state: 'observed';
|
|
22350
|
+
direction: 'increasing' | 'decreasing' | 'stable' | 'increased-from-zero';
|
|
22351
|
+
recentAverage: number;
|
|
22352
|
+
previousAverage: number;
|
|
22353
|
+
absoluteChange: number;
|
|
22354
|
+
percentChange: ProviderValue<number>;
|
|
22355
|
+
months: Array<{
|
|
22356
|
+
year: number;
|
|
22357
|
+
month: number;
|
|
22358
|
+
}>;
|
|
22359
|
+
methodology: string;
|
|
22360
|
+
} | {
|
|
22361
|
+
state: 'unavailable';
|
|
22362
|
+
reason: string;
|
|
22363
|
+
};
|
|
22364
|
+
type KeywordMetricAnalysis = {
|
|
22365
|
+
keyword: string;
|
|
22366
|
+
trend: KeywordTrend;
|
|
22367
|
+
};
|
|
22368
|
+
type KeywordMetricFinding = {
|
|
22369
|
+
code: 'recent-demand-increase' | 'recent-demand-decrease';
|
|
22370
|
+
keyword: string;
|
|
22371
|
+
evidenceRef: string;
|
|
22372
|
+
principle: string;
|
|
22373
|
+
detail: string;
|
|
22374
|
+
};
|
|
22375
|
+
type KeywordMetricsReport = {
|
|
22376
|
+
schemaVersion: 1;
|
|
22377
|
+
generatedAt: string;
|
|
22378
|
+
dataStatus: 'complete' | 'partial' | 'unavailable';
|
|
22379
|
+
market: SearchMarket;
|
|
22380
|
+
summary: {
|
|
22381
|
+
requestedKeywords: number;
|
|
22382
|
+
providerRows: number;
|
|
22383
|
+
keywordsWithObservedVolume: number;
|
|
22384
|
+
observedZeroVolume: number;
|
|
22385
|
+
missingOrInvalidVolume: number;
|
|
22386
|
+
increasingTrends: number;
|
|
22387
|
+
decreasingTrends: number;
|
|
22388
|
+
stableTrends: number;
|
|
22389
|
+
unavailableTrends: number;
|
|
22390
|
+
verdict: string;
|
|
22391
|
+
};
|
|
22392
|
+
evidence: ProviderEvidence<KeywordMetric[]>;
|
|
22393
|
+
analysis: KeywordMetricAnalysis[];
|
|
22394
|
+
findings: KeywordMetricFinding[];
|
|
22395
|
+
caveats: string[];
|
|
22396
|
+
nextSteps: string[];
|
|
22397
|
+
};
|
|
22398
|
+
type KeywordMetricsReportDependencies = {
|
|
22399
|
+
candidates?: readonly ProviderCandidate[];
|
|
22400
|
+
now?: () => Date;
|
|
22401
|
+
};
|
|
22402
|
+
declare function analyzeKeywordTrend(metric: KeywordMetric): KeywordTrend;
|
|
22403
|
+
declare function keywordMetricsReport(input: {
|
|
22404
|
+
keywords: string[];
|
|
22405
|
+
market: SearchMarket;
|
|
22406
|
+
provider?: ProviderId;
|
|
22407
|
+
projectId?: string;
|
|
22408
|
+
context?: Partial<ProviderRequestContext>;
|
|
22409
|
+
refresh?: boolean;
|
|
22410
|
+
}, dependencies?: KeywordMetricsReportDependencies): Promise<KeywordMetricsReport>;
|
|
22411
|
+
//#endregion
|
|
22412
|
+
//#region packages/core/src/analyze/pseo/query-insights.d.ts
|
|
22413
|
+
type PseoQueryPattern = {
|
|
22414
|
+
label: string;
|
|
22415
|
+
queryCount: number;
|
|
22416
|
+
clicks: number;
|
|
22417
|
+
impressions: number;
|
|
22418
|
+
examples: string[];
|
|
22419
|
+
};
|
|
22420
|
+
//#endregion
|
|
22421
|
+
//#region packages/core/src/analyze/second-page-analysis.d.ts
|
|
22422
|
+
declare function analyzeSecondPageRows(input: AnalyzeSecondPageInput): SecondPageAnalysis;
|
|
22423
|
+
//#endregion
|
|
22424
|
+
//#region packages/core/src/analyze/keyword-opportunity-contract.d.ts
|
|
22425
|
+
type KeywordOpportunitySource = 'quick-wins' | 'second-page' | 'striking-distance';
|
|
22426
|
+
type KeywordOpportunitiesInput = {
|
|
22427
|
+
site: string;
|
|
22428
|
+
days?: number;
|
|
22429
|
+
minImpressions?: number;
|
|
22430
|
+
limit?: number;
|
|
22431
|
+
keywordLimit?: number;
|
|
22432
|
+
queriesPerPage?: number;
|
|
22433
|
+
clusterLimit?: number;
|
|
22434
|
+
brandTerms?: string[];
|
|
22435
|
+
includeBrand?: boolean;
|
|
22436
|
+
includeExternal?: boolean;
|
|
22437
|
+
market?: SearchMarket;
|
|
22438
|
+
provider?: ProviderId;
|
|
22439
|
+
projectId?: string;
|
|
22440
|
+
refresh?: boolean;
|
|
22441
|
+
};
|
|
22442
|
+
type BoundedSecondPageItem = Omit<SecondPageItem, 'queries'> & {
|
|
22443
|
+
queries: SecondPageItem['queries'];
|
|
22444
|
+
queryCoverage: {
|
|
22445
|
+
available: number;
|
|
22446
|
+
returned: number;
|
|
22447
|
+
omitted: number;
|
|
22448
|
+
};
|
|
22449
|
+
};
|
|
22450
|
+
type QuickWinsSection = Omit<QuickWinAnalysis, 'eligibleItems'>;
|
|
22451
|
+
type SecondPageSection = Omit<SecondPageAnalysis, 'items'> & {
|
|
22452
|
+
items: BoundedSecondPageItem[];
|
|
22453
|
+
};
|
|
22454
|
+
type StrikingDistanceSection = Omit<StrikingDistanceAnalysis, 'groups'> & {
|
|
22455
|
+
groups: StrikingDistanceAnalysis['groups'];
|
|
22456
|
+
groupCoverage: {
|
|
22457
|
+
available: number;
|
|
22458
|
+
returned: number;
|
|
22459
|
+
omitted: number;
|
|
22460
|
+
};
|
|
22461
|
+
};
|
|
22462
|
+
type KeywordOpportunityFirstParty = {
|
|
22463
|
+
provider: 'google-search-console';
|
|
22464
|
+
dimensions: ['query', 'page'];
|
|
22465
|
+
searchType: 'web';
|
|
22466
|
+
dataState: 'final';
|
|
22467
|
+
rowsFetched: number;
|
|
22468
|
+
calls: number;
|
|
22469
|
+
maxRows: number;
|
|
22470
|
+
possiblyTruncated: boolean;
|
|
22471
|
+
completeness: 'retained-query-rows-only';
|
|
22472
|
+
quickWins: QuickWinsSection;
|
|
22473
|
+
secondPage: SecondPageSection;
|
|
22474
|
+
strikingDistance: StrikingDistanceSection;
|
|
22475
|
+
};
|
|
22476
|
+
type KeywordOpportunityExternal = {
|
|
22477
|
+
requested: boolean;
|
|
22478
|
+
status: 'not-requested' | 'skipped' | 'complete' | 'partial' | 'unavailable';
|
|
22479
|
+
selection: {
|
|
22480
|
+
availableKeywords: number;
|
|
22481
|
+
requestedKeywords: number;
|
|
22482
|
+
omittedKeywords: number;
|
|
22483
|
+
method: 'round-robin-first-party-sections';
|
|
22484
|
+
};
|
|
22485
|
+
report: KeywordMetricsReport | null;
|
|
22486
|
+
reason?: string;
|
|
22487
|
+
error?: {
|
|
22488
|
+
code: 'PROVIDER_UNAVAILABLE' | 'RATE_LIMITED';
|
|
22489
|
+
message: string;
|
|
22490
|
+
retryable: boolean;
|
|
22491
|
+
};
|
|
22492
|
+
};
|
|
22493
|
+
type KeywordOpportunityCombined = {
|
|
22494
|
+
keyword: string;
|
|
22495
|
+
sources: KeywordOpportunitySource[];
|
|
22496
|
+
firstParty: {
|
|
22497
|
+
clicks: number;
|
|
22498
|
+
impressions: number;
|
|
22499
|
+
ctr: number;
|
|
22500
|
+
averagePosition: number;
|
|
22501
|
+
urls: Array<{
|
|
22502
|
+
url: string;
|
|
22503
|
+
clicks: number;
|
|
22504
|
+
impressions: number;
|
|
22505
|
+
ctr: number;
|
|
22506
|
+
averagePosition: number;
|
|
22507
|
+
}>;
|
|
22508
|
+
urlCoverage: {
|
|
22509
|
+
available: number;
|
|
22510
|
+
returned: number;
|
|
22511
|
+
omitted: number;
|
|
22512
|
+
};
|
|
22513
|
+
};
|
|
22514
|
+
external?: {
|
|
22515
|
+
evidenceRef: string;
|
|
22516
|
+
monthlySearchVolume: KeywordMetric['monthlySearchVolume'];
|
|
22517
|
+
cpcUsd: KeywordMetric['cpcUsd'];
|
|
22518
|
+
keywordDifficulty: KeywordMetric['keywordDifficulty'];
|
|
22519
|
+
intent: KeywordMetric['intent'];
|
|
22520
|
+
resultCount: KeywordMetric['resultCount'];
|
|
22521
|
+
trend: KeywordTrend;
|
|
22522
|
+
};
|
|
22523
|
+
};
|
|
22524
|
+
type KeywordOpportunityCluster = QueryCluster & {
|
|
22525
|
+
externalContext: {
|
|
22526
|
+
selectedQueries: number;
|
|
22527
|
+
metricsWithObservedVolume: number;
|
|
22528
|
+
metricEvidenceRefs: string[];
|
|
22529
|
+
};
|
|
22530
|
+
};
|
|
22531
|
+
type KeywordOpportunityFinding = {
|
|
22532
|
+
code: 'provider-zero-with-first-party-impressions';
|
|
22533
|
+
keyword: string;
|
|
22534
|
+
evidenceRefs: [string, string];
|
|
22535
|
+
detail: string;
|
|
22536
|
+
action: string;
|
|
22537
|
+
} | {
|
|
22538
|
+
code: 'recent-demand-increase';
|
|
22539
|
+
keyword: string;
|
|
22540
|
+
evidenceRefs: [string, string];
|
|
22541
|
+
detail: string;
|
|
22542
|
+
action: string;
|
|
22543
|
+
} | {
|
|
22544
|
+
code: 'programmatic-template-cluster';
|
|
22545
|
+
keyword: string;
|
|
22546
|
+
evidenceRefs: [string];
|
|
22547
|
+
detail: string;
|
|
22548
|
+
action: string;
|
|
22549
|
+
};
|
|
22550
|
+
type KeywordOpportunityDataSourcePrompt = {
|
|
22551
|
+
clusterRef: string;
|
|
22552
|
+
queryLabel: string;
|
|
22553
|
+
instruction: string;
|
|
22554
|
+
requiredChecks: readonly ['stable entity IDs and join keys', 'required attributes and missing-value rules', 'source provenance and usage rights', 'update cadence and freshness checks', 'page uniqueness and duplicate prevention', 'representative output and internal-link review'];
|
|
22555
|
+
evidenceBoundary: string;
|
|
22556
|
+
};
|
|
22557
|
+
type KeywordOpportunitiesReport = {
|
|
22558
|
+
schemaVersion: 1;
|
|
22559
|
+
site: string;
|
|
22560
|
+
generatedAt: string;
|
|
22561
|
+
range: {
|
|
22562
|
+
startDate: string;
|
|
22563
|
+
endDate: string;
|
|
22564
|
+
};
|
|
22565
|
+
rangeDays: number;
|
|
22566
|
+
dataStatus: 'complete' | 'partial' | 'empty' | 'filtered';
|
|
22567
|
+
summary: {
|
|
22568
|
+
sourceRows: number;
|
|
22569
|
+
quickWinCandidates: number;
|
|
22570
|
+
secondPageCandidates: number;
|
|
22571
|
+
strikingDistanceCandidates: number;
|
|
22572
|
+
availableCandidateKeywords: number;
|
|
22573
|
+
returnedCandidateKeywords: number;
|
|
22574
|
+
externalMetricsObserved: number;
|
|
22575
|
+
candidateClusters: number;
|
|
22576
|
+
programmaticTemplateClusters: number;
|
|
22577
|
+
verdict: string;
|
|
22578
|
+
};
|
|
22579
|
+
methodology: {
|
|
22580
|
+
id: 'gsc_keyword_opportunities_v1';
|
|
22581
|
+
sourceAcquisition: 'one-bounded-query-page-acquisition';
|
|
22582
|
+
opportunityAnalyses: readonly ['gsc_quick_wins_v2', 'gsc_second_page_v2', 'gsc_striking_distance_v2'];
|
|
22583
|
+
externalSelection: 'round-robin-first-party-sections';
|
|
22584
|
+
externalChangesPriorityScore: false;
|
|
22585
|
+
clustersUse: 'returned-opportunity-keyword-subset';
|
|
22586
|
+
clusterMinImpressions: 25;
|
|
22587
|
+
};
|
|
22588
|
+
firstParty: KeywordOpportunityFirstParty;
|
|
22589
|
+
external: KeywordOpportunityExternal;
|
|
22590
|
+
combined: KeywordOpportunityCombined[];
|
|
22591
|
+
candidateClusters: KeywordOpportunityCluster[];
|
|
22592
|
+
programmaticPatterns: PseoQueryPattern[];
|
|
22593
|
+
findings: KeywordOpportunityFinding[];
|
|
22594
|
+
dataSourcePrompts: KeywordOpportunityDataSourcePrompt[];
|
|
22595
|
+
caveats: string[];
|
|
22596
|
+
nextSteps: string[];
|
|
22597
|
+
};
|
|
22598
|
+
//#endregion
|
|
22599
|
+
//#region packages/core/src/analyze/keyword-opportunities.d.ts
|
|
22600
|
+
type SearchAnalytics$3 = typeof querySearchAnalytics;
|
|
22601
|
+
type KeywordMetrics = typeof keywordMetricsReport;
|
|
22602
|
+
type KeywordOpportunitiesDependencies = {
|
|
22603
|
+
searchAnalytics?: SearchAnalytics$3;
|
|
22604
|
+
keywordMetrics?: KeywordMetrics;
|
|
22605
|
+
now?: () => Date;
|
|
22606
|
+
};
|
|
22607
|
+
declare function keywordOpportunitiesReport(input: KeywordOpportunitiesInput, dependencies?: KeywordOpportunitiesDependencies): Promise<KeywordOpportunitiesReport>;
|
|
22608
|
+
//#endregion
|
|
22609
|
+
//#region packages/core/src/analyze/keyword-research.d.ts
|
|
22610
|
+
type KeywordResearchAnalysis = {
|
|
22611
|
+
keyword: string;
|
|
22612
|
+
sourceCount: number;
|
|
22613
|
+
seedCount: number;
|
|
22614
|
+
trend: KeywordTrend;
|
|
22615
|
+
};
|
|
22616
|
+
type KeywordResearchFinding = {
|
|
22617
|
+
code: 'multi-source-keyword' | 'recent-demand-increase';
|
|
22618
|
+
keyword: string;
|
|
22619
|
+
evidenceRef: string;
|
|
22620
|
+
principle: string;
|
|
22621
|
+
detail: string;
|
|
22622
|
+
};
|
|
22623
|
+
type KeywordResearchReport = {
|
|
22624
|
+
schemaVersion: 1;
|
|
22625
|
+
generatedAt: string;
|
|
22626
|
+
dataStatus: 'complete' | 'partial' | 'unavailable';
|
|
22627
|
+
market: SearchMarket;
|
|
22628
|
+
summary: {
|
|
22629
|
+
requestedSeeds: number;
|
|
22630
|
+
requestedSources: number;
|
|
22631
|
+
discoveredKeywords: number;
|
|
22632
|
+
keywordsWithObservedVolume: number;
|
|
22633
|
+
observedZeroVolume: number;
|
|
22634
|
+
missingOrInvalidVolume: number;
|
|
22635
|
+
keywordsFoundBySeveralSources: number;
|
|
22636
|
+
increasingTrends: number;
|
|
22637
|
+
verdict: string;
|
|
22638
|
+
};
|
|
22639
|
+
evidence: ProviderEvidence<KeywordIdea[]>;
|
|
22640
|
+
analysis: KeywordResearchAnalysis[];
|
|
22641
|
+
findings: KeywordResearchFinding[];
|
|
22642
|
+
caveats: string[];
|
|
22643
|
+
nextSteps: string[];
|
|
22644
|
+
};
|
|
22645
|
+
type KeywordResearchReportDependencies = {
|
|
22646
|
+
candidates?: readonly ProviderCandidate[];
|
|
22647
|
+
now?: () => Date;
|
|
22648
|
+
};
|
|
22649
|
+
declare function keywordResearchReport(input: {
|
|
22650
|
+
seeds: string[];
|
|
22651
|
+
sources?: KeywordDiscoverySource[];
|
|
22652
|
+
market: SearchMarket;
|
|
22653
|
+
limit?: number;
|
|
22654
|
+
provider?: ProviderId;
|
|
22655
|
+
projectId?: string;
|
|
22656
|
+
context?: Partial<ProviderRequestContext>;
|
|
22657
|
+
refresh?: boolean;
|
|
22658
|
+
}, dependencies?: KeywordResearchReportDependencies): Promise<KeywordResearchReport>;
|
|
22659
|
+
//#endregion
|
|
22015
22660
|
//#region packages/core/src/analyze/monitoring/crawl-diff.d.ts
|
|
22016
22661
|
declare function compareCrawlPages(input: {
|
|
22017
22662
|
current: CrawlPageSnapshot[];
|
|
@@ -22416,14 +23061,15 @@ declare namespace SqliteDatabase {
|
|
|
22416
23061
|
}
|
|
22417
23062
|
//#endregion
|
|
22418
23063
|
//#region packages/core/src/storage/database.d.ts
|
|
23064
|
+
declare function ensurePrivateDatabaseFiles(path: string): void;
|
|
22419
23065
|
declare function getDb(): SqliteDatabase.Database;
|
|
22420
|
-
declare function noteCacheWrite(sizeBytes?: number): void;
|
|
23066
|
+
declare function noteCacheWrite(sizeBytes?: number, database?: SqliteDatabase.Database): void;
|
|
22421
23067
|
declare function checkDatabaseReadiness(): {
|
|
22422
23068
|
dbPath: string;
|
|
22423
23069
|
};
|
|
22424
23070
|
declare function hashKey(parts: unknown[]): string;
|
|
22425
23071
|
declare function getCacheStats(): CacheStats;
|
|
22426
|
-
declare function clearCache(provider?: 'gsc' | 'google-analytics' | 'semrush' | 'http', olderThanMs?: number): number;
|
|
23072
|
+
declare function clearCache(provider?: 'gsc' | 'google-analytics' | 'semrush' | 'dataforseo' | 'http', olderThanMs?: number): number;
|
|
22427
23073
|
//#endregion
|
|
22428
23074
|
//#region packages/core/src/analyze/monitoring/index-watch.d.ts
|
|
22429
23075
|
declare const INDEX_WATCH_ATTEMPT_RETENTION = 20;
|
|
@@ -22740,15 +23386,6 @@ declare function performanceAudit(input: {
|
|
|
22740
23386
|
now?: () => Date;
|
|
22741
23387
|
}): Promise<PerformanceAuditReport>;
|
|
22742
23388
|
//#endregion
|
|
22743
|
-
//#region packages/core/src/analyze/pseo/query-insights.d.ts
|
|
22744
|
-
type PseoQueryPattern = {
|
|
22745
|
-
label: string;
|
|
22746
|
-
queryCount: number;
|
|
22747
|
-
clicks: number;
|
|
22748
|
-
impressions: number;
|
|
22749
|
-
examples: string[];
|
|
22750
|
-
};
|
|
22751
|
-
//#endregion
|
|
22752
23389
|
//#region packages/core/src/analyze/pseo/types.d.ts
|
|
22753
23390
|
type PseoQueryPageRow = {
|
|
22754
23391
|
query: string;
|
|
@@ -23025,6 +23662,25 @@ declare function pseoAuditOptions(input: Omit<PseoAuditInput, 'site'>): {
|
|
|
23025
23662
|
rate?: FetchRateControls | undefined;
|
|
23026
23663
|
progress?: ProgressReporter | undefined;
|
|
23027
23664
|
};
|
|
23665
|
+
type PseoAuditAcquisition = {
|
|
23666
|
+
options: ReturnType<typeof pseoAuditOptions>;
|
|
23667
|
+
generatedAt: string;
|
|
23668
|
+
range: {
|
|
23669
|
+
startDate: string;
|
|
23670
|
+
endDate: string;
|
|
23671
|
+
};
|
|
23672
|
+
warnings: string[];
|
|
23673
|
+
sitemapUrls: string[];
|
|
23674
|
+
pageRows: PseoPageRow[];
|
|
23675
|
+
queryPageRows: PseoQueryPageRow[];
|
|
23676
|
+
pageRowsFetched: number;
|
|
23677
|
+
queryPageRowsFetched: number;
|
|
23678
|
+
};
|
|
23679
|
+
declare function acquirePseoAuditEvidence(input: PseoAuditInput, dependencies?: PseoDependencies): Promise<PseoAuditAcquisition>;
|
|
23680
|
+
declare function buildPseoAuditFromAcquisition(input: PseoAuditInput, acquisition: PseoAuditAcquisition, evidence?: {
|
|
23681
|
+
crawl: PseoCrawlSample[];
|
|
23682
|
+
inspection: PseoInspectionSample[];
|
|
23683
|
+
}): PseoAuditReport;
|
|
23028
23684
|
declare function pseoAuditReport(input: PseoAuditInput, dependencies?: PseoDependencies): Promise<PseoAuditReport>;
|
|
23029
23685
|
//#endregion
|
|
23030
23686
|
//#region packages/core/src/analyze/pseo/markdown.d.ts
|
|
@@ -23059,6 +23715,276 @@ type Presentation = {
|
|
|
23059
23715
|
//#region packages/core/src/analyze/pseo/presentation.d.ts
|
|
23060
23716
|
declare function pseoPresentation(report: PseoAuditReport): Presentation;
|
|
23061
23717
|
//#endregion
|
|
23718
|
+
//#region packages/core/src/analyze/pseo-opportunity-contract.d.ts
|
|
23719
|
+
type PseoOpportunitiesInput = Pick<PseoAuditInput, 'site' | 'days' | 'sitemaps' | 'maxSitemapUrls' | 'templateLimit' | 'minimumTemplateUrls' | 'minimumTemplateShare' | 'minimumTemplateImpressions' | 'brandTerms' | 'includeBrand' | 'refresh'> & {
|
|
23720
|
+
clusterLimit?: number;
|
|
23721
|
+
includeExternal?: boolean;
|
|
23722
|
+
market?: SearchMarket;
|
|
23723
|
+
provider?: ProviderId;
|
|
23724
|
+
discoverySources?: KeywordDiscoverySource[];
|
|
23725
|
+
discoveryLimit?: number;
|
|
23726
|
+
candidateLimit?: number;
|
|
23727
|
+
serpLimit?: number;
|
|
23728
|
+
serpDepth?: number;
|
|
23729
|
+
projectId?: string;
|
|
23730
|
+
};
|
|
23731
|
+
type PseoOpportunityTemplate = {
|
|
23732
|
+
signature: string;
|
|
23733
|
+
shape: PseoAuditTemplate['shape'];
|
|
23734
|
+
sampleUrls: string[];
|
|
23735
|
+
population: {
|
|
23736
|
+
discoveredUrls: number;
|
|
23737
|
+
gscVisibleUrls: number;
|
|
23738
|
+
untestedUrls: number;
|
|
23739
|
+
};
|
|
23740
|
+
searchEvidence: {
|
|
23741
|
+
clicks: number;
|
|
23742
|
+
impressions: number;
|
|
23743
|
+
averagePosition: number;
|
|
23744
|
+
topQueries: Array<{
|
|
23745
|
+
query: string;
|
|
23746
|
+
clicks: number;
|
|
23747
|
+
impressions: number;
|
|
23748
|
+
position: number;
|
|
23749
|
+
}>;
|
|
23750
|
+
queryPatterns: PseoAuditTemplate['metrics']['queryPatterns'];
|
|
23751
|
+
};
|
|
23752
|
+
evidenceClass: 'search-evidenced-template' | 'observed-template';
|
|
23753
|
+
auditVerdict: PseoAuditTemplate['verdict'];
|
|
23754
|
+
confidence: PseoAuditTemplate['confidence'];
|
|
23755
|
+
evidenceRef: string;
|
|
23756
|
+
};
|
|
23757
|
+
type PseoOpportunityCluster = Pick<QueryCluster, 'label' | 'intent' | 'totals' | 'template' | 'summary' | 'recommendation'> & {
|
|
23758
|
+
queries: QueryCluster['queries'];
|
|
23759
|
+
evidenceClass: 'template-mapped' | 'query-cluster';
|
|
23760
|
+
templateRef: string | null;
|
|
23761
|
+
evidenceRef: string;
|
|
23762
|
+
};
|
|
23763
|
+
type PseoResearchSeed = {
|
|
23764
|
+
keyword: string;
|
|
23765
|
+
source: 'template' | 'query-cluster';
|
|
23766
|
+
evidenceRef: string;
|
|
23767
|
+
templateRef: string | null;
|
|
23768
|
+
};
|
|
23769
|
+
type PseoExternalCandidate = {
|
|
23770
|
+
keyword: string;
|
|
23771
|
+
classification: 'existing-first-party-query' | 'search-evidenced-template-expansion' | 'new-template-research';
|
|
23772
|
+
seedRefs: string[];
|
|
23773
|
+
templateRefs: string[];
|
|
23774
|
+
sources: KeywordIdea['sources'];
|
|
23775
|
+
monthlySearchVolume: KeywordIdea['monthlySearchVolume'];
|
|
23776
|
+
keywordDifficulty: KeywordIdea['keywordDifficulty'];
|
|
23777
|
+
intent: KeywordIdea['intent'];
|
|
23778
|
+
resultCount: KeywordIdea['resultCount'];
|
|
23779
|
+
evidenceRef: string;
|
|
23780
|
+
};
|
|
23781
|
+
type PseoExternalAcquisition = Pick<ProviderEvidence<never>, 'provider' | 'observedAt' | 'market' | 'coverage' | 'cache' | 'cost' | 'request' | 'warnings'>;
|
|
23782
|
+
type PseoDiscoveryEvidence = {
|
|
23783
|
+
requested: boolean;
|
|
23784
|
+
status: 'not-requested' | 'skipped' | 'complete' | 'partial' | 'unavailable';
|
|
23785
|
+
seeds: PseoResearchSeed[];
|
|
23786
|
+
acquisition: PseoExternalAcquisition | null;
|
|
23787
|
+
availableCandidates: number;
|
|
23788
|
+
returnedCandidates: number;
|
|
23789
|
+
omittedCandidates: number;
|
|
23790
|
+
candidates: PseoExternalCandidate[];
|
|
23791
|
+
reason?: string;
|
|
23792
|
+
error?: {
|
|
23793
|
+
code: string;
|
|
23794
|
+
message: string;
|
|
23795
|
+
retryable: boolean;
|
|
23796
|
+
};
|
|
23797
|
+
};
|
|
23798
|
+
type PseoSerpObservation = {
|
|
23799
|
+
keyword: string;
|
|
23800
|
+
status: 'complete' | 'partial' | 'unavailable';
|
|
23801
|
+
acquisition: PseoExternalAcquisition | null;
|
|
23802
|
+
features: string[];
|
|
23803
|
+
organicResults: SerpOrganicResult[];
|
|
23804
|
+
resultCoverage: {
|
|
23805
|
+
available: number;
|
|
23806
|
+
returned: number;
|
|
23807
|
+
omitted: number;
|
|
23808
|
+
};
|
|
23809
|
+
reason?: string;
|
|
23810
|
+
error?: {
|
|
23811
|
+
code: string;
|
|
23812
|
+
message: string;
|
|
23813
|
+
retryable: boolean;
|
|
23814
|
+
};
|
|
23815
|
+
};
|
|
23816
|
+
type PseoSerpEvidence = {
|
|
23817
|
+
requested: boolean;
|
|
23818
|
+
requestedQueries: number;
|
|
23819
|
+
completedQueries: number;
|
|
23820
|
+
failedQueries: number;
|
|
23821
|
+
observations: PseoSerpObservation[];
|
|
23822
|
+
};
|
|
23823
|
+
type PseoCompetitorPattern = {
|
|
23824
|
+
domain: string;
|
|
23825
|
+
queryCount: number;
|
|
23826
|
+
resultCount: number;
|
|
23827
|
+
bestRank: number;
|
|
23828
|
+
queries: string[];
|
|
23829
|
+
sampleUrls: string[];
|
|
23830
|
+
repeatedTemplates: Array<{
|
|
23831
|
+
signature: string;
|
|
23832
|
+
urlCount: number;
|
|
23833
|
+
sampleUrls: string[];
|
|
23834
|
+
}>;
|
|
23835
|
+
evidenceRefs: string[];
|
|
23836
|
+
};
|
|
23837
|
+
type PseoDataSourceBrief = {
|
|
23838
|
+
candidateRef: string;
|
|
23839
|
+
proposalType: 'template-expansion' | 'new-template-research';
|
|
23840
|
+
instruction: string;
|
|
23841
|
+
requiredChecks: readonly ['entities and required fields', 'stable identifiers and join keys', 'geographic and language coverage', 'update cadence and stale-data handling', 'source provenance, licensing, and attribution', 'validation rules and missing-value stop conditions', 'bounded inventory and duplicate prevention', 'representative output, crawl, canonical, and internal-link review'];
|
|
23842
|
+
evidenceBoundary: string;
|
|
23843
|
+
};
|
|
23844
|
+
type PseoOpportunityFinding = {
|
|
23845
|
+
code: 'template-expansion-candidate';
|
|
23846
|
+
evidenceRefs: [string, string];
|
|
23847
|
+
detail: string;
|
|
23848
|
+
action: string;
|
|
23849
|
+
} | {
|
|
23850
|
+
code: 'new-template-research-candidate';
|
|
23851
|
+
evidenceRefs: [string];
|
|
23852
|
+
detail: string;
|
|
23853
|
+
action: string;
|
|
23854
|
+
} | {
|
|
23855
|
+
code: 'competitor-repeated-pattern';
|
|
23856
|
+
evidenceRefs: [string];
|
|
23857
|
+
detail: string;
|
|
23858
|
+
action: string;
|
|
23859
|
+
};
|
|
23860
|
+
type PseoKnownCost = {
|
|
23861
|
+
currency: 'USD';
|
|
23862
|
+
knownEstimatedMicros: number;
|
|
23863
|
+
knownActualMicros: number;
|
|
23864
|
+
unknownEstimatedRequests: number;
|
|
23865
|
+
unknownActualRequests: number;
|
|
23866
|
+
taskIds: string[];
|
|
23867
|
+
};
|
|
23868
|
+
type PseoOpportunitiesReport = {
|
|
23869
|
+
schemaVersion: 1;
|
|
23870
|
+
methodology: 'pseo_opportunities_v1';
|
|
23871
|
+
site: string;
|
|
23872
|
+
generatedAt: string;
|
|
23873
|
+
dataStatus: 'complete' | 'partial' | 'empty' | 'filtered';
|
|
23874
|
+
market: SearchMarket | null;
|
|
23875
|
+
summary: {
|
|
23876
|
+
observedTemplates: number;
|
|
23877
|
+
searchEvidencedTemplates: number;
|
|
23878
|
+
queryClusters: number;
|
|
23879
|
+
researchSeeds: number;
|
|
23880
|
+
discoveredCandidates: number;
|
|
23881
|
+
templateExpansionCandidates: number;
|
|
23882
|
+
newTemplateResearchCandidates: number;
|
|
23883
|
+
serpSnapshots: number;
|
|
23884
|
+
observedCompetitors: number;
|
|
23885
|
+
dataSourceBriefs: number;
|
|
23886
|
+
verdict: string;
|
|
23887
|
+
};
|
|
23888
|
+
source: {
|
|
23889
|
+
pseoAudit: {
|
|
23890
|
+
range: {
|
|
23891
|
+
startDate: string;
|
|
23892
|
+
endDate: string;
|
|
23893
|
+
};
|
|
23894
|
+
dataStatus: PseoAuditReport['dataStatus'];
|
|
23895
|
+
pageRows: number;
|
|
23896
|
+
queryPageRows: number;
|
|
23897
|
+
pageRowsPossiblyTruncated: boolean;
|
|
23898
|
+
queryPageRowsPossiblyTruncated: boolean;
|
|
23899
|
+
discoveredUrls: number;
|
|
23900
|
+
returnedTemplates: number;
|
|
23901
|
+
};
|
|
23902
|
+
queryClusters: {
|
|
23903
|
+
range: {
|
|
23904
|
+
startDate: string;
|
|
23905
|
+
endDate: string;
|
|
23906
|
+
};
|
|
23907
|
+
returnedClusters: number;
|
|
23908
|
+
returnedQueries: number;
|
|
23909
|
+
completeness: 'returned-clusters-only';
|
|
23910
|
+
minImpressions: number;
|
|
23911
|
+
limit: number;
|
|
23912
|
+
};
|
|
23913
|
+
external: {
|
|
23914
|
+
discovery: PseoDiscoveryEvidence;
|
|
23915
|
+
serps: PseoSerpEvidence;
|
|
23916
|
+
cost: PseoKnownCost;
|
|
23917
|
+
};
|
|
23918
|
+
};
|
|
23919
|
+
selection: {
|
|
23920
|
+
templateLimit: number;
|
|
23921
|
+
clusterLimit: number;
|
|
23922
|
+
seedLimit: 5;
|
|
23923
|
+
discoveryLimit: number;
|
|
23924
|
+
candidateLimit: number;
|
|
23925
|
+
serpLimit: number;
|
|
23926
|
+
serpDepth: number;
|
|
23927
|
+
organicResultsPerSnapshot: 10;
|
|
23928
|
+
competitorLimit: 10;
|
|
23929
|
+
dataSourceBriefLimit: 3;
|
|
23930
|
+
candidateOrder: 'classification-source-count-volume-keyword-v1';
|
|
23931
|
+
};
|
|
23932
|
+
templates: PseoOpportunityTemplate[];
|
|
23933
|
+
queryClusters: PseoOpportunityCluster[];
|
|
23934
|
+
competitors: PseoCompetitorPattern[];
|
|
23935
|
+
findings: PseoOpportunityFinding[];
|
|
23936
|
+
dataSourceBriefs: PseoDataSourceBrief[];
|
|
23937
|
+
caveats: string[];
|
|
23938
|
+
nextSteps: string[];
|
|
23939
|
+
};
|
|
23940
|
+
//#endregion
|
|
23941
|
+
//#region packages/core/src/analyze/serp-results.d.ts
|
|
23942
|
+
type SerpDomainSummary = {
|
|
23943
|
+
domain: string;
|
|
23944
|
+
resultCount: number;
|
|
23945
|
+
ranks: number[];
|
|
23946
|
+
};
|
|
23947
|
+
type SerpResultFinding = {
|
|
23948
|
+
code: 'query-correction' | 'repeated-domain';
|
|
23949
|
+
evidenceRef: string;
|
|
23950
|
+
principle: string;
|
|
23951
|
+
detail: string;
|
|
23952
|
+
};
|
|
23953
|
+
type SerpResultsReport = {
|
|
23954
|
+
schemaVersion: 1;
|
|
23955
|
+
generatedAt: string;
|
|
23956
|
+
dataStatus: 'complete' | 'partial' | 'unavailable';
|
|
23957
|
+
market: SearchMarket;
|
|
23958
|
+
summary: {
|
|
23959
|
+
keyword: string;
|
|
23960
|
+
effectiveKeyword: string;
|
|
23961
|
+
requestedDepth: number;
|
|
23962
|
+
organicResults: number;
|
|
23963
|
+
uniqueDomains: number;
|
|
23964
|
+
observedFeatures: number;
|
|
23965
|
+
correctedQuery: boolean;
|
|
23966
|
+
verdict: string;
|
|
23967
|
+
};
|
|
23968
|
+
evidence: ProviderEvidence<SerpSnapshot>;
|
|
23969
|
+
domains: SerpDomainSummary[];
|
|
23970
|
+
findings: SerpResultFinding[];
|
|
23971
|
+
caveats: string[];
|
|
23972
|
+
nextSteps: string[];
|
|
23973
|
+
};
|
|
23974
|
+
type SerpResultsReportDependencies = {
|
|
23975
|
+
candidates?: readonly ProviderCandidate[];
|
|
23976
|
+
now?: () => Date;
|
|
23977
|
+
};
|
|
23978
|
+
declare function serpResultsReport(input: {
|
|
23979
|
+
keyword: string;
|
|
23980
|
+
market: SearchMarket;
|
|
23981
|
+
depth?: number;
|
|
23982
|
+
provider?: ProviderId;
|
|
23983
|
+
projectId?: string;
|
|
23984
|
+
context?: Partial<ProviderRequestContext>;
|
|
23985
|
+
refresh?: boolean;
|
|
23986
|
+
}, dependencies?: SerpResultsReportDependencies): Promise<SerpResultsReport>;
|
|
23987
|
+
//#endregion
|
|
23062
23988
|
//#region packages/core/src/analyze/query-cluster-primitives.d.ts
|
|
23063
23989
|
type QueryClusterRow = {
|
|
23064
23990
|
query: string;
|
|
@@ -23118,8 +24044,10 @@ type QueryClusterReport = {
|
|
|
23118
24044
|
caveats: string[];
|
|
23119
24045
|
recommendations: string[];
|
|
23120
24046
|
};
|
|
24047
|
+
type QueryClusterSourceRow = Awaited<ReturnType<typeof querySearchAnalytics>>['rows'][number];
|
|
23121
24048
|
declare function queryClusterReport(input: {
|
|
23122
24049
|
site: string;
|
|
24050
|
+
days?: number;
|
|
23123
24051
|
scope?: string;
|
|
23124
24052
|
brand?: string;
|
|
23125
24053
|
brandTerms?: string[];
|
|
@@ -23128,6 +24056,54 @@ declare function queryClusterReport(input: {
|
|
|
23128
24056
|
limit?: number;
|
|
23129
24057
|
refresh?: boolean;
|
|
23130
24058
|
}): Promise<QueryClusterReport>;
|
|
24059
|
+
declare function buildQueryClusterReportFromRows(input: {
|
|
24060
|
+
site: string;
|
|
24061
|
+
days: number;
|
|
24062
|
+
range: {
|
|
24063
|
+
startDate: string;
|
|
24064
|
+
endDate: string;
|
|
24065
|
+
};
|
|
24066
|
+
generatedAt: string;
|
|
24067
|
+
rows: QueryClusterSourceRow[];
|
|
24068
|
+
scope?: string;
|
|
24069
|
+
brand?: string;
|
|
24070
|
+
brandTerms?: string[];
|
|
24071
|
+
includeBrand?: boolean;
|
|
24072
|
+
minImpressions?: number;
|
|
24073
|
+
limit?: number;
|
|
24074
|
+
}): QueryClusterReport;
|
|
24075
|
+
//#endregion
|
|
24076
|
+
//#region packages/core/src/analyze/pseo-opportunities/input.d.ts
|
|
24077
|
+
type ValidatedPseoOpportunitiesInput = Omit<PseoOpportunitiesInput, 'days' | 'templateLimit' | 'clusterLimit' | 'discoverySources' | 'discoveryLimit' | 'candidateLimit' | 'serpLimit' | 'serpDepth' | 'market' | 'provider'> & {
|
|
24078
|
+
days: number;
|
|
24079
|
+
templateLimit: number;
|
|
24080
|
+
clusterLimit: number;
|
|
24081
|
+
discoverySources: KeywordDiscoverySource[];
|
|
24082
|
+
discoveryLimit: number;
|
|
24083
|
+
candidateLimit: number;
|
|
24084
|
+
serpLimit: number;
|
|
24085
|
+
serpDepth: number;
|
|
24086
|
+
market?: SearchMarket;
|
|
24087
|
+
provider?: PseoOpportunitiesInput['provider'];
|
|
24088
|
+
};
|
|
24089
|
+
//#endregion
|
|
24090
|
+
//#region packages/core/src/analyze/pseo-opportunities/first-party-acquisition.d.ts
|
|
24091
|
+
type PseoOpportunityFirstPartyReport = {
|
|
24092
|
+
audit: PseoAuditReport;
|
|
24093
|
+
queryClusters: QueryClusterReport;
|
|
24094
|
+
};
|
|
24095
|
+
declare function pseoOpportunityFirstPartyReport(options: ValidatedPseoOpportunitiesInput, dependencies?: {
|
|
24096
|
+
acquirePseoAuditEvidence?: typeof acquirePseoAuditEvidence;
|
|
24097
|
+
}): Promise<PseoOpportunityFirstPartyReport>;
|
|
24098
|
+
//#endregion
|
|
24099
|
+
//#region packages/core/src/analyze/pseo-opportunities/report.d.ts
|
|
24100
|
+
type PseoOpportunitiesDependencies = {
|
|
24101
|
+
firstPartyReport?: typeof pseoOpportunityFirstPartyReport;
|
|
24102
|
+
keywordResearchReport?: typeof keywordResearchReport;
|
|
24103
|
+
serpResultsReport?: typeof serpResultsReport;
|
|
24104
|
+
now?: () => Date;
|
|
24105
|
+
};
|
|
24106
|
+
declare function pseoOpportunitiesReport(input: PseoOpportunitiesInput, dependencies?: PseoOpportunitiesDependencies): Promise<PseoOpportunitiesReport>;
|
|
23131
24107
|
//#endregion
|
|
23132
24108
|
//#region packages/core/src/errors.d.ts
|
|
23133
24109
|
type SeoErrorCode = 'ACCESS_DENIED' | 'AUTH_CONFIG_REQUIRED' | 'AUTH_EXPIRED' | 'AUTH_REQUIRED' | 'INSUFFICIENT_DATA' | 'INTERNAL_ERROR' | 'INVALID_INPUT' | 'OPTIONAL_PROVIDER_UNAVAILABLE' | 'PROPERTY_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'RATE_LIMITED';
|
|
@@ -23238,9 +24214,6 @@ declare function reportNarrative(input: {
|
|
|
23238
24214
|
//#region packages/core/src/analyze/reports/presentation.d.ts
|
|
23239
24215
|
declare function reportPresentation(report: ReportNarrative): Presentation;
|
|
23240
24216
|
//#endregion
|
|
23241
|
-
//#region packages/core/src/analyze/second-page-analysis.d.ts
|
|
23242
|
-
declare function analyzeSecondPageRows(input: AnalyzeSecondPageInput): SecondPageAnalysis;
|
|
23243
|
-
//#endregion
|
|
23244
24217
|
//#region packages/core/src/analyze/second-page.d.ts
|
|
23245
24218
|
type SearchAnalytics = typeof querySearchAnalytics;
|
|
23246
24219
|
type FetchPage = typeof fetchPage;
|
|
@@ -24879,18 +25852,538 @@ declare function fileSize(path: string): number;
|
|
|
24879
25852
|
declare function plural(count: number, singular: string, pluralLabel?: string): string;
|
|
24880
25853
|
declare function countLabel(count: number, singular: string, pluralLabel?: string): string;
|
|
24881
25854
|
//#endregion
|
|
25855
|
+
//#region packages/core/src/providers/cost-limits.d.ts
|
|
25856
|
+
type ProviderSpendLimits = {
|
|
25857
|
+
dailyNoticeMicros: number;
|
|
25858
|
+
dailyHardLimitMicros: number | null;
|
|
25859
|
+
monthlyHardLimitMicros: number | null;
|
|
25860
|
+
maxRequestsPerReport: number;
|
|
25861
|
+
maxRowsPerReport: number;
|
|
25862
|
+
};
|
|
25863
|
+
declare const DEFAULT_PROVIDER_SPEND_LIMITS: ProviderSpendLimits;
|
|
25864
|
+
declare function getProviderSpendLimits(provider: ProviderId): ProviderSpendLimits;
|
|
25865
|
+
declare function setProviderSpendLimits(provider: ProviderId, limits: ProviderSpendLimits): ProviderSpendLimits;
|
|
25866
|
+
//#endregion
|
|
25867
|
+
//#region packages/core/src/storage/provider-spend.d.ts
|
|
25868
|
+
declare const PROVIDER_SPEND_RETENTION_DAYS: number;
|
|
25869
|
+
declare const PROVIDER_SPEND_MAX_ROWS = 50000;
|
|
25870
|
+
declare const PROVIDER_SPEND_MAX_BYTES: number;
|
|
25871
|
+
type ProviderSpendState = 'reserved' | 'succeeded' | 'partial' | 'failed' | 'unknown';
|
|
25872
|
+
type ProviderSpendReservationInput = {
|
|
25873
|
+
provider: ProviderId;
|
|
25874
|
+
capability: ProviderCapability;
|
|
25875
|
+
endpoint: string;
|
|
25876
|
+
projectId?: string;
|
|
25877
|
+
reportId: string;
|
|
25878
|
+
reportRunId: string;
|
|
25879
|
+
requestedRows: number;
|
|
25880
|
+
estimatedCostMicros: number;
|
|
25881
|
+
};
|
|
25882
|
+
type ProviderSpendReservation = ProviderSpendReservationInput & {
|
|
25883
|
+
id: string;
|
|
25884
|
+
occurredAt: string;
|
|
25885
|
+
expiresAt: string;
|
|
25886
|
+
};
|
|
25887
|
+
type ProviderSpendFinalization = {
|
|
25888
|
+
provider: ProviderId;
|
|
25889
|
+
state: Exclude<ProviderSpendState, 'reserved' | 'unknown'>;
|
|
25890
|
+
actualCostMicros: number | null;
|
|
25891
|
+
returnedRows: number | null;
|
|
25892
|
+
taskIds: string[];
|
|
25893
|
+
};
|
|
25894
|
+
type ProviderSpendNotice = {
|
|
25895
|
+
provider: ProviderId;
|
|
25896
|
+
thresholdMicros: number;
|
|
25897
|
+
periodStart: string;
|
|
25898
|
+
spentMicros: number;
|
|
25899
|
+
};
|
|
25900
|
+
type ProviderSpendSummary = {
|
|
25901
|
+
provider: ProviderId;
|
|
25902
|
+
periodTimezone: 'UTC';
|
|
25903
|
+
today: {
|
|
25904
|
+
periodStart: string;
|
|
25905
|
+
effectiveCostMicros: number;
|
|
25906
|
+
actualCostMicros: number;
|
|
25907
|
+
estimatedOrUnknownCostMicros: number;
|
|
25908
|
+
requests: number;
|
|
25909
|
+
};
|
|
25910
|
+
month: {
|
|
25911
|
+
periodStart: string;
|
|
25912
|
+
effectiveCostMicros: number;
|
|
25913
|
+
actualCostMicros: number;
|
|
25914
|
+
estimatedOrUnknownCostMicros: number;
|
|
25915
|
+
requests: number;
|
|
25916
|
+
};
|
|
25917
|
+
retained: {
|
|
25918
|
+
effectiveCostMicros: number;
|
|
25919
|
+
actualCostMicros: number;
|
|
25920
|
+
estimatedOrUnknownCostMicros: number;
|
|
25921
|
+
requests: number;
|
|
25922
|
+
oldestAt: string | null;
|
|
25923
|
+
newestAt: string | null;
|
|
25924
|
+
};
|
|
25925
|
+
states: Record<ProviderSpendState, number>;
|
|
25926
|
+
limits: ProviderSpendLimits;
|
|
25927
|
+
retention: {
|
|
25928
|
+
days: number;
|
|
25929
|
+
maxRows: number;
|
|
25930
|
+
maxBytes: number;
|
|
25931
|
+
logicalBytes: number;
|
|
25932
|
+
};
|
|
25933
|
+
};
|
|
25934
|
+
declare function reserveProviderSpend(input: ProviderSpendReservationInput, options?: {
|
|
25935
|
+
database?: SqliteDatabase.Database;
|
|
25936
|
+
limits?: ProviderSpendLimits;
|
|
25937
|
+
now?: number;
|
|
25938
|
+
}): ProviderSpendReservation;
|
|
25939
|
+
declare function finalizeProviderSpend(reservationId: string, result: ProviderSpendFinalization, options?: {
|
|
25940
|
+
database?: SqliteDatabase.Database;
|
|
25941
|
+
limits?: ProviderSpendLimits;
|
|
25942
|
+
now?: number;
|
|
25943
|
+
}): ProviderSpendNotice | null;
|
|
25944
|
+
declare function getProviderSpendSummary(provider: ProviderId, options?: {
|
|
25945
|
+
database?: SqliteDatabase.Database;
|
|
25946
|
+
limits?: ProviderSpendLimits;
|
|
25947
|
+
now?: number;
|
|
25948
|
+
}): ProviderSpendSummary;
|
|
25949
|
+
//#endregion
|
|
25950
|
+
//#region packages/core/src/providers/transport.d.ts
|
|
25951
|
+
type ProviderFetch = (url: string | URL, init?: RequestInit$1) => Promise<Response$1>;
|
|
25952
|
+
type ProviderRequestInput = {
|
|
25953
|
+
provider: ProviderId;
|
|
25954
|
+
operation: string;
|
|
25955
|
+
url: string | URL;
|
|
25956
|
+
init?: RequestInit$1;
|
|
25957
|
+
fetch: ProviderFetch;
|
|
25958
|
+
maxResponseBytes: number;
|
|
25959
|
+
timeoutMs: number;
|
|
25960
|
+
retry?: 'never' | 'safe';
|
|
25961
|
+
retryDelayMs?: number;
|
|
25962
|
+
};
|
|
25963
|
+
declare function providerRequestText(input: ProviderRequestInput): Promise<string>;
|
|
25964
|
+
declare function providerRequestJson<T>(input: ProviderRequestInput & {
|
|
25965
|
+
schema: z.ZodType<T>;
|
|
25966
|
+
}): Promise<T>;
|
|
25967
|
+
//#endregion
|
|
25968
|
+
//#region packages/core/src/providers/dataforseo/credentials.d.ts
|
|
25969
|
+
declare const DATAFORSEO_LOGIN_ENV = "SEO_DATAFORSEO_LOGIN";
|
|
25970
|
+
declare const DATAFORSEO_PASSWORD_ENV = "SEO_DATAFORSEO_PASSWORD";
|
|
25971
|
+
declare const DATAFORSEO_CREDENTIAL_SECRET = "dataforseo-credentials";
|
|
25972
|
+
type DataForSeoCredentials = {
|
|
25973
|
+
login: string;
|
|
25974
|
+
password: string;
|
|
25975
|
+
};
|
|
25976
|
+
type StoredDataForSeoCredentials = DataForSeoCredentials & {
|
|
25977
|
+
source: ProviderSecretSource;
|
|
25978
|
+
migrated: boolean;
|
|
25979
|
+
};
|
|
25980
|
+
declare function writeDataForSeoCredentials(credentials: DataForSeoCredentials): Promise<Exclude<ProviderSecretSource, 'environment'>>;
|
|
25981
|
+
declare function readDataForSeoCredentials(input?: {
|
|
25982
|
+
env?: NodeJS.ProcessEnv;
|
|
25983
|
+
}): Promise<StoredDataForSeoCredentials | undefined>;
|
|
25984
|
+
declare function deleteDataForSeoCredentials(): Promise<void>;
|
|
25985
|
+
//#endregion
|
|
25986
|
+
//#region packages/core/src/providers/dataforseo/discovery-schema.d.ts
|
|
25987
|
+
declare const dataForSeoDiscoveryResponseSchema: z.ZodObject<{
|
|
25988
|
+
status_code: z.ZodNumber;
|
|
25989
|
+
status_message: z.ZodString;
|
|
25990
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
25991
|
+
tasks_count: z.ZodNumber;
|
|
25992
|
+
tasks_error: z.ZodNumber;
|
|
25993
|
+
tasks: z.ZodArray<z.ZodObject<{
|
|
25994
|
+
id: z.ZodOptional<z.ZodString>;
|
|
25995
|
+
status_code: z.ZodNumber;
|
|
25996
|
+
status_message: z.ZodString;
|
|
25997
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
25998
|
+
result_count: z.ZodOptional<z.ZodNumber>;
|
|
25999
|
+
result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
26000
|
+
seed_keyword: z.ZodOptional<z.ZodString>;
|
|
26001
|
+
seed_keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
26002
|
+
total_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26003
|
+
items_count: z.ZodOptional<z.ZodNumber>;
|
|
26004
|
+
offset_token: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26005
|
+
items: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
26006
|
+
keyword: z.ZodString;
|
|
26007
|
+
keyword_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26008
|
+
search_volume: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26009
|
+
cpc: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26010
|
+
competition: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26011
|
+
monthly_searches: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
26012
|
+
year: z.ZodNumber;
|
|
26013
|
+
month: z.ZodNumber;
|
|
26014
|
+
search_volume: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26015
|
+
}, z.core.$loose>>>>;
|
|
26016
|
+
last_updated_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26017
|
+
}, z.core.$strip>>>;
|
|
26018
|
+
keyword_properties: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26019
|
+
keyword_difficulty: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26020
|
+
}, z.core.$strip>>>;
|
|
26021
|
+
serp_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26022
|
+
se_results_count: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
|
|
26023
|
+
}, z.core.$strip>>>;
|
|
26024
|
+
search_intent_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26025
|
+
main_intent: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
26026
|
+
informational: "informational";
|
|
26027
|
+
navigational: "navigational";
|
|
26028
|
+
commercial: "commercial";
|
|
26029
|
+
transactional: "transactional";
|
|
26030
|
+
}>>>;
|
|
26031
|
+
}, z.core.$strip>>>;
|
|
26032
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
26033
|
+
keyword_data: z.ZodObject<{
|
|
26034
|
+
keyword: z.ZodString;
|
|
26035
|
+
keyword_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26036
|
+
search_volume: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26037
|
+
cpc: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26038
|
+
competition: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26039
|
+
monthly_searches: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
26040
|
+
year: z.ZodNumber;
|
|
26041
|
+
month: z.ZodNumber;
|
|
26042
|
+
search_volume: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26043
|
+
}, z.core.$loose>>>>;
|
|
26044
|
+
last_updated_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26045
|
+
}, z.core.$strip>>>;
|
|
26046
|
+
keyword_properties: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26047
|
+
keyword_difficulty: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26048
|
+
}, z.core.$strip>>>;
|
|
26049
|
+
serp_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26050
|
+
se_results_count: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
|
|
26051
|
+
}, z.core.$strip>>>;
|
|
26052
|
+
search_intent_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26053
|
+
main_intent: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
26054
|
+
informational: "informational";
|
|
26055
|
+
navigational: "navigational";
|
|
26056
|
+
commercial: "commercial";
|
|
26057
|
+
transactional: "transactional";
|
|
26058
|
+
}>>>;
|
|
26059
|
+
}, z.core.$strip>>>;
|
|
26060
|
+
}, z.core.$loose>;
|
|
26061
|
+
depth: z.ZodOptional<z.ZodNumber>;
|
|
26062
|
+
related_keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
26063
|
+
}, z.core.$loose>]>>>>;
|
|
26064
|
+
}, z.core.$loose>>>>;
|
|
26065
|
+
}, z.core.$loose>>;
|
|
26066
|
+
}, z.core.$loose>;
|
|
26067
|
+
type DataForSeoDiscoveryResponse = z.infer<typeof dataForSeoDiscoveryResponseSchema>;
|
|
26068
|
+
//#endregion
|
|
26069
|
+
//#region packages/core/src/providers/dataforseo/paid-request.d.ts
|
|
26070
|
+
type DataForSeoUnitPrice = {
|
|
26071
|
+
perRequestMicros: number | null;
|
|
26072
|
+
perResultMicros: number | null;
|
|
26073
|
+
};
|
|
26074
|
+
//#endregion
|
|
26075
|
+
//#region packages/core/src/providers/dataforseo/schema.d.ts
|
|
26076
|
+
declare const dataForSeoKeywordOverviewResponseSchema: z.ZodObject<{
|
|
26077
|
+
status_code: z.ZodNumber;
|
|
26078
|
+
status_message: z.ZodString;
|
|
26079
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
26080
|
+
tasks_count: z.ZodNumber;
|
|
26081
|
+
tasks_error: z.ZodNumber;
|
|
26082
|
+
tasks: z.ZodArray<z.ZodObject<{
|
|
26083
|
+
id: z.ZodOptional<z.ZodString>;
|
|
26084
|
+
status_code: z.ZodNumber;
|
|
26085
|
+
status_message: z.ZodString;
|
|
26086
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
26087
|
+
result_count: z.ZodOptional<z.ZodNumber>;
|
|
26088
|
+
result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
26089
|
+
items_count: z.ZodOptional<z.ZodNumber>;
|
|
26090
|
+
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
26091
|
+
keyword: z.ZodString;
|
|
26092
|
+
keyword_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26093
|
+
search_volume: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26094
|
+
cpc: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26095
|
+
competition: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26096
|
+
monthly_searches: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
26097
|
+
year: z.ZodNumber;
|
|
26098
|
+
month: z.ZodNumber;
|
|
26099
|
+
search_volume: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26100
|
+
}, z.core.$loose>>>>;
|
|
26101
|
+
last_updated_time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26102
|
+
}, z.core.$strip>>>;
|
|
26103
|
+
keyword_properties: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26104
|
+
keyword_difficulty: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26105
|
+
}, z.core.$strip>>>;
|
|
26106
|
+
serp_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26107
|
+
se_results_count: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
|
|
26108
|
+
}, z.core.$strip>>>;
|
|
26109
|
+
search_intent_info: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26110
|
+
main_intent: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
26111
|
+
informational: "informational";
|
|
26112
|
+
navigational: "navigational";
|
|
26113
|
+
commercial: "commercial";
|
|
26114
|
+
transactional: "transactional";
|
|
26115
|
+
}>>>;
|
|
26116
|
+
}, z.core.$strip>>>;
|
|
26117
|
+
}, z.core.$loose>>>;
|
|
26118
|
+
}, z.core.$loose>>>>;
|
|
26119
|
+
}, z.core.$loose>>;
|
|
26120
|
+
}, z.core.$loose>;
|
|
26121
|
+
type DataForSeoKeywordOverviewResponse = z.infer<typeof dataForSeoKeywordOverviewResponseSchema>;
|
|
26122
|
+
//#endregion
|
|
26123
|
+
//#region packages/core/src/providers/dataforseo/serp-schema.d.ts
|
|
26124
|
+
declare const dataForSeoSerpResponseSchema: z.ZodObject<{
|
|
26125
|
+
status_code: z.ZodNumber;
|
|
26126
|
+
status_message: z.ZodString;
|
|
26127
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
26128
|
+
tasks_count: z.ZodNumber;
|
|
26129
|
+
tasks_error: z.ZodNumber;
|
|
26130
|
+
tasks: z.ZodArray<z.ZodObject<{
|
|
26131
|
+
id: z.ZodOptional<z.ZodString>;
|
|
26132
|
+
status_code: z.ZodNumber;
|
|
26133
|
+
status_message: z.ZodString;
|
|
26134
|
+
cost: z.ZodOptional<z.ZodNumber>;
|
|
26135
|
+
result_count: z.ZodOptional<z.ZodNumber>;
|
|
26136
|
+
result: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
26137
|
+
keyword: z.ZodString;
|
|
26138
|
+
se_domain: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26139
|
+
check_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26140
|
+
datetime: z.ZodString;
|
|
26141
|
+
spell: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
26142
|
+
keyword: z.ZodOptional<z.ZodString>;
|
|
26143
|
+
type: z.ZodOptional<z.ZodString>;
|
|
26144
|
+
}, z.core.$loose>>>;
|
|
26145
|
+
item_types: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
26146
|
+
se_results_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26147
|
+
pages_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26148
|
+
items_count: z.ZodOptional<z.ZodNumber>;
|
|
26149
|
+
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
26150
|
+
type: z.ZodString;
|
|
26151
|
+
rank_group: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26152
|
+
rank_absolute: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26153
|
+
page: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
26154
|
+
domain: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26155
|
+
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26156
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26157
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
26158
|
+
is_featured_snippet: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
26159
|
+
}, z.core.$loose>>>;
|
|
26160
|
+
}, z.core.$loose>>>>;
|
|
26161
|
+
}, z.core.$loose>>;
|
|
26162
|
+
}, z.core.$loose>;
|
|
26163
|
+
type DataForSeoSerpResponse = z.infer<typeof dataForSeoSerpResponseSchema>;
|
|
26164
|
+
//#endregion
|
|
26165
|
+
//#region packages/core/src/providers/dataforseo/client-types.d.ts
|
|
26166
|
+
type DataForSeoAccountSnapshot = {
|
|
26167
|
+
provider: 'dataforseo';
|
|
26168
|
+
login: string;
|
|
26169
|
+
timezone: string | null;
|
|
26170
|
+
balanceMicros: number | null;
|
|
26171
|
+
depositedMicros: number | null;
|
|
26172
|
+
accountDailySpendMicros: number | null;
|
|
26173
|
+
accountDailySpendPeriod: string | null;
|
|
26174
|
+
accountDailyLimitMicros: number | null;
|
|
26175
|
+
keywordOverviewPrice: DataForSeoUnitPrice;
|
|
26176
|
+
keywordDiscoveryPrices: Record<KeywordDiscoverySource, DataForSeoUnitPrice>;
|
|
26177
|
+
serpLiveAdvancedPrice: DataForSeoUnitPrice;
|
|
26178
|
+
backlinksSubscriptionExpiresAt: string | null;
|
|
26179
|
+
aiMentionsSubscriptionExpiresAt: string | null;
|
|
26180
|
+
apiVersion: string | null;
|
|
26181
|
+
requestCostMicros: number;
|
|
26182
|
+
taskIds: string[];
|
|
26183
|
+
observedAt: string;
|
|
26184
|
+
};
|
|
26185
|
+
type DataForSeoClientOptions = {
|
|
26186
|
+
fetch?: ProviderFetch;
|
|
26187
|
+
credentials?: () => DataForSeoCredentials | undefined | Promise<DataForSeoCredentials | undefined>;
|
|
26188
|
+
baseUrl?: string;
|
|
26189
|
+
timeoutMs?: number;
|
|
26190
|
+
maxResponseBytes?: number;
|
|
26191
|
+
now?: () => Date;
|
|
26192
|
+
database?: SqliteDatabase.Database;
|
|
26193
|
+
keywordOverviewTtlMs?: number;
|
|
26194
|
+
keywordDiscoveryTtlMs?: number;
|
|
26195
|
+
serpTtlMs?: number;
|
|
26196
|
+
accountPricingTtlMs?: number;
|
|
26197
|
+
spendLimits?: ProviderSpendLimits;
|
|
26198
|
+
};
|
|
26199
|
+
type DataForSeoKeywordOverviewRequest = {
|
|
26200
|
+
keywords: string[];
|
|
26201
|
+
languageCode: string;
|
|
26202
|
+
locationCode?: number;
|
|
26203
|
+
locationName?: string;
|
|
26204
|
+
includeSerpInfo?: boolean;
|
|
26205
|
+
includeClickstreamData?: boolean;
|
|
26206
|
+
refresh?: boolean;
|
|
26207
|
+
projectId?: string;
|
|
26208
|
+
reportId: string;
|
|
26209
|
+
reportRunId: string;
|
|
26210
|
+
};
|
|
26211
|
+
type DataForSeoKeywordOverviewSnapshot = {
|
|
26212
|
+
response: DataForSeoKeywordOverviewResponse;
|
|
26213
|
+
observedAt: string;
|
|
26214
|
+
returnedRows: number;
|
|
26215
|
+
cache: ProviderCacheEvidence;
|
|
26216
|
+
cost: ProviderCostEvidence;
|
|
26217
|
+
spendNotice: ProviderSpendNotice | null;
|
|
26218
|
+
warnings: ProviderWarning[];
|
|
26219
|
+
};
|
|
26220
|
+
type DataForSeoKeywordDiscoveryRequest = {
|
|
26221
|
+
source: KeywordDiscoverySource;
|
|
26222
|
+
seeds: string[];
|
|
26223
|
+
languageCode: string;
|
|
26224
|
+
locationCode?: number;
|
|
26225
|
+
locationName?: string;
|
|
26226
|
+
limit: number;
|
|
26227
|
+
refresh?: boolean;
|
|
26228
|
+
context: ProviderRequestContext;
|
|
26229
|
+
};
|
|
26230
|
+
type DataForSeoKeywordDiscoverySnapshot = {
|
|
26231
|
+
response: DataForSeoDiscoveryResponse;
|
|
26232
|
+
observedAt: string;
|
|
26233
|
+
returnedRows: number;
|
|
26234
|
+
providerTotalRows: number | null;
|
|
26235
|
+
nextCursor: string | null;
|
|
26236
|
+
cache: ProviderCacheEvidence;
|
|
26237
|
+
cost: ProviderCostEvidence;
|
|
26238
|
+
spendNotice: ProviderSpendNotice | null;
|
|
26239
|
+
warnings: ProviderWarning[];
|
|
26240
|
+
};
|
|
26241
|
+
type DataForSeoSerpRequest = {
|
|
26242
|
+
keyword: string;
|
|
26243
|
+
languageCode: string;
|
|
26244
|
+
locationCode?: number;
|
|
26245
|
+
locationName?: string;
|
|
26246
|
+
device: 'desktop' | 'mobile';
|
|
26247
|
+
depth: number;
|
|
26248
|
+
refresh?: boolean;
|
|
26249
|
+
context: ProviderRequestContext;
|
|
26250
|
+
};
|
|
26251
|
+
type DataForSeoSerpSnapshot = {
|
|
26252
|
+
response: DataForSeoSerpResponse;
|
|
26253
|
+
observedAt: string;
|
|
26254
|
+
returnedRows: number;
|
|
26255
|
+
cache: ProviderCacheEvidence;
|
|
26256
|
+
cost: ProviderCostEvidence;
|
|
26257
|
+
spendNotice: ProviderSpendNotice | null;
|
|
26258
|
+
warnings: ProviderWarning[];
|
|
26259
|
+
};
|
|
26260
|
+
//#endregion
|
|
26261
|
+
//#region packages/core/src/providers/dataforseo/client.d.ts
|
|
26262
|
+
declare class DataForSeoClient {
|
|
26263
|
+
private readonly fetch;
|
|
26264
|
+
private readonly credentials;
|
|
26265
|
+
private readonly baseUrl;
|
|
26266
|
+
private readonly timeoutMs;
|
|
26267
|
+
private readonly maxResponseBytes;
|
|
26268
|
+
private readonly now;
|
|
26269
|
+
private readonly database;
|
|
26270
|
+
private readonly keywordOverviewTtlMs;
|
|
26271
|
+
private readonly keywordDiscoveryTtlMs;
|
|
26272
|
+
private readonly serpTtlMs;
|
|
26273
|
+
private readonly accountPricingTtlMs;
|
|
26274
|
+
private readonly spendLimits;
|
|
26275
|
+
private accountPricing;
|
|
26276
|
+
private accountPricingRequest;
|
|
26277
|
+
constructor(options?: DataForSeoClientOptions);
|
|
26278
|
+
private getCredentials;
|
|
26279
|
+
private authorization;
|
|
26280
|
+
private userDataForCredentials;
|
|
26281
|
+
userData(): Promise<DataForSeoAccountSnapshot>;
|
|
26282
|
+
private pricingForCredentials;
|
|
26283
|
+
private paidPost;
|
|
26284
|
+
keywordOverview(input: DataForSeoKeywordOverviewRequest): Promise<DataForSeoKeywordOverviewSnapshot>;
|
|
26285
|
+
keywordDiscovery(input: DataForSeoKeywordDiscoveryRequest): Promise<DataForSeoKeywordDiscoverySnapshot>;
|
|
26286
|
+
serpLive(input: DataForSeoSerpRequest): Promise<DataForSeoSerpSnapshot>;
|
|
26287
|
+
}
|
|
26288
|
+
//#endregion
|
|
26289
|
+
//#region packages/core/src/providers/dataforseo/keyword-discovery.d.ts
|
|
26290
|
+
type KeywordDiscoveryClient = Pick<DataForSeoClient, 'keywordDiscovery'>;
|
|
26291
|
+
type DataForSeoKeywordDiscoveryProviderOptions = DataForSeoClientOptions & {
|
|
26292
|
+
client?: KeywordDiscoveryClient;
|
|
26293
|
+
};
|
|
26294
|
+
declare class DataForSeoKeywordDiscoveryProvider implements KeywordDiscoveryProvider {
|
|
26295
|
+
readonly provider: "dataforseo";
|
|
26296
|
+
readonly capabilitySupport: readonly [{
|
|
26297
|
+
readonly capability: "keyword-discovery";
|
|
26298
|
+
readonly status: "available";
|
|
26299
|
+
readonly markets: readonly [{
|
|
26300
|
+
readonly searchEngines: readonly ["google"];
|
|
26301
|
+
readonly location: "any";
|
|
26302
|
+
}];
|
|
26303
|
+
}];
|
|
26304
|
+
private readonly client;
|
|
26305
|
+
constructor(options?: DataForSeoKeywordDiscoveryProviderOptions);
|
|
26306
|
+
discoverKeywords(input: KeywordDiscoveryRequest): Promise<ProviderEvidence<KeywordIdea[]>>;
|
|
26307
|
+
}
|
|
26308
|
+
//#endregion
|
|
26309
|
+
//#region packages/core/src/providers/dataforseo/keyword-metrics.d.ts
|
|
26310
|
+
type KeywordMetricsClient = Pick<DataForSeoClient, 'keywordOverview'>;
|
|
26311
|
+
type DataForSeoKeywordMetricsProviderOptions = DataForSeoClientOptions & {
|
|
26312
|
+
client?: KeywordMetricsClient;
|
|
26313
|
+
};
|
|
26314
|
+
declare class DataForSeoKeywordMetricsProvider implements KeywordMetricsProvider {
|
|
26315
|
+
readonly provider: "dataforseo";
|
|
26316
|
+
readonly capabilitySupport: readonly [{
|
|
26317
|
+
readonly capability: "keyword-metrics";
|
|
26318
|
+
readonly status: "available";
|
|
26319
|
+
readonly markets: readonly [{
|
|
26320
|
+
readonly searchEngines: readonly ["google"];
|
|
26321
|
+
readonly location: "any";
|
|
26322
|
+
}];
|
|
26323
|
+
}];
|
|
26324
|
+
private readonly client;
|
|
26325
|
+
constructor(options?: DataForSeoKeywordMetricsProviderOptions);
|
|
26326
|
+
keywordMetrics(input: KeywordMetricsRequest): Promise<ProviderEvidence<KeywordMetric[]>>;
|
|
26327
|
+
}
|
|
26328
|
+
//#endregion
|
|
26329
|
+
//#region packages/core/src/providers/dataforseo/serp-snapshot.d.ts
|
|
26330
|
+
type SerpClient = Pick<DataForSeoClient, 'serpLive'>;
|
|
26331
|
+
type DataForSeoSerpSnapshotProviderOptions = DataForSeoClientOptions & {
|
|
26332
|
+
client?: SerpClient;
|
|
26333
|
+
};
|
|
26334
|
+
declare class DataForSeoSerpSnapshotProvider implements SerpSnapshotProvider {
|
|
26335
|
+
readonly provider: "dataforseo";
|
|
26336
|
+
readonly capabilitySupport: readonly [{
|
|
26337
|
+
readonly capability: "serp-snapshot";
|
|
26338
|
+
readonly status: "available";
|
|
26339
|
+
readonly markets: readonly [{
|
|
26340
|
+
readonly searchEngines: readonly ["google"];
|
|
26341
|
+
readonly devices: readonly ["desktop", "mobile"];
|
|
26342
|
+
readonly location: "any";
|
|
26343
|
+
}];
|
|
26344
|
+
}];
|
|
26345
|
+
private readonly client;
|
|
26346
|
+
constructor(options?: DataForSeoSerpSnapshotProviderOptions);
|
|
26347
|
+
serpSnapshot(input: SerpSnapshotRequest): Promise<ProviderEvidence<SerpSnapshot>>;
|
|
26348
|
+
}
|
|
26349
|
+
//#endregion
|
|
24882
26350
|
//#region packages/core/src/providers/dataforseo.d.ts
|
|
26351
|
+
type DataForSeoProviderOptions = DataForSeoClientOptions;
|
|
24883
26352
|
declare class DataForSeoProvider implements KeywordDataProvider {
|
|
24884
26353
|
readonly name = "dataforseo";
|
|
24885
26354
|
readonly capabilities: {
|
|
24886
26355
|
overview: boolean;
|
|
24887
26356
|
};
|
|
24888
|
-
private
|
|
26357
|
+
private readonly client;
|
|
26358
|
+
constructor(options?: DataForSeoProviderOptions);
|
|
24889
26359
|
keywordOverview(phrase: string, opts?: ProviderOpts): Promise<ProviderResult<KeywordOverview>>;
|
|
24890
26360
|
}
|
|
24891
26361
|
//#endregion
|
|
26362
|
+
//#region packages/core/src/providers/errors.d.ts
|
|
26363
|
+
type ProviderErrorCode = 'configuration' | 'authentication' | 'budget-limit' | 'rate-limit' | 'timeout' | 'response-too-large' | 'invalid-response' | 'remote-error';
|
|
26364
|
+
declare class ProviderError extends Error {
|
|
26365
|
+
readonly provider: ProviderId;
|
|
26366
|
+
readonly operation: string;
|
|
26367
|
+
readonly code: ProviderErrorCode;
|
|
26368
|
+
readonly status: number | null;
|
|
26369
|
+
readonly retryable: boolean;
|
|
26370
|
+
constructor(input: {
|
|
26371
|
+
provider: ProviderId;
|
|
26372
|
+
operation: string;
|
|
26373
|
+
code: ProviderErrorCode;
|
|
26374
|
+
message: string;
|
|
26375
|
+
status?: number;
|
|
26376
|
+
retryable?: boolean;
|
|
26377
|
+
cause?: unknown;
|
|
26378
|
+
});
|
|
26379
|
+
toJSON(): Record<string, unknown>;
|
|
26380
|
+
}
|
|
26381
|
+
//#endregion
|
|
24892
26382
|
//#region packages/core/src/providers/router.d.ts
|
|
24893
|
-
declare function getKeywordProvider(prefer?: 'cheap' | 'authoritative'
|
|
26383
|
+
declare function getKeywordProvider(prefer?: 'cheap' | 'authoritative', dependencies?: {
|
|
26384
|
+
readConfig?: () => AppConfig;
|
|
26385
|
+
hasDataForSeoCredentials?: () => boolean | Promise<boolean>;
|
|
26386
|
+
}): Promise<KeywordDataProvider | undefined>;
|
|
24894
26387
|
//#endregion
|
|
24895
26388
|
//#region packages/core/src/providers/semrush.d.ts
|
|
24896
26389
|
declare class SemrushProvider implements KeywordDataProvider {
|
|
@@ -25167,7 +26660,7 @@ declare const TELEMETRY_TIMEOUT_MS = 2000;
|
|
|
25167
26660
|
declare const TELEMETRY_EVENTS: readonly ["first_run", "setup_complete", "audit_start", "audit_complete", "audit_failed", "first_audit_complete", "active_d1", "active_d7", "active_d30"];
|
|
25168
26661
|
declare const TELEMETRY_AGENTS: readonly ["claude-code", "cursor", "codex", "cli", "unknown"];
|
|
25169
26662
|
declare const TELEMETRY_ERROR_CATEGORIES: readonly ["auth", "crawl_timeout", "network", "config", "unknown"];
|
|
25170
|
-
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", "content-optimization", "crawl-diff", "site-crawl", "ctr-underperformers", "decaying-pages", "setup-check", "entity-readiness", "explain-crawl-issue", "geo-gaps", "crawl-report", "index-coverage", "index-coverage-plan", "index-monitor", "index-watch", "internal-links", "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", "query-clusters", "quick-wins", "redirect-trace", "narrative-report", "second-page", "segment-impact", "striking-distance", "seo-to-ai-query", "top-fixes", "traffic-anomaly", "update-correlation", "search-performance-overview", "monthly-action-plan", "refresh-priorities", "technical-watch", "update-postmortem"];
|
|
26663
|
+
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", "content-optimization", "crawl-diff", "site-crawl", "ctr-underperformers", "decaying-pages", "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", "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", "redirect-trace", "narrative-report", "second-page", "segment-impact", "serp-results", "striking-distance", "seo-to-ai-query", "top-fixes", "traffic-anomaly", "update-correlation", "search-performance-overview", "monthly-action-plan", "refresh-priorities", "technical-watch", "update-postmortem"];
|
|
25171
26664
|
type TelemetryEvent = (typeof TELEMETRY_EVENTS)[number];
|
|
25172
26665
|
type TelemetryAgent = (typeof TELEMETRY_AGENTS)[number];
|
|
25173
26666
|
type TelemetryErrorCategory = (typeof TELEMETRY_ERROR_CATEGORIES)[number];
|
|
@@ -25242,5 +26735,5 @@ declare function isoDate(daysAgo?: number): string;
|
|
|
25242
26735
|
//#region packages/core/src/version.d.ts
|
|
25243
26736
|
declare const SEO_VERSION: string;
|
|
25244
26737
|
//#endregion
|
|
25245
|
-
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, 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, ClientProfile, ClientProfileInput, CollectedLinkEvidence, CommunityIntent, CommunityIntentClassification, CommunityIntentReport, 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, DataForSeoProvider, type DecayAnalysis, type DecayComparison, type DecayDiagnosis, type DecayGroup, type DecayItem, type DecayMetrics, type DecayReport, type DecaySelection, type DecaySignal, DecayingDependencies, DecayingReportInput, DiagnosePropertyDependencies, DiagnosePropertyReport, DiagnosisDataStatus, DiagnosisPriority, DoctorCheck, DueIndexSelection, DueIndexUrl, EffectiveSnippetControl, EntityReadinessCheck, EntityReadinessReport, ExternalLinkCheck, ExternalLinkCheckAttempt, ExternalLinkCheckState, ExtractedLinkLocation, ExtractedPage, FetchPageDependencies, type FetchPageOptions, type FetchRateControls, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, Ga4AccountSummary, Ga4DataStream, Ga4PropertySummary, Ga4ReportRequest, Ga4RunReportResult, Ga4WebStreamCandidate, Ga4WebStreamMatch, 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, KeywordDataProvider, KeywordOverview, KeywordRow, 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, 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, ProviderOpts, ProviderResult, ProviderSecret, ProviderSecretSource, PseoAuditInput, type PseoAuditReport, type PseoAuditTemplate, type PseoCrawlSample, type PseoCrawlTechnicalStatus, PseoDependencies, type PseoEntityFit, type PseoIndexStatus, type PseoInspectionSample, type PseoPageRow, type PseoQueryCoverage, type PseoQueryPageRow, PseoTemplateCluster, type PseoTemplateMetrics, PseoTemplateShape, QueryCluster, type QueryClusterPage, type QueryClusterRow, QueryContentClassification, QueryContentCoverage, QueryContentSignal, QueryFieldCoverage, type QuickWinAnalysis, type QuickWinGroup, type QuickWinItem, type QuickWinSelection, type QuickWinTemplateRecommendation, QuickWinsDependencies, QuickWinsInput, REPORT_BASELINE_MAX_AGE_MS, REPORT_BASELINE_MAX_DEPTH, REPORT_BASELINE_MAX_PAGES, 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, ScorecardBand, ScorecardCheck, ScorecardCheckId, ScorecardObservation, ScorecardStatus, SearchAnalyticsRequest, SearchDateWindow, SearchPageBatch, SearchStatusIncident, SearchUpdate, type SecondPageAnalysis, SecondPageDependencies, SecondPageInput, type SecondPageItem, type SecondPageQuery, type SecondPageRecommendation, type SecondPageReport, type SecondPageSelection, type SegmentDimension, SegmentImpactDependencies, SegmentImpactInput, type SegmentImpactItem, type SegmentImpactReport, type SegmentImpactSelection, type SegmentPeriodEvidence, type SegmentRange, SemrushProvider, SeoChange, SeoCliPathOptions, SeoCliPaths, SeoError, SeoErrorCode, SeoToAiQueryReport, SerpProvider, ServerLogEvidence, ServerLogFormat, ServerLogRecord, ServiceAccountAccessTokenClient, ServiceAccountConfig, ServiceAccountStatus, SessionLedger, SitemapDocument, SitemapFetchResult, SitemapInvalidLoc, SitemapLastmodObservation, SkippedDiagnosisSection, SnippetControlEvidence, StatusBreakdown, StorageAdapter, StoredTokens, type StrikingDistanceAnalysis, type StrikingDistanceAnalysisGroup, type StrikingDistanceAnalysisItem, StrikingDistanceDependencies, StrikingDistanceInput, StrikingDistanceItem, StrikingDistanceReport, 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, addStatus, affectedUrls, agentReadiness, aiPromptsForQuery, aiReadiness, aiReferralSourceForValue, aiReferralsReport, aiSearchScorecard, allocateIndexUrlsToProperties, analyticsConnectionsSchema, analyzeAiReferralRows, analyzeBingCrawl, analyzeBingDimensions, analyzeBingTraffic, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertCrawlConfigLimits, assertUrlMatchesGscProperty, attachCrawlRecommendations, auditCrawlPages, auditCrawlRequests, auditLlmsTxt, auditPage, authStatus, bingAnalysisDefaults, bingWebmasterOverview, bingWebmasterSiteUrl, boundedSitemapInventory, buildOkfBundle, buildPseoAuditReportFromRows, buildTelemetryPayload, cannibalReport, changeMeasurementCsvRows, checkDatabaseReadiness, classifyCommunityIntent, classifyCrawler, clearCache, clientProfileSchema, clusterPseoTemplates, clusterQueryRows, collectAgentDiscovery, collectBingLinkEvidence, combineRobotsValues, communityIntentReport, compareCrawlPages, compareCrawlReports, compareLinkEvidence, compareSegmentRows, 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, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteProviderSecret, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, emptyStatusBreakdown, ensureSeoCliDirs, entityReadiness, estimateSerpTitleWidth, expectedCtrForPosition, explainOkfValidation, explainRule, fetchCruxFieldData, fetchPage, fetchPageStatus, fetchSearchStatusIncidents, fetchSitemapUrls, fetchText, fileSize, finalGscDateRange, findOverlappingSearchUpdates, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, generateLlmsTxt, geoGaps, geoGapsReport, getAuthModeStatus, getCacheStats, getChange, getClient, getClientConfig, getContentGroup, getDb, getKeywordProvider, getPreviousRun, getPrivacySnapshot, 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, latestCrawlReport, latestCrawlSummaries, latestFinalGscDate, latestIndexWatchSummary, latestLinkRecoverSummary, linkEntries, linkEvidenceKey, linkEvidenceReport, linkRecover, linkRecoverRecommendation, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listIndexNowKeys, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLinkEvidenceRow, normalizeLoadedCrawlReport, noteCacheWrite, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, parseCombinedLogLine, parseIndexNowSite, parseJsonLogLine, parseOlderThan, parsePseoPath, performanceAudit, performanceReportIsCacheable, planDueIndexUrls, planIndexCoverageFromUrls, plural, propertyMatchesUrl, providerPreferenceSchema, pruneIndexWatchSnapshots, pruneLogs, pseoAuditOptions, pseoAuditReport, pseoCsvFiles, pseoIndexStatus, pseoPresentation, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, readBoundedResponseText, readConfig, readOauthClient, readProviderSecret, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, removeIndexNowKey, renderCrawlCsv, renderCrawlHtml, renderCrawlJunit, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderPseoMarkdown, renderReportHtml, renderWorkflowMarkdown, reportNarrative, reportPresentation, requestHeaders, resolveIndexNowKey, resolveSegmentRanges, resolveSeoCliPaths, resolveTechnicalBaseline, reviewObservations, roundedPosition, runDoctor, runGa4Report, safeError, saveClient, saveCrawlReport, saveIndexNowKey, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, serverLogReport, sessionSourceInListFilter, setClientBingSite, setDefaultClient, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, strikingDistance, submitIndexNow, summarizeCrawlReport, pageTechnicalSignals as technicalPageSignals, technicalWatchWorkflow, telemetryErrorCategory, templateForUrl, toSeoError, tokenSchema, topCrawlRecommendations, topFixes, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, unavailableSegmentImpactReport, unicodeTokens, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateIndexNowKey, validateIndexNowKeyRecord, validateOkfFiles, verifyIndexNowKey, verifyQueryContent, workflowPresentation, writeConfig, writeOauthClient, writeProviderSecret, writeTokens, xRobotsDirectives };
|
|
26738
|
+
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, ClientProfile, ClientProfileInput, CollectedLinkEvidence, CommunityIntent, CommunityIntentClassification, CommunityIntentReport, 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, DataForSeoKeywordDiscoveryProvider, DataForSeoKeywordDiscoveryProviderOptions, type DataForSeoKeywordDiscoveryRequest, type DataForSeoKeywordDiscoverySnapshot, DataForSeoKeywordMetricsProvider, DataForSeoKeywordMetricsProviderOptions, type DataForSeoKeywordOverviewRequest, type DataForSeoKeywordOverviewSnapshot, DataForSeoProvider, 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, DiagnosePropertyDependencies, DiagnosePropertyReport, DiagnosisDataStatus, DiagnosisPriority, DoctorCheck, DueIndexSelection, DueIndexUrl, EffectiveSnippetControl, EntityReadinessCheck, EntityReadinessReport, ExternalLinkCheck, ExternalLinkCheckAttempt, ExternalLinkCheckState, ExtractedLinkLocation, ExtractedPage, FetchPageDependencies, type FetchPageOptions, type FetchRateControls, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, Ga4AccountSummary, Ga4DataStream, Ga4PropertySummary, Ga4ReportRequest, Ga4RunReportResult, Ga4WebStreamCandidate, Ga4WebStreamMatch, 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, KeywordDataProvider, KeywordDiscoveryProvider, KeywordDiscoveryRequest, KeywordDiscoverySource, KeywordIdea, KeywordIdeaSource, KeywordMetric, KeywordMetricAnalysis, KeywordMetricFinding, KeywordMetricsProvider, KeywordMetricsReport, KeywordMetricsReportDependencies, KeywordMetricsRequest, KeywordMonthlySearch, KeywordOpportunitiesDependencies, KeywordOpportunitiesInput, KeywordOpportunitiesReport, KeywordOpportunityCluster, KeywordOpportunityCombined, KeywordOpportunityDataSourcePrompt, KeywordOpportunityExternal, KeywordOpportunityFinding, KeywordOpportunityFirstParty, KeywordOpportunitySource, KeywordOverview, KeywordResearchAnalysis, KeywordResearchFinding, KeywordResearchReport, KeywordResearchReportDependencies, KeywordRow, 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, 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, type QuickWinAnalysis, type QuickWinGroup, type QuickWinItem, type QuickWinSelection, type QuickWinTemplateRecommendation, QuickWinsDependencies, QuickWinsInput, QuickWinsSection, REPORT_BASELINE_MAX_AGE_MS, REPORT_BASELINE_MAX_DEPTH, REPORT_BASELINE_MAX_PAGES, 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, ScorecardBand, ScorecardCheck, ScorecardCheckId, ScorecardObservation, ScorecardStatus, SearchAnalyticsRequest, 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, 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, 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, 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, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteDataForSeoCredentials, deleteProviderSecret, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, emptyStatusBreakdown, ensurePrivateDatabaseFiles, ensureSeoCliDirs, entityReadiness, estimateSerpTitleWidth, expectedCtrForPosition, explainOkfValidation, explainRule, 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, getPreviousRun, getPrivacySnapshot, getProviderSpendLimits, getProviderSpendSummary, 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, latestCrawlReport, latestCrawlSummaries, latestFinalGscDate, latestIndexWatchSummary, latestLinkRecoverSummary, linkEntries, linkEvidenceKey, linkEvidenceReport, linkRecover, linkRecoverRecommendation, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listIndexNowKeys, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLinkEvidenceRow, normalizeLoadedCrawlReport, noteCacheWrite, observedValue, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, parseCombinedLogLine, parseIndexNowSite, parseJsonLogLine, parseOlderThan, parsePseoPath, performanceAudit, performanceReportIsCacheable, planDueIndexUrls, planIndexCoverageFromUrls, plural, 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, readBoundedResponseText, readConfig, readDataForSeoCredentials, readOauthClient, readProviderSecret, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, removeIndexNowKey, 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, searchMarketSchema, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, serpResultsReport, serverLogReport, sessionSourceInListFilter, setClientBingSite, setDefaultClient, setProviderSpendLimits, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, strikingDistance, submitIndexNow, summarizeCrawlReport, 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 };
|
|
25246
26739
|
//# sourceMappingURL=index.d.ts.map
|