seo 0.14.0 → 0.15.1
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/PRIVACY.md +244 -518
- package/TERMS.md +57 -72
- package/dist/cli.js +85 -85
- package/dist/cli.js.map +1 -1
- package/dist/{dist-4Yam8ps7.js → dist-BnpsvtXl.js} +1 -1
- package/dist/{dist-B_2zww72.js → dist-DoPZlCJq.js} +148 -126
- package/dist/dist-DoPZlCJq.js.map +1 -0
- package/dist/{esm-BmuxgZyN.js → esm-D12ZCG_1.js} +2 -2
- package/dist/{esm-BmuxgZyN.js.map → esm-D12ZCG_1.js.map} +1 -1
- package/dist/index.d.ts +263 -81
- package/dist/index.js +3982 -908
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +4075 -1001
- package/dist/mcp.js.map +1 -1
- package/package.json +1 -1
- package/skills/seo/SKILL.md +1 -0
- package/dist/dist-B_2zww72.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -923,6 +923,32 @@ declare const RULE_DEFINITIONS: readonly [{
|
|
|
923
923
|
readonly evidenceFields: ["page.robotsTxt"];
|
|
924
924
|
readonly suggestedCommands: ["seo crawl <url> --json"];
|
|
925
925
|
};
|
|
926
|
+
}, {
|
|
927
|
+
readonly id: "robots_txt_html";
|
|
928
|
+
readonly title: "robots.txt returns an HTML page";
|
|
929
|
+
readonly category: "indexability";
|
|
930
|
+
readonly defaultSeverity: "medium";
|
|
931
|
+
readonly whyItMatters: "Crawlers read /robots.txt as plain text rules. An HTML page there, often the home page served for every path, holds no rules and no Sitemap line, so crawlers treat the site as having no robots.txt.";
|
|
932
|
+
readonly howToFix: "Serve a plain text /robots.txt with the rules the site needs and a Sitemap line. Check that the catch-all route does not answer before the static file.";
|
|
933
|
+
readonly impactIfIgnored: "Rules meant to keep crawlers out of some paths do nothing, and crawlers must find the sitemap another way.";
|
|
934
|
+
readonly howToVerify: "Request /robots.txt and confirm a 200 text/plain response with User-agent lines.";
|
|
935
|
+
readonly agentHints: {
|
|
936
|
+
readonly evidenceFields: ["report.ai.robotsTxt"];
|
|
937
|
+
readonly suggestedCommands: ["seo crawl <url> --json"];
|
|
938
|
+
};
|
|
939
|
+
}, {
|
|
940
|
+
readonly id: "sitemap_url_off_host";
|
|
941
|
+
readonly title: "Sitemap lists URLs on another host";
|
|
942
|
+
readonly category: "indexability";
|
|
943
|
+
readonly defaultSeverity: "high";
|
|
944
|
+
readonly whyItMatters: "A sitemap may list only URLs on its own host, unless the other host's robots.txt or Search Console vouches for it. Localhost URLs, left by a build that used a development base URL, can never be fetched. Either way, those entries tell search engines nothing about the real pages.";
|
|
945
|
+
readonly howToFix: "Build the sitemap with the production URL as the base, so every <loc> uses the same scheme and host as the live site.";
|
|
946
|
+
readonly impactIfIgnored: "Search engines find pages only through links, and new or deep pages can take longer to be crawled.";
|
|
947
|
+
readonly howToVerify: "Open the sitemap and confirm every <loc> starts with the live site URL, then re-run the crawl.";
|
|
948
|
+
readonly agentHints: {
|
|
949
|
+
readonly evidenceFields: ["report.sitemapDiscovery.roots[].offHost"];
|
|
950
|
+
readonly suggestedCommands: ["seo crawl <url> --json"];
|
|
951
|
+
};
|
|
926
952
|
}, {
|
|
927
953
|
readonly id: "canonicalized_page";
|
|
928
954
|
readonly title: "Canonicalized page";
|
|
@@ -2866,6 +2892,8 @@ type CrawlAiSignals = {
|
|
|
2866
2892
|
exists: boolean;
|
|
2867
2893
|
availability: CrawlAiAvailability;
|
|
2868
2894
|
status?: number;
|
|
2895
|
+
contentType?: string;
|
|
2896
|
+
servesHtml?: boolean;
|
|
2869
2897
|
error?: string;
|
|
2870
2898
|
sitemapUrls: string[];
|
|
2871
2899
|
contentSignals?: string[];
|
|
@@ -2876,6 +2904,8 @@ type CrawlAiSignals = {
|
|
|
2876
2904
|
exists: boolean;
|
|
2877
2905
|
availability?: CrawlAiAvailability;
|
|
2878
2906
|
status?: number;
|
|
2907
|
+
contentType?: string;
|
|
2908
|
+
servesHtml?: boolean;
|
|
2879
2909
|
error?: string;
|
|
2880
2910
|
links?: {
|
|
2881
2911
|
found: number;
|
|
@@ -3016,6 +3046,12 @@ export type CrawlSitemapDiscovery = {
|
|
|
3016
3046
|
documents: SitemapDocument[];
|
|
3017
3047
|
possiblyTruncated: boolean;
|
|
3018
3048
|
warnings: string[];
|
|
3049
|
+
offHost?: {
|
|
3050
|
+
count: number;
|
|
3051
|
+
localhost: number;
|
|
3052
|
+
hosts: string[];
|
|
3053
|
+
samples: string[];
|
|
3054
|
+
};
|
|
3019
3055
|
}>;
|
|
3020
3056
|
};
|
|
3021
3057
|
export type CrawlExternalLinkVerification = {
|
|
@@ -3632,10 +3668,10 @@ export declare const crawlPageSnapshotSchema: z.ZodObject<{
|
|
|
3632
3668
|
raw: z.ZodString;
|
|
3633
3669
|
resolved: z.ZodOptional<z.ZodString>;
|
|
3634
3670
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
3635
|
-
"invalid-url": "invalid-url";
|
|
3636
3671
|
"outside-head": "outside-head";
|
|
3637
3672
|
"alternate-qualifier": "alternate-qualifier";
|
|
3638
3673
|
fragment: "fragment";
|
|
3674
|
+
"invalid-url": "invalid-url";
|
|
3639
3675
|
"non-http-url": "non-http-url";
|
|
3640
3676
|
}>>;
|
|
3641
3677
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -4269,15 +4305,15 @@ export declare const crawlReportSummarySchema: z.ZodObject<{
|
|
|
4269
4305
|
skippedUrls: z.ZodNumber;
|
|
4270
4306
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
4271
4307
|
reason: z.ZodEnum<{
|
|
4308
|
+
"invalid-url": "invalid-url";
|
|
4309
|
+
"robots-disallowed": "robots-disallowed";
|
|
4310
|
+
"origin-backpressure": "origin-backpressure";
|
|
4272
4311
|
"asset-url": "asset-url";
|
|
4273
4312
|
"configured-exclusion": "configured-exclusion";
|
|
4274
4313
|
"duplicate-normalization": "duplicate-normalization";
|
|
4275
|
-
"invalid-url": "invalid-url";
|
|
4276
4314
|
"memory-pressure": "memory-pressure";
|
|
4277
4315
|
"off-origin": "off-origin";
|
|
4278
|
-
"origin-backpressure": "origin-backpressure";
|
|
4279
4316
|
"queue-safety-limit": "queue-safety-limit";
|
|
4280
|
-
"robots-disallowed": "robots-disallowed";
|
|
4281
4317
|
"robots-uncertain": "robots-uncertain";
|
|
4282
4318
|
"legacy-unclassified": "legacy-unclassified";
|
|
4283
4319
|
}>;
|
|
@@ -4435,15 +4471,15 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4435
4471
|
skippedUrls: z.ZodNumber;
|
|
4436
4472
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
4437
4473
|
reason: z.ZodEnum<{
|
|
4474
|
+
"invalid-url": "invalid-url";
|
|
4475
|
+
"robots-disallowed": "robots-disallowed";
|
|
4476
|
+
"origin-backpressure": "origin-backpressure";
|
|
4438
4477
|
"asset-url": "asset-url";
|
|
4439
4478
|
"configured-exclusion": "configured-exclusion";
|
|
4440
4479
|
"duplicate-normalization": "duplicate-normalization";
|
|
4441
|
-
"invalid-url": "invalid-url";
|
|
4442
4480
|
"memory-pressure": "memory-pressure";
|
|
4443
4481
|
"off-origin": "off-origin";
|
|
4444
|
-
"origin-backpressure": "origin-backpressure";
|
|
4445
4482
|
"queue-safety-limit": "queue-safety-limit";
|
|
4446
|
-
"robots-disallowed": "robots-disallowed";
|
|
4447
4483
|
"robots-uncertain": "robots-uncertain";
|
|
4448
4484
|
"legacy-unclassified": "legacy-unclassified";
|
|
4449
4485
|
}>;
|
|
@@ -4815,10 +4851,10 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4815
4851
|
raw: z.ZodString;
|
|
4816
4852
|
resolved: z.ZodOptional<z.ZodString>;
|
|
4817
4853
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
4818
|
-
"invalid-url": "invalid-url";
|
|
4819
4854
|
"outside-head": "outside-head";
|
|
4820
4855
|
"alternate-qualifier": "alternate-qualifier";
|
|
4821
4856
|
fragment: "fragment";
|
|
4857
|
+
"invalid-url": "invalid-url";
|
|
4822
4858
|
"non-http-url": "non-http-url";
|
|
4823
4859
|
}>>;
|
|
4824
4860
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -5244,6 +5280,8 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5244
5280
|
unreachable: "unreachable";
|
|
5245
5281
|
}>;
|
|
5246
5282
|
status: z.ZodOptional<z.ZodNumber>;
|
|
5283
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
5284
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
5247
5285
|
error: z.ZodOptional<z.ZodString>;
|
|
5248
5286
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
5249
5287
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -5270,6 +5308,8 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5270
5308
|
unreachable: "unreachable";
|
|
5271
5309
|
}>>;
|
|
5272
5310
|
status: z.ZodOptional<z.ZodNumber>;
|
|
5311
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
5312
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
5273
5313
|
error: z.ZodOptional<z.ZodString>;
|
|
5274
5314
|
links: z.ZodOptional<z.ZodObject<{
|
|
5275
5315
|
found: z.ZodNumber;
|
|
@@ -5405,6 +5445,12 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5405
5445
|
}, z.core.$strip>>;
|
|
5406
5446
|
possiblyTruncated: z.ZodBoolean;
|
|
5407
5447
|
warnings: z.ZodArray<z.ZodString>;
|
|
5448
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
5449
|
+
count: z.ZodNumber;
|
|
5450
|
+
localhost: z.ZodNumber;
|
|
5451
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
5452
|
+
samples: z.ZodArray<z.ZodString>;
|
|
5453
|
+
}, z.core.$strip>>;
|
|
5408
5454
|
}, z.core.$strip>>;
|
|
5409
5455
|
}, z.core.$strip>>;
|
|
5410
5456
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -5740,15 +5786,15 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5740
5786
|
skippedUrls: z.ZodNumber;
|
|
5741
5787
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
5742
5788
|
reason: z.ZodEnum<{
|
|
5789
|
+
"invalid-url": "invalid-url";
|
|
5790
|
+
"robots-disallowed": "robots-disallowed";
|
|
5791
|
+
"origin-backpressure": "origin-backpressure";
|
|
5743
5792
|
"asset-url": "asset-url";
|
|
5744
5793
|
"configured-exclusion": "configured-exclusion";
|
|
5745
5794
|
"duplicate-normalization": "duplicate-normalization";
|
|
5746
|
-
"invalid-url": "invalid-url";
|
|
5747
5795
|
"memory-pressure": "memory-pressure";
|
|
5748
5796
|
"off-origin": "off-origin";
|
|
5749
|
-
"origin-backpressure": "origin-backpressure";
|
|
5750
5797
|
"queue-safety-limit": "queue-safety-limit";
|
|
5751
|
-
"robots-disallowed": "robots-disallowed";
|
|
5752
5798
|
"robots-uncertain": "robots-uncertain";
|
|
5753
5799
|
"legacy-unclassified": "legacy-unclassified";
|
|
5754
5800
|
}>;
|
|
@@ -6120,10 +6166,10 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6120
6166
|
raw: z.ZodString;
|
|
6121
6167
|
resolved: z.ZodOptional<z.ZodString>;
|
|
6122
6168
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
6123
|
-
"invalid-url": "invalid-url";
|
|
6124
6169
|
"outside-head": "outside-head";
|
|
6125
6170
|
"alternate-qualifier": "alternate-qualifier";
|
|
6126
6171
|
fragment: "fragment";
|
|
6172
|
+
"invalid-url": "invalid-url";
|
|
6127
6173
|
"non-http-url": "non-http-url";
|
|
6128
6174
|
}>>;
|
|
6129
6175
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -6549,6 +6595,8 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6549
6595
|
unreachable: "unreachable";
|
|
6550
6596
|
}>;
|
|
6551
6597
|
status: z.ZodOptional<z.ZodNumber>;
|
|
6598
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
6599
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
6552
6600
|
error: z.ZodOptional<z.ZodString>;
|
|
6553
6601
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
6554
6602
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -6575,6 +6623,8 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6575
6623
|
unreachable: "unreachable";
|
|
6576
6624
|
}>>;
|
|
6577
6625
|
status: z.ZodOptional<z.ZodNumber>;
|
|
6626
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
6627
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
6578
6628
|
error: z.ZodOptional<z.ZodString>;
|
|
6579
6629
|
links: z.ZodOptional<z.ZodObject<{
|
|
6580
6630
|
found: z.ZodNumber;
|
|
@@ -6710,6 +6760,12 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6710
6760
|
}, z.core.$strip>>;
|
|
6711
6761
|
possiblyTruncated: z.ZodBoolean;
|
|
6712
6762
|
warnings: z.ZodArray<z.ZodString>;
|
|
6763
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
6764
|
+
count: z.ZodNumber;
|
|
6765
|
+
localhost: z.ZodNumber;
|
|
6766
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
6767
|
+
samples: z.ZodArray<z.ZodString>;
|
|
6768
|
+
}, z.core.$strip>>;
|
|
6713
6769
|
}, z.core.$strip>>;
|
|
6714
6770
|
}, z.core.$strip>>;
|
|
6715
6771
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -7045,15 +7101,15 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7045
7101
|
skippedUrls: z.ZodNumber;
|
|
7046
7102
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
7047
7103
|
reason: z.ZodEnum<{
|
|
7104
|
+
"invalid-url": "invalid-url";
|
|
7105
|
+
"robots-disallowed": "robots-disallowed";
|
|
7106
|
+
"origin-backpressure": "origin-backpressure";
|
|
7048
7107
|
"asset-url": "asset-url";
|
|
7049
7108
|
"configured-exclusion": "configured-exclusion";
|
|
7050
7109
|
"duplicate-normalization": "duplicate-normalization";
|
|
7051
|
-
"invalid-url": "invalid-url";
|
|
7052
7110
|
"memory-pressure": "memory-pressure";
|
|
7053
7111
|
"off-origin": "off-origin";
|
|
7054
|
-
"origin-backpressure": "origin-backpressure";
|
|
7055
7112
|
"queue-safety-limit": "queue-safety-limit";
|
|
7056
|
-
"robots-disallowed": "robots-disallowed";
|
|
7057
7113
|
"robots-uncertain": "robots-uncertain";
|
|
7058
7114
|
"legacy-unclassified": "legacy-unclassified";
|
|
7059
7115
|
}>;
|
|
@@ -7425,10 +7481,10 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7425
7481
|
raw: z.ZodString;
|
|
7426
7482
|
resolved: z.ZodOptional<z.ZodString>;
|
|
7427
7483
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
7428
|
-
"invalid-url": "invalid-url";
|
|
7429
7484
|
"outside-head": "outside-head";
|
|
7430
7485
|
"alternate-qualifier": "alternate-qualifier";
|
|
7431
7486
|
fragment: "fragment";
|
|
7487
|
+
"invalid-url": "invalid-url";
|
|
7432
7488
|
"non-http-url": "non-http-url";
|
|
7433
7489
|
}>>;
|
|
7434
7490
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -7854,6 +7910,8 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7854
7910
|
unreachable: "unreachable";
|
|
7855
7911
|
}>;
|
|
7856
7912
|
status: z.ZodOptional<z.ZodNumber>;
|
|
7913
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
7914
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
7857
7915
|
error: z.ZodOptional<z.ZodString>;
|
|
7858
7916
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
7859
7917
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -7880,6 +7938,8 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7880
7938
|
unreachable: "unreachable";
|
|
7881
7939
|
}>>;
|
|
7882
7940
|
status: z.ZodOptional<z.ZodNumber>;
|
|
7941
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
7942
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
7883
7943
|
error: z.ZodOptional<z.ZodString>;
|
|
7884
7944
|
links: z.ZodOptional<z.ZodObject<{
|
|
7885
7945
|
found: z.ZodNumber;
|
|
@@ -8015,6 +8075,12 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
8015
8075
|
}, z.core.$strip>>;
|
|
8016
8076
|
possiblyTruncated: z.ZodBoolean;
|
|
8017
8077
|
warnings: z.ZodArray<z.ZodString>;
|
|
8078
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
8079
|
+
count: z.ZodNumber;
|
|
8080
|
+
localhost: z.ZodNumber;
|
|
8081
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
8082
|
+
samples: z.ZodArray<z.ZodString>;
|
|
8083
|
+
}, z.core.$strip>>;
|
|
8018
8084
|
}, z.core.$strip>>;
|
|
8019
8085
|
}, z.core.$strip>>;
|
|
8020
8086
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -8352,15 +8418,15 @@ export declare const crawlerSchemas: {
|
|
|
8352
8418
|
skippedUrls: z.ZodNumber;
|
|
8353
8419
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
8354
8420
|
reason: z.ZodEnum<{
|
|
8421
|
+
"invalid-url": "invalid-url";
|
|
8422
|
+
"robots-disallowed": "robots-disallowed";
|
|
8423
|
+
"origin-backpressure": "origin-backpressure";
|
|
8355
8424
|
"asset-url": "asset-url";
|
|
8356
8425
|
"configured-exclusion": "configured-exclusion";
|
|
8357
8426
|
"duplicate-normalization": "duplicate-normalization";
|
|
8358
|
-
"invalid-url": "invalid-url";
|
|
8359
8427
|
"memory-pressure": "memory-pressure";
|
|
8360
8428
|
"off-origin": "off-origin";
|
|
8361
|
-
"origin-backpressure": "origin-backpressure";
|
|
8362
8429
|
"queue-safety-limit": "queue-safety-limit";
|
|
8363
|
-
"robots-disallowed": "robots-disallowed";
|
|
8364
8430
|
"robots-uncertain": "robots-uncertain";
|
|
8365
8431
|
"legacy-unclassified": "legacy-unclassified";
|
|
8366
8432
|
}>;
|
|
@@ -8732,10 +8798,10 @@ export declare const crawlerSchemas: {
|
|
|
8732
8798
|
raw: z.ZodString;
|
|
8733
8799
|
resolved: z.ZodOptional<z.ZodString>;
|
|
8734
8800
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
8735
|
-
"invalid-url": "invalid-url";
|
|
8736
8801
|
"outside-head": "outside-head";
|
|
8737
8802
|
"alternate-qualifier": "alternate-qualifier";
|
|
8738
8803
|
fragment: "fragment";
|
|
8804
|
+
"invalid-url": "invalid-url";
|
|
8739
8805
|
"non-http-url": "non-http-url";
|
|
8740
8806
|
}>>;
|
|
8741
8807
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -9161,6 +9227,8 @@ export declare const crawlerSchemas: {
|
|
|
9161
9227
|
unreachable: "unreachable";
|
|
9162
9228
|
}>;
|
|
9163
9229
|
status: z.ZodOptional<z.ZodNumber>;
|
|
9230
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
9231
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
9164
9232
|
error: z.ZodOptional<z.ZodString>;
|
|
9165
9233
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
9166
9234
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -9187,6 +9255,8 @@ export declare const crawlerSchemas: {
|
|
|
9187
9255
|
unreachable: "unreachable";
|
|
9188
9256
|
}>>;
|
|
9189
9257
|
status: z.ZodOptional<z.ZodNumber>;
|
|
9258
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
9259
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
9190
9260
|
error: z.ZodOptional<z.ZodString>;
|
|
9191
9261
|
links: z.ZodOptional<z.ZodObject<{
|
|
9192
9262
|
found: z.ZodNumber;
|
|
@@ -9322,6 +9392,12 @@ export declare const crawlerSchemas: {
|
|
|
9322
9392
|
}, z.core.$strip>>;
|
|
9323
9393
|
possiblyTruncated: z.ZodBoolean;
|
|
9324
9394
|
warnings: z.ZodArray<z.ZodString>;
|
|
9395
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
9396
|
+
count: z.ZodNumber;
|
|
9397
|
+
localhost: z.ZodNumber;
|
|
9398
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
9399
|
+
samples: z.ZodArray<z.ZodString>;
|
|
9400
|
+
}, z.core.$strip>>;
|
|
9325
9401
|
}, z.core.$strip>>;
|
|
9326
9402
|
}, z.core.$strip>>;
|
|
9327
9403
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -9657,15 +9733,15 @@ export declare const crawlerSchemas: {
|
|
|
9657
9733
|
skippedUrls: z.ZodNumber;
|
|
9658
9734
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
9659
9735
|
reason: z.ZodEnum<{
|
|
9736
|
+
"invalid-url": "invalid-url";
|
|
9737
|
+
"robots-disallowed": "robots-disallowed";
|
|
9738
|
+
"origin-backpressure": "origin-backpressure";
|
|
9660
9739
|
"asset-url": "asset-url";
|
|
9661
9740
|
"configured-exclusion": "configured-exclusion";
|
|
9662
9741
|
"duplicate-normalization": "duplicate-normalization";
|
|
9663
|
-
"invalid-url": "invalid-url";
|
|
9664
9742
|
"memory-pressure": "memory-pressure";
|
|
9665
9743
|
"off-origin": "off-origin";
|
|
9666
|
-
"origin-backpressure": "origin-backpressure";
|
|
9667
9744
|
"queue-safety-limit": "queue-safety-limit";
|
|
9668
|
-
"robots-disallowed": "robots-disallowed";
|
|
9669
9745
|
"robots-uncertain": "robots-uncertain";
|
|
9670
9746
|
"legacy-unclassified": "legacy-unclassified";
|
|
9671
9747
|
}>;
|
|
@@ -10037,10 +10113,10 @@ export declare const crawlerSchemas: {
|
|
|
10037
10113
|
raw: z.ZodString;
|
|
10038
10114
|
resolved: z.ZodOptional<z.ZodString>;
|
|
10039
10115
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
10040
|
-
"invalid-url": "invalid-url";
|
|
10041
10116
|
"outside-head": "outside-head";
|
|
10042
10117
|
"alternate-qualifier": "alternate-qualifier";
|
|
10043
10118
|
fragment: "fragment";
|
|
10119
|
+
"invalid-url": "invalid-url";
|
|
10044
10120
|
"non-http-url": "non-http-url";
|
|
10045
10121
|
}>>;
|
|
10046
10122
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -10466,6 +10542,8 @@ export declare const crawlerSchemas: {
|
|
|
10466
10542
|
unreachable: "unreachable";
|
|
10467
10543
|
}>;
|
|
10468
10544
|
status: z.ZodOptional<z.ZodNumber>;
|
|
10545
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
10546
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
10469
10547
|
error: z.ZodOptional<z.ZodString>;
|
|
10470
10548
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
10471
10549
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -10492,6 +10570,8 @@ export declare const crawlerSchemas: {
|
|
|
10492
10570
|
unreachable: "unreachable";
|
|
10493
10571
|
}>>;
|
|
10494
10572
|
status: z.ZodOptional<z.ZodNumber>;
|
|
10573
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
10574
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
10495
10575
|
error: z.ZodOptional<z.ZodString>;
|
|
10496
10576
|
links: z.ZodOptional<z.ZodObject<{
|
|
10497
10577
|
found: z.ZodNumber;
|
|
@@ -10627,6 +10707,12 @@ export declare const crawlerSchemas: {
|
|
|
10627
10707
|
}, z.core.$strip>>;
|
|
10628
10708
|
possiblyTruncated: z.ZodBoolean;
|
|
10629
10709
|
warnings: z.ZodArray<z.ZodString>;
|
|
10710
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
10711
|
+
count: z.ZodNumber;
|
|
10712
|
+
localhost: z.ZodNumber;
|
|
10713
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
10714
|
+
samples: z.ZodArray<z.ZodString>;
|
|
10715
|
+
}, z.core.$strip>>;
|
|
10630
10716
|
}, z.core.$strip>>;
|
|
10631
10717
|
}, z.core.$strip>>;
|
|
10632
10718
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -10962,15 +11048,15 @@ export declare const crawlerSchemas: {
|
|
|
10962
11048
|
skippedUrls: z.ZodNumber;
|
|
10963
11049
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
10964
11050
|
reason: z.ZodEnum<{
|
|
11051
|
+
"invalid-url": "invalid-url";
|
|
11052
|
+
"robots-disallowed": "robots-disallowed";
|
|
11053
|
+
"origin-backpressure": "origin-backpressure";
|
|
10965
11054
|
"asset-url": "asset-url";
|
|
10966
11055
|
"configured-exclusion": "configured-exclusion";
|
|
10967
11056
|
"duplicate-normalization": "duplicate-normalization";
|
|
10968
|
-
"invalid-url": "invalid-url";
|
|
10969
11057
|
"memory-pressure": "memory-pressure";
|
|
10970
11058
|
"off-origin": "off-origin";
|
|
10971
|
-
"origin-backpressure": "origin-backpressure";
|
|
10972
11059
|
"queue-safety-limit": "queue-safety-limit";
|
|
10973
|
-
"robots-disallowed": "robots-disallowed";
|
|
10974
11060
|
"robots-uncertain": "robots-uncertain";
|
|
10975
11061
|
"legacy-unclassified": "legacy-unclassified";
|
|
10976
11062
|
}>;
|
|
@@ -11342,10 +11428,10 @@ export declare const crawlerSchemas: {
|
|
|
11342
11428
|
raw: z.ZodString;
|
|
11343
11429
|
resolved: z.ZodOptional<z.ZodString>;
|
|
11344
11430
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
11345
|
-
"invalid-url": "invalid-url";
|
|
11346
11431
|
"outside-head": "outside-head";
|
|
11347
11432
|
"alternate-qualifier": "alternate-qualifier";
|
|
11348
11433
|
fragment: "fragment";
|
|
11434
|
+
"invalid-url": "invalid-url";
|
|
11349
11435
|
"non-http-url": "non-http-url";
|
|
11350
11436
|
}>>;
|
|
11351
11437
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -11771,6 +11857,8 @@ export declare const crawlerSchemas: {
|
|
|
11771
11857
|
unreachable: "unreachable";
|
|
11772
11858
|
}>;
|
|
11773
11859
|
status: z.ZodOptional<z.ZodNumber>;
|
|
11860
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
11861
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
11774
11862
|
error: z.ZodOptional<z.ZodString>;
|
|
11775
11863
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
11776
11864
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -11797,6 +11885,8 @@ export declare const crawlerSchemas: {
|
|
|
11797
11885
|
unreachable: "unreachable";
|
|
11798
11886
|
}>>;
|
|
11799
11887
|
status: z.ZodOptional<z.ZodNumber>;
|
|
11888
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
11889
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
11800
11890
|
error: z.ZodOptional<z.ZodString>;
|
|
11801
11891
|
links: z.ZodOptional<z.ZodObject<{
|
|
11802
11892
|
found: z.ZodNumber;
|
|
@@ -11932,6 +12022,12 @@ export declare const crawlerSchemas: {
|
|
|
11932
12022
|
}, z.core.$strip>>;
|
|
11933
12023
|
possiblyTruncated: z.ZodBoolean;
|
|
11934
12024
|
warnings: z.ZodArray<z.ZodString>;
|
|
12025
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
12026
|
+
count: z.ZodNumber;
|
|
12027
|
+
localhost: z.ZodNumber;
|
|
12028
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
12029
|
+
samples: z.ZodArray<z.ZodString>;
|
|
12030
|
+
}, z.core.$strip>>;
|
|
11935
12031
|
}, z.core.$strip>>;
|
|
11936
12032
|
}, z.core.$strip>>;
|
|
11937
12033
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -12771,10 +12867,10 @@ export declare const crawlerSchemas: {
|
|
|
12771
12867
|
raw: z.ZodString;
|
|
12772
12868
|
resolved: z.ZodOptional<z.ZodString>;
|
|
12773
12869
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
12774
|
-
"invalid-url": "invalid-url";
|
|
12775
12870
|
"outside-head": "outside-head";
|
|
12776
12871
|
"alternate-qualifier": "alternate-qualifier";
|
|
12777
12872
|
fragment: "fragment";
|
|
12873
|
+
"invalid-url": "invalid-url";
|
|
12778
12874
|
"non-http-url": "non-http-url";
|
|
12779
12875
|
}>>;
|
|
12780
12876
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -13195,15 +13291,15 @@ export declare const crawlerJsonSchemas: {
|
|
|
13195
13291
|
skippedUrls: z.ZodNumber;
|
|
13196
13292
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
13197
13293
|
reason: z.ZodEnum<{
|
|
13294
|
+
"invalid-url": "invalid-url";
|
|
13295
|
+
"robots-disallowed": "robots-disallowed";
|
|
13296
|
+
"origin-backpressure": "origin-backpressure";
|
|
13198
13297
|
"asset-url": "asset-url";
|
|
13199
13298
|
"configured-exclusion": "configured-exclusion";
|
|
13200
13299
|
"duplicate-normalization": "duplicate-normalization";
|
|
13201
|
-
"invalid-url": "invalid-url";
|
|
13202
13300
|
"memory-pressure": "memory-pressure";
|
|
13203
13301
|
"off-origin": "off-origin";
|
|
13204
|
-
"origin-backpressure": "origin-backpressure";
|
|
13205
13302
|
"queue-safety-limit": "queue-safety-limit";
|
|
13206
|
-
"robots-disallowed": "robots-disallowed";
|
|
13207
13303
|
"robots-uncertain": "robots-uncertain";
|
|
13208
13304
|
"legacy-unclassified": "legacy-unclassified";
|
|
13209
13305
|
}>;
|
|
@@ -13575,10 +13671,10 @@ export declare const crawlerJsonSchemas: {
|
|
|
13575
13671
|
raw: z.ZodString;
|
|
13576
13672
|
resolved: z.ZodOptional<z.ZodString>;
|
|
13577
13673
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
13578
|
-
"invalid-url": "invalid-url";
|
|
13579
13674
|
"outside-head": "outside-head";
|
|
13580
13675
|
"alternate-qualifier": "alternate-qualifier";
|
|
13581
13676
|
fragment: "fragment";
|
|
13677
|
+
"invalid-url": "invalid-url";
|
|
13582
13678
|
"non-http-url": "non-http-url";
|
|
13583
13679
|
}>>;
|
|
13584
13680
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -14004,6 +14100,8 @@ export declare const crawlerJsonSchemas: {
|
|
|
14004
14100
|
unreachable: "unreachable";
|
|
14005
14101
|
}>;
|
|
14006
14102
|
status: z.ZodOptional<z.ZodNumber>;
|
|
14103
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
14104
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
14007
14105
|
error: z.ZodOptional<z.ZodString>;
|
|
14008
14106
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
14009
14107
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -14030,6 +14128,8 @@ export declare const crawlerJsonSchemas: {
|
|
|
14030
14128
|
unreachable: "unreachable";
|
|
14031
14129
|
}>>;
|
|
14032
14130
|
status: z.ZodOptional<z.ZodNumber>;
|
|
14131
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
14132
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
14033
14133
|
error: z.ZodOptional<z.ZodString>;
|
|
14034
14134
|
links: z.ZodOptional<z.ZodObject<{
|
|
14035
14135
|
found: z.ZodNumber;
|
|
@@ -14165,6 +14265,12 @@ export declare const crawlerJsonSchemas: {
|
|
|
14165
14265
|
}, z.core.$strip>>;
|
|
14166
14266
|
possiblyTruncated: z.ZodBoolean;
|
|
14167
14267
|
warnings: z.ZodArray<z.ZodString>;
|
|
14268
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
14269
|
+
count: z.ZodNumber;
|
|
14270
|
+
localhost: z.ZodNumber;
|
|
14271
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
14272
|
+
samples: z.ZodArray<z.ZodString>;
|
|
14273
|
+
}, z.core.$strip>>;
|
|
14168
14274
|
}, z.core.$strip>>;
|
|
14169
14275
|
}, z.core.$strip>>;
|
|
14170
14276
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -14500,15 +14606,15 @@ export declare const crawlerJsonSchemas: {
|
|
|
14500
14606
|
skippedUrls: z.ZodNumber;
|
|
14501
14607
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
14502
14608
|
reason: z.ZodEnum<{
|
|
14609
|
+
"invalid-url": "invalid-url";
|
|
14610
|
+
"robots-disallowed": "robots-disallowed";
|
|
14611
|
+
"origin-backpressure": "origin-backpressure";
|
|
14503
14612
|
"asset-url": "asset-url";
|
|
14504
14613
|
"configured-exclusion": "configured-exclusion";
|
|
14505
14614
|
"duplicate-normalization": "duplicate-normalization";
|
|
14506
|
-
"invalid-url": "invalid-url";
|
|
14507
14615
|
"memory-pressure": "memory-pressure";
|
|
14508
14616
|
"off-origin": "off-origin";
|
|
14509
|
-
"origin-backpressure": "origin-backpressure";
|
|
14510
14617
|
"queue-safety-limit": "queue-safety-limit";
|
|
14511
|
-
"robots-disallowed": "robots-disallowed";
|
|
14512
14618
|
"robots-uncertain": "robots-uncertain";
|
|
14513
14619
|
"legacy-unclassified": "legacy-unclassified";
|
|
14514
14620
|
}>;
|
|
@@ -14880,10 +14986,10 @@ export declare const crawlerJsonSchemas: {
|
|
|
14880
14986
|
raw: z.ZodString;
|
|
14881
14987
|
resolved: z.ZodOptional<z.ZodString>;
|
|
14882
14988
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
14883
|
-
"invalid-url": "invalid-url";
|
|
14884
14989
|
"outside-head": "outside-head";
|
|
14885
14990
|
"alternate-qualifier": "alternate-qualifier";
|
|
14886
14991
|
fragment: "fragment";
|
|
14992
|
+
"invalid-url": "invalid-url";
|
|
14887
14993
|
"non-http-url": "non-http-url";
|
|
14888
14994
|
}>>;
|
|
14889
14995
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -15309,6 +15415,8 @@ export declare const crawlerJsonSchemas: {
|
|
|
15309
15415
|
unreachable: "unreachable";
|
|
15310
15416
|
}>;
|
|
15311
15417
|
status: z.ZodOptional<z.ZodNumber>;
|
|
15418
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
15419
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
15312
15420
|
error: z.ZodOptional<z.ZodString>;
|
|
15313
15421
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
15314
15422
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -15335,6 +15443,8 @@ export declare const crawlerJsonSchemas: {
|
|
|
15335
15443
|
unreachable: "unreachable";
|
|
15336
15444
|
}>>;
|
|
15337
15445
|
status: z.ZodOptional<z.ZodNumber>;
|
|
15446
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
15447
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
15338
15448
|
error: z.ZodOptional<z.ZodString>;
|
|
15339
15449
|
links: z.ZodOptional<z.ZodObject<{
|
|
15340
15450
|
found: z.ZodNumber;
|
|
@@ -15470,6 +15580,12 @@ export declare const crawlerJsonSchemas: {
|
|
|
15470
15580
|
}, z.core.$strip>>;
|
|
15471
15581
|
possiblyTruncated: z.ZodBoolean;
|
|
15472
15582
|
warnings: z.ZodArray<z.ZodString>;
|
|
15583
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
15584
|
+
count: z.ZodNumber;
|
|
15585
|
+
localhost: z.ZodNumber;
|
|
15586
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
15587
|
+
samples: z.ZodArray<z.ZodString>;
|
|
15588
|
+
}, z.core.$strip>>;
|
|
15473
15589
|
}, z.core.$strip>>;
|
|
15474
15590
|
}, z.core.$strip>>;
|
|
15475
15591
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -15805,15 +15921,15 @@ export declare const crawlerJsonSchemas: {
|
|
|
15805
15921
|
skippedUrls: z.ZodNumber;
|
|
15806
15922
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
15807
15923
|
reason: z.ZodEnum<{
|
|
15924
|
+
"invalid-url": "invalid-url";
|
|
15925
|
+
"robots-disallowed": "robots-disallowed";
|
|
15926
|
+
"origin-backpressure": "origin-backpressure";
|
|
15808
15927
|
"asset-url": "asset-url";
|
|
15809
15928
|
"configured-exclusion": "configured-exclusion";
|
|
15810
15929
|
"duplicate-normalization": "duplicate-normalization";
|
|
15811
|
-
"invalid-url": "invalid-url";
|
|
15812
15930
|
"memory-pressure": "memory-pressure";
|
|
15813
15931
|
"off-origin": "off-origin";
|
|
15814
|
-
"origin-backpressure": "origin-backpressure";
|
|
15815
15932
|
"queue-safety-limit": "queue-safety-limit";
|
|
15816
|
-
"robots-disallowed": "robots-disallowed";
|
|
15817
15933
|
"robots-uncertain": "robots-uncertain";
|
|
15818
15934
|
"legacy-unclassified": "legacy-unclassified";
|
|
15819
15935
|
}>;
|
|
@@ -16185,10 +16301,10 @@ export declare const crawlerJsonSchemas: {
|
|
|
16185
16301
|
raw: z.ZodString;
|
|
16186
16302
|
resolved: z.ZodOptional<z.ZodString>;
|
|
16187
16303
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
16188
|
-
"invalid-url": "invalid-url";
|
|
16189
16304
|
"outside-head": "outside-head";
|
|
16190
16305
|
"alternate-qualifier": "alternate-qualifier";
|
|
16191
16306
|
fragment: "fragment";
|
|
16307
|
+
"invalid-url": "invalid-url";
|
|
16192
16308
|
"non-http-url": "non-http-url";
|
|
16193
16309
|
}>>;
|
|
16194
16310
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -16614,6 +16730,8 @@ export declare const crawlerJsonSchemas: {
|
|
|
16614
16730
|
unreachable: "unreachable";
|
|
16615
16731
|
}>;
|
|
16616
16732
|
status: z.ZodOptional<z.ZodNumber>;
|
|
16733
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
16734
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
16617
16735
|
error: z.ZodOptional<z.ZodString>;
|
|
16618
16736
|
sitemapUrls: z.ZodArray<z.ZodString>;
|
|
16619
16737
|
contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -16640,6 +16758,8 @@ export declare const crawlerJsonSchemas: {
|
|
|
16640
16758
|
unreachable: "unreachable";
|
|
16641
16759
|
}>>;
|
|
16642
16760
|
status: z.ZodOptional<z.ZodNumber>;
|
|
16761
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
16762
|
+
servesHtml: z.ZodOptional<z.ZodBoolean>;
|
|
16643
16763
|
error: z.ZodOptional<z.ZodString>;
|
|
16644
16764
|
links: z.ZodOptional<z.ZodObject<{
|
|
16645
16765
|
found: z.ZodNumber;
|
|
@@ -16775,6 +16895,12 @@ export declare const crawlerJsonSchemas: {
|
|
|
16775
16895
|
}, z.core.$strip>>;
|
|
16776
16896
|
possiblyTruncated: z.ZodBoolean;
|
|
16777
16897
|
warnings: z.ZodArray<z.ZodString>;
|
|
16898
|
+
offHost: z.ZodOptional<z.ZodObject<{
|
|
16899
|
+
count: z.ZodNumber;
|
|
16900
|
+
localhost: z.ZodNumber;
|
|
16901
|
+
hosts: z.ZodArray<z.ZodString>;
|
|
16902
|
+
samples: z.ZodArray<z.ZodString>;
|
|
16903
|
+
}, z.core.$strip>>;
|
|
16778
16904
|
}, z.core.$strip>>;
|
|
16779
16905
|
}, z.core.$strip>>;
|
|
16780
16906
|
externalLinkVerification: z.ZodOptional<z.ZodObject<{
|
|
@@ -17614,10 +17740,10 @@ export declare const crawlerJsonSchemas: {
|
|
|
17614
17740
|
raw: z.ZodString;
|
|
17615
17741
|
resolved: z.ZodOptional<z.ZodString>;
|
|
17616
17742
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
17617
|
-
"invalid-url": "invalid-url";
|
|
17618
17743
|
"outside-head": "outside-head";
|
|
17619
17744
|
"alternate-qualifier": "alternate-qualifier";
|
|
17620
17745
|
fragment: "fragment";
|
|
17746
|
+
"invalid-url": "invalid-url";
|
|
17621
17747
|
"non-http-url": "non-http-url";
|
|
17622
17748
|
}>>;
|
|
17623
17749
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -19988,6 +20114,13 @@ interface CrawledPage {
|
|
|
19988
20114
|
length: number;
|
|
19989
20115
|
};
|
|
19990
20116
|
}
|
|
20117
|
+
interface SentenceSource {
|
|
20118
|
+
read(ref: {
|
|
20119
|
+
offset: number;
|
|
20120
|
+
length: number;
|
|
20121
|
+
}): Promise<LinkSentence[]>;
|
|
20122
|
+
close(): Promise<void>;
|
|
20123
|
+
}
|
|
19991
20124
|
interface SiteCrawl {
|
|
19992
20125
|
origin: string;
|
|
19993
20126
|
method: 'sitemap' | 'links';
|
|
@@ -19995,7 +20128,7 @@ interface SiteCrawl {
|
|
|
19995
20128
|
urls: string[];
|
|
19996
20129
|
pageOfUrl: Map<number, number>;
|
|
19997
20130
|
index: SiteIndex;
|
|
19998
|
-
sentences:
|
|
20131
|
+
sentences: SentenceSource;
|
|
19999
20132
|
genericAnchors: Array<{
|
|
20000
20133
|
source: number;
|
|
20001
20134
|
href: string;
|
|
@@ -20014,22 +20147,6 @@ interface SiteCrawl {
|
|
|
20014
20147
|
};
|
|
20015
20148
|
warnings: string[];
|
|
20016
20149
|
}
|
|
20017
|
-
declare class SentenceStore {
|
|
20018
|
-
private readonly dir;
|
|
20019
|
-
private readonly handle;
|
|
20020
|
-
private size;
|
|
20021
|
-
private constructor();
|
|
20022
|
-
static open(): Promise<SentenceStore>;
|
|
20023
|
-
write(sentences: LinkSentence[]): Promise<{
|
|
20024
|
-
offset: number;
|
|
20025
|
-
length: number;
|
|
20026
|
-
}>;
|
|
20027
|
-
read(ref: {
|
|
20028
|
-
offset: number;
|
|
20029
|
-
length: number;
|
|
20030
|
-
}): Promise<LinkSentence[]>;
|
|
20031
|
-
close(): Promise<void>;
|
|
20032
|
-
}
|
|
20033
20150
|
interface CrawlInput {
|
|
20034
20151
|
startUrl: string;
|
|
20035
20152
|
maxPages: number;
|
|
@@ -20037,7 +20154,6 @@ interface CrawlInput {
|
|
|
20037
20154
|
refresh?: boolean;
|
|
20038
20155
|
progress?: ProgressReporter;
|
|
20039
20156
|
}
|
|
20040
|
-
declare function crawlForLinks(input: CrawlInput): Promise<SiteCrawl>;
|
|
20041
20157
|
export declare const PAGE_TYPES: {
|
|
20042
20158
|
readonly pillar_guide: "A long, broad guide that covers a whole topic and would naturally link out to many narrower pages";
|
|
20043
20159
|
readonly support_article: "A focused article, post, tutorial, or explainer about one narrower subject";
|
|
@@ -20209,9 +20325,10 @@ export interface InternalLinksInput {
|
|
|
20209
20325
|
refresh?: boolean;
|
|
20210
20326
|
}
|
|
20211
20327
|
export interface InternalLinksDependencies {
|
|
20212
|
-
crawl:
|
|
20328
|
+
crawl: (input: CrawlInput) => Promise<SiteCrawl>;
|
|
20213
20329
|
searchConsole: {
|
|
20214
20330
|
property: string;
|
|
20331
|
+
maxRows?: number;
|
|
20215
20332
|
query: (request: SearchAnalyticsRequest) => Promise<{
|
|
20216
20333
|
rows: GscRow[];
|
|
20217
20334
|
rowsFetched: number;
|
|
@@ -20229,6 +20346,7 @@ export interface InternalLinksDependencies {
|
|
|
20229
20346
|
progress?: ProgressReporter;
|
|
20230
20347
|
}
|
|
20231
20348
|
export declare function siteStartUrl(site: string): string;
|
|
20349
|
+
export declare function internalLinksReportWith(input: InternalLinksInput, dependencies: Partial<InternalLinksDependencies> & Pick<InternalLinksDependencies, 'crawl' | 'searchConsole' | 'decisionModel'>): Promise<InternalLinksReport>;
|
|
20232
20350
|
export declare function internalLinksReport(input: InternalLinksInput, dependencies: Partial<InternalLinksDependencies> & Pick<InternalLinksDependencies, 'searchConsole' | 'decisionModel'>): Promise<InternalLinksReport>;
|
|
20233
20351
|
type PseoTemplateCluster = {
|
|
20234
20352
|
id: string;
|
|
@@ -21308,26 +21426,6 @@ type AuditAccess = {
|
|
|
21308
21426
|
checks: (site: string, offset: number, limit: number) => Promise<AuditChecks | null>;
|
|
21309
21427
|
add: (site: string) => Promise<'added' | 'exists' | 'full'>;
|
|
21310
21428
|
};
|
|
21311
|
-
declare const ISSUE_MARKS: readonly ["open", "fixed", "ignored"];
|
|
21312
|
-
type IssueMark = (typeof ISSUE_MARKS)[number];
|
|
21313
|
-
type IssueSeen = 'found' | 'not-found' | 'not-checked';
|
|
21314
|
-
type StoredIssue = {
|
|
21315
|
-
id: string;
|
|
21316
|
-
kind: string;
|
|
21317
|
-
subject: string;
|
|
21318
|
-
evidence: string;
|
|
21319
|
-
mark: IssueMark;
|
|
21320
|
-
marked_at: string | null;
|
|
21321
|
-
note: string | null;
|
|
21322
|
-
first_found: string;
|
|
21323
|
-
last_found: string | null;
|
|
21324
|
-
seen: IssueSeen;
|
|
21325
|
-
checked_at: string | null;
|
|
21326
|
-
};
|
|
21327
|
-
type IssueStore = {
|
|
21328
|
-
read: (site: string) => Promise<StoredIssue[] | null>;
|
|
21329
|
-
write: (site: string, issues: StoredIssue[]) => Promise<void>;
|
|
21330
|
-
};
|
|
21331
21429
|
type RedirectKind = 'permanent' | 'temporary';
|
|
21332
21430
|
type LiveCheck = {
|
|
21333
21431
|
first: PageFacts;
|
|
@@ -21372,6 +21470,10 @@ declare const COMMANDS: {
|
|
|
21372
21470
|
readonly where: "local";
|
|
21373
21471
|
readonly summary: "Pages that could link to a target page.";
|
|
21374
21472
|
};
|
|
21473
|
+
readonly lint: {
|
|
21474
|
+
readonly where: "anywhere";
|
|
21475
|
+
readonly summary: "Check copy for patterns common in AI-written text, weak copy and title and description length.";
|
|
21476
|
+
};
|
|
21375
21477
|
};
|
|
21376
21478
|
type CommandId = keyof typeof COMMANDS;
|
|
21377
21479
|
type Caller = (command: CommandId, args?: Record<string, string | number | undefined>) => string;
|
|
@@ -21446,6 +21548,45 @@ type PageMarkdown = {
|
|
|
21446
21548
|
} | {
|
|
21447
21549
|
error: string;
|
|
21448
21550
|
};
|
|
21551
|
+
declare const ISSUE_MARKS: readonly ["open", "fixed", "ignored"];
|
|
21552
|
+
type IssueMark = (typeof ISSUE_MARKS)[number];
|
|
21553
|
+
type IssueSeen = 'found' | 'not-found' | 'not-checked';
|
|
21554
|
+
type StoredIssue = {
|
|
21555
|
+
id: string;
|
|
21556
|
+
kind: string;
|
|
21557
|
+
subject: string;
|
|
21558
|
+
evidence: string;
|
|
21559
|
+
mark: IssueMark;
|
|
21560
|
+
marked_at: string | null;
|
|
21561
|
+
note: string | null;
|
|
21562
|
+
first_found: string;
|
|
21563
|
+
last_found: string | null;
|
|
21564
|
+
seen: IssueSeen;
|
|
21565
|
+
checked_at: string | null;
|
|
21566
|
+
measures?: IssueMeasure[];
|
|
21567
|
+
};
|
|
21568
|
+
declare const MEASURE_DAYS: readonly [28, 56];
|
|
21569
|
+
type MeasureDays = (typeof MEASURE_DAYS)[number];
|
|
21570
|
+
type MeasurePeriod = {
|
|
21571
|
+
start: string;
|
|
21572
|
+
end: string;
|
|
21573
|
+
clicks: number;
|
|
21574
|
+
impressions: number;
|
|
21575
|
+
position: number | null;
|
|
21576
|
+
};
|
|
21577
|
+
type IssueMeasure = {
|
|
21578
|
+
days: MeasureDays;
|
|
21579
|
+
fixed_on: string;
|
|
21580
|
+
scope: 'page' | 'query on page';
|
|
21581
|
+
before: MeasurePeriod;
|
|
21582
|
+
after: MeasurePeriod;
|
|
21583
|
+
updates: string[] | null;
|
|
21584
|
+
measured_at: string;
|
|
21585
|
+
};
|
|
21586
|
+
type IssueStore = {
|
|
21587
|
+
read: (site: string) => Promise<StoredIssue[] | null>;
|
|
21588
|
+
write: (site: string, issues: StoredIssue[]) => Promise<void>;
|
|
21589
|
+
};
|
|
21449
21590
|
type WeekSite = {
|
|
21450
21591
|
property: string;
|
|
21451
21592
|
link: string | null;
|
|
@@ -21474,6 +21615,37 @@ type WeekSite = {
|
|
|
21474
21615
|
clicks: number;
|
|
21475
21616
|
previous: number;
|
|
21476
21617
|
} | null;
|
|
21618
|
+
opportunities?: WeekOpportunities | null;
|
|
21619
|
+
measured?: {
|
|
21620
|
+
total: number;
|
|
21621
|
+
items: (IssueMeasure & {
|
|
21622
|
+
subject: string;
|
|
21623
|
+
})[];
|
|
21624
|
+
};
|
|
21625
|
+
};
|
|
21626
|
+
type WeekOpportunities = {
|
|
21627
|
+
checked_at: number | null;
|
|
21628
|
+
competitors: string[];
|
|
21629
|
+
blocked: string | null;
|
|
21630
|
+
partial: boolean;
|
|
21631
|
+
items: WeekOpportunity[];
|
|
21632
|
+
};
|
|
21633
|
+
type WeekOpportunity = {
|
|
21634
|
+
keyword: string;
|
|
21635
|
+
kind: 'page' | 'tool';
|
|
21636
|
+
search_volume: number;
|
|
21637
|
+
cpc: number;
|
|
21638
|
+
intent: string;
|
|
21639
|
+
competitors: {
|
|
21640
|
+
domain: string;
|
|
21641
|
+
position: number;
|
|
21642
|
+
url: string;
|
|
21643
|
+
}[];
|
|
21644
|
+
site_dr: number;
|
|
21645
|
+
low_dr: number;
|
|
21646
|
+
top: number;
|
|
21647
|
+
cluster: number;
|
|
21648
|
+
relevance: number;
|
|
21477
21649
|
};
|
|
21478
21650
|
type WeekData = {
|
|
21479
21651
|
start: string;
|
|
@@ -21521,6 +21693,13 @@ export declare function pendingCloudLogin(): Pending | null;
|
|
|
21521
21693
|
export declare function finishCloudLogin(): Promise<'linked' | 'pending' | 'expired'>;
|
|
21522
21694
|
export declare function cloudLogout(): Promise<boolean>;
|
|
21523
21695
|
export declare function openCloudLink(url: string): Promise<void>;
|
|
21696
|
+
type LintSource = {
|
|
21697
|
+
path: string;
|
|
21698
|
+
text: string;
|
|
21699
|
+
} | {
|
|
21700
|
+
path: string;
|
|
21701
|
+
skipped: string;
|
|
21702
|
+
};
|
|
21524
21703
|
export type TokenStorageMode = 'keychain' | 'file';
|
|
21525
21704
|
export type TokenStorageStatus = {
|
|
21526
21705
|
configured: TokenStorageMode;
|
|
@@ -21893,6 +22072,9 @@ export declare function readJson<T = unknown>(response: Response, label: string,
|
|
|
21893
22072
|
maxBytes?: number;
|
|
21894
22073
|
}): Promise<T>;
|
|
21895
22074
|
export declare function readJsonOrUndefined<T = unknown>(response: Response, label: string): Promise<T | undefined>;
|
|
22075
|
+
export declare const LINT_MAX_FILES = 100;
|
|
22076
|
+
export declare function lintPaths(inputs: string[], cwd?: string): Promise<string[]>;
|
|
22077
|
+
export declare function readLintFiles(inputs: string[], cwd?: string): Promise<LintSource[]>;
|
|
21896
22078
|
export declare function createLogger(runId: string): pino.Logger;
|
|
21897
22079
|
export declare function makeRunId(): string;
|
|
21898
22080
|
export declare function renderPresentationTablesMarkdown(tables: PresentationTable[]): string[];
|