seo 0.2.10 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- import { Headers, RequestInit as RequestInit$1, fetch as fetch$1 } from "undici";
2
+ import { Headers, RequestInit as RequestInit$1, Response as Response$1, fetch as fetch$1 } from "undici";
3
3
  import { z } from "zod";
4
4
  import Libsql from "libsql";
5
5
  import pino from "pino";
@@ -261,6 +261,11 @@ declare const clientProfileSchema: z.ZodObject<{
261
261
  propertyId: z.ZodString;
262
262
  }, z.core.$strip>>;
263
263
  }, z.core.$strip>>;
264
+ searchEngines: z.ZodOptional<z.ZodObject<{
265
+ bing: z.ZodOptional<z.ZodObject<{
266
+ siteUrl: z.ZodString;
267
+ }, z.core.$strip>>;
268
+ }, z.core.$strip>>;
264
269
  reportDay: z.ZodOptional<z.ZodNumber>;
265
270
  technicalWeekday: z.ZodOptional<z.ZodNumber>;
266
271
  isDefault: z.ZodOptional<z.ZodBoolean>;
@@ -288,6 +293,11 @@ declare const configSchema: z.ZodObject<{
288
293
  propertyId: z.ZodString;
289
294
  }, z.core.$strip>>;
290
295
  }, z.core.$strip>>;
296
+ searchEngines: z.ZodOptional<z.ZodObject<{
297
+ bing: z.ZodOptional<z.ZodObject<{
298
+ siteUrl: z.ZodString;
299
+ }, z.core.$strip>>;
300
+ }, z.core.$strip>>;
291
301
  reportDay: z.ZodOptional<z.ZodNumber>;
292
302
  technicalWeekday: z.ZodOptional<z.ZodNumber>;
293
303
  isDefault: z.ZodOptional<z.ZodBoolean>;
@@ -4153,8 +4163,8 @@ declare const crawlerRuleSeveritySchema: z.ZodEnum<{
4153
4163
  medium: "medium";
4154
4164
  }>;
4155
4165
  declare const crawlerRuleRecommendationSchema: z.ZodEnum<{
4156
- fix: "fix";
4157
4166
  review: "review";
4167
+ fix: "fix";
4158
4168
  }>;
