seo 0.17.1 → 0.17.3
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/cli.js +89 -89
- package/dist/cli.js.map +1 -1
- package/dist/{dist-B9mN7y6S.js → dist-BNTdDj1i.js} +1 -1
- package/dist/{dist-BjB7Lfd6.js → dist-CSPI6SOD.js} +106 -105
- package/dist/dist-CSPI6SOD.js.map +1 -0
- package/dist/{esm-G8B5TPzB.js → esm-HKeFfXOD.js} +2 -2
- package/dist/{esm-G8B5TPzB.js.map → esm-HKeFfXOD.js.map} +1 -1
- package/dist/index.d.ts +625 -353
- package/dist/index.js +720 -124
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +720 -123
- package/dist/mcp.js.map +1 -1
- package/package.json +1 -1
- package/skills/seo/SKILL.md +1 -1
- package/dist/dist-BjB7Lfd6.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -773,13 +773,13 @@ declare const RULE_DEFINITIONS: readonly [{
|
|
|
773
773
|
readonly title: "Large HTML response";
|
|
774
774
|
readonly category: "performance";
|
|
775
775
|
readonly defaultSeverity: "low";
|
|
776
|
-
readonly whyItMatters: "
|
|
777
|
-
readonly howToFix: "
|
|
778
|
-
readonly impactIfIgnored: "
|
|
779
|
-
readonly howToVerify: "Re-run the crawl and confirm sizeBytes is
|
|
776
|
+
readonly whyItMatters: "Googlebot reads only the first 2MB of uncompressed HTML for Google Search and indexes the page as if the file ended there. When the h1 or main element, or most of the visible text, sits past that cut, Google may index the page without its main content. Large HTML is also slow to download and parse.";
|
|
777
|
+
readonly howToFix: "Move the main content earlier and trim what comes before it: large inline CSS, inline SVG, JSON data and duplicated markup. Load non-critical styles and scripts as separate files.";
|
|
778
|
+
readonly impactIfIgnored: "Content past the 2MB cut is not indexed, and every page of the template carries the same weight on slow connections.";
|
|
779
|
+
readonly howToVerify: "Re-run the crawl and confirm sizeBytes is under 2,097,152, or that mainContentStartBytes is well before it and few visible words sit after it. The word split is a heuristic from the raw HTML.";
|
|
780
780
|
readonly agentHints: {
|
|
781
|
-
readonly evidenceFields: ["page.sizeBytes", "issue.evidence.thresholdBytes"];
|
|
782
|
-
readonly suggestedCommands: ["seo crawl <url> --json"];
|
|
781
|
+
readonly evidenceFields: ["page.sizeBytes", "issue.evidence.thresholdBytes", "issue.evidence.mainContentStartBytes", "issue.evidence.bytesAfterLimit", "issue.evidence.visibleWordsAfterLimit", "issue.evidence.indexingRisk"];
|
|
782
|
+
readonly suggestedCommands: ["seo crawl <url> --mode page --json"];
|
|
783
783
|
};
|
|
784
784
|
}, {
|
|
785
785
|
readonly id: "no_compression";
|
|
@@ -2548,233 +2548,6 @@ export declare function contentOptimizationReport(input: {
|
|
|
2548
2548
|
refresh?: boolean;
|
|
2549
2549
|
js?: boolean | 'auto';
|
|
2550
2550
|
}): Promise<ContentOptimizationReport>;
|
|
2551
|
-
export type CrawlPageSnapshot = {
|
|
2552
|
-
url: string;
|
|
2553
|
-
finalUrl: string;
|
|
2554
|
-
status: number;
|
|
2555
|
-
contentType?: string;
|
|
2556
|
-
responseHeaders?: Record<string, string>;
|
|
2557
|
-
responseTimeMs?: number;
|
|
2558
|
-
sizeBytes?: number;
|
|
2559
|
-
usedJs?: boolean;
|
|
2560
|
-
fetchSource?: 'cache' | 'network' | 'rendered';
|
|
2561
|
-
cacheState?: 'hit' | 'miss' | 'bypass';
|
|
2562
|
-
fetchDiagnostics?: PageFetchDiagnostics;
|
|
2563
|
-
auditScope?: 'full' | 'status';
|
|
2564
|
-
accessBlock?: AccessBlockEvidence;
|
|
2565
|
-
blocked?: boolean;
|
|
2566
|
-
contentAuditAllowed?: boolean;
|
|
2567
|
-
crawlDepth?: number;
|
|
2568
|
-
error?: string;
|
|
2569
|
-
robotsTxt?: {
|
|
2570
|
-
url: string;
|
|
2571
|
-
allowed: boolean | null;
|
|
2572
|
-
availability: 'available' | 'absent' | 'access-blocked' | 'rate-limited' | 'unreachable' | 'unreadable';
|
|
2573
|
-
status?: number;
|
|
2574
|
-
error?: string;
|
|
2575
|
-
matchedLine?: string;
|
|
2576
|
-
};
|
|
2577
|
-
title?: string;
|
|
2578
|
-
metaDescription?: string;
|
|
2579
|
-
canonical?: string;
|
|
2580
|
-
canonicalRaw?: string;
|
|
2581
|
-
canonicalStatus?: CanonicalEvidence['status'];
|
|
2582
|
-
canonicalCandidates?: CanonicalCandidate[];
|
|
2583
|
-
metaRobots?: string;
|
|
2584
|
-
xRobotsTag?: string;
|
|
2585
|
-
h1?: string;
|
|
2586
|
-
h1Count?: number;
|
|
2587
|
-
h2Count?: number;
|
|
2588
|
-
h3Count?: number;
|
|
2589
|
-
indexable: boolean;
|
|
2590
|
-
indexability?: string;
|
|
2591
|
-
declaredIndexability?: 'indexable-candidate' | 'noindex' | 'robots-blocked' | 'canonical-conflict' | 'canonical-hint-other' | 'meta-refresh' | 'not-html' | 'unknown';
|
|
2592
|
-
extractionStatus?: 'complete' | 'failed' | 'not-applicable' | 'unknown-media-type';
|
|
2593
|
-
extractionError?: string;
|
|
2594
|
-
wordCount: number;
|
|
2595
|
-
contentExtraction?: ContentExtractionDiagnostics;
|
|
2596
|
-
warnings?: string[];
|
|
2597
|
-
contentHash: string;
|
|
2598
|
-
mainContentHash?: string;
|
|
2599
|
-
textRatio?: number;
|
|
2600
|
-
contentSample?: string;
|
|
2601
|
-
contentSketch?: ContentSketch;
|
|
2602
|
-
softAuthenticationGate?: {
|
|
2603
|
-
kind: 'login-form';
|
|
2604
|
-
indicators: string[];
|
|
2605
|
-
formActionPath?: string;
|
|
2606
|
-
};
|
|
2607
|
-
metaRefresh?: {
|
|
2608
|
-
targetUrl: string;
|
|
2609
|
-
delaySeconds: number;
|
|
2610
|
-
};
|
|
2611
|
-
tabbedContent?: {
|
|
2612
|
-
groups: number;
|
|
2613
|
-
panels: number;
|
|
2614
|
-
retainedPanels: number;
|
|
2615
|
-
truncated: boolean;
|
|
2616
|
-
panelSketches: Array<{
|
|
2617
|
-
label?: string;
|
|
2618
|
-
sketch: ContentSketch;
|
|
2619
|
-
}>;
|
|
2620
|
-
};
|
|
2621
|
-
lang?: string;
|
|
2622
|
-
hasViewport?: boolean;
|
|
2623
|
-
isHttps?: boolean;
|
|
2624
|
-
hasHsts?: boolean;
|
|
2625
|
-
compression?: string;
|
|
2626
|
-
hreflang?: Array<{
|
|
2627
|
-
hreflang: string;
|
|
2628
|
-
href: string;
|
|
2629
|
-
}>;
|
|
2630
|
-
mixedContentCount?: number;
|
|
2631
|
-
mixedContentSamples?: string[];
|
|
2632
|
-
imagesTotal?: number;
|
|
2633
|
-
imagesMissingAlt?: number;
|
|
2634
|
-
oversizedImageCandidates?: Array<{
|
|
2635
|
-
src: string;
|
|
2636
|
-
width?: number;
|
|
2637
|
-
height?: number;
|
|
2638
|
-
detectedFrom: string;
|
|
2639
|
-
}>;
|
|
2640
|
-
outgoingInternalCount: number;
|
|
2641
|
-
outgoingExternalCount?: number;
|
|
2642
|
-
internalInlinkCount?: number;
|
|
2643
|
-
internalLinkAuthorityScore?: number;
|
|
2644
|
-
sampleInternalLinks?: string[];
|
|
2645
|
-
sampleExternalLinks?: string[];
|
|
2646
|
-
internalAnchorSamples?: Array<{
|
|
2647
|
-
href: string;
|
|
2648
|
-
text: string;
|
|
2649
|
-
}>;
|
|
2650
|
-
externalAnchorSamples?: Array<{
|
|
2651
|
-
href: string;
|
|
2652
|
-
text: string;
|
|
2653
|
-
}>;
|
|
2654
|
-
markdownAlternates?: string[];
|
|
2655
|
-
describedBy?: string[];
|
|
2656
|
-
externalLinkChecks?: ExternalLinkCheck[];
|
|
2657
|
-
schemaTypes?: string[];
|
|
2658
|
-
structuredDataFormats?: Array<'json-ld' | 'microdata' | 'rdfa'>;
|
|
2659
|
-
googleRichResults?: GoogleRichResultAssessment[];
|
|
2660
|
-
googleRichResultsSelection?: GoogleRichResultAssessmentSelection;
|
|
2661
|
-
schemaSameAs?: string[];
|
|
2662
|
-
schemaSameAsEvidence?: Array<{
|
|
2663
|
-
url: string;
|
|
2664
|
-
block: number;
|
|
2665
|
-
path: string;
|
|
2666
|
-
subjectId?: string;
|
|
2667
|
-
subjectTypes: string[];
|
|
2668
|
-
}>;
|
|
2669
|
-
invalidSchemaSameAs?: Array<{
|
|
2670
|
-
block: number;
|
|
2671
|
-
path: string;
|
|
2672
|
-
value: string;
|
|
2673
|
-
}>;
|
|
2674
|
-
socialProfileLinks?: string[];
|
|
2675
|
-
invalidJsonLdCount?: number;
|
|
2676
|
-
invalidJsonLdSamples?: Array<{
|
|
2677
|
-
snippet: string;
|
|
2678
|
-
error: string;
|
|
2679
|
-
}>;
|
|
2680
|
-
unrecognizedJsonLdTypes?: Array<{
|
|
2681
|
-
block: number;
|
|
2682
|
-
path: string;
|
|
2683
|
-
value: string;
|
|
2684
|
-
reason: 'missing-schema-context' | 'unresolved-context' | 'unsupported-vocabulary';
|
|
2685
|
-
}>;
|
|
2686
|
-
openGraphTitle?: string;
|
|
2687
|
-
openGraphDescription?: string;
|
|
2688
|
-
openGraphImage?: string;
|
|
2689
|
-
twitterCard?: string;
|
|
2690
|
-
author?: string;
|
|
2691
|
-
hasDate?: boolean;
|
|
2692
|
-
geo?: {
|
|
2693
|
-
semanticHtml: boolean;
|
|
2694
|
-
structuredData: boolean;
|
|
2695
|
-
hasAuthor: boolean;
|
|
2696
|
-
hasDate: boolean;
|
|
2697
|
-
questionHeadings: number;
|
|
2698
|
-
listCount?: number;
|
|
2699
|
-
tableCount?: number;
|
|
2700
|
-
structuredBlocks: number;
|
|
2701
|
-
answerable: boolean;
|
|
2702
|
-
hasFaqSchema?: boolean;
|
|
2703
|
-
hasQapageSchema?: boolean;
|
|
2704
|
-
hasLlmsTxt?: boolean;
|
|
2705
|
-
llmsTxtUrl?: string;
|
|
2706
|
-
llmsTxtStatus?: number;
|
|
2707
|
-
};
|
|
2708
|
-
searchMetrics?: {
|
|
2709
|
-
clicks: number;
|
|
2710
|
-
impressions: number;
|
|
2711
|
-
ctr: number;
|
|
2712
|
-
position: number;
|
|
2713
|
-
};
|
|
2714
|
-
topQuery?: {
|
|
2715
|
-
query: string;
|
|
2716
|
-
clicks: number;
|
|
2717
|
-
impressions: number;
|
|
2718
|
-
ctr: number;
|
|
2719
|
-
position: number;
|
|
2720
|
-
};
|
|
2721
|
-
analytics?: {
|
|
2722
|
-
sessions: number;
|
|
2723
|
-
totalUsers?: number;
|
|
2724
|
-
conversions?: number;
|
|
2725
|
-
};
|
|
2726
|
-
};
|
|
2727
|
-
export type ExternalLinkCheckState = 'available' | 'confirmed-broken' | 'transient' | 'provider-blocked' | 'rate-limited' | 'method-rejected' | 'unavailable';
|
|
2728
|
-
export type ExternalLinkCheckAttempt = {
|
|
2729
|
-
method: 'HEAD' | 'GET';
|
|
2730
|
-
status?: number;
|
|
2731
|
-
error?: string;
|
|
2732
|
-
};
|
|
2733
|
-
export type ExternalLinkCheck = {
|
|
2734
|
-
url: string;
|
|
2735
|
-
status?: number;
|
|
2736
|
-
error?: string;
|
|
2737
|
-
state?: ExternalLinkCheckState;
|
|
2738
|
-
attempts?: ExternalLinkCheckAttempt[];
|
|
2739
|
-
};
|
|
2740
|
-
export type CrawlResponseObservation = {
|
|
2741
|
-
requestedUrl: string;
|
|
2742
|
-
outcome: 'response';
|
|
2743
|
-
finalUrl: string;
|
|
2744
|
-
status: number;
|
|
2745
|
-
contentType?: string;
|
|
2746
|
-
durationMs?: number;
|
|
2747
|
-
redirectChain?: PageFetchDiagnostics['redirectChain'];
|
|
2748
|
-
accessBlock?: AccessBlockEvidence;
|
|
2749
|
-
robotsTxt?: NonNullable<CrawlPageSnapshot['robotsTxt']>;
|
|
2750
|
-
} & ({
|
|
2751
|
-
extraction: 'complete' | 'not-applicable' | 'unknown-media-type';
|
|
2752
|
-
} | {
|
|
2753
|
-
extraction: 'failed';
|
|
2754
|
-
extractionError: string;
|
|
2755
|
-
});
|
|
2756
|
-
export type CrawlRequestObservation = CrawlResponseObservation | {
|
|
2757
|
-
requestedUrl: string;
|
|
2758
|
-
outcome: 'skipped';
|
|
2759
|
-
durationMs?: number;
|
|
2760
|
-
reason: 'robots-disallowed' | 'robots-deferred';
|
|
2761
|
-
robotsTxt: NonNullable<CrawlPageSnapshot['robotsTxt']>;
|
|
2762
|
-
extraction: 'not-applicable';
|
|
2763
|
-
} | {
|
|
2764
|
-
requestedUrl: string;
|
|
2765
|
-
outcome: 'skipped';
|
|
2766
|
-
durationMs?: number;
|
|
2767
|
-
reason: 'origin-backpressure';
|
|
2768
|
-
error: string;
|
|
2769
|
-
extraction: 'not-applicable';
|
|
2770
|
-
} | {
|
|
2771
|
-
requestedUrl: string;
|
|
2772
|
-
outcome: 'failure';
|
|
2773
|
-
durationMs?: number;
|
|
2774
|
-
failureKind: 'dns' | 'tls' | 'timeout' | 'redirect-limit' | 'redirect-loop' | 'aborted' | 'unknown';
|
|
2775
|
-
error: string;
|
|
2776
|
-
extraction: 'not-applicable';
|
|
2777
|
-
};
|
|
2778
2551
|
export type SitemapInvalidLoc = {
|
|
2779
2552
|
sitemapUrl: string;
|
|
2780
2553
|
kind: 'url' | 'sitemap';
|
|
@@ -3180,86 +2953,326 @@ export type CrawlReportSummary = {
|
|
|
3180
2953
|
byStatus: Record<string, number>;
|
|
3181
2954
|
byCategory: Record<string, number>;
|
|
3182
2955
|
};
|
|
3183
|
-
export type CrawlAccessSummary = {
|
|
3184
|
-
crawler: CrawlerIdentity;
|
|
3185
|
-
blockedRequests: number;
|
|
3186
|
-
providers: Partial<Record<AccessBlockEvidence['provider'], number>>;
|
|
3187
|
-
samples: Array<{
|
|
3188
|
-
url: string;
|
|
3189
|
-
evidence: AccessBlockEvidence;
|
|
3190
|
-
}>;
|
|
3191
|
-
sampleLimit: number;
|
|
3192
|
-
truncated: boolean;
|
|
2956
|
+
export type CrawlAccessSummary = {
|
|
2957
|
+
crawler: CrawlerIdentity;
|
|
2958
|
+
blockedRequests: number;
|
|
2959
|
+
providers: Partial<Record<AccessBlockEvidence['provider'], number>>;
|
|
2960
|
+
samples: Array<{
|
|
2961
|
+
url: string;
|
|
2962
|
+
evidence: AccessBlockEvidence;
|
|
2963
|
+
}>;
|
|
2964
|
+
sampleLimit: number;
|
|
2965
|
+
truncated: boolean;
|
|
2966
|
+
};
|
|
2967
|
+
export type CrawlReport = {
|
|
2968
|
+
id: string;
|
|
2969
|
+
definitionId: string;
|
|
2970
|
+
site?: string;
|
|
2971
|
+
googleAnalyticsPropertyId?: string;
|
|
2972
|
+
analyticsConnection?: AnalyticsConnection;
|
|
2973
|
+
generatedAt: string;
|
|
2974
|
+
status: 'completed' | 'partial' | 'failed';
|
|
2975
|
+
configHash: string;
|
|
2976
|
+
config: CrawlConfig;
|
|
2977
|
+
access: CrawlAccessSummary;
|
|
2978
|
+
summary: CrawlReportSummary;
|
|
2979
|
+
requestEvidenceStatus: 'available' | 'partial' | 'unavailable';
|
|
2980
|
+
requests: CrawlRequestObservation[];
|
|
2981
|
+
pages: CrawlPageSnapshot[];
|
|
2982
|
+
issues: CrawlIssue[];
|
|
2983
|
+
issueGroups: CrawlIssueGroup[];
|
|
2984
|
+
dataSources?: CrawlReportDataSources;
|
|
2985
|
+
ai?: CrawlAiSignals;
|
|
2986
|
+
sitemapDiscovery?: CrawlSitemapDiscovery;
|
|
2987
|
+
externalLinkVerification?: CrawlExternalLinkVerification;
|
|
2988
|
+
siteChecks?: CrawlSiteChecks;
|
|
2989
|
+
warnings: string[];
|
|
2990
|
+
caveats: string[];
|
|
2991
|
+
};
|
|
2992
|
+
export declare function normalizeCrawlConfig(input: CrawlConfigInput): CrawlConfig;
|
|
2993
|
+
export declare function assertCrawlConfigLimits(config: CrawlConfig): CrawlConfig;
|
|
2994
|
+
export declare function crawlConfigHash(config: CrawlConfigInput): string;
|
|
2995
|
+
export declare function crawlDefinitionId(input: {
|
|
2996
|
+
config: CrawlConfigInput;
|
|
2997
|
+
site?: string;
|
|
2998
|
+
googleAnalyticsPropertyId?: string;
|
|
2999
|
+
analyticsConnection?: AnalyticsConnection;
|
|
3000
|
+
}): string;
|
|
3001
|
+
export declare function crawlRunId(): string;
|
|
3002
|
+
export declare function groupCrawlIssues(issues: CrawlIssue[]): CrawlIssueGroup[];
|
|
3003
|
+
export declare function summarizeCrawlReport(input: {
|
|
3004
|
+
pages: CrawlPageSnapshot[];
|
|
3005
|
+
requests?: CrawlRequestObservation[];
|
|
3006
|
+
requestEvidenceStatus?: CrawlReport['requestEvidenceStatus'];
|
|
3007
|
+
issues: CrawlIssue[];
|
|
3008
|
+
stats?: Partial<CrawlRunStats> & {
|
|
3009
|
+
skipReasons?: CrawlSkipReasonCount[];
|
|
3010
|
+
};
|
|
3011
|
+
}): CrawlReportSummary;
|
|
3012
|
+
export declare function createCrawlReport(input: {
|
|
3013
|
+
id?: string;
|
|
3014
|
+
config: CrawlConfigInput;
|
|
3015
|
+
pages?: CrawlPageSnapshot[];
|
|
3016
|
+
requests?: CrawlRequestObservation[];
|
|
3017
|
+
requestEvidenceStatus?: CrawlReport['requestEvidenceStatus'];
|
|
3018
|
+
issues?: CrawlIssue[];
|
|
3019
|
+
additionalIssues?: CrawlIssue[];
|
|
3020
|
+
linkGraph?: CrawlLinkGraph;
|
|
3021
|
+
ai?: CrawlAiSignals;
|
|
3022
|
+
site?: string;
|
|
3023
|
+
googleAnalyticsPropertyId?: string;
|
|
3024
|
+
analyticsConnection?: AnalyticsConnection;
|
|
3025
|
+
dataSources?: CrawlReportDataSources;
|
|
3026
|
+
sitemapDiscovery?: CrawlSitemapDiscovery;
|
|
3027
|
+
externalLinkVerification?: CrawlExternalLinkVerification;
|
|
3028
|
+
siteChecks?: CrawlSiteChecks;
|
|
3029
|
+
status?: CrawlReport['status'];
|
|
3030
|
+
warnings?: string[];
|
|
3031
|
+
caveats?: string[];
|
|
3032
|
+
stats?: Partial<CrawlRunStats>;
|
|
3033
|
+
generatedAt?: string;
|
|
3034
|
+
}): CrawlReport;
|
|
3035
|
+
export declare function normalizeLoadedCrawlReport(report: CrawlReport): CrawlReport;
|
|
3036
|
+
type GooglebotCutEvidence = {
|
|
3037
|
+
limitBytes: number;
|
|
3038
|
+
bytesAfterLimit: number;
|
|
3039
|
+
/** Byte offset of the first <h1> or <main>, whichever comes first. */
|
|
3040
|
+
mainContentStartBytes?: number;
|
|
3041
|
+
mainContentMarker?: 'h1' | 'main';
|
|
3042
|
+
mainContentStart: 'before-limit' | 'near-limit' | 'after-limit' | 'not-found';
|
|
3043
|
+
/** Heuristic: words of text outside tags, scripts and styles. */
|
|
3044
|
+
visibleWordsBeforeLimit: number;
|
|
3045
|
+
visibleWordsAfterLimit: number;
|
|
3046
|
+
};
|
|
3047
|
+
export type CrawlPageSnapshot = {
|
|
3048
|
+
url: string;
|
|
3049
|
+
finalUrl: string;
|
|
3050
|
+
status: number;
|
|
3051
|
+
contentType?: string;
|
|
3052
|
+
responseHeaders?: Record<string, string>;
|
|
3053
|
+
responseTimeMs?: number;
|
|
3054
|
+
sizeBytes?: number;
|
|
3055
|
+
/** Set only when the HTML is over Googlebot's 2MB limit. */
|
|
3056
|
+
googlebotCut?: GooglebotCutEvidence;
|
|
3057
|
+
usedJs?: boolean;
|
|
3058
|
+
fetchSource?: 'cache' | 'network' | 'rendered';
|
|
3059
|
+
cacheState?: 'hit' | 'miss' | 'bypass';
|
|
3060
|
+
fetchDiagnostics?: PageFetchDiagnostics;
|
|
3061
|
+
auditScope?: 'full' | 'status';
|
|
3062
|
+
accessBlock?: AccessBlockEvidence;
|
|
3063
|
+
blocked?: boolean;
|
|
3064
|
+
contentAuditAllowed?: boolean;
|
|
3065
|
+
crawlDepth?: number;
|
|
3066
|
+
error?: string;
|
|
3067
|
+
robotsTxt?: {
|
|
3068
|
+
url: string;
|
|
3069
|
+
allowed: boolean | null;
|
|
3070
|
+
availability: 'available' | 'absent' | 'access-blocked' | 'rate-limited' | 'unreachable' | 'unreadable';
|
|
3071
|
+
status?: number;
|
|
3072
|
+
error?: string;
|
|
3073
|
+
matchedLine?: string;
|
|
3074
|
+
};
|
|
3075
|
+
title?: string;
|
|
3076
|
+
metaDescription?: string;
|
|
3077
|
+
canonical?: string;
|
|
3078
|
+
canonicalRaw?: string;
|
|
3079
|
+
canonicalStatus?: CanonicalEvidence['status'];
|
|
3080
|
+
canonicalCandidates?: CanonicalCandidate[];
|
|
3081
|
+
metaRobots?: string;
|
|
3082
|
+
xRobotsTag?: string;
|
|
3083
|
+
h1?: string;
|
|
3084
|
+
h1Count?: number;
|
|
3085
|
+
h2Count?: number;
|
|
3086
|
+
h3Count?: number;
|
|
3087
|
+
indexable: boolean;
|
|
3088
|
+
indexability?: string;
|
|
3089
|
+
declaredIndexability?: 'indexable-candidate' | 'noindex' | 'robots-blocked' | 'canonical-conflict' | 'canonical-hint-other' | 'meta-refresh' | 'not-html' | 'unknown';
|
|
3090
|
+
extractionStatus?: 'complete' | 'failed' | 'not-applicable' | 'unknown-media-type';
|
|
3091
|
+
extractionError?: string;
|
|
3092
|
+
wordCount: number;
|
|
3093
|
+
contentExtraction?: ContentExtractionDiagnostics;
|
|
3094
|
+
warnings?: string[];
|
|
3095
|
+
contentHash: string;
|
|
3096
|
+
mainContentHash?: string;
|
|
3097
|
+
textRatio?: number;
|
|
3098
|
+
contentSample?: string;
|
|
3099
|
+
contentSketch?: ContentSketch;
|
|
3100
|
+
softAuthenticationGate?: {
|
|
3101
|
+
kind: 'login-form';
|
|
3102
|
+
indicators: string[];
|
|
3103
|
+
formActionPath?: string;
|
|
3104
|
+
};
|
|
3105
|
+
metaRefresh?: {
|
|
3106
|
+
targetUrl: string;
|
|
3107
|
+
delaySeconds: number;
|
|
3108
|
+
};
|
|
3109
|
+
tabbedContent?: {
|
|
3110
|
+
groups: number;
|
|
3111
|
+
panels: number;
|
|
3112
|
+
retainedPanels: number;
|
|
3113
|
+
truncated: boolean;
|
|
3114
|
+
panelSketches: Array<{
|
|
3115
|
+
label?: string;
|
|
3116
|
+
sketch: ContentSketch;
|
|
3117
|
+
}>;
|
|
3118
|
+
};
|
|
3119
|
+
lang?: string;
|
|
3120
|
+
hasViewport?: boolean;
|
|
3121
|
+
isHttps?: boolean;
|
|
3122
|
+
hasHsts?: boolean;
|
|
3123
|
+
compression?: string;
|
|
3124
|
+
hreflang?: Array<{
|
|
3125
|
+
hreflang: string;
|
|
3126
|
+
href: string;
|
|
3127
|
+
}>;
|
|
3128
|
+
mixedContentCount?: number;
|
|
3129
|
+
mixedContentSamples?: string[];
|
|
3130
|
+
imagesTotal?: number;
|
|
3131
|
+
imagesMissingAlt?: number;
|
|
3132
|
+
oversizedImageCandidates?: Array<{
|
|
3133
|
+
src: string;
|
|
3134
|
+
width?: number;
|
|
3135
|
+
height?: number;
|
|
3136
|
+
detectedFrom: string;
|
|
3137
|
+
}>;
|
|
3138
|
+
outgoingInternalCount: number;
|
|
3139
|
+
outgoingExternalCount?: number;
|
|
3140
|
+
internalInlinkCount?: number;
|
|
3141
|
+
internalLinkAuthorityScore?: number;
|
|
3142
|
+
sampleInternalLinks?: string[];
|
|
3143
|
+
sampleExternalLinks?: string[];
|
|
3144
|
+
internalAnchorSamples?: Array<{
|
|
3145
|
+
href: string;
|
|
3146
|
+
text: string;
|
|
3147
|
+
}>;
|
|
3148
|
+
externalAnchorSamples?: Array<{
|
|
3149
|
+
href: string;
|
|
3150
|
+
text: string;
|
|
3151
|
+
}>;
|
|
3152
|
+
markdownAlternates?: string[];
|
|
3153
|
+
describedBy?: string[];
|
|
3154
|
+
externalLinkChecks?: ExternalLinkCheck[];
|
|
3155
|
+
schemaTypes?: string[];
|
|
3156
|
+
structuredDataFormats?: Array<'json-ld' | 'microdata' | 'rdfa'>;
|
|
3157
|
+
googleRichResults?: GoogleRichResultAssessment[];
|
|
3158
|
+
googleRichResultsSelection?: GoogleRichResultAssessmentSelection;
|
|
3159
|
+
schemaSameAs?: string[];
|
|
3160
|
+
schemaSameAsEvidence?: Array<{
|
|
3161
|
+
url: string;
|
|
3162
|
+
block: number;
|
|
3163
|
+
path: string;
|
|
3164
|
+
subjectId?: string;
|
|
3165
|
+
subjectTypes: string[];
|
|
3166
|
+
}>;
|
|
3167
|
+
invalidSchemaSameAs?: Array<{
|
|
3168
|
+
block: number;
|
|
3169
|
+
path: string;
|
|
3170
|
+
value: string;
|
|
3171
|
+
}>;
|
|
3172
|
+
socialProfileLinks?: string[];
|
|
3173
|
+
invalidJsonLdCount?: number;
|
|
3174
|
+
invalidJsonLdSamples?: Array<{
|
|
3175
|
+
snippet: string;
|
|
3176
|
+
error: string;
|
|
3177
|
+
}>;
|
|
3178
|
+
unrecognizedJsonLdTypes?: Array<{
|
|
3179
|
+
block: number;
|
|
3180
|
+
path: string;
|
|
3181
|
+
value: string;
|
|
3182
|
+
reason: 'missing-schema-context' | 'unresolved-context' | 'unsupported-vocabulary';
|
|
3183
|
+
}>;
|
|
3184
|
+
openGraphTitle?: string;
|
|
3185
|
+
openGraphDescription?: string;
|
|
3186
|
+
openGraphImage?: string;
|
|
3187
|
+
twitterCard?: string;
|
|
3188
|
+
author?: string;
|
|
3189
|
+
hasDate?: boolean;
|
|
3190
|
+
geo?: {
|
|
3191
|
+
semanticHtml: boolean;
|
|
3192
|
+
structuredData: boolean;
|
|
3193
|
+
hasAuthor: boolean;
|
|
3194
|
+
hasDate: boolean;
|
|
3195
|
+
questionHeadings: number;
|
|
3196
|
+
listCount?: number;
|
|
3197
|
+
tableCount?: number;
|
|
3198
|
+
structuredBlocks: number;
|
|
3199
|
+
answerable: boolean;
|
|
3200
|
+
hasFaqSchema?: boolean;
|
|
3201
|
+
hasQapageSchema?: boolean;
|
|
3202
|
+
hasLlmsTxt?: boolean;
|
|
3203
|
+
llmsTxtUrl?: string;
|
|
3204
|
+
llmsTxtStatus?: number;
|
|
3205
|
+
};
|
|
3206
|
+
searchMetrics?: {
|
|
3207
|
+
clicks: number;
|
|
3208
|
+
impressions: number;
|
|
3209
|
+
ctr: number;
|
|
3210
|
+
position: number;
|
|
3211
|
+
};
|
|
3212
|
+
topQuery?: {
|
|
3213
|
+
query: string;
|
|
3214
|
+
clicks: number;
|
|
3215
|
+
impressions: number;
|
|
3216
|
+
ctr: number;
|
|
3217
|
+
position: number;
|
|
3218
|
+
};
|
|
3219
|
+
analytics?: {
|
|
3220
|
+
sessions: number;
|
|
3221
|
+
totalUsers?: number;
|
|
3222
|
+
conversions?: number;
|
|
3223
|
+
};
|
|
3224
|
+
};
|
|
3225
|
+
export type ExternalLinkCheckState = 'available' | 'confirmed-broken' | 'transient' | 'provider-blocked' | 'rate-limited' | 'method-rejected' | 'unavailable';
|
|
3226
|
+
export type ExternalLinkCheckAttempt = {
|
|
3227
|
+
method: 'HEAD' | 'GET';
|
|
3228
|
+
status?: number;
|
|
3229
|
+
error?: string;
|
|
3230
|
+
};
|
|
3231
|
+
export type ExternalLinkCheck = {
|
|
3232
|
+
url: string;
|
|
3233
|
+
status?: number;
|
|
3234
|
+
error?: string;
|
|
3235
|
+
state?: ExternalLinkCheckState;
|
|
3236
|
+
attempts?: ExternalLinkCheckAttempt[];
|
|
3193
3237
|
};
|
|
3194
|
-
export type
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3238
|
+
export type CrawlResponseObservation = {
|
|
3239
|
+
requestedUrl: string;
|
|
3240
|
+
outcome: 'response';
|
|
3241
|
+
finalUrl: string;
|
|
3242
|
+
status: number;
|
|
3243
|
+
contentType?: string;
|
|
3244
|
+
durationMs?: number;
|
|
3245
|
+
redirectChain?: PageFetchDiagnostics['redirectChain'];
|
|
3246
|
+
accessBlock?: AccessBlockEvidence;
|
|
3247
|
+
robotsTxt?: NonNullable<CrawlPageSnapshot['robotsTxt']>;
|
|
3248
|
+
} & ({
|
|
3249
|
+
extraction: 'complete' | 'not-applicable' | 'unknown-media-type';
|
|
3250
|
+
} | {
|
|
3251
|
+
extraction: 'failed';
|
|
3252
|
+
extractionError: string;
|
|
3253
|
+
});
|
|
3254
|
+
export type CrawlRequestObservation = CrawlResponseObservation | {
|
|
3255
|
+
requestedUrl: string;
|
|
3256
|
+
outcome: 'skipped';
|
|
3257
|
+
durationMs?: number;
|
|
3258
|
+
reason: 'robots-disallowed' | 'robots-deferred';
|
|
3259
|
+
robotsTxt: NonNullable<CrawlPageSnapshot['robotsTxt']>;
|
|
3260
|
+
extraction: 'not-applicable';
|
|
3261
|
+
} | {
|
|
3262
|
+
requestedUrl: string;
|
|
3263
|
+
outcome: 'skipped';
|
|
3264
|
+
durationMs?: number;
|
|
3265
|
+
reason: 'origin-backpressure';
|
|
3266
|
+
error: string;
|
|
3267
|
+
extraction: 'not-applicable';
|
|
3268
|
+
} | {
|
|
3269
|
+
requestedUrl: string;
|
|
3270
|
+
outcome: 'failure';
|
|
3271
|
+
durationMs?: number;
|
|
3272
|
+
failureKind: 'dns' | 'tls' | 'timeout' | 'redirect-limit' | 'redirect-loop' | 'aborted' | 'unknown';
|
|
3273
|
+
error: string;
|
|
3274
|
+
extraction: 'not-applicable';
|
|
3218
3275
|
};
|
|
3219
|
-
export declare function normalizeCrawlConfig(input: CrawlConfigInput): CrawlConfig;
|
|
3220
|
-
export declare function assertCrawlConfigLimits(config: CrawlConfig): CrawlConfig;
|
|
3221
|
-
export declare function crawlConfigHash(config: CrawlConfigInput): string;
|
|
3222
|
-
export declare function crawlDefinitionId(input: {
|
|
3223
|
-
config: CrawlConfigInput;
|
|
3224
|
-
site?: string;
|
|
3225
|
-
googleAnalyticsPropertyId?: string;
|
|
3226
|
-
analyticsConnection?: AnalyticsConnection;
|
|
3227
|
-
}): string;
|
|
3228
|
-
export declare function crawlRunId(): string;
|
|
3229
|
-
export declare function groupCrawlIssues(issues: CrawlIssue[]): CrawlIssueGroup[];
|
|
3230
|
-
export declare function summarizeCrawlReport(input: {
|
|
3231
|
-
pages: CrawlPageSnapshot[];
|
|
3232
|
-
requests?: CrawlRequestObservation[];
|
|
3233
|
-
requestEvidenceStatus?: CrawlReport['requestEvidenceStatus'];
|
|
3234
|
-
issues: CrawlIssue[];
|
|
3235
|
-
stats?: Partial<CrawlRunStats> & {
|
|
3236
|
-
skipReasons?: CrawlSkipReasonCount[];
|
|
3237
|
-
};
|
|
3238
|
-
}): CrawlReportSummary;
|
|
3239
|
-
export declare function createCrawlReport(input: {
|
|
3240
|
-
id?: string;
|
|
3241
|
-
config: CrawlConfigInput;
|
|
3242
|
-
pages?: CrawlPageSnapshot[];
|
|
3243
|
-
requests?: CrawlRequestObservation[];
|
|
3244
|
-
requestEvidenceStatus?: CrawlReport['requestEvidenceStatus'];
|
|
3245
|
-
issues?: CrawlIssue[];
|
|
3246
|
-
additionalIssues?: CrawlIssue[];
|
|
3247
|
-
linkGraph?: CrawlLinkGraph;
|
|
3248
|
-
ai?: CrawlAiSignals;
|
|
3249
|
-
site?: string;
|
|
3250
|
-
googleAnalyticsPropertyId?: string;
|
|
3251
|
-
analyticsConnection?: AnalyticsConnection;
|
|
3252
|
-
dataSources?: CrawlReportDataSources;
|
|
3253
|
-
sitemapDiscovery?: CrawlSitemapDiscovery;
|
|
3254
|
-
externalLinkVerification?: CrawlExternalLinkVerification;
|
|
3255
|
-
siteChecks?: CrawlSiteChecks;
|
|
3256
|
-
status?: CrawlReport['status'];
|
|
3257
|
-
warnings?: string[];
|
|
3258
|
-
caveats?: string[];
|
|
3259
|
-
stats?: Partial<CrawlRunStats>;
|
|
3260
|
-
generatedAt?: string;
|
|
3261
|
-
}): CrawlReport;
|
|
3262
|
-
export declare function normalizeLoadedCrawlReport(report: CrawlReport): CrawlReport;
|
|
3263
3276
|
export declare function auditCrawlRequests(requests: CrawlRequestObservation[]): CrawlIssue[];
|
|
3264
3277
|
export declare function auditCrawlPages(pages: CrawlPageSnapshot[], opts?: {
|
|
3265
3278
|
startUrl?: string;
|
|
@@ -3383,6 +3396,23 @@ export declare const crawlPageSnapshotSchema: z.ZodObject<{
|
|
|
3383
3396
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3384
3397
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
3385
3398
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
3399
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
3400
|
+
limitBytes: z.ZodNumber;
|
|
3401
|
+
bytesAfterLimit: z.ZodNumber;
|
|
3402
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
3403
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
3404
|
+
h1: "h1";
|
|
3405
|
+
main: "main";
|
|
3406
|
+
}>>;
|
|
3407
|
+
mainContentStart: z.ZodEnum<{
|
|
3408
|
+
"before-limit": "before-limit";
|
|
3409
|
+
"near-limit": "near-limit";
|
|
3410
|
+
"after-limit": "after-limit";
|
|
3411
|
+
"not-found": "not-found";
|
|
3412
|
+
}>;
|
|
3413
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
3414
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
3415
|
+
}, z.core.$strip>>;
|
|
3386
3416
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
3387
3417
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
3388
3418
|
cache: "cache";
|
|
@@ -3719,10 +3749,10 @@ export declare const crawlPageSnapshotSchema: z.ZodObject<{
|
|
|
3719
3749
|
raw: z.ZodString;
|
|
3720
3750
|
resolved: z.ZodOptional<z.ZodString>;
|
|
3721
3751
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
3722
|
-
"invalid-url": "invalid-url";
|
|
3723
3752
|
"outside-head": "outside-head";
|
|
3724
3753
|
"alternate-qualifier": "alternate-qualifier";
|
|
3725
3754
|
fragment: "fragment";
|
|
3755
|
+
"invalid-url": "invalid-url";
|
|
3726
3756
|
"non-http-url": "non-http-url";
|
|
3727
3757
|
}>>;
|
|
3728
3758
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -4360,17 +4390,17 @@ export declare const crawlReportSummarySchema: z.ZodObject<{
|
|
|
4360
4390
|
skippedUrls: z.ZodNumber;
|
|
4361
4391
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
4362
4392
|
reason: z.ZodEnum<{
|
|
4393
|
+
"invalid-url": "invalid-url";
|
|
4394
|
+
"robots-disallowed": "robots-disallowed";
|
|
4395
|
+
"origin-backpressure": "origin-backpressure";
|
|
4363
4396
|
"asset-url": "asset-url";
|
|
4364
4397
|
"cdn-utility-url": "cdn-utility-url";
|
|
4365
4398
|
"configured-exclusion": "configured-exclusion";
|
|
4366
4399
|
"duplicate-normalization": "duplicate-normalization";
|
|
4367
|
-
"invalid-url": "invalid-url";
|
|
4368
4400
|
"memory-pressure": "memory-pressure";
|
|
4369
4401
|
"off-origin": "off-origin";
|
|
4370
|
-
"origin-backpressure": "origin-backpressure";
|
|
4371
4402
|
"queue-safety-limit": "queue-safety-limit";
|
|
4372
4403
|
"query-variant-limit": "query-variant-limit";
|
|
4373
|
-
"robots-disallowed": "robots-disallowed";
|
|
4374
4404
|
"robots-uncertain": "robots-uncertain";
|
|
4375
4405
|
"legacy-unclassified": "legacy-unclassified";
|
|
4376
4406
|
}>;
|
|
@@ -4528,17 +4558,17 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4528
4558
|
skippedUrls: z.ZodNumber;
|
|
4529
4559
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
4530
4560
|
reason: z.ZodEnum<{
|
|
4561
|
+
"invalid-url": "invalid-url";
|
|
4562
|
+
"robots-disallowed": "robots-disallowed";
|
|
4563
|
+
"origin-backpressure": "origin-backpressure";
|
|
4531
4564
|
"asset-url": "asset-url";
|
|
4532
4565
|
"cdn-utility-url": "cdn-utility-url";
|
|
4533
4566
|
"configured-exclusion": "configured-exclusion";
|
|
4534
4567
|
"duplicate-normalization": "duplicate-normalization";
|
|
4535
|
-
"invalid-url": "invalid-url";
|
|
4536
4568
|
"memory-pressure": "memory-pressure";
|
|
4537
4569
|
"off-origin": "off-origin";
|
|
4538
|
-
"origin-backpressure": "origin-backpressure";
|
|
4539
4570
|
"queue-safety-limit": "queue-safety-limit";
|
|
4540
4571
|
"query-variant-limit": "query-variant-limit";
|
|
4541
|
-
"robots-disallowed": "robots-disallowed";
|
|
4542
4572
|
"robots-uncertain": "robots-uncertain";
|
|
4543
4573
|
"legacy-unclassified": "legacy-unclassified";
|
|
4544
4574
|
}>;
|
|
@@ -4577,6 +4607,23 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4577
4607
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
4578
4608
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
4579
4609
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
4610
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
4611
|
+
limitBytes: z.ZodNumber;
|
|
4612
|
+
bytesAfterLimit: z.ZodNumber;
|
|
4613
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
4614
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
4615
|
+
h1: "h1";
|
|
4616
|
+
main: "main";
|
|
4617
|
+
}>>;
|
|
4618
|
+
mainContentStart: z.ZodEnum<{
|
|
4619
|
+
"before-limit": "before-limit";
|
|
4620
|
+
"near-limit": "near-limit";
|
|
4621
|
+
"after-limit": "after-limit";
|
|
4622
|
+
"not-found": "not-found";
|
|
4623
|
+
}>;
|
|
4624
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
4625
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
4626
|
+
}, z.core.$strip>>;
|
|
4580
4627
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
4581
4628
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
4582
4629
|
cache: "cache";
|
|
@@ -4913,10 +4960,10 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
4913
4960
|
raw: z.ZodString;
|
|
4914
4961
|
resolved: z.ZodOptional<z.ZodString>;
|
|
4915
4962
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
4916
|
-
"invalid-url": "invalid-url";
|
|
4917
4963
|
"outside-head": "outside-head";
|
|
4918
4964
|
"alternate-qualifier": "alternate-qualifier";
|
|
4919
4965
|
fragment: "fragment";
|
|
4966
|
+
"invalid-url": "invalid-url";
|
|
4920
4967
|
"non-http-url": "non-http-url";
|
|
4921
4968
|
}>>;
|
|
4922
4969
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -5875,17 +5922,17 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5875
5922
|
skippedUrls: z.ZodNumber;
|
|
5876
5923
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
5877
5924
|
reason: z.ZodEnum<{
|
|
5925
|
+
"invalid-url": "invalid-url";
|
|
5926
|
+
"robots-disallowed": "robots-disallowed";
|
|
5927
|
+
"origin-backpressure": "origin-backpressure";
|
|
5878
5928
|
"asset-url": "asset-url";
|
|
5879
5929
|
"cdn-utility-url": "cdn-utility-url";
|
|
5880
5930
|
"configured-exclusion": "configured-exclusion";
|
|
5881
5931
|
"duplicate-normalization": "duplicate-normalization";
|
|
5882
|
-
"invalid-url": "invalid-url";
|
|
5883
5932
|
"memory-pressure": "memory-pressure";
|
|
5884
5933
|
"off-origin": "off-origin";
|
|
5885
|
-
"origin-backpressure": "origin-backpressure";
|
|
5886
5934
|
"queue-safety-limit": "queue-safety-limit";
|
|
5887
5935
|
"query-variant-limit": "query-variant-limit";
|
|
5888
|
-
"robots-disallowed": "robots-disallowed";
|
|
5889
5936
|
"robots-uncertain": "robots-uncertain";
|
|
5890
5937
|
"legacy-unclassified": "legacy-unclassified";
|
|
5891
5938
|
}>;
|
|
@@ -5924,6 +5971,23 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
5924
5971
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
5925
5972
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
5926
5973
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
5974
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
5975
|
+
limitBytes: z.ZodNumber;
|
|
5976
|
+
bytesAfterLimit: z.ZodNumber;
|
|
5977
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
5978
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
5979
|
+
h1: "h1";
|
|
5980
|
+
main: "main";
|
|
5981
|
+
}>>;
|
|
5982
|
+
mainContentStart: z.ZodEnum<{
|
|
5983
|
+
"before-limit": "before-limit";
|
|
5984
|
+
"near-limit": "near-limit";
|
|
5985
|
+
"after-limit": "after-limit";
|
|
5986
|
+
"not-found": "not-found";
|
|
5987
|
+
}>;
|
|
5988
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
5989
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
5990
|
+
}, z.core.$strip>>;
|
|
5927
5991
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
5928
5992
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
5929
5993
|
cache: "cache";
|
|
@@ -6260,10 +6324,10 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
6260
6324
|
raw: z.ZodString;
|
|
6261
6325
|
resolved: z.ZodOptional<z.ZodString>;
|
|
6262
6326
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
6263
|
-
"invalid-url": "invalid-url";
|
|
6264
6327
|
"outside-head": "outside-head";
|
|
6265
6328
|
"alternate-qualifier": "alternate-qualifier";
|
|
6266
6329
|
fragment: "fragment";
|
|
6330
|
+
"invalid-url": "invalid-url";
|
|
6267
6331
|
"non-http-url": "non-http-url";
|
|
6268
6332
|
}>>;
|
|
6269
6333
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -7222,17 +7286,17 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7222
7286
|
skippedUrls: z.ZodNumber;
|
|
7223
7287
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
7224
7288
|
reason: z.ZodEnum<{
|
|
7289
|
+
"invalid-url": "invalid-url";
|
|
7290
|
+
"robots-disallowed": "robots-disallowed";
|
|
7291
|
+
"origin-backpressure": "origin-backpressure";
|
|
7225
7292
|
"asset-url": "asset-url";
|
|
7226
7293
|
"cdn-utility-url": "cdn-utility-url";
|
|
7227
7294
|
"configured-exclusion": "configured-exclusion";
|
|
7228
7295
|
"duplicate-normalization": "duplicate-normalization";
|
|
7229
|
-
"invalid-url": "invalid-url";
|
|
7230
7296
|
"memory-pressure": "memory-pressure";
|
|
7231
7297
|
"off-origin": "off-origin";
|
|
7232
|
-
"origin-backpressure": "origin-backpressure";
|
|
7233
7298
|
"queue-safety-limit": "queue-safety-limit";
|
|
7234
7299
|
"query-variant-limit": "query-variant-limit";
|
|
7235
|
-
"robots-disallowed": "robots-disallowed";
|
|
7236
7300
|
"robots-uncertain": "robots-uncertain";
|
|
7237
7301
|
"legacy-unclassified": "legacy-unclassified";
|
|
7238
7302
|
}>;
|
|
@@ -7271,6 +7335,23 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7271
7335
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
7272
7336
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
7273
7337
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
7338
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
7339
|
+
limitBytes: z.ZodNumber;
|
|
7340
|
+
bytesAfterLimit: z.ZodNumber;
|
|
7341
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
7342
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
7343
|
+
h1: "h1";
|
|
7344
|
+
main: "main";
|
|
7345
|
+
}>>;
|
|
7346
|
+
mainContentStart: z.ZodEnum<{
|
|
7347
|
+
"before-limit": "before-limit";
|
|
7348
|
+
"near-limit": "near-limit";
|
|
7349
|
+
"after-limit": "after-limit";
|
|
7350
|
+
"not-found": "not-found";
|
|
7351
|
+
}>;
|
|
7352
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
7353
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
7354
|
+
}, z.core.$strip>>;
|
|
7274
7355
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
7275
7356
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
7276
7357
|
cache: "cache";
|
|
@@ -7607,10 +7688,10 @@ export declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
7607
7688
|
raw: z.ZodString;
|
|
7608
7689
|
resolved: z.ZodOptional<z.ZodString>;
|
|
7609
7690
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
7610
|
-
"invalid-url": "invalid-url";
|
|
7611
7691
|
"outside-head": "outside-head";
|
|
7612
7692
|
"alternate-qualifier": "alternate-qualifier";
|
|
7613
7693
|
fragment: "fragment";
|
|
7694
|
+
"invalid-url": "invalid-url";
|
|
7614
7695
|
"non-http-url": "non-http-url";
|
|
7615
7696
|
}>>;
|
|
7616
7697
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -8571,17 +8652,17 @@ export declare const crawlerSchemas: {
|
|
|
8571
8652
|
skippedUrls: z.ZodNumber;
|
|
8572
8653
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
8573
8654
|
reason: z.ZodEnum<{
|
|
8655
|
+
"invalid-url": "invalid-url";
|
|
8656
|
+
"robots-disallowed": "robots-disallowed";
|
|
8657
|
+
"origin-backpressure": "origin-backpressure";
|
|
8574
8658
|
"asset-url": "asset-url";
|
|
8575
8659
|
"cdn-utility-url": "cdn-utility-url";
|
|
8576
8660
|
"configured-exclusion": "configured-exclusion";
|
|
8577
8661
|
"duplicate-normalization": "duplicate-normalization";
|
|
8578
|
-
"invalid-url": "invalid-url";
|
|
8579
8662
|
"memory-pressure": "memory-pressure";
|
|
8580
8663
|
"off-origin": "off-origin";
|
|
8581
|
-
"origin-backpressure": "origin-backpressure";
|
|
8582
8664
|
"queue-safety-limit": "queue-safety-limit";
|
|
8583
8665
|
"query-variant-limit": "query-variant-limit";
|
|
8584
|
-
"robots-disallowed": "robots-disallowed";
|
|
8585
8666
|
"robots-uncertain": "robots-uncertain";
|
|
8586
8667
|
"legacy-unclassified": "legacy-unclassified";
|
|
8587
8668
|
}>;
|
|
@@ -8620,6 +8701,23 @@ export declare const crawlerSchemas: {
|
|
|
8620
8701
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
8621
8702
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
8622
8703
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
8704
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
8705
|
+
limitBytes: z.ZodNumber;
|
|
8706
|
+
bytesAfterLimit: z.ZodNumber;
|
|
8707
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
8708
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
8709
|
+
h1: "h1";
|
|
8710
|
+
main: "main";
|
|
8711
|
+
}>>;
|
|
8712
|
+
mainContentStart: z.ZodEnum<{
|
|
8713
|
+
"before-limit": "before-limit";
|
|
8714
|
+
"near-limit": "near-limit";
|
|
8715
|
+
"after-limit": "after-limit";
|
|
8716
|
+
"not-found": "not-found";
|
|
8717
|
+
}>;
|
|
8718
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
8719
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
8720
|
+
}, z.core.$strip>>;
|
|
8623
8721
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
8624
8722
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
8625
8723
|
cache: "cache";
|
|
@@ -8956,10 +9054,10 @@ export declare const crawlerSchemas: {
|
|
|
8956
9054
|
raw: z.ZodString;
|
|
8957
9055
|
resolved: z.ZodOptional<z.ZodString>;
|
|
8958
9056
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
8959
|
-
"invalid-url": "invalid-url";
|
|
8960
9057
|
"outside-head": "outside-head";
|
|
8961
9058
|
"alternate-qualifier": "alternate-qualifier";
|
|
8962
9059
|
fragment: "fragment";
|
|
9060
|
+
"invalid-url": "invalid-url";
|
|
8963
9061
|
"non-http-url": "non-http-url";
|
|
8964
9062
|
}>>;
|
|
8965
9063
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -9918,17 +10016,17 @@ export declare const crawlerSchemas: {
|
|
|
9918
10016
|
skippedUrls: z.ZodNumber;
|
|
9919
10017
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
9920
10018
|
reason: z.ZodEnum<{
|
|
10019
|
+
"invalid-url": "invalid-url";
|
|
10020
|
+
"robots-disallowed": "robots-disallowed";
|
|
10021
|
+
"origin-backpressure": "origin-backpressure";
|
|
9921
10022
|
"asset-url": "asset-url";
|
|
9922
10023
|
"cdn-utility-url": "cdn-utility-url";
|
|
9923
10024
|
"configured-exclusion": "configured-exclusion";
|
|
9924
10025
|
"duplicate-normalization": "duplicate-normalization";
|
|
9925
|
-
"invalid-url": "invalid-url";
|
|
9926
10026
|
"memory-pressure": "memory-pressure";
|
|
9927
10027
|
"off-origin": "off-origin";
|
|
9928
|
-
"origin-backpressure": "origin-backpressure";
|
|
9929
10028
|
"queue-safety-limit": "queue-safety-limit";
|
|
9930
10029
|
"query-variant-limit": "query-variant-limit";
|
|
9931
|
-
"robots-disallowed": "robots-disallowed";
|
|
9932
10030
|
"robots-uncertain": "robots-uncertain";
|
|
9933
10031
|
"legacy-unclassified": "legacy-unclassified";
|
|
9934
10032
|
}>;
|
|
@@ -9967,6 +10065,23 @@ export declare const crawlerSchemas: {
|
|
|
9967
10065
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
9968
10066
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
9969
10067
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
10068
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
10069
|
+
limitBytes: z.ZodNumber;
|
|
10070
|
+
bytesAfterLimit: z.ZodNumber;
|
|
10071
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
10072
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
10073
|
+
h1: "h1";
|
|
10074
|
+
main: "main";
|
|
10075
|
+
}>>;
|
|
10076
|
+
mainContentStart: z.ZodEnum<{
|
|
10077
|
+
"before-limit": "before-limit";
|
|
10078
|
+
"near-limit": "near-limit";
|
|
10079
|
+
"after-limit": "after-limit";
|
|
10080
|
+
"not-found": "not-found";
|
|
10081
|
+
}>;
|
|
10082
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
10083
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
10084
|
+
}, z.core.$strip>>;
|
|
9970
10085
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
9971
10086
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
9972
10087
|
cache: "cache";
|
|
@@ -10303,10 +10418,10 @@ export declare const crawlerSchemas: {
|
|
|
10303
10418
|
raw: z.ZodString;
|
|
10304
10419
|
resolved: z.ZodOptional<z.ZodString>;
|
|
10305
10420
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
10306
|
-
"invalid-url": "invalid-url";
|
|
10307
10421
|
"outside-head": "outside-head";
|
|
10308
10422
|
"alternate-qualifier": "alternate-qualifier";
|
|
10309
10423
|
fragment: "fragment";
|
|
10424
|
+
"invalid-url": "invalid-url";
|
|
10310
10425
|
"non-http-url": "non-http-url";
|
|
10311
10426
|
}>>;
|
|
10312
10427
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -11265,17 +11380,17 @@ export declare const crawlerSchemas: {
|
|
|
11265
11380
|
skippedUrls: z.ZodNumber;
|
|
11266
11381
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
11267
11382
|
reason: z.ZodEnum<{
|
|
11383
|
+
"invalid-url": "invalid-url";
|
|
11384
|
+
"robots-disallowed": "robots-disallowed";
|
|
11385
|
+
"origin-backpressure": "origin-backpressure";
|
|
11268
11386
|
"asset-url": "asset-url";
|
|
11269
11387
|
"cdn-utility-url": "cdn-utility-url";
|
|
11270
11388
|
"configured-exclusion": "configured-exclusion";
|
|
11271
11389
|
"duplicate-normalization": "duplicate-normalization";
|
|
11272
|
-
"invalid-url": "invalid-url";
|
|
11273
11390
|
"memory-pressure": "memory-pressure";
|
|
11274
11391
|
"off-origin": "off-origin";
|
|
11275
|
-
"origin-backpressure": "origin-backpressure";
|
|
11276
11392
|
"queue-safety-limit": "queue-safety-limit";
|
|
11277
11393
|
"query-variant-limit": "query-variant-limit";
|
|
11278
|
-
"robots-disallowed": "robots-disallowed";
|
|
11279
11394
|
"robots-uncertain": "robots-uncertain";
|
|
11280
11395
|
"legacy-unclassified": "legacy-unclassified";
|
|
11281
11396
|
}>;
|
|
@@ -11314,6 +11429,23 @@ export declare const crawlerSchemas: {
|
|
|
11314
11429
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
11315
11430
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
11316
11431
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
11432
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
11433
|
+
limitBytes: z.ZodNumber;
|
|
11434
|
+
bytesAfterLimit: z.ZodNumber;
|
|
11435
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
11436
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
11437
|
+
h1: "h1";
|
|
11438
|
+
main: "main";
|
|
11439
|
+
}>>;
|
|
11440
|
+
mainContentStart: z.ZodEnum<{
|
|
11441
|
+
"before-limit": "before-limit";
|
|
11442
|
+
"near-limit": "near-limit";
|
|
11443
|
+
"after-limit": "after-limit";
|
|
11444
|
+
"not-found": "not-found";
|
|
11445
|
+
}>;
|
|
11446
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
11447
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
11448
|
+
}, z.core.$strip>>;
|
|
11317
11449
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
11318
11450
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
11319
11451
|
cache: "cache";
|
|
@@ -11650,10 +11782,10 @@ export declare const crawlerSchemas: {
|
|
|
11650
11782
|
raw: z.ZodString;
|
|
11651
11783
|
resolved: z.ZodOptional<z.ZodString>;
|
|
11652
11784
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
11653
|
-
"invalid-url": "invalid-url";
|
|
11654
11785
|
"outside-head": "outside-head";
|
|
11655
11786
|
"alternate-qualifier": "alternate-qualifier";
|
|
11656
11787
|
fragment: "fragment";
|
|
11788
|
+
"invalid-url": "invalid-url";
|
|
11657
11789
|
"non-http-url": "non-http-url";
|
|
11658
11790
|
}>>;
|
|
11659
11791
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -12787,6 +12919,23 @@ export declare const crawlerSchemas: {
|
|
|
12787
12919
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
12788
12920
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
12789
12921
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
12922
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
12923
|
+
limitBytes: z.ZodNumber;
|
|
12924
|
+
bytesAfterLimit: z.ZodNumber;
|
|
12925
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
12926
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
12927
|
+
h1: "h1";
|
|
12928
|
+
main: "main";
|
|
12929
|
+
}>>;
|
|
12930
|
+
mainContentStart: z.ZodEnum<{
|
|
12931
|
+
"before-limit": "before-limit";
|
|
12932
|
+
"near-limit": "near-limit";
|
|
12933
|
+
"after-limit": "after-limit";
|
|
12934
|
+
"not-found": "not-found";
|
|
12935
|
+
}>;
|
|
12936
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
12937
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
12938
|
+
}, z.core.$strip>>;
|
|
12790
12939
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
12791
12940
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
12792
12941
|
cache: "cache";
|
|
@@ -13123,10 +13272,10 @@ export declare const crawlerSchemas: {
|
|
|
13123
13272
|
raw: z.ZodString;
|
|
13124
13273
|
resolved: z.ZodOptional<z.ZodString>;
|
|
13125
13274
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
13126
|
-
"invalid-url": "invalid-url";
|
|
13127
13275
|
"outside-head": "outside-head";
|
|
13128
13276
|
"alternate-qualifier": "alternate-qualifier";
|
|
13129
13277
|
fragment: "fragment";
|
|
13278
|
+
"invalid-url": "invalid-url";
|
|
13130
13279
|
"non-http-url": "non-http-url";
|
|
13131
13280
|
}>>;
|
|
13132
13281
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -13547,17 +13696,17 @@ export declare const crawlerJsonSchemas: {
|
|
|
13547
13696
|
skippedUrls: z.ZodNumber;
|
|
13548
13697
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
13549
13698
|
reason: z.ZodEnum<{
|
|
13699
|
+
"invalid-url": "invalid-url";
|
|
13700
|
+
"robots-disallowed": "robots-disallowed";
|
|
13701
|
+
"origin-backpressure": "origin-backpressure";
|
|
13550
13702
|
"asset-url": "asset-url";
|
|
13551
13703
|
"cdn-utility-url": "cdn-utility-url";
|
|
13552
13704
|
"configured-exclusion": "configured-exclusion";
|
|
13553
13705
|
"duplicate-normalization": "duplicate-normalization";
|
|
13554
|
-
"invalid-url": "invalid-url";
|
|
13555
13706
|
"memory-pressure": "memory-pressure";
|
|
13556
13707
|
"off-origin": "off-origin";
|
|
13557
|
-
"origin-backpressure": "origin-backpressure";
|
|
13558
13708
|
"queue-safety-limit": "queue-safety-limit";
|
|
13559
13709
|
"query-variant-limit": "query-variant-limit";
|
|
13560
|
-
"robots-disallowed": "robots-disallowed";
|
|
13561
13710
|
"robots-uncertain": "robots-uncertain";
|
|
13562
13711
|
"legacy-unclassified": "legacy-unclassified";
|
|
13563
13712
|
}>;
|
|
@@ -13596,6 +13745,23 @@ export declare const crawlerJsonSchemas: {
|
|
|
13596
13745
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
13597
13746
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
13598
13747
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
13748
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
13749
|
+
limitBytes: z.ZodNumber;
|
|
13750
|
+
bytesAfterLimit: z.ZodNumber;
|
|
13751
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
13752
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
13753
|
+
h1: "h1";
|
|
13754
|
+
main: "main";
|
|
13755
|
+
}>>;
|
|
13756
|
+
mainContentStart: z.ZodEnum<{
|
|
13757
|
+
"before-limit": "before-limit";
|
|
13758
|
+
"near-limit": "near-limit";
|
|
13759
|
+
"after-limit": "after-limit";
|
|
13760
|
+
"not-found": "not-found";
|
|
13761
|
+
}>;
|
|
13762
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
13763
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
13764
|
+
}, z.core.$strip>>;
|
|
13599
13765
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
13600
13766
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
13601
13767
|
cache: "cache";
|
|
@@ -13932,10 +14098,10 @@ export declare const crawlerJsonSchemas: {
|
|
|
13932
14098
|
raw: z.ZodString;
|
|
13933
14099
|
resolved: z.ZodOptional<z.ZodString>;
|
|
13934
14100
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
13935
|
-
"invalid-url": "invalid-url";
|
|
13936
14101
|
"outside-head": "outside-head";
|
|
13937
14102
|
"alternate-qualifier": "alternate-qualifier";
|
|
13938
14103
|
fragment: "fragment";
|
|
14104
|
+
"invalid-url": "invalid-url";
|
|
13939
14105
|
"non-http-url": "non-http-url";
|
|
13940
14106
|
}>>;
|
|
13941
14107
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -14894,17 +15060,17 @@ export declare const crawlerJsonSchemas: {
|
|
|
14894
15060
|
skippedUrls: z.ZodNumber;
|
|
14895
15061
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
14896
15062
|
reason: z.ZodEnum<{
|
|
15063
|
+
"invalid-url": "invalid-url";
|
|
15064
|
+
"robots-disallowed": "robots-disallowed";
|
|
15065
|
+
"origin-backpressure": "origin-backpressure";
|
|
14897
15066
|
"asset-url": "asset-url";
|
|
14898
15067
|
"cdn-utility-url": "cdn-utility-url";
|
|
14899
15068
|
"configured-exclusion": "configured-exclusion";
|
|
14900
15069
|
"duplicate-normalization": "duplicate-normalization";
|
|
14901
|
-
"invalid-url": "invalid-url";
|
|
14902
15070
|
"memory-pressure": "memory-pressure";
|
|
14903
15071
|
"off-origin": "off-origin";
|
|
14904
|
-
"origin-backpressure": "origin-backpressure";
|
|
14905
15072
|
"queue-safety-limit": "queue-safety-limit";
|
|
14906
15073
|
"query-variant-limit": "query-variant-limit";
|
|
14907
|
-
"robots-disallowed": "robots-disallowed";
|
|
14908
15074
|
"robots-uncertain": "robots-uncertain";
|
|
14909
15075
|
"legacy-unclassified": "legacy-unclassified";
|
|
14910
15076
|
}>;
|
|
@@ -14943,6 +15109,23 @@ export declare const crawlerJsonSchemas: {
|
|
|
14943
15109
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
14944
15110
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
14945
15111
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
15112
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
15113
|
+
limitBytes: z.ZodNumber;
|
|
15114
|
+
bytesAfterLimit: z.ZodNumber;
|
|
15115
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
15116
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
15117
|
+
h1: "h1";
|
|
15118
|
+
main: "main";
|
|
15119
|
+
}>>;
|
|
15120
|
+
mainContentStart: z.ZodEnum<{
|
|
15121
|
+
"before-limit": "before-limit";
|
|
15122
|
+
"near-limit": "near-limit";
|
|
15123
|
+
"after-limit": "after-limit";
|
|
15124
|
+
"not-found": "not-found";
|
|
15125
|
+
}>;
|
|
15126
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
15127
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
15128
|
+
}, z.core.$strip>>;
|
|
14946
15129
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
14947
15130
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
14948
15131
|
cache: "cache";
|
|
@@ -15279,10 +15462,10 @@ export declare const crawlerJsonSchemas: {
|
|
|
15279
15462
|
raw: z.ZodString;
|
|
15280
15463
|
resolved: z.ZodOptional<z.ZodString>;
|
|
15281
15464
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
15282
|
-
"invalid-url": "invalid-url";
|
|
15283
15465
|
"outside-head": "outside-head";
|
|
15284
15466
|
"alternate-qualifier": "alternate-qualifier";
|
|
15285
15467
|
fragment: "fragment";
|
|
15468
|
+
"invalid-url": "invalid-url";
|
|
15286
15469
|
"non-http-url": "non-http-url";
|
|
15287
15470
|
}>>;
|
|
15288
15471
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -16241,17 +16424,17 @@ export declare const crawlerJsonSchemas: {
|
|
|
16241
16424
|
skippedUrls: z.ZodNumber;
|
|
16242
16425
|
skipReasons: z.ZodArray<z.ZodObject<{
|
|
16243
16426
|
reason: z.ZodEnum<{
|
|
16427
|
+
"invalid-url": "invalid-url";
|
|
16428
|
+
"robots-disallowed": "robots-disallowed";
|
|
16429
|
+
"origin-backpressure": "origin-backpressure";
|
|
16244
16430
|
"asset-url": "asset-url";
|
|
16245
16431
|
"cdn-utility-url": "cdn-utility-url";
|
|
16246
16432
|
"configured-exclusion": "configured-exclusion";
|
|
16247
16433
|
"duplicate-normalization": "duplicate-normalization";
|
|
16248
|
-
"invalid-url": "invalid-url";
|
|
16249
16434
|
"memory-pressure": "memory-pressure";
|
|
16250
16435
|
"off-origin": "off-origin";
|
|
16251
|
-
"origin-backpressure": "origin-backpressure";
|
|
16252
16436
|
"queue-safety-limit": "queue-safety-limit";
|
|
16253
16437
|
"query-variant-limit": "query-variant-limit";
|
|
16254
|
-
"robots-disallowed": "robots-disallowed";
|
|
16255
16438
|
"robots-uncertain": "robots-uncertain";
|
|
16256
16439
|
"legacy-unclassified": "legacy-unclassified";
|
|
16257
16440
|
}>;
|
|
@@ -16290,6 +16473,23 @@ export declare const crawlerJsonSchemas: {
|
|
|
16290
16473
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
16291
16474
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
16292
16475
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
16476
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
16477
|
+
limitBytes: z.ZodNumber;
|
|
16478
|
+
bytesAfterLimit: z.ZodNumber;
|
|
16479
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
16480
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
16481
|
+
h1: "h1";
|
|
16482
|
+
main: "main";
|
|
16483
|
+
}>>;
|
|
16484
|
+
mainContentStart: z.ZodEnum<{
|
|
16485
|
+
"before-limit": "before-limit";
|
|
16486
|
+
"near-limit": "near-limit";
|
|
16487
|
+
"after-limit": "after-limit";
|
|
16488
|
+
"not-found": "not-found";
|
|
16489
|
+
}>;
|
|
16490
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
16491
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
16492
|
+
}, z.core.$strip>>;
|
|
16293
16493
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
16294
16494
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
16295
16495
|
cache: "cache";
|
|
@@ -16626,10 +16826,10 @@ export declare const crawlerJsonSchemas: {
|
|
|
16626
16826
|
raw: z.ZodString;
|
|
16627
16827
|
resolved: z.ZodOptional<z.ZodString>;
|
|
16628
16828
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
16629
|
-
"invalid-url": "invalid-url";
|
|
16630
16829
|
"outside-head": "outside-head";
|
|
16631
16830
|
"alternate-qualifier": "alternate-qualifier";
|
|
16632
16831
|
fragment: "fragment";
|
|
16832
|
+
"invalid-url": "invalid-url";
|
|
16633
16833
|
"non-http-url": "non-http-url";
|
|
16634
16834
|
}>>;
|
|
16635
16835
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -17763,6 +17963,23 @@ export declare const crawlerJsonSchemas: {
|
|
|
17763
17963
|
responseHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
17764
17964
|
responseTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
17765
17965
|
sizeBytes: z.ZodOptional<z.ZodNumber>;
|
|
17966
|
+
googlebotCut: z.ZodOptional<z.ZodObject<{
|
|
17967
|
+
limitBytes: z.ZodNumber;
|
|
17968
|
+
bytesAfterLimit: z.ZodNumber;
|
|
17969
|
+
mainContentStartBytes: z.ZodOptional<z.ZodNumber>;
|
|
17970
|
+
mainContentMarker: z.ZodOptional<z.ZodEnum<{
|
|
17971
|
+
h1: "h1";
|
|
17972
|
+
main: "main";
|
|
17973
|
+
}>>;
|
|
17974
|
+
mainContentStart: z.ZodEnum<{
|
|
17975
|
+
"before-limit": "before-limit";
|
|
17976
|
+
"near-limit": "near-limit";
|
|
17977
|
+
"after-limit": "after-limit";
|
|
17978
|
+
"not-found": "not-found";
|
|
17979
|
+
}>;
|
|
17980
|
+
visibleWordsBeforeLimit: z.ZodNumber;
|
|
17981
|
+
visibleWordsAfterLimit: z.ZodNumber;
|
|
17982
|
+
}, z.core.$strip>>;
|
|
17766
17983
|
usedJs: z.ZodOptional<z.ZodBoolean>;
|
|
17767
17984
|
fetchSource: z.ZodOptional<z.ZodEnum<{
|
|
17768
17985
|
cache: "cache";
|
|
@@ -18099,10 +18316,10 @@ export declare const crawlerJsonSchemas: {
|
|
|
18099
18316
|
raw: z.ZodString;
|
|
18100
18317
|
resolved: z.ZodOptional<z.ZodString>;
|
|
18101
18318
|
ignoredReason: z.ZodOptional<z.ZodEnum<{
|
|
18102
|
-
"invalid-url": "invalid-url";
|
|
18103
18319
|
"outside-head": "outside-head";
|
|
18104
18320
|
"alternate-qualifier": "alternate-qualifier";
|
|
18105
18321
|
fragment: "fragment";
|
|
18322
|
+
"invalid-url": "invalid-url";
|
|
18106
18323
|
"non-http-url": "non-http-url";
|
|
18107
18324
|
}>>;
|
|
18108
18325
|
streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
|
|
@@ -22116,6 +22333,7 @@ type WeekData = {
|
|
|
22116
22333
|
end: string;
|
|
22117
22334
|
account: string;
|
|
22118
22335
|
sites: WeekSite[];
|
|
22336
|
+
first?: boolean;
|
|
22119
22337
|
};
|
|
22120
22338
|
type WeekGoogleUpdate = {
|
|
22121
22339
|
name: string;
|
|
@@ -22204,10 +22422,63 @@ type LintSource = {
|
|
|
22204
22422
|
path: string;
|
|
22205
22423
|
skipped: string;
|
|
22206
22424
|
};
|
|
22425
|
+
type AiOverview = {
|
|
22426
|
+
keyword: string;
|
|
22427
|
+
references: {
|
|
22428
|
+
domain: string | null;
|
|
22429
|
+
url: string | null;
|
|
22430
|
+
title: string | null;
|
|
22431
|
+
}[];
|
|
22432
|
+
};
|
|
22433
|
+
declare const RESEARCH_DEVICES: readonly ["desktop", "mobile"];
|
|
22434
|
+
type ResearchDevice = (typeof RESEARCH_DEVICES)[number];
|
|
22435
|
+
type Row$1 = Record<string, string | number | boolean | null>;
|
|
22436
|
+
type ResearchRows = {
|
|
22437
|
+
rows: Row$1[];
|
|
22438
|
+
costUsd: number | null;
|
|
22439
|
+
partial: boolean;
|
|
22440
|
+
missed: string[];
|
|
22441
|
+
noData: string[];
|
|
22442
|
+
floor?: {
|
|
22443
|
+
field: string;
|
|
22444
|
+
value: number;
|
|
22445
|
+
};
|
|
22446
|
+
leftOut?: string[];
|
|
22447
|
+
available?: number;
|
|
22448
|
+
siteTotal?: SiteTotal;
|
|
22449
|
+
rankFailed?: boolean;
|
|
22450
|
+
compared?: {
|
|
22451
|
+
results: number;
|
|
22452
|
+
withPage: number;
|
|
22453
|
+
withSite: number;
|
|
22454
|
+
};
|
|
22455
|
+
aiOverviews?: AiOverview[];
|
|
22456
|
+
warnings?: string[];
|
|
22457
|
+
};
|
|
22458
|
+
type SiteTotal = {
|
|
22459
|
+
metric: 'etv' | 'org_traffic';
|
|
22460
|
+
traffic: number;
|
|
22461
|
+
keywords: number | null;
|
|
22462
|
+
};
|
|
22207
22463
|
type ResearchStore = {
|
|
22208
22464
|
get(key: string): Promise<string | null>;
|
|
22209
22465
|
put(key: string, value: string, ttlSeconds: number): Promise<void>;
|
|
22210
22466
|
};
|
|
22467
|
+
type Row = ResearchRows['rows'][number];
|
|
22468
|
+
type InstalledSerp = (input: {
|
|
22469
|
+
provider: string;
|
|
22470
|
+
keyword: string;
|
|
22471
|
+
country: string;
|
|
22472
|
+
language: string;
|
|
22473
|
+
device: ResearchDevice;
|
|
22474
|
+
depth: number;
|
|
22475
|
+
}) => Promise<{
|
|
22476
|
+
rows: Row[];
|
|
22477
|
+
costMicros: number | null;
|
|
22478
|
+
partial: boolean;
|
|
22479
|
+
warnings: string[];
|
|
22480
|
+
depth: number;
|
|
22481
|
+
}>;
|
|
22211
22482
|
export type TokenStorageMode = 'keychain' | 'file';
|
|
22212
22483
|
export type TokenStorageStatus = {
|
|
22213
22484
|
configured: TokenStorageMode;
|
|
@@ -22710,6 +22981,7 @@ export type ProviderInstallerOptions = {
|
|
|
22710
22981
|
export declare function inspectProviderPackage(value: string, options?: ProviderInstallerOptions): Promise<ProviderPackageRelease>;
|
|
22711
22982
|
export declare function installProviderPackage(input: ProviderPackageRelease, options?: ProviderInstallerOptions): Promise<InstalledProviderPackage>;
|
|
22712
22983
|
export declare function uninstallProviderExtension(id: string, options?: ProviderInstallerOptions): Promise<InstalledProviderPackage | undefined>;
|
|
22984
|
+
export declare const installedProviderSerp: InstalledSerp;
|
|
22713
22985
|
export declare function readInstalledProviderPackages(): InstalledProviderPackages;
|
|
22714
22986
|
export declare function writeInstalledProviderPackages(value: InstalledProviderPackages): InstalledProviderPackages;
|
|
22715
22987
|
export declare function saveInstalledProviderPackage(value: InstalledProviderPackage): InstalledProviderPackages;
|