seo 0.2.14 → 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-Bc8MJ1gT.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 +1480 -55
- package/dist/index.js +5768 -1394
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +6329 -1504
- package/dist/mcp.js.map +1 -1
- package/dist/{package-Cp8DwqCy.js → package-Cuxp-LBy.js} +2 -2
- package/dist/{package-Cp8DwqCy.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-sYeCtY3Q.js +0 -656
- package/dist/dist-sYeCtY3Q.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
|
}
|
|
@@ -2239,7 +2281,7 @@ declare function analyzePageOpportunitiesFromRows(input: PageOpportunityAnalysis
|
|
|
2239
2281
|
type PageOpportunityFocus = PageOpportunityType | 'no-data';
|
|
2240
2282
|
//#endregion
|
|
2241
2283
|
//#region packages/core/src/analyze/page-opportunities.d.ts
|
|
2242
|
-
type SearchAnalytics$
|
|
2284
|
+
type SearchAnalytics$11 = typeof querySearchAnalytics;
|
|
2243
2285
|
type FetchPage$4 = typeof fetchPage;
|
|
2244
2286
|
type ExtractPage$3 = typeof extractPage;
|
|
2245
2287
|
type PageOpportunityInput = {
|
|
@@ -2311,7 +2353,7 @@ type PageOpportunityReport = {
|
|
|
2311
2353
|
recommendations: string[];
|
|
2312
2354
|
};
|
|
2313
2355
|
type PageOpportunityDependencies = {
|
|
2314
|
-
searchAnalytics: SearchAnalytics$
|
|
2356
|
+
searchAnalytics: SearchAnalytics$11;
|
|
2315
2357
|
fetch: FetchPage$4;
|
|
2316
2358
|
extract: ExtractPage$3;
|
|
2317
2359
|
now: () => Date;
|
|
@@ -4816,8 +4858,8 @@ declare const crawlPageSnapshotSchema: z.ZodObject<{
|
|
|
4816
4858
|
status: z.ZodOptional<z.ZodNumber>;
|
|
4817
4859
|
error: z.ZodOptional<z.ZodString>;
|
|
4818
4860
|
state: z.ZodOptional<z.ZodEnum<{
|
|
4819
|
-
unavailable: "unavailable";
|
|
4820
4861
|
available: "available";
|
|
4862
|
+
unavailable: "unavailable";
|
|
4821
4863
|
"rate-limited": "rate-limited";
|
|
4822
4864
|
"confirmed-broken": "confirmed-broken";
|
|
4823
4865
|
transient: "transient";
|
|
@@ -5980,8 +6022,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5980
6022
|
status: z.ZodOptional<z.ZodNumber>;
|
|
5981
6023
|
error: z.ZodOptional<z.ZodString>;
|
|
5982
6024
|
state: z.ZodOptional<z.ZodEnum<{
|
|
5983
|
-
unavailable: "unavailable";
|
|
5984
6025
|
available: "available";
|
|
6026
|
+
unavailable: "unavailable";
|
|
5985
6027
|
"rate-limited": "rate-limited";
|
|
5986
6028
|
"confirmed-broken": "confirmed-broken";
|
|
5987
6029
|
transient: "transient";
|
|
@@ -6377,8 +6419,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6377
6419
|
deferredUrls: z.ZodNumber;
|
|
6378
6420
|
limit: z.ZodNumber;
|
|
6379
6421
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
6380
|
-
unavailable: "unavailable";
|
|
6381
6422
|
available: "available";
|
|
6423
|
+
unavailable: "unavailable";
|
|
6382
6424
|
"rate-limited": "rate-limited";
|
|
6383
6425
|
"confirmed-broken": "confirmed-broken";
|
|
6384
6426
|
transient: "transient";
|
|
@@ -7429,8 +7471,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7429
7471
|
status: z.ZodOptional<z.ZodNumber>;
|
|
7430
7472
|
error: z.ZodOptional<z.ZodString>;
|
|
7431
7473
|
state: z.ZodOptional<z.ZodEnum<{
|
|
7432
|
-
unavailable: "unavailable";
|
|
7433
7474
|
available: "available";
|
|
7475
|
+
unavailable: "unavailable";
|
|
7434
7476
|
"rate-limited": "rate-limited";
|
|
7435
7477
|
"confirmed-broken": "confirmed-broken";
|
|
7436
7478
|
transient: "transient";
|
|
@@ -7826,8 +7868,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7826
7868
|
deferredUrls: z.ZodNumber;
|
|
7827
7869
|
limit: z.ZodNumber;
|
|
7828
7870
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
7829
|
-
unavailable: "unavailable";
|
|
7830
7871
|
available: "available";
|
|
7872
|
+
unavailable: "unavailable";
|
|
7831
7873
|
"rate-limited": "rate-limited";
|
|
7832
7874
|
"confirmed-broken": "confirmed-broken";
|
|
7833
7875
|
transient: "transient";
|
|
@@ -8878,8 +8920,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
8878
8920
|
status: z.ZodOptional<z.ZodNumber>;
|
|
8879
8921
|
error: z.ZodOptional<z.ZodString>;
|
|
8880
8922
|
state: z.ZodOptional<z.ZodEnum<{
|
|
8881
|
-
unavailable: "unavailable";
|
|
8882
8923
|
available: "available";
|
|
8924
|
+
unavailable: "unavailable";
|
|
8883
8925
|
"rate-limited": "rate-limited";
|
|
8884
8926
|
"confirmed-broken": "confirmed-broken";
|
|
8885
8927
|
transient: "transient";
|
|
@@ -9275,8 +9317,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
9275
9317
|
deferredUrls: z.ZodNumber;
|
|
9276
9318
|
limit: z.ZodNumber;
|
|
9277
9319
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
9278
|
-
unavailable: "unavailable";
|
|
9279
9320
|
available: "available";
|
|
9321
|
+
unavailable: "unavailable";
|
|
9280
9322
|
"rate-limited": "rate-limited";
|
|
9281
9323
|
"confirmed-broken": "confirmed-broken";
|
|
9282
9324
|
transient: "transient";
|
|
@@ -10329,8 +10371,8 @@ declare const crawlerSchemas: {
|
|
|
10329
10371
|
status: z.ZodOptional<z.ZodNumber>;
|
|
10330
10372
|
error: z.ZodOptional<z.ZodString>;
|
|
10331
10373
|
state: z.ZodOptional<z.ZodEnum<{
|
|
10332
|
-
unavailable: "unavailable";
|
|
10333
10374
|
available: "available";
|
|
10375
|
+
unavailable: "unavailable";
|
|
10334
10376
|
"rate-limited": "rate-limited";
|
|
10335
10377
|
"confirmed-broken": "confirmed-broken";
|
|
10336
10378
|
transient: "transient";
|
|
@@ -10726,8 +10768,8 @@ declare const crawlerSchemas: {
|
|
|
10726
10768
|
deferredUrls: z.ZodNumber;
|
|
10727
10769
|
limit: z.ZodNumber;
|
|
10728
10770
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
10729
|
-
unavailable: "unavailable";
|
|
10730
10771
|
available: "available";
|
|
10772
|
+
unavailable: "unavailable";
|
|
10731
10773
|
"rate-limited": "rate-limited";
|
|
10732
10774
|
"confirmed-broken": "confirmed-broken";
|
|
10733
10775
|
transient: "transient";
|
|
@@ -11778,8 +11820,8 @@ declare const crawlerSchemas: {
|
|
|
11778
11820
|
status: z.ZodOptional<z.ZodNumber>;
|
|
11779
11821
|
error: z.ZodOptional<z.ZodString>;
|
|
11780
11822
|
state: z.ZodOptional<z.ZodEnum<{
|
|
11781
|
-
unavailable: "unavailable";
|
|
11782
11823
|
available: "available";
|
|
11824
|
+
unavailable: "unavailable";
|
|
11783
11825
|
"rate-limited": "rate-limited";
|
|
11784
11826
|
"confirmed-broken": "confirmed-broken";
|
|
11785
11827
|
transient: "transient";
|
|
@@ -12175,8 +12217,8 @@ declare const crawlerSchemas: {
|
|
|
12175
12217
|
deferredUrls: z.ZodNumber;
|
|
12176
12218
|
limit: z.ZodNumber;
|
|
12177
12219
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
12178
|
-
unavailable: "unavailable";
|
|
12179
12220
|
available: "available";
|
|
12221
|
+
unavailable: "unavailable";
|
|
12180
12222
|
"rate-limited": "rate-limited";
|
|
12181
12223
|
"confirmed-broken": "confirmed-broken";
|
|
12182
12224
|
transient: "transient";
|
|
@@ -13227,8 +13269,8 @@ declare const crawlerSchemas: {
|
|
|
13227
13269
|
status: z.ZodOptional<z.ZodNumber>;
|
|
13228
13270
|
error: z.ZodOptional<z.ZodString>;
|
|
13229
13271
|
state: z.ZodOptional<z.ZodEnum<{
|
|
13230
|
-
unavailable: "unavailable";
|
|
13231
13272
|
available: "available";
|
|
13273
|
+
unavailable: "unavailable";
|
|
13232
13274
|
"rate-limited": "rate-limited";
|
|
13233
13275
|
"confirmed-broken": "confirmed-broken";
|
|
13234
13276
|
transient: "transient";
|
|
@@ -13624,8 +13666,8 @@ declare const crawlerSchemas: {
|
|
|
13624
13666
|
deferredUrls: z.ZodNumber;
|
|
13625
13667
|
limit: z.ZodNumber;
|
|
13626
13668
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
13627
|
-
unavailable: "unavailable";
|
|
13628
13669
|
available: "available";
|
|
13670
|
+
unavailable: "unavailable";
|
|
13629
13671
|
"rate-limited": "rate-limited";
|
|
13630
13672
|
"confirmed-broken": "confirmed-broken";
|
|
13631
13673
|
transient: "transient";
|
|
@@ -14810,8 +14852,8 @@ declare const crawlerSchemas: {
|
|
|
14810
14852
|
status: z.ZodOptional<z.ZodNumber>;
|
|
14811
14853
|
error: z.ZodOptional<z.ZodString>;
|
|
14812
14854
|
state: z.ZodOptional<z.ZodEnum<{
|
|
14813
|
-
unavailable: "unavailable";
|
|
14814
14855
|
available: "available";
|
|
14856
|
+
unavailable: "unavailable";
|
|
14815
14857
|
"rate-limited": "rate-limited";
|
|
14816
14858
|
"confirmed-broken": "confirmed-broken";
|
|
14817
14859
|
transient: "transient";
|
|
@@ -15594,8 +15636,8 @@ declare const crawlerJsonSchemas: {
|
|
|
15594
15636
|
status: z.ZodOptional<z.ZodNumber>;
|
|
15595
15637
|
error: z.ZodOptional<z.ZodString>;
|
|
15596
15638
|
state: z.ZodOptional<z.ZodEnum<{
|
|
15597
|
-
unavailable: "unavailable";
|
|
15598
15639
|
available: "available";
|
|
15640
|
+
unavailable: "unavailable";
|
|
15599
15641
|
"rate-limited": "rate-limited";
|
|
15600
15642
|
"confirmed-broken": "confirmed-broken";
|
|
15601
15643
|
transient: "transient";
|
|
@@ -15991,8 +16033,8 @@ declare const crawlerJsonSchemas: {
|
|
|
15991
16033
|
deferredUrls: z.ZodNumber;
|
|
15992
16034
|
limit: z.ZodNumber;
|
|
15993
16035
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
15994
|
-
unavailable: "unavailable";
|
|
15995
16036
|
available: "available";
|
|
16037
|
+
unavailable: "unavailable";
|
|
15996
16038
|
"rate-limited": "rate-limited";
|
|
15997
16039
|
"confirmed-broken": "confirmed-broken";
|
|
15998
16040
|
transient: "transient";
|
|
@@ -17043,8 +17085,8 @@ declare const crawlerJsonSchemas: {
|
|
|
17043
17085
|
status: z.ZodOptional<z.ZodNumber>;
|
|
17044
17086
|
error: z.ZodOptional<z.ZodString>;
|
|
17045
17087
|
state: z.ZodOptional<z.ZodEnum<{
|
|
17046
|
-
unavailable: "unavailable";
|
|
17047
17088
|
available: "available";
|
|
17089
|
+
unavailable: "unavailable";
|
|
17048
17090
|
"rate-limited": "rate-limited";
|
|
17049
17091
|
"confirmed-broken": "confirmed-broken";
|
|
17050
17092
|
transient: "transient";
|
|
@@ -17440,8 +17482,8 @@ declare const crawlerJsonSchemas: {
|
|
|
17440
17482
|
deferredUrls: z.ZodNumber;
|
|
17441
17483
|
limit: z.ZodNumber;
|
|
17442
17484
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
17443
|
-
unavailable: "unavailable";
|
|
17444
17485
|
available: "available";
|
|
17486
|
+
unavailable: "unavailable";
|
|
17445
17487
|
"rate-limited": "rate-limited";
|
|
17446
17488
|
"confirmed-broken": "confirmed-broken";
|
|
17447
17489
|
transient: "transient";
|
|
@@ -18492,8 +18534,8 @@ declare const crawlerJsonSchemas: {
|
|
|
18492
18534
|
status: z.ZodOptional<z.ZodNumber>;
|
|
18493
18535
|
error: z.ZodOptional<z.ZodString>;
|
|
18494
18536
|
state: z.ZodOptional<z.ZodEnum<{
|
|
18495
|
-
unavailable: "unavailable";
|
|
18496
18537
|
available: "available";
|
|
18538
|
+
unavailable: "unavailable";
|
|
18497
18539
|
"rate-limited": "rate-limited";
|
|
18498
18540
|
"confirmed-broken": "confirmed-broken";
|
|
18499
18541
|
transient: "transient";
|
|
@@ -18889,8 +18931,8 @@ declare const crawlerJsonSchemas: {
|
|
|
18889
18931
|
deferredUrls: z.ZodNumber;
|
|
18890
18932
|
limit: z.ZodNumber;
|
|
18891
18933
|
outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
|
|
18892
|
-
unavailable: "unavailable";
|
|
18893
18934
|
available: "available";
|
|
18935
|
+
unavailable: "unavailable";
|
|
18894
18936
|
"rate-limited": "rate-limited";
|
|
18895
18937
|
"confirmed-broken": "confirmed-broken";
|
|
18896
18938
|
transient: "transient";
|
|
@@ -20075,8 +20117,8 @@ declare const crawlerJsonSchemas: {
|
|
|
20075
20117
|
status: z.ZodOptional<z.ZodNumber>;
|
|
20076
20118
|
error: z.ZodOptional<z.ZodString>;
|
|
20077
20119
|
state: z.ZodOptional<z.ZodEnum<{
|
|
20078
|
-
unavailable: "unavailable";
|
|
20079
20120
|
available: "available";
|
|
20121
|
+
unavailable: "unavailable";
|
|
20080
20122
|
"rate-limited": "rate-limited";
|
|
20081
20123
|
"confirmed-broken": "confirmed-broken";
|
|
20082
20124
|
transient: "transient";
|
|
@@ -20299,9 +20341,9 @@ declare function analyzeCtrUnderperformersFromRows(input: {
|
|
|
20299
20341
|
};
|
|
20300
20342
|
//#endregion
|
|
20301
20343
|
//#region packages/core/src/analyze/ctr-underperformers.d.ts
|
|
20302
|
-
type SearchAnalytics$
|
|
20344
|
+
type SearchAnalytics$10 = typeof querySearchAnalytics;
|
|
20303
20345
|
interface CtrUnderperformerDependencies {
|
|
20304
|
-
searchAnalytics: SearchAnalytics$
|
|
20346
|
+
searchAnalytics: SearchAnalytics$10;
|
|
20305
20347
|
now: () => Date;
|
|
20306
20348
|
}
|
|
20307
20349
|
declare function ctrUnderperformersReport(input: {
|
|
@@ -20499,7 +20541,7 @@ declare function resolveSegmentRanges(input: {
|
|
|
20499
20541
|
};
|
|
20500
20542
|
//#endregion
|
|
20501
20543
|
//#region packages/core/src/analyze/segment-impact.d.ts
|
|
20502
|
-
type SearchAnalytics$
|
|
20544
|
+
type SearchAnalytics$9 = typeof querySearchAnalytics;
|
|
20503
20545
|
interface SegmentImpactInput {
|
|
20504
20546
|
site: string;
|
|
20505
20547
|
dimension?: SegmentDimension;
|
|
@@ -20513,7 +20555,7 @@ interface SegmentImpactInput {
|
|
|
20513
20555
|
refresh?: boolean;
|
|
20514
20556
|
}
|
|
20515
20557
|
interface SegmentImpactDependencies {
|
|
20516
|
-
searchAnalytics: SearchAnalytics$
|
|
20558
|
+
searchAnalytics: SearchAnalytics$9;
|
|
20517
20559
|
now: () => Date;
|
|
20518
20560
|
}
|
|
20519
20561
|
declare function compareSegmentRows(input: {
|
|
@@ -20708,7 +20750,7 @@ declare const CANNIBAL_MINIMUM_PAGE_SHARE = 0.1;
|
|
|
20708
20750
|
declare const CANNIBAL_MAXIMUM_DOMINANT_SHARE = 0.8;
|
|
20709
20751
|
//#endregion
|
|
20710
20752
|
//#region packages/core/src/analyze/site-diagnostics/cannibal.d.ts
|
|
20711
|
-
type SearchAnalytics$
|
|
20753
|
+
type SearchAnalytics$8 = typeof querySearchAnalytics;
|
|
20712
20754
|
interface CannibalReportInput {
|
|
20713
20755
|
site: string;
|
|
20714
20756
|
days?: number;
|
|
@@ -20721,7 +20763,7 @@ interface CannibalReportInput {
|
|
|
20721
20763
|
refresh?: boolean;
|
|
20722
20764
|
}
|
|
20723
20765
|
interface CannibalDependencies {
|
|
20724
|
-
searchAnalytics: SearchAnalytics$
|
|
20766
|
+
searchAnalytics: SearchAnalytics$8;
|
|
20725
20767
|
now: () => Date;
|
|
20726
20768
|
}
|
|
20727
20769
|
declare function cannibalReport(input: CannibalReportInput, dependencies?: CannibalDependencies): Promise<CannibalReport>;
|
|
@@ -20889,7 +20931,7 @@ declare function decayComparisonRange(current: {
|
|
|
20889
20931
|
};
|
|
20890
20932
|
//#endregion
|
|
20891
20933
|
//#region packages/core/src/analyze/site-diagnostics/decaying.d.ts
|
|
20892
|
-
type SearchAnalytics$
|
|
20934
|
+
type SearchAnalytics$7 = typeof querySearchAnalytics;
|
|
20893
20935
|
interface DecayingReportInput {
|
|
20894
20936
|
site: string;
|
|
20895
20937
|
days?: number;
|
|
@@ -20905,7 +20947,7 @@ interface DecayingReportInput {
|
|
|
20905
20947
|
refresh?: boolean;
|
|
20906
20948
|
}
|
|
20907
20949
|
interface DecayingDependencies {
|
|
20908
|
-
searchAnalytics: SearchAnalytics$
|
|
20950
|
+
searchAnalytics: SearchAnalytics$7;
|
|
20909
20951
|
now: () => Date;
|
|
20910
20952
|
}
|
|
20911
20953
|
declare function decayingReport(input: DecayingReportInput, dependencies?: DecayingDependencies): Promise<DecayReport>;
|
|
@@ -21051,7 +21093,7 @@ type AnalyzeQuickWinsInput = {
|
|
|
21051
21093
|
declare function analyzeQuickWinsFromRows(input: AnalyzeQuickWinsInput): QuickWinAnalysis;
|
|
21052
21094
|
//#endregion
|
|
21053
21095
|
//#region packages/core/src/analyze/site-diagnostics/quick-wins.d.ts
|
|
21054
|
-
type SearchAnalytics$
|
|
21096
|
+
type SearchAnalytics$6 = typeof querySearchAnalytics;
|
|
21055
21097
|
type FetchPage$3 = typeof fetchPage;
|
|
21056
21098
|
type ExtractPage$2 = typeof extractPage;
|
|
21057
21099
|
type QuickWinsInput = {
|
|
@@ -21070,7 +21112,7 @@ type QuickWinsInput = {
|
|
|
21070
21112
|
refresh?: boolean;
|
|
21071
21113
|
};
|
|
21072
21114
|
type QuickWinsDependencies = {
|
|
21073
|
-
searchAnalytics: SearchAnalytics$
|
|
21115
|
+
searchAnalytics: SearchAnalytics$6;
|
|
21074
21116
|
fetch: FetchPage$3;
|
|
21075
21117
|
extract: ExtractPage$2;
|
|
21076
21118
|
now: () => Date;
|
|
@@ -21312,7 +21354,7 @@ type AnalyzeStrikingDistanceInput = {
|
|
|
21312
21354
|
declare function analyzeStrikingDistanceRows(input: AnalyzeStrikingDistanceInput): StrikingDistanceAnalysis;
|
|
21313
21355
|
//#endregion
|
|
21314
21356
|
//#region packages/core/src/analyze/striking-distance.d.ts
|
|
21315
|
-
type SearchAnalytics$
|
|
21357
|
+
type SearchAnalytics$5 = typeof querySearchAnalytics;
|
|
21316
21358
|
type VerifyQueryContent = typeof verifyQueryContent;
|
|
21317
21359
|
type StrikingDistanceInput = {
|
|
21318
21360
|
site: string;
|
|
@@ -21377,7 +21419,7 @@ type StrikingDistanceReport = {
|
|
|
21377
21419
|
recommendations: string[];
|
|
21378
21420
|
};
|
|
21379
21421
|
type StrikingDistanceDependencies = {
|
|
21380
|
-
searchAnalytics: SearchAnalytics$
|
|
21422
|
+
searchAnalytics: SearchAnalytics$5;
|
|
21381
21423
|
verifyContent: VerifyQueryContent;
|
|
21382
21424
|
now: () => Date;
|
|
21383
21425
|
};
|
|
@@ -22056,7 +22098,7 @@ interface InternalLinksAnalysis {
|
|
|
22056
22098
|
declare function analyzeInternalLinksFromRows(input: InternalLinksAnalysisInput): InternalLinksAnalysis;
|
|
22057
22099
|
//#endregion
|
|
22058
22100
|
//#region packages/core/src/analyze/internal-links.d.ts
|
|
22059
|
-
type SearchAnalytics$
|
|
22101
|
+
type SearchAnalytics$4 = typeof querySearchAnalytics;
|
|
22060
22102
|
type FetchPage$2 = typeof fetchPage;
|
|
22061
22103
|
type ExtractPage$1 = typeof extractPage;
|
|
22062
22104
|
interface InternalLinksInput {
|
|
@@ -22073,13 +22115,548 @@ interface InternalLinksInput {
|
|
|
22073
22115
|
refresh?: boolean;
|
|
22074
22116
|
}
|
|
22075
22117
|
interface InternalLinksDependencies {
|
|
22076
|
-
searchAnalytics: SearchAnalytics$
|
|
22118
|
+
searchAnalytics: SearchAnalytics$4;
|
|
22077
22119
|
fetch: FetchPage$2;
|
|
22078
22120
|
extract: ExtractPage$1;
|
|
22079
22121
|
now: () => Date;
|
|
22080
22122
|
}
|
|
22081
22123
|
declare function internalLinksReport(input: InternalLinksInput, dependencies?: InternalLinksDependencies): Promise<InternalLinksReport>;
|
|
22082
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
|
|
22083
22660
|
//#region packages/core/src/analyze/monitoring/crawl-diff.d.ts
|
|
22084
22661
|
declare function compareCrawlPages(input: {
|
|
22085
22662
|
current: CrawlPageSnapshot[];
|
|
@@ -22484,14 +23061,15 @@ declare namespace SqliteDatabase {
|
|
|
22484
23061
|
}
|
|
22485
23062
|
//#endregion
|
|
22486
23063
|
//#region packages/core/src/storage/database.d.ts
|
|
23064
|
+
declare function ensurePrivateDatabaseFiles(path: string): void;
|
|
22487
23065
|
declare function getDb(): SqliteDatabase.Database;
|
|
22488
|
-
declare function noteCacheWrite(sizeBytes?: number): void;
|
|
23066
|
+
declare function noteCacheWrite(sizeBytes?: number, database?: SqliteDatabase.Database): void;
|
|
22489
23067
|
declare function checkDatabaseReadiness(): {
|
|
22490
23068
|
dbPath: string;
|
|
22491
23069
|
};
|
|
22492
23070
|
declare function hashKey(parts: unknown[]): string;
|
|
22493
23071
|
declare function getCacheStats(): CacheStats;
|
|
22494
|
-
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;
|
|
22495
23073
|
//#endregion
|
|
22496
23074
|
//#region packages/core/src/analyze/monitoring/index-watch.d.ts
|
|
22497
23075
|
declare const INDEX_WATCH_ATTEMPT_RETENTION = 20;
|
|
@@ -22808,15 +23386,6 @@ declare function performanceAudit(input: {
|
|
|
22808
23386
|
now?: () => Date;
|
|
22809
23387
|
}): Promise<PerformanceAuditReport>;
|
|
22810
23388
|
//#endregion
|
|
22811
|
-
//#region packages/core/src/analyze/pseo/query-insights.d.ts
|
|
22812
|
-
type PseoQueryPattern = {
|
|
22813
|
-
label: string;
|
|
22814
|
-
queryCount: number;
|
|
22815
|
-
clicks: number;
|
|
22816
|
-
impressions: number;
|
|
22817
|
-
examples: string[];
|
|
22818
|
-
};
|
|
22819
|
-
//#endregion
|
|
22820
23389
|
//#region packages/core/src/analyze/pseo/types.d.ts
|
|
22821
23390
|
type PseoQueryPageRow = {
|
|
22822
23391
|
query: string;
|
|
@@ -23093,6 +23662,25 @@ declare function pseoAuditOptions(input: Omit<PseoAuditInput, 'site'>): {
|
|
|
23093
23662
|
rate?: FetchRateControls | undefined;
|
|
23094
23663
|
progress?: ProgressReporter | undefined;
|
|
23095
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;
|
|
23096
23684
|
declare function pseoAuditReport(input: PseoAuditInput, dependencies?: PseoDependencies): Promise<PseoAuditReport>;
|
|
23097
23685
|
//#endregion
|
|
23098
23686
|
//#region packages/core/src/analyze/pseo/markdown.d.ts
|
|
@@ -23127,6 +23715,276 @@ type Presentation = {
|
|
|
23127
23715
|
//#region packages/core/src/analyze/pseo/presentation.d.ts
|
|
23128
23716
|
declare function pseoPresentation(report: PseoAuditReport): Presentation;
|
|
23129
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
|
|
23130
23988
|
//#region packages/core/src/analyze/query-cluster-primitives.d.ts
|
|
23131
23989
|
type QueryClusterRow = {
|
|
23132
23990
|
query: string;
|
|
@@ -23186,8 +24044,10 @@ type QueryClusterReport = {
|
|
|
23186
24044
|
caveats: string[];
|
|
23187
24045
|
recommendations: string[];
|
|
23188
24046
|
};
|
|
24047
|
+
type QueryClusterSourceRow = Awaited<ReturnType<typeof querySearchAnalytics>>['rows'][number];
|
|
23189
24048
|
declare function queryClusterReport(input: {
|
|
23190
24049
|
site: string;
|
|
24050
|
+
days?: number;
|
|
23191
24051
|
scope?: string;
|
|
23192
24052
|
brand?: string;
|
|
23193
24053
|
brandTerms?: string[];
|
|
@@ -23196,6 +24056,54 @@ declare function queryClusterReport(input: {
|
|
|
23196
24056
|
limit?: number;
|
|
23197
24057
|
refresh?: boolean;
|
|
23198
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>;
|
|
23199
24107
|
//#endregion
|
|
23200
24108
|
//#region packages/core/src/errors.d.ts
|
|
23201
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';
|
|
@@ -23306,9 +24214,6 @@ declare function reportNarrative(input: {
|
|
|
23306
24214
|
//#region packages/core/src/analyze/reports/presentation.d.ts
|
|
23307
24215
|
declare function reportPresentation(report: ReportNarrative): Presentation;
|
|
23308
24216
|
//#endregion
|
|
23309
|
-
//#region packages/core/src/analyze/second-page-analysis.d.ts
|
|
23310
|
-
declare function analyzeSecondPageRows(input: AnalyzeSecondPageInput): SecondPageAnalysis;
|
|
23311
|
-
//#endregion
|
|
23312
24217
|
//#region packages/core/src/analyze/second-page.d.ts
|
|
23313
24218
|
type SearchAnalytics = typeof querySearchAnalytics;
|
|
23314
24219
|
type FetchPage = typeof fetchPage;
|
|
@@ -24947,18 +25852,538 @@ declare function fileSize(path: string): number;
|
|
|
24947
25852
|
declare function plural(count: number, singular: string, pluralLabel?: string): string;
|
|
24948
25853
|
declare function countLabel(count: number, singular: string, pluralLabel?: string): string;
|
|
24949
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
|
|
24950
26350
|
//#region packages/core/src/providers/dataforseo.d.ts
|
|
26351
|
+
type DataForSeoProviderOptions = DataForSeoClientOptions;
|
|
24951
26352
|
declare class DataForSeoProvider implements KeywordDataProvider {
|
|
24952
26353
|
readonly name = "dataforseo";
|
|
24953
26354
|
readonly capabilities: {
|
|
24954
26355
|
overview: boolean;
|
|
24955
26356
|
};
|
|
24956
|
-
private
|
|
26357
|
+
private readonly client;
|
|
26358
|
+
constructor(options?: DataForSeoProviderOptions);
|
|
24957
26359
|
keywordOverview(phrase: string, opts?: ProviderOpts): Promise<ProviderResult<KeywordOverview>>;
|
|
24958
26360
|
}
|
|
24959
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
|
|
24960
26382
|
//#region packages/core/src/providers/router.d.ts
|
|
24961
|
-
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>;
|
|
24962
26387
|
//#endregion
|
|
24963
26388
|
//#region packages/core/src/providers/semrush.d.ts
|
|
24964
26389
|
declare class SemrushProvider implements KeywordDataProvider {
|
|
@@ -25235,7 +26660,7 @@ declare const TELEMETRY_TIMEOUT_MS = 2000;
|
|
|
25235
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"];
|
|
25236
26661
|
declare const TELEMETRY_AGENTS: readonly ["claude-code", "cursor", "codex", "cli", "unknown"];
|
|
25237
26662
|
declare const TELEMETRY_ERROR_CATEGORIES: readonly ["auth", "crawl_timeout", "network", "config", "unknown"];
|
|
25238
|
-
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"];
|
|
25239
26664
|
type TelemetryEvent = (typeof TELEMETRY_EVENTS)[number];
|
|
25240
26665
|
type TelemetryAgent = (typeof TELEMETRY_AGENTS)[number];
|
|
25241
26666
|
type TelemetryErrorCategory = (typeof TELEMETRY_ERROR_CATEGORIES)[number];
|
|
@@ -25310,5 +26735,5 @@ declare function isoDate(daysAgo?: number): string;
|
|
|
25310
26735
|
//#region packages/core/src/version.d.ts
|
|
25311
26736
|
declare const SEO_VERSION: string;
|
|
25312
26737
|
//#endregion
|
|
25313
|
-
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 };
|
|
25314
26739
|
//# sourceMappingURL=index.d.ts.map
|