4159
4169
  declare const crawlerRuleCategorySchema: z.ZodEnum<{
4160
4170
  metadata: "metadata";
@@ -4204,8 +4214,8 @@ declare const crawlerRuleInfoSchema: z.ZodObject<{
4204
4214
  medium: "medium";
4205
4215
  }>;
4206
4216
  recommendation: z.ZodEnum<{
4207
- fix: "fix";
4208
4217
  review: "review";
4218
+ fix: "fix";
4209
4219
  }>;
4210
4220
  whyItMatters: z.ZodString;
4211
4221
  howToFix: z.ZodString;
@@ -4330,12 +4340,12 @@ declare const crawlPageSnapshotSchema: z.ZodObject<{
4330
4340
  off: "off";
4331
4341
  }>;
4332
4342
  status: z.ZodEnum<{
4343
+ unavailable: "unavailable";
4333
4344
  failed: "failed";
4334
4345
  rendered: "rendered";
4335
4346
  "not-requested": "not-requested";
4336
4347
  "not-needed": "not-needed";
4337
4348
  skipped: "skipped";
4338
- unavailable: "unavailable";
4339
4349
  }>;
4340
4350
  raw: z.ZodOptional<z.ZodObject<{
4341
4351
  source: z.ZodEnum<{
@@ -4654,9 +4664,9 @@ declare const crawlPageSnapshotSchema: z.ZodObject<{
4654
4664
  status: z.ZodOptional<z.ZodNumber>;
4655
4665
  error: z.ZodOptional<z.ZodString>;
4656
4666
  state: z.ZodOptional<z.ZodEnum<{
4667
+ unavailable: "unavailable";
4657
4668
  available: "available";
4658
4669
  "rate-limited": "rate-limited";
4659
- unavailable: "unavailable";
4660
4670
  "confirmed-broken": "confirmed-broken";
4661
4671
  transient: "transient";
4662
4672
  "provider-blocked": "provider-blocked";
@@ -5066,8 +5076,8 @@ declare const crawlTopFixSchema: z.ZodObject<{
5066
5076
  count: z.ZodNumber;
5067
5077
  sampleUrls: z.ZodArray<z.ZodString>;
5068
5078
  recommendation: z.ZodEnum<{
5069
- fix: "fix";
5070
5079
  review: "review";
5080
+ fix: "fix";
5071
5081
  }>;
5072
5082
  score: z.ZodNumber;
5073
5083
  scoreFactors: z.ZodObject<{
@@ -5461,12 +5471,12 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5461
5471
  off: "off";
5462
5472
  }>;
5463
5473
  status: z.ZodEnum<{
5474
+ unavailable: "unavailable";
5464
5475
  failed: "failed";
5465
5476
  rendered: "rendered";
5466
5477
  "not-requested": "not-requested";
5467
5478
  "not-needed": "not-needed";
5468
5479
  skipped: "skipped";
5469
- unavailable: "unavailable";
5470
5480
  }>;
5471
5481
  raw: z.ZodOptional<z.ZodObject<{
5472
5482
  source: z.ZodEnum<{
@@ -5785,9 +5795,9 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5785
5795
  status: z.ZodOptional<z.ZodNumber>;
5786
5796
  error: z.ZodOptional<z.ZodString>;
5787
5797
  state: z.ZodOptional<z.ZodEnum<{
5798
+ unavailable: "unavailable";
5788
5799
  available: "available";
5789
5800
  "rate-limited": "rate-limited";
5790
- unavailable: "unavailable";
5791
5801
  "confirmed-broken": "confirmed-broken";
5792
5802
  transient: "transient";
5793
5803
  "provider-blocked": "provider-blocked";
@@ -6011,8 +6021,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6011
6021
  searchConsole: z.ZodObject<{
6012
6022
  status: z.ZodEnum<{
6013
6023
  partial: "partial";
6014
- skipped: "skipped";
6015
6024
  unavailable: "unavailable";
6025
+ skipped: "skipped";
6016
6026
  joined: "joined";
6017
6027
  none: "none";
6018
6028
  }>;
@@ -6036,8 +6046,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6036
6046
  analytics: z.ZodObject<{
6037
6047
  status: z.ZodEnum<{
6038
6048
  partial: "partial";
6039
- skipped: "skipped";
6040
6049
  unavailable: "unavailable";
6050
+ skipped: "skipped";
6041
6051
  joined: "joined";
6042
6052
  none: "none";
6043
6053
  }>;
@@ -6182,9 +6192,9 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6182
6192
  deferredUrls: z.ZodNumber;
6183
6193
  limit: z.ZodNumber;
6184
6194
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
6195
+ unavailable: "unavailable";
6185
6196
  available: "available";
6186
6197
  "rate-limited": "rate-limited";
6187
- unavailable: "unavailable";
6188
6198
  "confirmed-broken": "confirmed-broken";
6189
6199
  transient: "transient";
6190
6200
  "provider-blocked": "provider-blocked";
@@ -6839,12 +6849,12 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6839
6849
  off: "off";
6840
6850
  }>;
6841
6851
  status: z.ZodEnum<{
6852
+ unavailable: "unavailable";
6842
6853
  failed: "failed";
6843
6854
  rendered: "rendered";
6844
6855
  "not-requested": "not-requested";
6845
6856
  "not-needed": "not-needed";
6846
6857
  skipped: "skipped";
6847
- unavailable: "unavailable";
6848
6858
  }>;
6849
6859
  raw: z.ZodOptional<z.ZodObject<{
6850
6860
  source: z.ZodEnum<{
@@ -7163,9 +7173,9 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7163
7173
  status: z.ZodOptional<z.ZodNumber>;
7164
7174
  error: z.ZodOptional<z.ZodString>;
7165
7175
  state: z.ZodOptional<z.ZodEnum<{
7176
+ unavailable: "unavailable";
7166
7177
  available: "available";
7167
7178
  "rate-limited": "rate-limited";
7168
- unavailable: "unavailable";
7169
7179
  "confirmed-broken": "confirmed-broken";
7170
7180
  transient: "transient";
7171
7181
  "provider-blocked": "provider-blocked";
@@ -7389,8 +7399,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7389
7399
  searchConsole: z.ZodObject<{
7390
7400
  status: z.ZodEnum<{
7391
7401
  partial: "partial";
7392
- skipped: "skipped";
7393
7402
  unavailable: "unavailable";
7403
+ skipped: "skipped";
7394
7404
  joined: "joined";
7395
7405
  none: "none";
7396
7406
  }>;
@@ -7414,8 +7424,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7414
7424
  analytics: z.ZodObject<{
7415
7425
  status: z.ZodEnum<{
7416
7426
  partial: "partial";
7417
- skipped: "skipped";
7418
7427
  unavailable: "unavailable";
7428
+ skipped: "skipped";
7419
7429
  joined: "joined";
7420
7430
  none: "none";
7421
7431
  }>;
@@ -7560,9 +7570,9 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7560
7570
  deferredUrls: z.ZodNumber;
7561
7571
  limit: z.ZodNumber;
7562
7572
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
7573
+ unavailable: "unavailable";
7563
7574
  available: "available";
7564
7575
  "rate-limited": "rate-limited";
7565
- unavailable: "unavailable";
7566
7576
  "confirmed-broken": "confirmed-broken";
7567
7577
  transient: "transient";
7568
7578
  "provider-blocked": "provider-blocked";
@@ -8217,12 +8227,12 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
8217
8227
  off: "off";
8218
8228
  }>;
8219
8229
  status: z.ZodEnum<{
8230
+ unavailable: "unavailable";
8220
8231
  failed: "failed";
8221
8232
  rendered: "rendered";
8222
8233
  "not-requested": "not-requested";
8223
8234
  "not-needed": "not-needed";
8224
8235
  skipped: "skipped";
8225
- unavailable: "unavailable";
8226
8236
  }>;
8227
8237
  raw: z.ZodOptional<z.ZodObject<{
8228
8238
  source: z.ZodEnum<{
@@ -8541,9 +8551,9 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
8541
8551
  status: z.ZodOptional<z.ZodNumber>;
8542
8552
  error: z.ZodOptional<z.ZodString>;
8543
8553
  state: z.ZodOptional<z.ZodEnum<{
8554
+ unavailable: "unavailable";
8544
8555
  available: "available";
8545
8556
  "rate-limited": "rate-limited";
8546
- unavailable: "unavailable";
8547
8557
  "confirmed-broken": "confirmed-broken";
8548
8558
  transient: "transient";
8549
8559
  "provider-blocked": "provider-blocked";
@@ -8767,8 +8777,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
8767
8777
  searchConsole: z.ZodObject<{
8768
8778
  status: z.ZodEnum<{
8769
8779
  partial: "partial";
8770
- skipped: "skipped";
8771
8780
  unavailable: "unavailable";
8781
+ skipped: "skipped";
8772
8782
  joined: "joined";
8773
8783
  none: "none";
8774
8784
  }>;
@@ -8792,8 +8802,8 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
8792
8802
  analytics: z.ZodObject<{
8793
8803
  status: z.ZodEnum<{
8794
8804
  partial: "partial";
8795
- skipped: "skipped";
8796
8805
  unavailable: "unavailable";
8806
+ skipped: "skipped";
8797
8807
  joined: "joined";
8798
8808
  none: "none";
8799
8809
  }>;
@@ -8938,9 +8948,9 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
8938
8948
  deferredUrls: z.ZodNumber;
8939
8949
  limit: z.ZodNumber;
8940
8950
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
8951
+ unavailable: "unavailable";
8941
8952
  available: "available";
8942
8953
  "rate-limited": "rate-limited";
8943
- unavailable: "unavailable";
8944
8954
  "confirmed-broken": "confirmed-broken";
8945
8955
  transient: "transient";
8946
8956
  "provider-blocked": "provider-blocked";
@@ -9597,12 +9607,12 @@ declare const crawlerSchemas: {
9597
9607
  off: "off";
9598
9608
  }>;
9599
9609
  status: z.ZodEnum<{
9610
+ unavailable: "unavailable";
9600
9611
  failed: "failed";
9601
9612
  rendered: "rendered";
9602
9613
  "not-requested": "not-requested";
9603
9614
  "not-needed": "not-needed";
9604
9615
  skipped: "skipped";
9605
- unavailable: "unavailable";
9606
9616
  }>;
9607
9617
  raw: z.ZodOptional<z.ZodObject<{
9608
9618
  source: z.ZodEnum<{
@@ -9921,9 +9931,9 @@ declare const crawlerSchemas: {
9921
9931
  status: z.ZodOptional<z.ZodNumber>;
9922
9932
  error: z.ZodOptional<z.ZodString>;
9923
9933
  state: z.ZodOptional<z.ZodEnum<{
9934
+ unavailable: "unavailable";
9924
9935
  available: "available";
9925
9936
  "rate-limited": "rate-limited";
9926
- unavailable: "unavailable";
9927
9937
  "confirmed-broken": "confirmed-broken";
9928
9938
  transient: "transient";
9929
9939
  "provider-blocked": "provider-blocked";
@@ -10147,8 +10157,8 @@ declare const crawlerSchemas: {
10147
10157
  searchConsole: z.ZodObject<{
10148
10158
  status: z.ZodEnum<{
10149
10159
  partial: "partial";
10150
- skipped: "skipped";
10151
10160
  unavailable: "unavailable";
10161
+ skipped: "skipped";
10152
10162
  joined: "joined";
10153
10163
  none: "none";
10154
10164
  }>;
@@ -10172,8 +10182,8 @@ declare const crawlerSchemas: {
10172
10182
  analytics: z.ZodObject<{
10173
10183
  status: z.ZodEnum<{
10174
10184
  partial: "partial";
10175
- skipped: "skipped";
10176
10185
  unavailable: "unavailable";
10186
+ skipped: "skipped";
10177
10187
  joined: "joined";
10178
10188
  none: "none";
10179
10189
  }>;
@@ -10318,9 +10328,9 @@ declare const crawlerSchemas: {
10318
10328
  deferredUrls: z.ZodNumber;
10319
10329
  limit: z.ZodNumber;
10320
10330
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
10331
+ unavailable: "unavailable";
10321
10332
  available: "available";
10322
10333
  "rate-limited": "rate-limited";
10323
- unavailable: "unavailable";
10324
10334
  "confirmed-broken": "confirmed-broken";
10325
10335
  transient: "transient";
10326
10336
  "provider-blocked": "provider-blocked";
@@ -10975,12 +10985,12 @@ declare const crawlerSchemas: {
10975
10985
  off: "off";
10976
10986
  }>;
10977
10987
  status: z.ZodEnum<{
10988
+ unavailable: "unavailable";
10978
10989
  failed: "failed";
10979
10990
  rendered: "rendered";
10980
10991
  "not-requested": "not-requested";
10981
10992
  "not-needed": "not-needed";
10982
10993
  skipped: "skipped";
10983
- unavailable: "unavailable";
10984
10994
  }>;
10985
10995
  raw: z.ZodOptional<z.ZodObject<{
10986
10996
  source: z.ZodEnum<{
@@ -11299,9 +11309,9 @@ declare const crawlerSchemas: {
11299
11309
  status: z.ZodOptional<z.ZodNumber>;
11300
11310
  error: z.ZodOptional<z.ZodString>;
11301
11311
  state: z.ZodOptional<z.ZodEnum<{
11312
+ unavailable: "unavailable";
11302
11313
  available: "available";
11303
11314
  "rate-limited": "rate-limited";
11304
- unavailable: "unavailable";
11305
11315
  "confirmed-broken": "confirmed-broken";
11306
11316
  transient: "transient";
11307
11317
  "provider-blocked": "provider-blocked";
@@ -11525,8 +11535,8 @@ declare const crawlerSchemas: {
11525
11535
  searchConsole: z.ZodObject<{
11526
11536
  status: z.ZodEnum<{
11527
11537
  partial: "partial";
11528
- skipped: "skipped";
11529
11538
  unavailable: "unavailable";
11539
+ skipped: "skipped";
11530
11540
  joined: "joined";
11531
11541
  none: "none";
11532
11542
  }>;
@@ -11550,8 +11560,8 @@ declare const crawlerSchemas: {
11550
11560
  analytics: z.ZodObject<{
11551
11561
  status: z.ZodEnum<{
11552
11562
  partial: "partial";
11553
- skipped: "skipped";
11554
11563
  unavailable: "unavailable";
11564
+ skipped: "skipped";
11555
11565
  joined: "joined";
11556
11566
  none: "none";
11557
11567
  }>;
@@ -11696,9 +11706,9 @@ declare const crawlerSchemas: {
11696
11706
  deferredUrls: z.ZodNumber;
11697
11707
  limit: z.ZodNumber;
11698
11708
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
11709
+ unavailable: "unavailable";
11699
11710
  available: "available";
11700
11711
  "rate-limited": "rate-limited";
11701
- unavailable: "unavailable";
11702
11712
  "confirmed-broken": "confirmed-broken";
11703
11713
  transient: "transient";
11704
11714
  "provider-blocked": "provider-blocked";
@@ -12353,12 +12363,12 @@ declare const crawlerSchemas: {
12353
12363
  off: "off";
12354
12364
  }>;
12355
12365
  status: z.ZodEnum<{
12366
+ unavailable: "unavailable";
12356
12367
  failed: "failed";
12357
12368
  rendered: "rendered";
12358
12369
  "not-requested": "not-requested";
12359
12370
  "not-needed": "not-needed";
12360
12371
  skipped: "skipped";
12361
- unavailable: "unavailable";
12362
12372
  }>;
12363
12373
  raw: z.ZodOptional<z.ZodObject<{
12364
12374
  source: z.ZodEnum<{
@@ -12677,9 +12687,9 @@ declare const crawlerSchemas: {
12677
12687
  status: z.ZodOptional<z.ZodNumber>;
12678
12688
  error: z.ZodOptional<z.ZodString>;
12679
12689
  state: z.ZodOptional<z.ZodEnum<{
12690
+ unavailable: "unavailable";
12680
12691
  available: "available";
12681
12692
  "rate-limited": "rate-limited";
12682
- unavailable: "unavailable";
12683
12693
  "confirmed-broken": "confirmed-broken";
12684
12694
  transient: "transient";
12685
12695
  "provider-blocked": "provider-blocked";
@@ -12903,8 +12913,8 @@ declare const crawlerSchemas: {
12903
12913
  searchConsole: z.ZodObject<{
12904
12914
  status: z.ZodEnum<{
12905
12915
  partial: "partial";
12906
- skipped: "skipped";
12907
12916
  unavailable: "unavailable";
12917
+ skipped: "skipped";
12908
12918
  joined: "joined";
12909
12919
  none: "none";
12910
12920
  }>;
@@ -12928,8 +12938,8 @@ declare const crawlerSchemas: {
12928
12938
  analytics: z.ZodObject<{
12929
12939
  status: z.ZodEnum<{
12930
12940
  partial: "partial";
12931
- skipped: "skipped";
12932
12941
  unavailable: "unavailable";
12942
+ skipped: "skipped";
12933
12943
  joined: "joined";
12934
12944
  none: "none";
12935
12945
  }>;
@@ -13074,9 +13084,9 @@ declare const crawlerSchemas: {
13074
13084
  deferredUrls: z.ZodNumber;
13075
13085
  limit: z.ZodNumber;
13076
13086
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
13087
+ unavailable: "unavailable";
13077
13088
  available: "available";
13078
13089
  "rate-limited": "rate-limited";
13079
- unavailable: "unavailable";
13080
13090
  "confirmed-broken": "confirmed-broken";
13081
13091
  transient: "transient";
13082
13092
  "provider-blocked": "provider-blocked";
@@ -13522,8 +13532,8 @@ declare const crawlerSchemas: {
13522
13532
  count: z.ZodNumber;
13523
13533
  sampleUrls: z.ZodArray<z.ZodString>;
13524
13534
  recommendation: z.ZodEnum<{
13525
- fix: "fix";
13526
13535
  review: "review";
13536
+ fix: "fix";
13527
13537
  }>;
13528
13538
  score: z.ZodNumber;
13529
13539
  scoreFactors: z.ZodObject<{
@@ -13579,8 +13589,8 @@ declare const crawlerSchemas: {
13579
13589
  medium: "medium";
13580
13590
  }>;
13581
13591
  recommendation: z.ZodEnum<{
13582
- fix: "fix";
13583
13592
  review: "review";
13593
+ fix: "fix";
13584
13594
  }>;
13585
13595
  whyItMatters: z.ZodString;
13586
13596
  howToFix: z.ZodString;
@@ -13865,12 +13875,12 @@ declare const crawlerSchemas: {
13865
13875
  off: "off";
13866
13876
  }>;
13867
13877
  status: z.ZodEnum<{
13878
+ unavailable: "unavailable";
13868
13879
  failed: "failed";
13869
13880
  rendered: "rendered";
13870
13881
  "not-requested": "not-requested";
13871
13882
  "not-needed": "not-needed";
13872
13883
  skipped: "skipped";
13873
- unavailable: "unavailable";
13874
13884
  }>;
13875
13885
  raw: z.ZodOptional<z.ZodObject<{
13876
13886
  source: z.ZodEnum<{
@@ -14189,9 +14199,9 @@ declare const crawlerSchemas: {
14189
14199
  status: z.ZodOptional<z.ZodNumber>;
14190
14200
  error: z.ZodOptional<z.ZodString>;
14191
14201
  state: z.ZodOptional<z.ZodEnum<{
14202
+ unavailable: "unavailable";
14192
14203
  available: "available";
14193
14204
  "rate-limited": "rate-limited";
14194
- unavailable: "unavailable";
14195
14205
  "confirmed-broken": "confirmed-broken";
14196
14206
  transient: "transient";
14197
14207
  "provider-blocked": "provider-blocked";
@@ -14616,12 +14626,12 @@ declare const crawlerJsonSchemas: {
14616
14626
  off: "off";
14617
14627
  }>;
14618
14628
  status: z.ZodEnum<{
14629
+ unavailable: "unavailable";
14619
14630
  failed: "failed";
14620
14631
  rendered: "rendered";
14621
14632
  "not-requested": "not-requested";
14622
14633
  "not-needed": "not-needed";
14623
14634
  skipped: "skipped";
14624
- unavailable: "unavailable";
14625
14635
  }>;
14626
14636
  raw: z.ZodOptional<z.ZodObject<{
14627
14637
  source: z.ZodEnum<{
@@ -14940,9 +14950,9 @@ declare const crawlerJsonSchemas: {
14940
14950
  status: z.ZodOptional<z.ZodNumber>;
14941
14951
  error: z.ZodOptional<z.ZodString>;
14942
14952
  state: z.ZodOptional<z.ZodEnum<{
14953
+ unavailable: "unavailable";
14943
14954
  available: "available";
14944
14955
  "rate-limited": "rate-limited";
14945
- unavailable: "unavailable";
14946
14956
  "confirmed-broken": "confirmed-broken";
14947
14957
  transient: "transient";
14948
14958
  "provider-blocked": "provider-blocked";
@@ -15166,8 +15176,8 @@ declare const crawlerJsonSchemas: {
15166
15176
  searchConsole: z.ZodObject<{
15167
15177
  status: z.ZodEnum<{
15168
15178
  partial: "partial";
15169
- skipped: "skipped";
15170
15179
  unavailable: "unavailable";
15180
+ skipped: "skipped";
15171
15181
  joined: "joined";
15172
15182
  none: "none";
15173
15183
  }>;
@@ -15191,8 +15201,8 @@ declare const crawlerJsonSchemas: {
15191
15201
  analytics: z.ZodObject<{
15192
15202
  status: z.ZodEnum<{
15193
15203
  partial: "partial";
15194
- skipped: "skipped";
15195
15204
  unavailable: "unavailable";
15205
+ skipped: "skipped";
15196
15206
  joined: "joined";
15197
15207
  none: "none";
15198
15208
  }>;
@@ -15337,9 +15347,9 @@ declare const crawlerJsonSchemas: {
15337
15347
  deferredUrls: z.ZodNumber;
15338
15348
  limit: z.ZodNumber;
15339
15349
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
15350
+ unavailable: "unavailable";
15340
15351
  available: "available";
15341
15352
  "rate-limited": "rate-limited";
15342
- unavailable: "unavailable";
15343
15353
  "confirmed-broken": "confirmed-broken";
15344
15354
  transient: "transient";
15345
15355
  "provider-blocked": "provider-blocked";
@@ -15994,12 +16004,12 @@ declare const crawlerJsonSchemas: {
15994
16004
  off: "off";
15995
16005
  }>;
15996
16006
  status: z.ZodEnum<{
16007
+ unavailable: "unavailable";
15997
16008
  failed: "failed";
15998
16009
  rendered: "rendered";
15999
16010
  "not-requested": "not-requested";
16000
16011
  "not-needed": "not-needed";
16001
16012
  skipped: "skipped";
16002
- unavailable: "unavailable";
16003
16013
  }>;
16004
16014
  raw: z.ZodOptional<z.ZodObject<{
16005
16015
  source: z.ZodEnum<{
@@ -16318,9 +16328,9 @@ declare const crawlerJsonSchemas: {
16318
16328
  status: z.ZodOptional<z.ZodNumber>;
16319
16329
  error: z.ZodOptional<z.ZodString>;
16320
16330
  state: z.ZodOptional<z.ZodEnum<{
16331
+ unavailable: "unavailable";
16321
16332
  available: "available";
16322
16333
  "rate-limited": "rate-limited";
16323
- unavailable: "unavailable";
16324
16334
  "confirmed-broken": "confirmed-broken";
16325
16335
  transient: "transient";
16326
16336
  "provider-blocked": "provider-blocked";
@@ -16544,8 +16554,8 @@ declare const crawlerJsonSchemas: {
16544
16554
  searchConsole: z.ZodObject<{
16545
16555
  status: z.ZodEnum<{
16546
16556
  partial: "partial";
16547
- skipped: "skipped";
16548
16557
  unavailable: "unavailable";
16558
+ skipped: "skipped";
16549
16559
  joined: "joined";
16550
16560
  none: "none";
16551
16561
  }>;
@@ -16569,8 +16579,8 @@ declare const crawlerJsonSchemas: {
16569
16579
  analytics: z.ZodObject<{
16570
16580
  status: z.ZodEnum<{
16571
16581
  partial: "partial";
16572
- skipped: "skipped";
16573
16582
  unavailable: "unavailable";
16583
+ skipped: "skipped";
16574
16584
  joined: "joined";
16575
16585
  none: "none";
16576
16586
  }>;
@@ -16715,9 +16725,9 @@ declare const crawlerJsonSchemas: {
16715
16725
  deferredUrls: z.ZodNumber;
16716
16726
  limit: z.ZodNumber;
16717
16727
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
16728
+ unavailable: "unavailable";
16718
16729
  available: "available";
16719
16730
  "rate-limited": "rate-limited";
16720
- unavailable: "unavailable";
16721
16731
  "confirmed-broken": "confirmed-broken";
16722
16732
  transient: "transient";
16723
16733
  "provider-blocked": "provider-blocked";
@@ -17372,12 +17382,12 @@ declare const crawlerJsonSchemas: {
17372
17382
  off: "off";
17373
17383
  }>;
17374
17384
  status: z.ZodEnum<{
17385
+ unavailable: "unavailable";
17375
17386
  failed: "failed";
17376
17387
  rendered: "rendered";
17377
17388
  "not-requested": "not-requested";
17378
17389
  "not-needed": "not-needed";
17379
17390
  skipped: "skipped";
17380
- unavailable: "unavailable";
17381
17391
  }>;
17382
17392
  raw: z.ZodOptional<z.ZodObject<{
17383
17393
  source: z.ZodEnum<{
@@ -17696,9 +17706,9 @@ declare const crawlerJsonSchemas: {
17696
17706
  status: z.ZodOptional<z.ZodNumber>;
17697
17707
  error: z.ZodOptional<z.ZodString>;
17698
17708
  state: z.ZodOptional<z.ZodEnum<{
17709
+ unavailable: "unavailable";
17699
17710
  available: "available";
17700
17711
  "rate-limited": "rate-limited";
17701
- unavailable: "unavailable";
17702
17712
  "confirmed-broken": "confirmed-broken";
17703
17713
  transient: "transient";
17704
17714
  "provider-blocked": "provider-blocked";
@@ -17922,8 +17932,8 @@ declare const crawlerJsonSchemas: {
17922
17932
  searchConsole: z.ZodObject<{
17923
17933
  status: z.ZodEnum<{
17924
17934
  partial: "partial";
17925
- skipped: "skipped";
17926
17935
  unavailable: "unavailable";
17936
+ skipped: "skipped";
17927
17937
  joined: "joined";
17928
17938
  none: "none";
17929
17939
  }>;
@@ -17947,8 +17957,8 @@ declare const crawlerJsonSchemas: {
17947
17957
  analytics: z.ZodObject<{
17948
17958
  status: z.ZodEnum<{
17949
17959
  partial: "partial";
17950
- skipped: "skipped";
17951
17960
  unavailable: "unavailable";
17961
+ skipped: "skipped";
17952
17962
  joined: "joined";
17953
17963
  none: "none";
17954
17964
  }>;
@@ -18093,9 +18103,9 @@ declare const crawlerJsonSchemas: {
18093
18103
  deferredUrls: z.ZodNumber;
18094
18104
  limit: z.ZodNumber;
18095
18105
  outcomes: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
18106
+ unavailable: "unavailable";
18096
18107
  available: "available";
18097
18108
  "rate-limited": "rate-limited";
18098
- unavailable: "unavailable";
18099
18109
  "confirmed-broken": "confirmed-broken";
18100
18110
  transient: "transient";
18101
18111
  "provider-blocked": "provider-blocked";
@@ -18541,8 +18551,8 @@ declare const crawlerJsonSchemas: {
18541
18551
  count: z.ZodNumber;
18542
18552
  sampleUrls: z.ZodArray<z.ZodString>;
18543
18553
  recommendation: z.ZodEnum<{
18544
- fix: "fix";
18545
18554
  review: "review";
18555
+ fix: "fix";
18546
18556
  }>;
18547
18557
  score: z.ZodNumber;
18548
18558
  scoreFactors: z.ZodObject<{
@@ -18598,8 +18608,8 @@ declare const crawlerJsonSchemas: {
18598
18608
  medium: "medium";
18599
18609
  }>;
18600
18610
  recommendation: z.ZodEnum<{
18601
- fix: "fix";
18602
18611
  review: "review";
18612
+ fix: "fix";
18603
18613
  }>;
18604
18614
  whyItMatters: z.ZodString;
18605
18615
  howToFix: z.ZodString;
@@ -18884,12 +18894,12 @@ declare const crawlerJsonSchemas: {
18884
18894
  off: "off";
18885
18895
  }>;
18886
18896
  status: z.ZodEnum<{
18897
+ unavailable: "unavailable";
18887
18898
  failed: "failed";
18888
18899
  rendered: "rendered";
18889
18900
  "not-requested": "not-requested";
18890
18901
  "not-needed": "not-needed";
18891
18902
  skipped: "skipped";
18892
- unavailable: "unavailable";
18893
18903
  }>;
18894
18904
  raw: z.ZodOptional<z.ZodObject<{
18895
18905
  source: z.ZodEnum<{
@@ -19208,9 +19218,9 @@ declare const crawlerJsonSchemas: {
19208
19218
  status: z.ZodOptional<z.ZodNumber>;
19209
19219
  error: z.ZodOptional<z.ZodString>;
19210
19220
  state: z.ZodOptional<z.ZodEnum<{
19221
+ unavailable: "unavailable";
19211
19222
  available: "available";
19212
19223
  "rate-limited": "rate-limited";
19213
- unavailable: "unavailable";
19214
19224
  "confirmed-broken": "confirmed-broken";
19215
19225
  transient: "transient";
19216
19226
  "provider-blocked": "provider-blocked";
@@ -22809,6 +22819,769 @@ declare function updatePostmortemWorkflow(input: {
22809
22819
  segmentImpact?: typeof segmentImpact;
22810
22820
  }): Promise<WorkflowReport<PostmortemOutput>>;
22811
22821
  //#endregion
22822
+ //#region packages/core/src/bing/client.d.ts
22823
+ type BingWebmasterCredentials = {
22824
+ apiKey: string;
22825
+ accessToken?: never;
22826
+ } | {
22827
+ accessToken: string;
22828
+ apiKey?: never;
22829
+ };
22830
+ type BingWebmasterSite = {
22831
+ url: string;
22832
+ isVerified: boolean;
22833
+ };
22834
+ type BingTrafficRow = {
22835
+ date: string;
22836
+ clicks: number;
22837
+ impressions: number;
22838
+ };
22839
+ type BingCrawlRow = {
22840
+ date: string;
22841
+ crawledPages?: number;
22842
+ inIndex?: number;
22843
+ inLinks?: number;
22844
+ code2xx?: number;
22845
+ code301?: number;
22846
+ code302?: number;
22847
+ code4xx?: number;
22848
+ code5xx?: number;
22849
+ blockedByRobotsTxt?: number;
22850
+ crawlErrors?: number;
22851
+ connectionTimeout?: number;
22852
+ dnsFailures?: number;
22853
+ containsMalware?: number;
22854
+ allOtherCodes?: number;
22855
+ };
22856
+ type BingDimensionRow = {
22857
+ date: string;
22858
+ value: string;
22859
+ clicks: number;
22860
+ impressions: number;
22861
+ avgClickPosition?: number;
22862
+ avgImpressionPosition?: number;
22863
+ };
22864
+ type BingRows<T> = {
22865
+ rows: T[];
22866
+ invalidRows: number;
22867
+ capped: boolean;
22868
+ returnedRows: number;
22869
+ };
22870
+ type BingLinkCountRow = {
22871
+ url: string;
22872
+ count: number;
22873
+ };
22874
+ type BingUrlLinkRow = {
22875
+ url: string;
22876
+ anchorText?: string;
22877
+ };
22878
+ type BingLinkPage<T> = {
22879
+ rows: T[];
22880
+ totalPages: number;
22881
+ invalidRows: number;
22882
+ capped: boolean;
22883
+ returnedRows: number;
22884
+ };
22885
+ type BingFetch = (url: string, init?: RequestInit$1) => Promise<Response$1>;
22886
+ type BingClientOptions = {
22887
+ baseUrl?: string;
22888
+ fetchImpl?: BingFetch;
22889
+ timeoutMs?: number;
22890
+ };
22891
+ declare class BingWebmasterClient {
22892
+ private readonly credentials;
22893
+ readonly authentication: 'api-key' | 'oauth';
22894
+ private readonly baseUrl;
22895
+ private readonly fetchImpl;
22896
+ private readonly timeoutMs;
22897
+ constructor(credentials: BingWebmasterCredentials, options?: BingClientOptions);
22898
+ private request;
22899
+ listSites(): Promise<{
22900
+ sites: BingWebmasterSite[];
22901
+ invalidRows: number;
22902
+ }>;
22903
+ getTraffic(siteUrl: string): Promise<BingRows<BingTrafficRow>>;
22904
+ getCrawlStats(siteUrl: string): Promise<BingRows<BingCrawlRow>>;
22905
+ getQueryStats(siteUrl: string): Promise<BingRows<BingDimensionRow>>;
22906
+ getPageStats(siteUrl: string): Promise<BingRows<BingDimensionRow>>;
22907
+ private getDimensionStats;
22908
+ getLinkCounts(siteUrl: string, page: number): Promise<BingLinkPage<BingLinkCountRow>>;
22909
+ getUrlLinks(siteUrl: string, link: string, page: number): Promise<BingLinkPage<BingUrlLinkRow>>;
22910
+ }
22911
+ //#endregion
22912
+ //#region packages/core/src/bing/analysis.d.ts
22913
+ declare function analyzeBingTraffic(rows: BingTrafficRow[], comparisonDays?: number): {
22914
+ comparisonDays: number;
22915
+ current: {
22916
+ startDate: string;
22917
+ endDate: string;
22918
+ expectedDays: number;
22919
+ observedDays: number;
22920
+ missingDays: number;
22921
+ clicks: number;
22922
+ impressions: number;
22923
+ ctr: number | null;
22924
+ };
22925
+ previous: {
22926
+ startDate: string;
22927
+ endDate: string;
22928
+ expectedDays: number;
22929
+ observedDays: number;
22930
+ missingDays: number;
22931
+ clicks: number;
22932
+ impressions: number;
22933
+ ctr: number | null;
22934
+ };
22935
+ changes: {
22936
+ clicks: number;
22937
+ clicksPercent: number | null;
22938
+ impressions: number;
22939
+ impressionsPercent: number | null;
22940
+ ctrPercentagePoints: number | null;
22941
+ };
22942
+ } | undefined;
22943
+ declare function analyzeBingCrawl(rows: BingCrawlRow[], comparisonDays?: number): {
22944
+ comparisonDays: number;
22945
+ targetDate: string;
22946
+ current: BingCrawlRow;
22947
+ previous: undefined;
22948
+ changes: Partial<Record<"crawledPages" | "inIndex" | "inLinks" | "code4xx" | "code5xx" | "blockedByRobotsTxt" | "crawlErrors" | "connectionTimeout" | "dnsFailures" | "containsMalware", {
22949
+ previous: number;
22950
+ current: number;
22951
+ absolute: number;
22952
+ percent: number | null;
22953
+ }>>;
22954
+ } | {
22955
+ comparisonDays: number;
22956
+ targetDate: string;
22957
+ current: BingCrawlRow;
22958
+ previous: BingCrawlRow;
22959
+ changes: Partial<Record<"crawledPages" | "inIndex" | "inLinks" | "code4xx" | "code5xx" | "blockedByRobotsTxt" | "crawlErrors" | "connectionTimeout" | "dnsFailures" | "containsMalware", {
22960
+ previous: number;
22961
+ current: number;
22962
+ absolute: number;
22963
+ percent: number | null;
22964
+ }>>;
22965
+ } | undefined;
22966
+ type Aggregate = {
22967
+ value: string;
22968
+ observedWeeks: number;
22969
+ clicks: number;
22970
+ impressions: number;
22971
+ avgClickPosition: number | null;
22972
+ avgImpressionPosition: number | null;
22973
+ };
22974
+ declare function analyzeBingDimensions(rows: BingDimensionRow[], kind: 'query' | 'page'): {
22975
+ kind: "query" | "page";
22976
+ sourceSemantics: string;
22977
+ periods: {
22978
+ weeksPerPeriod: number;
22979
+ currentDates: string[];
22980
+ previousDates: string[];
22981
+ };
22982
+ coverage: {
22983
+ sourceRows: number;
22984
+ currentDimensions: number;
22985
+ previousDimensions: number;
22986
+ matchedDimensions: number;
22987
+ comparableDimensions: number;
22988
+ incompleteMatchedDimensions: number;
22989
+ currentOnlyDimensions: number;
22990
+ previousOnlyDimensions: number;
22991
+ };
22992
+ thresholds: {
22993
+ heuristic: true;
22994
+ opportunityMinImpressions: number;
22995
+ opportunityPositionRange: readonly [4, 20];
22996
+ resultLimit: number;
22997
+ };
22998
+ movements: {
22999
+ value: string;
23000
+ current: Aggregate;
23001
+ previous: Aggregate;
23002
+ changes: {
23003
+ clicks: number;
23004
+ clicksPercent: number | null;
23005
+ impressions: number;
23006
+ impressionsPercent: number | null;
23007
+ };
23008
+ }[];
23009
+ opportunities: Aggregate[];
23010
+ };
23011
+ declare const bingAnalysisDefaults: {
23012
+ readonly comparisonDays: 28;
23013
+ readonly weeklyPeriods: 4;
23014
+ readonly resultLimit: 10;
23015
+ };
23016
+ //#endregion
23017
+ //#region packages/core/src/storage/provider-secrets.d.ts
23018
+ type ProviderSecretSource = 'environment' | 'keychain' | 'file';
23019
+ type ProviderSecret = {
23020
+ value: string;
23021
+ source: ProviderSecretSource;
23022
+ };
23023
+ declare function readProviderSecret(input: {
23024
+ name: string;
23025
+ envVar?: string;
23026
+ env?: NodeJS.ProcessEnv;
23027
+ }): Promise<ProviderSecret | undefined>;
23028
+ declare function writeProviderSecret(name: string, value: string): Promise<Exclude<ProviderSecretSource, 'environment'>>;
23029
+ declare function deleteProviderSecret(name: string): Promise<void>;
23030
+ //#endregion
23031
+ //#region packages/core/src/bing/credentials.d.ts
23032
+ declare const BING_API_KEY_SECRET = "bing-api-key";
23033
+ declare const BING_API_KEY_ENV = "SEO_BING_API_KEY";
23034
+ declare function createBingWebmasterClient(input?: {
23035
+ env?: NodeJS.ProcessEnv;
23036
+ }): Promise<{
23037
+ client: BingWebmasterClient;
23038
+ credentialSource: ProviderSecretSource;
23039
+ }>;
23040
+ //#endregion
23041
+ //#region packages/core/src/bing/overview.d.ts
23042
+ type Finding = {
23043
+ code: string;
23044
+ severity: 'info' | 'review' | 'warning';
23045
+ title: string;
23046
+ evidence: Record<string, unknown>;
23047
+ interpretation: string;
23048
+ verification: string;
23049
+ };
23050
+ declare function bingWebmasterOverview(input: {
23051
+ site: string;
23052
+ client?: BingWebmasterClient;
23053
+ credentialSource?: 'environment' | 'keychain' | 'file';
23054
+ }): Promise<{
23055
+ schemaVersion: 2;
23056
+ site: string;
23057
+ generatedAt: string;
23058
+ dataStatus: string;
23059
+ summary: {
23060
+ findings: number;
23061
+ warnings: number;
23062
+ reviewItems: number;
23063
+ };
23064
+ findings: Finding[];
23065
+ outputBudget: {
23066
+ maxFindings: number;
23067
+ maxDailyRowsPerSection: number;
23068
+ maxDailyRowsTotal: number;
23069
+ maxDimensionItemsPerList: number;
23070
+ maxDimensionItemsTotal: number;
23071
+ };
23072
+ provenance: {
23073
+ provider: "bing-webmaster";
23074
+ authentication: "api-key" | "oauth";
23075
+ credentialSource: "file" | "environment" | "keychain";
23076
+ observedAt: string;
23077
+ cached: false;
23078
+ rowLimits: {
23079
+ traffic: number;
23080
+ crawl: number;
23081
+ queries: number;
23082
+ pages: number;
23083
+ };
23084
+ methods: string[];
23085
+ };
23086
+ traffic: {
23087
+ status: "unavailable";
23088
+ warning: string;
23089
+ } | {
23090
+ data: {
23091
+ range: {
23092
+ startDate: string;
23093
+ endDate: string;
23094
+ } | undefined;
23095
+ clicks: number;
23096
+ impressions: number;
23097
+ analysis: {
23098
+ comparisonDays: number;
23099
+ current: {
23100
+ startDate: string;
23101
+ endDate: string;
23102
+ expectedDays: number;
23103
+ observedDays: number;
23104
+ missingDays: number;
23105
+ clicks: number;
23106
+ impressions: number;
23107
+ ctr: number | null;
23108
+ };
23109
+ previous: {
23110
+ startDate: string;
23111
+ endDate: string;
23112
+ expectedDays: number;
23113
+ observedDays: number;
23114
+ missingDays: number;
23115
+ clicks: number;
23116
+ impressions: number;
23117
+ ctr: number | null;
23118
+ };
23119
+ changes: {
23120
+ clicks: number;
23121
+ clicksPercent: number | null;
23122
+ impressions: number;
23123
+ impressionsPercent: number | null;
23124
+ ctrPercentagePoints: number | null;
23125
+ };
23126
+ } | undefined;
23127
+ rows: BingTrafficRow[] & {
23128
+ date: string;
23129
+ }[];
23130
+ invalidRows: number;
23131
+ capped: boolean;
23132
+ returnedRows: number;
23133
+ retainedRows: number;
23134
+ outputSelection: {
23135
+ strategy: "most-recent";
23136
+ availableRows: number;
23137
+ returnedRows: number;
23138
+ omittedRows: number;
23139
+ };
23140
+ };
23141
+ status: "complete";
23142
+ } | {
23143
+ data: {
23144
+ range: {
23145
+ startDate: string;
23146
+ endDate: string;
23147
+ } | undefined;
23148
+ clicks: number;
23149
+ impressions: number;
23150
+ analysis: {
23151
+ comparisonDays: number;
23152
+ current: {
23153
+ startDate: string;
23154
+ endDate: string;
23155
+ expectedDays: number;
23156
+ observedDays: number;
23157
+ missingDays: number;
23158
+ clicks: number;
23159
+ impressions: number;
23160
+ ctr: number | null;
23161
+ };
23162
+ previous: {
23163
+ startDate: string;
23164
+ endDate: string;
23165
+ expectedDays: number;
23166
+ observedDays: number;
23167
+ missingDays: number;
23168
+ clicks: number;
23169
+ impressions: number;
23170
+ ctr: number | null;
23171
+ };
23172
+ changes: {
23173
+ clicks: number;
23174
+ clicksPercent: number | null;
23175
+ impressions: number;
23176
+ impressionsPercent: number | null;
23177
+ ctrPercentagePoints: number | null;
23178
+ };
23179
+ } | undefined;
23180
+ rows: BingTrafficRow[] & {
23181
+ date: string;
23182
+ }[];
23183
+ invalidRows: number;
23184
+ capped: boolean;
23185
+ returnedRows: number;
23186
+ retainedRows: number;
23187
+ outputSelection: {
23188
+ strategy: "most-recent";
23189
+ availableRows: number;
23190
+ returnedRows: number;
23191
+ omittedRows: number;
23192
+ };
23193
+ };
23194
+ status: "partial";
23195
+ warning: string;
23196
+ };
23197
+ crawl: {
23198
+ status: "unavailable";
23199
+ warning: string;
23200
+ } | {
23201
+ data: {
23202
+ range: {
23203
+ startDate: string;
23204
+ endDate: string;
23205
+ } | undefined;
23206
+ latest: BingCrawlRow | undefined;
23207
+ analysis: {
23208
+ comparisonDays: number;
23209
+ targetDate: string;
23210
+ current: BingCrawlRow;
23211
+ previous: undefined;
23212
+ changes: Partial<Record<"crawledPages" | "inIndex" | "inLinks" | "code4xx" | "code5xx" | "blockedByRobotsTxt" | "crawlErrors" | "connectionTimeout" | "dnsFailures" | "containsMalware", {
23213
+ previous: number;
23214
+ current: number;
23215
+ absolute: number;
23216
+ percent: number | null;
23217
+ }>>;
23218
+ } | {
23219
+ comparisonDays: number;
23220
+ targetDate: string;
23221
+ current: BingCrawlRow;
23222
+ previous: BingCrawlRow;
23223
+ changes: Partial<Record<"crawledPages" | "inIndex" | "inLinks" | "code4xx" | "code5xx" | "blockedByRobotsTxt" | "crawlErrors" | "connectionTimeout" | "dnsFailures" | "containsMalware", {
23224
+ previous: number;
23225
+ current: number;
23226
+ absolute: number;
23227
+ percent: number | null;
23228
+ }>>;
23229
+ } | undefined;
23230
+ rows: BingCrawlRow[] & {
23231
+ date: string;
23232
+ }[];
23233
+ invalidRows: number;
23234
+ capped: boolean;
23235
+ returnedRows: number;
23236
+ retainedRows: number;
23237
+ outputSelection: {
23238
+ strategy: "most-recent";
23239
+ availableRows: number;
23240
+ returnedRows: number;
23241
+ omittedRows: number;
23242
+ };
23243
+ };
23244
+ status: "complete";
23245
+ } | {
23246
+ data: {
23247
+ range: {
23248
+ startDate: string;
23249
+ endDate: string;
23250
+ } | undefined;
23251
+ latest: BingCrawlRow | undefined;
23252
+ analysis: {
23253
+ comparisonDays: number;
23254
+ targetDate: string;
23255
+ current: BingCrawlRow;
23256
+ previous: undefined;
23257
+ changes: Partial<Record<"crawledPages" | "inIndex" | "inLinks" | "code4xx" | "code5xx" | "blockedByRobotsTxt" | "crawlErrors" | "connectionTimeout" | "dnsFailures" | "containsMalware", {
23258
+ previous: number;
23259
+ current: number;
23260
+ absolute: number;
23261
+ percent: number | null;
23262
+ }>>;
23263
+ } | {
23264
+ comparisonDays: number;
23265
+ targetDate: string;
23266
+ current: BingCrawlRow;
23267
+ previous: BingCrawlRow;
23268
+ changes: Partial<Record<"crawledPages" | "inIndex" | "inLinks" | "code4xx" | "code5xx" | "blockedByRobotsTxt" | "crawlErrors" | "connectionTimeout" | "dnsFailures" | "containsMalware", {
23269
+ previous: number;
23270
+ current: number;
23271
+ absolute: number;
23272
+ percent: number | null;
23273
+ }>>;
23274
+ } | undefined;
23275
+ rows: BingCrawlRow[] & {
23276
+ date: string;
23277
+ }[];
23278
+ invalidRows: number;
23279
+ capped: boolean;
23280
+ returnedRows: number;
23281
+ retainedRows: number;
23282
+ outputSelection: {
23283
+ strategy: "most-recent";
23284
+ availableRows: number;
23285
+ returnedRows: number;
23286
+ omittedRows: number;
23287
+ };
23288
+ };
23289
+ status: "partial";
23290
+ warning: string;
23291
+ };
23292
+ queries: {
23293
+ status: "unavailable";
23294
+ warning: string;
23295
+ } | {
23296
+ data: {
23297
+ returnedRows: number;
23298
+ retainedRows: number;
23299
+ invalidRows: number;
23300
+ capped: boolean;
23301
+ range: {
23302
+ startDate: string;
23303
+ endDate: string;
23304
+ } | undefined;
23305
+ analysis: {
23306
+ kind: "query" | "page";
23307
+ sourceSemantics: string;
23308
+ periods: {
23309
+ weeksPerPeriod: number;
23310
+ currentDates: string[];
23311
+ previousDates: string[];
23312
+ };
23313
+ coverage: {
23314
+ sourceRows: number;
23315
+ currentDimensions: number;
23316
+ previousDimensions: number;
23317
+ matchedDimensions: number;
23318
+ comparableDimensions: number;
23319
+ incompleteMatchedDimensions: number;
23320
+ currentOnlyDimensions: number;
23321
+ previousOnlyDimensions: number;
23322
+ };
23323
+ thresholds: {
23324
+ heuristic: true;
23325
+ opportunityMinImpressions: number;
23326
+ opportunityPositionRange: readonly [4, 20];
23327
+ resultLimit: number;
23328
+ };
23329
+ movements: {
23330
+ value: string;
23331
+ current: {
23332
+ value: string;
23333
+ observedWeeks: number;
23334
+ clicks: number;
23335
+ impressions: number;
23336
+ avgClickPosition: number | null;
23337
+ avgImpressionPosition: number | null;
23338
+ };
23339
+ previous: {
23340
+ value: string;
23341
+ observedWeeks: number;
23342
+ clicks: number;
23343
+ impressions: number;
23344
+ avgClickPosition: number | null;
23345
+ avgImpressionPosition: number | null;
23346
+ };
23347
+ changes: {
23348
+ clicks: number;
23349
+ clicksPercent: number | null;
23350
+ impressions: number;
23351
+ impressionsPercent: number | null;
23352
+ };
23353
+ }[];
23354
+ opportunities: {
23355
+ value: string;
23356
+ observedWeeks: number;
23357
+ clicks: number;
23358
+ impressions: number;
23359
+ avgClickPosition: number | null;
23360
+ avgImpressionPosition: number | null;
23361
+ }[];
23362
+ } | undefined;
23363
+ };
23364
+ status: "complete";
23365
+ } | {
23366
+ data: {
23367
+ returnedRows: number;
23368
+ retainedRows: number;
23369
+ invalidRows: number;
23370
+ capped: boolean;
23371
+ range: {
23372
+ startDate: string;
23373
+ endDate: string;
23374
+ } | undefined;
23375
+ analysis: {
23376
+ kind: "query" | "page";
23377
+ sourceSemantics: string;
23378
+ periods: {
23379
+ weeksPerPeriod: number;
23380
+ currentDates: string[];
23381
+ previousDates: string[];
23382
+ };
23383
+ coverage: {
23384
+ sourceRows: number;
23385
+ currentDimensions: number;
23386
+ previousDimensions: number;
23387
+ matchedDimensions: number;
23388
+ comparableDimensions: number;
23389
+ incompleteMatchedDimensions: number;
23390
+ currentOnlyDimensions: number;
23391
+ previousOnlyDimensions: number;
23392
+ };
23393
+ thresholds: {
23394
+ heuristic: true;
23395
+ opportunityMinImpressions: number;
23396
+ opportunityPositionRange: readonly [4, 20];
23397
+ resultLimit: number;
23398
+ };
23399
+ movements: {
23400
+ value: string;
23401
+ current: {
23402
+ value: string;
23403
+ observedWeeks: number;
23404
+ clicks: number;
23405
+ impressions: number;
23406
+ avgClickPosition: number | null;
23407
+ avgImpressionPosition: number | null;
23408
+ };
23409
+ previous: {
23410
+ value: string;
23411
+ observedWeeks: number;
23412
+ clicks: number;
23413
+ impressions: number;
23414
+ avgClickPosition: number | null;
23415
+ avgImpressionPosition: number | null;
23416
+ };
23417
+ changes: {
23418
+ clicks: number;
23419
+ clicksPercent: number | null;
23420
+ impressions: number;
23421
+ impressionsPercent: number | null;
23422
+ };
23423
+ }[];
23424
+ opportunities: {
23425
+ value: string;
23426
+ observedWeeks: number;
23427
+ clicks: number;
23428
+ impressions: number;
23429
+ avgClickPosition: number | null;
23430
+ avgImpressionPosition: number | null;
23431
+ }[];
23432
+ } | undefined;
23433
+ };
23434
+ status: "partial";
23435
+ warning: string;
23436
+ };
23437
+ pages: {
23438
+ status: "unavailable";
23439
+ warning: string;
23440
+ } | {
23441
+ data: {
23442
+ returnedRows: number;
23443
+ retainedRows: number;
23444
+ invalidRows: number;
23445
+ capped: boolean;
23446
+ range: {
23447
+ startDate: string;
23448
+ endDate: string;
23449
+ } | undefined;
23450
+ analysis: {
23451
+ kind: "query" | "page";
23452
+ sourceSemantics: string;
23453
+ periods: {
23454
+ weeksPerPeriod: number;
23455
+ currentDates: string[];
23456
+ previousDates: string[];
23457
+ };
23458
+ coverage: {
23459
+ sourceRows: number;
23460
+ currentDimensions: number;
23461
+ previousDimensions: number;
23462
+ matchedDimensions: number;
23463
+ comparableDimensions: number;
23464
+ incompleteMatchedDimensions: number;
23465
+ currentOnlyDimensions: number;
23466
+ previousOnlyDimensions: number;
23467
+ };
23468
+ thresholds: {
23469
+ heuristic: true;
23470
+ opportunityMinImpressions: number;
23471
+ opportunityPositionRange: readonly [4, 20];
23472
+ resultLimit: number;
23473
+ };
23474
+ movements: {
23475
+ value: string;
23476
+ current: {
23477
+ value: string;
23478
+ observedWeeks: number;
23479
+ clicks: number;
23480
+ impressions: number;
23481
+ avgClickPosition: number | null;
23482
+ avgImpressionPosition: number | null;
23483
+ };
23484
+ previous: {
23485
+ value: string;
23486
+ observedWeeks: number;
23487
+ clicks: number;
23488
+ impressions: number;
23489
+ avgClickPosition: number | null;
23490
+ avgImpressionPosition: number | null;
23491
+ };
23492
+ changes: {
23493
+ clicks: number;
23494
+ clicksPercent: number | null;
23495
+ impressions: number;
23496
+ impressionsPercent: number | null;
23497
+ };
23498
+ }[];
23499
+ opportunities: {
23500
+ value: string;
23501
+ observedWeeks: number;
23502
+ clicks: number;
23503
+ impressions: number;
23504
+ avgClickPosition: number | null;
23505
+ avgImpressionPosition: number | null;
23506
+ }[];
23507
+ } | undefined;
23508
+ };
23509
+ status: "complete";
23510
+ } | {
23511
+ data: {
23512
+ returnedRows: number;
23513
+ retainedRows: number;
23514
+ invalidRows: number;
23515
+ capped: boolean;
23516
+ range: {
23517
+ startDate: string;
23518
+ endDate: string;
23519
+ } | undefined;
23520
+ analysis: {
23521
+ kind: "query" | "page";
23522
+ sourceSemantics: string;
23523
+ periods: {
23524
+ weeksPerPeriod: number;
23525
+ currentDates: string[];
23526
+ previousDates: string[];
23527
+ };
23528
+ coverage: {
23529
+ sourceRows: number;
23530
+ currentDimensions: number;
23531
+ previousDimensions: number;
23532
+ matchedDimensions: number;
23533
+ comparableDimensions: number;
23534
+ incompleteMatchedDimensions: number;
23535
+ currentOnlyDimensions: number;
23536
+ previousOnlyDimensions: number;
23537
+ };
23538
+ thresholds: {
23539
+ heuristic: true;
23540
+ opportunityMinImpressions: number;
23541
+ opportunityPositionRange: readonly [4, 20];
23542
+ resultLimit: number;
23543
+ };
23544
+ movements: {
23545
+ value: string;
23546
+ current: {
23547
+ value: string;
23548
+ observedWeeks: number;
23549
+ clicks: number;
23550
+ impressions: number;
23551
+ avgClickPosition: number | null;
23552
+ avgImpressionPosition: number | null;
23553
+ };
23554
+ previous: {
23555
+ value: string;
23556
+ observedWeeks: number;
23557
+ clicks: number;
23558
+ impressions: number;
23559
+ avgClickPosition: number | null;
23560
+ avgImpressionPosition: number | null;
23561
+ };
23562
+ changes: {
23563
+ clicks: number;
23564
+ clicksPercent: number | null;
23565
+ impressions: number;
23566
+ impressionsPercent: number | null;
23567
+ };
23568
+ }[];
23569
+ opportunities: {
23570
+ value: string;
23571
+ observedWeeks: number;
23572
+ clicks: number;
23573
+ impressions: number;
23574
+ avgClickPosition: number | null;
23575
+ avgImpressionPosition: number | null;
23576
+ }[];
23577
+ } | undefined;
23578
+ };
23579
+ status: "partial";
23580
+ warning: string;
23581
+ };
23582
+ caveats: string[];
23583
+ }>;
23584
+ //#endregion
22812
23585
  //#region packages/core/src/brand.d.ts
22813
23586
  declare function deriveBrandTerms(input: {
22814
23587
  id?: string;
@@ -22859,14 +23632,17 @@ type ClientProfileInput = {
22859
23632
  watchUrls?: string[];
22860
23633
  brandTerms?: string[];
22861
23634
  analytics?: ClientProfile['analytics'];
23635
+ searchEngines?: ClientProfile['searchEngines'];
22862
23636
  reportDay?: number;
22863
23637
  technicalWeekday?: number;
22864
23638
  isDefault?: boolean;
22865
23639
  };
22866
23640
  declare function googleAnalyticsPropertyId(client: Pick<ClientProfile, 'analytics'> | undefined): string | undefined;
23641
+ declare function bingWebmasterSiteUrl(client: Pick<ClientProfile, 'searchEngines'> | undefined): string | undefined;
22867
23642
  declare function listClients(): ClientProfile[];
22868
23643
  declare function getClient(idOrName?: string): ClientProfile | undefined;
22869
23644
  declare function saveClient(input: ClientProfileInput): ClientProfile;
23645
+ declare function setClientBingSite(idOrName: string, siteUrl: string): ClientProfile;
22870
23646
  declare function deleteClient(idOrName: string): boolean;
22871
23647
  declare function setDefaultClient(idOrName: string): ClientProfile;
22872
23648
  //#endregion
@@ -22907,6 +23683,21 @@ declare function refreshPrioritiesCsvFiles(report: WorkflowReport<{
22907
23683
  }>): CsvFile[];
22908
23684
  declare function pseoCsvFiles(report: PseoAuditReport): CsvFile[];
22909
23685
  //#endregion
23686
+ //#region packages/core/src/export/report-html.d.ts
23687
+ type ReportHtmlView = 'client' | 'analyst';
23688
+ type ReportHtmlSection = {
23689
+ title: string;
23690
+ summary?: string;
23691
+ items: string[];
23692
+ };
23693
+ type ReportHtmlInput = {
23694
+ report: ReportNarrative;
23695
+ title?: string;
23696
+ view?: ReportHtmlView;
23697
+ additionalSections?: ReportHtmlSection[];
23698
+ };
23699
+ declare function renderReportHtml(input: ReportHtmlInput): string;
23700
+ //#endregion
22910
23701
  //#region packages/core/src/export/update-postmortem.d.ts
22911
23702
  type PostmortemCsvReport = WorkflowReport<{
22912
23703
  update: {
@@ -23090,6 +23881,181 @@ declare function finalGscDateRange(days?: number, now?: Date): {
23090
23881
  declare function normalizeHttpUrl(value: string): string;
23091
23882
  declare function assertUrlMatchesGscProperty(property: string, value: string): string;
23092
23883
  //#endregion
23884
+ //#region packages/core/src/indexnow/types.d.ts
23885
+ declare const INDEXNOW_ENDPOINT = "https://api.indexnow.org/indexnow";
23886
+ declare const INDEXNOW_MAX_URLS = 1000;
23887
+ declare const INDEXNOW_KEY_ENV = "SEO_INDEXNOW_KEY";
23888
+ declare const INDEXNOW_KEYS_SECRET = "indexnow-keys";
23889
+ type IndexNowKey = {
23890
+ host: string;
23891
+ key: string;
23892
+ keyLocation: string;
23893
+ createdAt: string;
23894
+ };
23895
+ type IndexNowKeySource = 'environment' | 'keychain' | 'file';
23896
+ type IndexNowSubmission = {
23897
+ schemaVersion: 1;
23898
+ generatedAt: string;
23899
+ dryRun: boolean;
23900
+ status: 'validated' | 'submitted' | 'pending-validation';
23901
+ endpoint: typeof INDEXNOW_ENDPOINT;
23902
+ host: string;
23903
+ keyLocation: string;
23904
+ submittedUrls: number;
23905
+ responseStatus?: 200 | 202;
23906
+ caveats: string[];
23907
+ };
23908
+ //#endregion
23909
+ //#region packages/core/src/indexnow/client.d.ts
23910
+ type IndexNowFetch = (url: string, init?: RequestInit$1) => Promise<Response$1>;
23911
+ declare function verifyIndexNowKey(input: {
23912
+ record: IndexNowKey;
23913
+ fetchImpl?: IndexNowFetch;
23914
+ timeoutMs?: number;
23915
+ }): Promise<{
23916
+ verified: boolean;
23917
+ status: number;
23918
+ keyLocation: string;
23919
+ }>;
23920
+ declare function submitIndexNow(input: {
23921
+ record: IndexNowKey;
23922
+ urls: string[];
23923
+ dryRun?: boolean;
23924
+ fetchImpl?: IndexNowFetch;
23925
+ now?: Date;
23926
+ }): Promise<IndexNowSubmission>;
23927
+ //#endregion
23928
+ //#region packages/core/src/indexnow/keys.d.ts
23929
+ declare function parseIndexNowSite(value: string): URL;
23930
+ declare function validateIndexNowKey(value: string): string;
23931
+ declare function createIndexNowKey(): string;
23932
+ declare function createIndexNowKeyRecord(input: {
23933
+ site: string;
23934
+ key?: string;
23935
+ keyLocation?: string;
23936
+ now?: Date;
23937
+ }): IndexNowKey;
23938
+ declare function validateIndexNowKeyRecord(record: IndexNowKey): IndexNowKey;
23939
+ declare function saveIndexNowKey(record: IndexNowKey): Promise<Exclude<IndexNowKeySource, 'environment'>>;
23940
+ declare function resolveIndexNowKey(input: {
23941
+ site: string;
23942
+ env?: NodeJS.ProcessEnv;
23943
+ }): Promise<{
23944
+ record: IndexNowKey;
23945
+ source: IndexNowKeySource;
23946
+ }>;
23947
+ declare function listIndexNowKeys(): Promise<Array<Omit<IndexNowKey, 'key'>>>;
23948
+ declare function removeIndexNowKey(siteValue: string): Promise<boolean>;
23949
+ //#endregion
23950
+ //#region packages/core/src/links/types.d.ts
23951
+ type LinkEvidenceProvider = 'bing-webmaster' | 'csv-import' | 'json-import' | 'jsonl-import';
23952
+ type LinkEvidenceRow = {
23953
+ sourceUrl: string;
23954
+ sourceDomain: string;
23955
+ targetUrl: string;
23956
+ anchorText?: string;
23957
+ firstSeenAt?: string;
23958
+ lastSeenAt?: string;
23959
+ nofollow?: boolean;
23960
+ };
23961
+ type LinkTargetCount = {
23962
+ targetUrl: string;
23963
+ providerReportedLinks?: number;
23964
+ observedLinks: number;
23965
+ };
23966
+ type LinkEvidenceProvenance = {
23967
+ provider: LinkEvidenceProvider;
23968
+ observedAt: string;
23969
+ cached: false;
23970
+ suppliedRows: number;
23971
+ validRows: number;
23972
+ invalidRows: number;
23973
+ duplicateRows: number;
23974
+ capped: boolean;
23975
+ rowLimit: number;
23976
+ completeness: 'complete' | 'partial' | 'unknown';
23977
+ file?: {
23978
+ path: string;
23979
+ format: 'csv' | 'json' | 'jsonl';
23980
+ bytesRead: number;
23981
+ fileBytes: number;
23982
+ };
23983
+ providerRequests?: {
23984
+ methods: string[];
23985
+ targetPagesRequested: number;
23986
+ detailPagesRequested: number;
23987
+ maxConcurrentRequests: number;
23988
+ };
23989
+ providerCoverage?: {
23990
+ targetCountRows: {
23991
+ returnedRows: number;
23992
+ retainedRows: number;
23993
+ invalidRows: number;
23994
+ };
23995
+ detailRows: {
23996
+ returnedRows: number;
23997
+ retainedRows: number;
23998
+ invalidRows: number;
23999
+ };
24000
+ };
24001
+ };
24002
+ type CollectedLinkEvidence = {
24003
+ rows: LinkEvidenceRow[];
24004
+ targetCounts: LinkTargetCount[];
24005
+ provenance: LinkEvidenceProvenance;
24006
+ warnings: string[];
24007
+ };
24008
+ //#endregion
24009
+ //#region packages/core/src/links/bing.d.ts
24010
+ declare function collectBingLinkEvidence(input: {
24011
+ site: string;
24012
+ client?: BingWebmasterClient;
24013
+ targetLimit?: number;
24014
+ detailPagesPerTarget?: number;
24015
+ rowLimit?: number;
24016
+ }): Promise<CollectedLinkEvidence>;
24017
+ //#endregion
24018
+ //#region packages/core/src/links/import.d.ts
24019
+ type ImportFormat = 'csv' | 'json' | 'jsonl';
24020
+ declare function importLinkEvidence(input: {
24021
+ file: string;
24022
+ format?: ImportFormat;
24023
+ rowLimit?: number;
24024
+ }): Promise<CollectedLinkEvidence>;
24025
+ //#endregion
24026
+ //#region packages/core/src/links/normalize.d.ts
24027
+ type RawLinkEvidenceRow = Record<string, unknown>;
24028
+ declare function normalizeLinkEvidenceRow(raw: RawLinkEvidenceRow): LinkEvidenceRow | undefined;
24029
+ declare function linkEvidenceKey(row: LinkEvidenceRow): string;
24030
+ declare function compareLinkEvidence(a: LinkEvidenceRow, b: LinkEvidenceRow): number;
24031
+ //#endregion
24032
+ //#region packages/core/src/links/report.d.ts
24033
+ declare function linkEvidenceReport(input: {
24034
+ evidence: CollectedLinkEvidence;
24035
+ limit?: number;
24036
+ }): {
24037
+ schemaVersion: 1;
24038
+ generatedAt: string;
24039
+ dataStatus: "partial" | "complete";
24040
+ summary: {
24041
+ observedLinks: number;
24042
+ referringDomains: number;
24043
+ targetPages: number;
24044
+ providerTargetPages: number;
24045
+ };
24046
+ provenance: LinkEvidenceProvenance;
24047
+ selection: {
24048
+ availableRows: number;
24049
+ returnedRows: number;
24050
+ omittedRows: number;
24051
+ limit: number;
24052
+ };
24053
+ targetCounts: LinkTargetCount[];
24054
+ links: LinkEvidenceRow[];
24055
+ warnings: string[];
24056
+ caveats: string[];
24057
+ };
24058
+ //#endregion
23093
24059
  //#region packages/core/src/logger.d.ts
23094
24060
  declare function createLogger(runId: string): pino.Logger;
23095
24061
  declare function makeRunId(): string;
@@ -23105,6 +24071,7 @@ interface SeoCliPaths {
23105
24071
  configFile: string;
23106
24072
  tokensFile: string;
23107
24073
  oauthClientFile: string;
24074
+ providerSecretsFile: string;
23108
24075
  telemetryStateFile: string;
23109
24076
  cacheDbFile: string;
23110
24077
  }
@@ -23191,6 +24158,163 @@ declare class JsonFileStorageAdapter implements StorageAdapter {
23191
24158
  }
23192
24159
  declare const localCredentialsProvider: LocalCredentialsProvider;
23193
24160
  //#endregion
24161
+ //#region packages/core/src/server-logs/types.d.ts
24162
+ type ServerLogFormat = 'combined' | 'jsonl';
24163
+ type CrawlerCategory = 'search' | 'ai';
24164
+ type ServerLogRecord = {
24165
+ timestamp: string;
24166
+ method: string;
24167
+ path: string;
24168
+ status: number;
24169
+ bytes?: number;
24170
+ userAgent?: string;
24171
+ crawler?: {
24172
+ family: string;
24173
+ category: CrawlerCategory;
24174
+ };
24175
+ };
24176
+ type StatusBreakdown = {
24177
+ success: number;
24178
+ redirect: number;
24179
+ clientError: number;
24180
+ serverError: number;
24181
+ other: number;
24182
+ };
24183
+ type CrawlerSummary = StatusBreakdown & {
24184
+ family: string;
24185
+ category: CrawlerCategory;
24186
+ requests: number;
24187
+ lastSeenAt: string;
24188
+ };
24189
+ type CrawlerPathSummary = StatusBreakdown & {
24190
+ family: string;
24191
+ category: CrawlerCategory;
24192
+ path: string;
24193
+ requests: number;
24194
+ lastSeenAt: string;
24195
+ };
24196
+ type ServerLogEvidence = {
24197
+ summary: {
24198
+ suppliedRows: number;
24199
+ parsedRows: number;
24200
+ invalidRows: number;
24201
+ crawlerRows: number;
24202
+ nonCrawlerRows: number;
24203
+ responseBytes: number;
24204
+ firstSeenAt?: string;
24205
+ lastSeenAt?: string;
24206
+ };
24207
+ statusCodes: Array<{
24208
+ status: number;
24209
+ requests: number;
24210
+ }>;
24211
+ crawlers: CrawlerSummary[];
24212
+ crawlerPaths: CrawlerPathSummary[];
24213
+ provenance: {
24214
+ source: 'local-server-log';
24215
+ observedAt: string;
24216
+ cached: false;
24217
+ file: {
24218
+ path: string;
24219
+ format: ServerLogFormat;
24220
+ bytesRead: number;
24221
+ fileBytes: number;
24222
+ };
24223
+ limits: {
24224
+ rowLimit: number;
24225
+ pathLimit: number;
24226
+ byteLimit: number;
24227
+ maxLineBytes: number;
24228
+ };
24229
+ coverage: {
24230
+ fileReadCompletely: boolean;
24231
+ rowsCapped: boolean;
24232
+ bytesCapped: boolean;
24233
+ pathsCapped: boolean;
24234
+ untrackedCrawlerPathRows: number;
24235
+ };
24236
+ completeness: 'complete' | 'partial';
24237
+ };
24238
+ warnings: string[];
24239
+ };
24240
+ //#endregion
24241
+ //#region packages/core/src/server-logs/import.d.ts
24242
+ declare function importServerLog(input: {
24243
+ file: string;
24244
+ format?: ServerLogFormat;
24245
+ rowLimit?: number;
24246
+ pathLimit?: number;
24247
+ }): Promise<ServerLogEvidence>;
24248
+ //#endregion
24249
+ //#region packages/core/src/server-logs/parse.d.ts
24250
+ declare function classifyCrawler(userAgent?: string): {
24251
+ family: string;
24252
+ category: CrawlerCategory;
24253
+ } | undefined;
24254
+ declare function parseCombinedLogLine(line: string): ServerLogRecord | undefined;
24255
+ declare function parseJsonLogLine(line: string): ServerLogRecord | undefined;
24256
+ declare function emptyStatusBreakdown(): StatusBreakdown;
24257
+ declare function addStatus(breakdown: StatusBreakdown, status: number): void;
24258
+ //#endregion
24259
+ //#region packages/core/src/server-logs/report.d.ts
24260
+ declare function serverLogReport(input: {
24261
+ evidence: ServerLogEvidence;
24262
+ limit?: number;
24263
+ }): {
24264
+ schemaVersion: 1;
24265
+ generatedAt: string;
24266
+ dataStatus: "partial" | "complete";
24267
+ summary: {
24268
+ suppliedRows: number;
24269
+ parsedRows: number;
24270
+ invalidRows: number;
24271
+ crawlerRows: number;
24272
+ nonCrawlerRows: number;
24273
+ responseBytes: number;
24274
+ firstSeenAt?: string;
24275
+ lastSeenAt?: string;
24276
+ };
24277
+ statusCodes: {
24278
+ status: number;
24279
+ requests: number;
24280
+ }[];
24281
+ crawlers: CrawlerSummary[];
24282
+ crawlerPaths: CrawlerPathSummary[];
24283
+ selection: {
24284
+ availableCrawlerPaths: number;
24285
+ returnedCrawlerPaths: number;
24286
+ omittedCrawlerPaths: number;
24287
+ limit: number;
24288
+ };
24289
+ provenance: {
24290
+ source: "local-server-log";
24291
+ observedAt: string;
24292
+ cached: false;
24293
+ file: {
24294
+ path: string;
24295
+ format: ServerLogFormat;
24296
+ bytesRead: number;
24297
+ fileBytes: number;
24298
+ };
24299
+ limits: {
24300
+ rowLimit: number;
24301
+ pathLimit: number;
24302
+ byteLimit: number;
24303
+ maxLineBytes: number;
24304
+ };
24305
+ coverage: {
24306
+ fileReadCompletely: boolean;
24307
+ rowsCapped: boolean;
24308
+ bytesCapped: boolean;
24309
+ pathsCapped: boolean;
24310
+ untrackedCrawlerPathRows: number;
24311
+ };
24312
+ completeness: "complete" | "partial";
24313
+ };
24314
+ warnings: string[];
24315
+ caveats: string[];
24316
+ };
24317
+ //#endregion
23194
24318
  //#region packages/core/src/storage/config.d.ts
23195
24319
  type TokenStorageMode = 'keychain' | 'file';
23196
24320
  type TokenStorageStatus = {
@@ -23254,7 +24378,7 @@ declare const TELEMETRY_TIMEOUT_MS = 2000;
23254
24378
  declare const TELEMETRY_EVENTS: readonly ["first_run", "setup_complete", "audit_start", "audit_complete", "audit_failed", "first_audit_complete", "active_d1", "active_d7", "active_d30"];
23255
24379
  declare const TELEMETRY_AGENTS: readonly ["claude-code", "cursor", "codex", "cli", "unknown"];
23256
24380
  declare const TELEMETRY_ERROR_CATEGORIES: readonly ["auth", "crawl_timeout", "network", "config", "unknown"];
23257
- declare const TELEMETRY_REPORTS: readonly ["affected-urls", "agent-readiness", "ai-readiness", "ai-referrals", "ai-search-scorecard", "audit-page", "audit-urls", "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-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"];
24381
+ 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"];
23258
24382
  type TelemetryEvent = (typeof TELEMETRY_EVENTS)[number];
23259
24383
  type TelemetryAgent = (typeof TELEMETRY_AGENTS)[number];
23260
24384
  type TelemetryErrorCategory = (typeof TELEMETRY_ERROR_CATEGORIES)[number];
@@ -23329,5 +24453,5 @@ declare function isoDate(daysAgo?: number): string;
23329
24453
  //#region packages/core/src/version.d.ts
23330
24454
  declare const SEO_VERSION: string;
23331
24455
  //#endregion
23332
- 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, BROWSER_USER_AGENT, BacklinkProvider, 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, 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 CrawlSiteDependencies, CrawlSitemapDiscovery, CrawlSkipImpact, CrawlSkipReason, CrawlSkipReasonCount, CrawlSkippedUrlsByImpact, CrawlSnapshotDiffReport, CrawlSnapshotIssueChange, CrawlSnapshotPageChange, CrawlStatusEvent, CrawlStatusHandler, CrawlStatusPhase, CrawlStrategy, CrawlerIdentity, 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, 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, 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, LinkRecoverItem, LinkRecoverReport, LinkRecoverSummary, 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, 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, ReadinessCheck, ReadinessSection, ReadinessStatus, Recommendation, RedirectTraceIssue, RedirectTraceReport, RedirectTraceStep, RenderingDocumentDifference, RenderingDocumentField, RenderingDocumentSnapshot, 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, ServiceAccountAccessTokenClient, ServiceAccountConfig, ServiceAccountStatus, SessionLedger, SitemapDocument, SitemapFetchResult, SitemapInvalidLoc, SitemapLastmodObservation, SkippedDiagnosisSection, SnippetControlEvidence, 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, affectedUrls, agentReadiness, aiPromptsForQuery, aiReadiness, aiReferralSourceForValue, aiReferralsReport, aiSearchScorecard, allocateIndexUrlsToProperties, analyticsConnectionsSchema, analyzeAiReferralRows, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertCrawlConfigLimits, assertUrlMatchesGscProperty, attachCrawlRecommendations, auditCrawlPages, auditCrawlRequests, auditLlmsTxt, auditPage, authStatus, boundedSitemapInventory, buildOkfBundle, buildPseoAuditReportFromRows, buildTelemetryPayload, cannibalReport, changeMeasurementCsvRows, checkDatabaseReadiness, classifyCommunityIntent, clearCache, clientProfileSchema, clusterPseoTemplates, clusterQueryRows, collectAgentDiscovery, combineRobotsValues, communityIntentReport, compareCrawlPages, compareCrawlReports, 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, createContentGroup, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, 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, 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, linkRecover, linkRecoverRecommendation, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLoadedCrawlReport, noteCacheWrite, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, 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, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, renderCrawlCsv, renderCrawlHtml, renderCrawlJunit, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderPseoMarkdown, renderWorkflowMarkdown, reportNarrative, reportPresentation, requestHeaders, resolveSegmentRanges, resolveSeoCliPaths, resolveTechnicalBaseline, reviewObservations, roundedPosition, runDoctor, runGa4Report, safeError, saveClient, saveCrawlReport, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, sessionSourceInListFilter, setDefaultClient, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, strikingDistance, summarizeCrawlReport, pageTechnicalSignals as technicalPageSignals, technicalWatchWorkflow, telemetryErrorCategory, templateForUrl, toSeoError, tokenSchema, topCrawlRecommendations, topFixes, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, unavailableSegmentImpactReport, unicodeTokens, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateOkfFiles, verifyQueryContent, workflowPresentation, writeConfig, writeOauthClient, writeTokens, xRobotsDirectives };
24456
+ 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 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 };
23333
24457
  //# sourceMappingURL=index.d.ts.map