seo 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -437,7 +437,7 @@ interface CreditUsage {
437
437
  type RuleDefinition = {
438
438
  id: string;
439
439
  title: string;
440
- category: 'canonical' | 'content' | 'response' | 'headings' | 'images' | 'indexability' | 'international' | 'links' | 'metadata' | 'mobile' | 'performance' | 'security' | 'social' | 'structured-data' | 'geo';
440
+ category: 'canonical' | 'content' | 'response' | 'headings' | 'images' | 'indexability' | 'international' | 'links' | 'metadata' | 'mobile' | 'performance' | 'security' | 'social' | 'structured-data' | 'agents';
441
441
  defaultSeverity: 'low' | 'medium' | 'high';
442
442
  whyItMatters: string;
443
443
  howToFix: string;
@@ -1133,6 +1133,105 @@ declare const RULE_DEFINITIONS: readonly [{
1133
1133
  readonly howToFix: "Add twitter:card and matching metadata only when you need a specific X preview. Keep Open Graph metadata accurate either way.";
1134
1134
  readonly impactIfIgnored: "X may use fallback metadata or a simple link preview. Organic rankings are not affected.";
1135
1135
  readonly howToVerify: "Re-run the crawl and confirm twitterCard is present if a specific X preview is required.";
1136
+ }, {
1137
+ readonly id: "ai_search_bot_blocked";
1138
+ readonly title: "robots.txt blocks AI search bots";
1139
+ readonly category: "agents";
1140
+ readonly defaultSeverity: "medium";
1141
+ readonly whyItMatters: "AI search bots fetch pages to answer a person's question and cite the source. A blocked bot cannot read the site, so its answers cannot quote or link to it. Training bots are a separate choice and are listed apart.";
1142
+ readonly howToFix: "Allow the AI search and user bots in robots.txt if the site should appear in AI answers. Block training bots separately if the person wants that.";
1143
+ readonly impactIfIgnored: "ChatGPT, Claude, Perplexity and similar tools can leave the site out of answers and citations.";
1144
+ readonly howToVerify: "Re-run the crawl and confirm the search bots in ai.robotsTxt.botAccess show allowed: true.";
1145
+ readonly review: {
1146
+ readonly question: "Is the site meant to be left out of AI search answers?";
1147
+ readonly changeOnlyIf: "Change robots.txt when the person wants the site to appear in AI answers.";
1148
+ readonly ifNotNeeded: "Record that blocking AI search bots is a deliberate choice for this site.";
1149
+ };
1150
+ readonly agentHints: {
1151
+ readonly evidenceFields: ["report.ai.robotsTxt.botAccess"];
1152
+ };
1153
+ }, {
1154
+ readonly id: "llms_txt_missing";
1155
+ readonly title: "No llms.txt";
1156
+ readonly category: "agents";
1157
+ readonly defaultSeverity: "low";
1158
+ readonly whyItMatters: "llms.txt gives agents a short summary of the site and links to its main pages, ideally their Markdown copies. Search engines do not use it for ranking.";
1159
+ readonly howToFix: "Publish /llms.txt as plain text with a one-line summary and sections of links to the main pages.";
1160
+ readonly impactIfIgnored: "Agents must find the main pages by crawling, which costs them more requests and tokens.";
1161
+ readonly howToVerify: "Request /llms.txt and confirm a 200 plain text response.";
1162
+ readonly review: {
1163
+ readonly question: "Should agents get a reading list for this site?";
1164
+ readonly changeOnlyIf: "Add it when agents are expected to read or use the site.";
1165
+ readonly ifNotNeeded: "Record that the site has no llms.txt by choice.";
1166
+ };
1167
+ readonly agentHints: {
1168
+ readonly evidenceFields: ["report.ai.llmsTxt"];
1169
+ };
1170
+ }, {
1171
+ readonly id: "llms_txt_broken_link";
1172
+ readonly title: "llms.txt links to a page that does not load";
1173
+ readonly category: "agents";
1174
+ readonly defaultSeverity: "low";
1175
+ readonly whyItMatters: "An agent that follows a link in llms.txt and gets an error loses its reading list entry.";
1176
+ readonly howToFix: "Update or remove each broken link in llms.txt, or restore the page it points to.";
1177
+ readonly impactIfIgnored: "Agents waste requests and can miss the page.";
1178
+ readonly howToVerify: "Re-run the crawl and confirm ai.llmsTxt.links.broken is empty.";
1179
+ readonly agentHints: {
1180
+ readonly evidenceFields: ["report.ai.llmsTxt.links"];
1181
+ };
1182
+ }, {
1183
+ readonly id: "markdown_missing";
1184
+ readonly title: "No Markdown copy of the pages";
1185
+ readonly category: "agents";
1186
+ readonly defaultSeverity: "low";
1187
+ readonly whyItMatters: "A Markdown copy gives agents the page content without layout, scripts or navigation, at a fraction of the tokens. Neither a request with Accept: text/markdown nor a rel=\"alternate\" link returned one. Search engines do not use it for ranking.";
1188
+ readonly howToFix: "Serve a Markdown copy of each page, linked from the page with <link rel=\"alternate\" type=\"text/markdown\">, and return it for Accept: text/markdown with Vary: Accept.";
1189
+ readonly impactIfIgnored: "Agents read the full HTML, which costs more tokens and can include layout text.";
1190
+ readonly howToVerify: "Request a page with Accept: text/markdown and confirm a text/markdown response.";
1191
+ readonly review: {
1192
+ readonly question: "Should agents get a Markdown copy of the pages?";
1193
+ readonly changeOnlyIf: "Add it when agents are expected to read the site.";
1194
+ readonly ifNotNeeded: "Record that the site serves HTML only by choice.";
1195
+ };
1196
+ readonly agentHints: {
1197
+ readonly evidenceFields: ["report.ai.markdownNegotiation", "report.ai.markdownCopies"];
1198
+ };
1199
+ }, {
1200
+ readonly id: "markdown_alternate_missing";
1201
+ readonly title: "Page has no link to its Markdown copy";
1202
+ readonly category: "agents";
1203
+ readonly defaultSeverity: "low";
1204
+ readonly whyItMatters: "Other pages on the site link to a Markdown copy, but this one does not, so agents cannot find a copy for it.";
1205
+ readonly howToFix: "Add <link rel=\"alternate\" type=\"text/markdown\" href=\"...\"> to the page head, pointing at its Markdown copy.";
1206
+ readonly impactIfIgnored: "Agents read the full HTML for this page.";
1207
+ readonly howToVerify: "Re-run the crawl and confirm the page lists a Markdown alternate.";
1208
+ readonly agentHints: {
1209
+ readonly evidenceFields: ["page.markdownAlternates", "report.ai.markdownCopies"];
1210
+ };
1211
+ }, {
1212
+ readonly id: "markdown_alternate_on_private_page";
1213
+ readonly title: "Signed-in page links to a Markdown copy";
1214
+ readonly category: "agents";
1215
+ readonly defaultSeverity: "medium";
1216
+ readonly whyItMatters: "Signed-in pages should have no Markdown copy. This page needs a sign-in, yet it links to one. A copy can show agents content that a signed-out visitor cannot see, or fail and waste their requests.";
1217
+ readonly howToFix: "Remove the rel=\"alternate\" Markdown link, the Link header and any Markdown copy for signed-in routes. Public pages keep theirs, including noindex pages such as privacy and terms.";
1218
+ readonly impactIfIgnored: "Agents can request a copy that fails, or read content that was meant to stay behind a sign-in.";
1219
+ readonly howToVerify: "Re-run the crawl and confirm the page no longer lists a Markdown alternate.";
1220
+ readonly agentHints: {
1221
+ readonly evidenceFields: ["page.markdownAlternates", "report.ai.markdownCopies.broken"];
1222
+ };
1223
+ }, {
1224
+ readonly id: "markdown_copy_broken";
1225
+ readonly title: "Markdown copy does not load";
1226
+ readonly category: "agents";
1227
+ readonly defaultSeverity: "medium";
1228
+ readonly whyItMatters: "The page links to a Markdown copy that returns an error or HTML, so an agent that follows the link gets nothing useful. If the page needs a sign-in, remove the link instead.";
1229
+ readonly howToFix: "Make the linked URL return the page as text/markdown, or fix the link.";
1230
+ readonly impactIfIgnored: "Agents get an error or the HTML page instead of the copy.";
1231
+ readonly howToVerify: "Request the Markdown URL and confirm a 200 text/markdown response.";
1232
+ readonly agentHints: {
1233
+ readonly evidenceFields: ["report.ai.markdownCopies.broken"];
1234
+ };
1136
1235
  }];
1137
1236
  type RuleId = (typeof RULE_DEFINITIONS)[number]['id'];
1138
1237
  type RuleInfo = RuleDefinition & {
@@ -1572,6 +1671,25 @@ declare function buildAgentFindings(report: JsonRecord, options?: AgentReportOpt
1572
1671
  declare function withAgentReportContract(report: JsonRecord, options?: AgentReportOptions): JsonRecord;
1573
1672
  declare function agentActionsView(report: JsonRecord, options?: AgentReportOptions): JsonRecord;
1574
1673
  //#endregion
1674
+ //#region packages/core/src/errors.d.ts
1675
+ type SeoErrorCode = 'ACCESS_DENIED' | 'AUTH_CONFIG_REQUIRED' | 'AUTH_EXPIRED' | 'AUTH_REQUIRED' | 'INSUFFICIENT_DATA' | 'INTERNAL_ERROR' | 'INVALID_INPUT' | 'OPTIONAL_PROVIDER_UNAVAILABLE' | 'PROPERTY_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'RATE_LIMITED';
1676
+ declare class SeoError extends Error {
1677
+ readonly code: SeoErrorCode;
1678
+ readonly exitCode: number;
1679
+ readonly retryable: boolean;
1680
+ constructor(code: SeoErrorCode, message: string);
1681
+ }
1682
+ declare function toSeoError(error: unknown): SeoError;
1683
+ declare function isSkippableReportError(error: unknown): boolean;
1684
+ declare function seoErrorEnvelope(error: unknown): {
1685
+ ok: false;
1686
+ error: {
1687
+ code: SeoErrorCode;
1688
+ message: string;
1689
+ retryable: boolean;
1690
+ };
1691
+ };
1692
+ //#endregion
1575
1693
  //#region packages/core/src/ga4/account-summaries.d.ts
1576
1694
  interface Ga4PropertySummary {
1577
1695
  property: string;
@@ -1585,6 +1703,106 @@ interface Ga4AccountSummary {
1585
1703
  propertySummaries: Ga4PropertySummary[];
1586
1704
  }
1587
1705
  //#endregion
1706
+ //#region packages/core/src/gsc/client/types.d.ts
1707
+ interface SearchAnalyticsRequest {
1708
+ startDate: string;
1709
+ endDate: string;
1710
+ dimensions?: string[];
1711
+ type?: 'web' | 'image' | 'video' | 'news' | 'discover' | 'googleNews';
1712
+ dataState?: 'final' | 'all';
1713
+ rowLimit?: number;
1714
+ maxRows?: number;
1715
+ startRow?: number;
1716
+ aggregationType?: 'auto' | 'byPage' | 'byProperty' | 'byNewsShowcasePanel';
1717
+ dimensionFilterGroups?: Array<{
1718
+ groupType?: 'and';
1719
+ filters: Array<{
1720
+ dimension: string;
1721
+ operator: 'equals' | 'contains' | 'notContains' | 'includingRegex' | 'excludingRegex' | 'notEquals';
1722
+ expression: string;
1723
+ }>;
1724
+ }>;
1725
+ }
1726
+ type SearchAnalyticsOptions = {
1727
+ refresh?: boolean;
1728
+ accountEmail?: string;
1729
+ };
1730
+ type SearchAnalyticsResult = {
1731
+ rows: GscRow[];
1732
+ calls: number;
1733
+ rowsFetched: number;
1734
+ };
1735
+ /**
1736
+ * Runs one Search Analytics query and follows pagination up to `maxRows`.
1737
+ * The local binding adds the token store and the response cache.
1738
+ */
1739
+ type SearchAnalyticsQuery = (site: string, body: SearchAnalyticsRequest, opts?: SearchAnalyticsOptions) => Promise<SearchAnalyticsResult>;
1740
+ interface UrlInspectionRequest {
1741
+ siteUrl: string;
1742
+ inspectionUrl: string;
1743
+ accountEmail?: string;
1744
+ languageCode?: string;
1745
+ quotaLimit?: number;
1746
+ }
1747
+ interface UrlInspectionResult {
1748
+ inspectionResult?: {
1749
+ inspectionResultLink?: string;
1750
+ indexStatusResult?: {
1751
+ verdict?: string;
1752
+ coverageState?: string;
1753
+ robotsTxtState?: string;
1754
+ indexingState?: string;
1755
+ lastCrawlTime?: string;
1756
+ pageFetchState?: string;
1757
+ googleCanonical?: string;
1758
+ userCanonical?: string;
1759
+ referringUrls?: string[];
1760
+ crawledAs?: string;
1761
+ };
1762
+ mobileUsabilityResult?: unknown;
1763
+ richResultsResult?: unknown;
1764
+ };
1765
+ }
1766
+ //#endregion
1767
+ //#region packages/core/src/google/api.d.ts
1768
+ type GoogleFetch = (url: string, init?: RequestInit) => Promise<Response>;
1769
+ type GoogleCallOptions = {
1770
+ signIn: string;
1771
+ };
1772
+ declare class GoogleApiError extends SeoError {
1773
+ readonly status: number;
1774
+ constructor(code: SeoErrorCode, message: string, status: number);
1775
+ }
1776
+ declare function bearerFetch(token: () => Promise<string> | string): GoogleFetch;
1777
+ declare function googleJson<T>(gfetch: GoogleFetch, url: string, input: {
1778
+ body?: unknown;
1779
+ label: string;
1780
+ subject?: string;
1781
+ maxBytes?: number;
1782
+ } & GoogleCallOptions): Promise<T>;
1783
+ declare function searchAnalyticsRows(gfetch: GoogleFetch, site: string, body: SearchAnalyticsRequest, options: GoogleCallOptions): Promise<SearchAnalyticsResult>;
1784
+ type SearchConsoleSite = {
1785
+ siteUrl: string;
1786
+ permissionLevel?: string;
1787
+ siteType?: string;
1788
+ };
1789
+ declare function listSearchConsoleSites(gfetch: GoogleFetch, options: GoogleCallOptions): Promise<SearchConsoleSite[]>;
1790
+ declare function inspectSearchConsoleUrl(gfetch: GoogleFetch, site: string, url: string, options: GoogleCallOptions & {
1791
+ languageCode?: string;
1792
+ }): Promise<unknown>;
1793
+ declare function listAnalyticsAccounts(gfetch: GoogleFetch, options: GoogleCallOptions): Promise<Ga4AccountSummary[]>;
1794
+ interface Ga4DataStream {
1795
+ name: string;
1796
+ displayName?: string;
1797
+ type?: string;
1798
+ webStreamData?: {
1799
+ defaultUri?: string;
1800
+ measurementId?: string;
1801
+ };
1802
+ }
1803
+ declare function listAnalyticsDataStreams(gfetch: GoogleFetch, propertyId: string, options: GoogleCallOptions): Promise<Ga4DataStream[]>;
1804
+ declare function runAnalyticsReport<T = unknown>(gfetch: GoogleFetch, propertyId: string, body: unknown, options: GoogleCallOptions): Promise<T>;
1805
+ //#endregion
1588
1806
  //#region packages/core/src/ga4/client.d.ts
1589
1807
  interface Ga4ReportRequest {
1590
1808
  dateRanges: Array<{
@@ -1633,15 +1851,6 @@ interface Ga4RunReportResult {
1633
1851
  };
1634
1852
  propertyQuota?: unknown;
1635
1853
  }
1636
- interface Ga4DataStream {
1637
- name: string;
1638
- displayName?: string;
1639
- type?: string;
1640
- webStreamData?: {
1641
- defaultUri?: string;
1642
- measurementId?: string;
1643
- };
1644
- }
1645
1854
  declare function ga4RequestCanUseCache(body: Ga4ReportRequest): boolean;
1646
1855
  declare function runGa4Report(propertyId: string, body: Ga4ReportRequest, opts?: {
1647
1856
  refresh?: boolean;
@@ -1871,67 +2080,6 @@ type FetchPageDependencies = {
1871
2080
  declare function normalizeJavaScriptRenderingMode(input: JavaScriptRenderingInput | undefined): JavaScriptRenderingMode;
1872
2081
  declare function fetchPage(url: string, opts?: FetchPageOptions, dependencies?: FetchPageDependencies): Promise<PageFetchResult>;
1873
2082
  //#endregion
1874
- //#region packages/core/src/gsc/client/types.d.ts
1875
- interface SearchAnalyticsRequest {
1876
- startDate: string;
1877
- endDate: string;
1878
- dimensions?: string[];
1879
- type?: 'web' | 'image' | 'video' | 'news' | 'discover' | 'googleNews';
1880
- dataState?: 'final' | 'all';
1881
- rowLimit?: number;
1882
- maxRows?: number;
1883
- startRow?: number;
1884
- aggregationType?: 'auto' | 'byPage' | 'byProperty' | 'byNewsShowcasePanel';
1885
- dimensionFilterGroups?: Array<{
1886
- groupType?: 'and';
1887
- filters: Array<{
1888
- dimension: string;
1889
- operator: 'equals' | 'contains' | 'notContains' | 'includingRegex' | 'excludingRegex' | 'notEquals';
1890
- expression: string;
1891
- }>;
1892
- }>;
1893
- }
1894
- type SearchAnalyticsOptions = {
1895
- refresh?: boolean;
1896
- accountEmail?: string;
1897
- };
1898
- type SearchAnalyticsResult = {
1899
- rows: GscRow[];
1900
- calls: number;
1901
- rowsFetched: number;
1902
- };
1903
- /**
1904
- * Runs one Search Analytics query and follows pagination up to `maxRows`.
1905
- * The local binding adds the token store and the response cache.
1906
- */
1907
- type SearchAnalyticsQuery = (site: string, body: SearchAnalyticsRequest, opts?: SearchAnalyticsOptions) => Promise<SearchAnalyticsResult>;
1908
- interface UrlInspectionRequest {
1909
- siteUrl: string;
1910
- inspectionUrl: string;
1911
- accountEmail?: string;
1912
- languageCode?: string;
1913
- quotaLimit?: number;
1914
- }
1915
- interface UrlInspectionResult {
1916
- inspectionResult?: {
1917
- inspectionResultLink?: string;
1918
- indexStatusResult?: {
1919
- verdict?: string;
1920
- coverageState?: string;
1921
- robotsTxtState?: string;
1922
- indexingState?: string;
1923
- lastCrawlTime?: string;
1924
- pageFetchState?: string;
1925
- googleCanonical?: string;
1926
- userCanonical?: string;
1927
- referringUrls?: string[];
1928
- crawledAs?: string;
1929
- };
1930
- mobileUsabilityResult?: unknown;
1931
- richResultsResult?: unknown;
1932
- };
1933
- }
1934
- //#endregion
1935
2083
  //#region packages/core/src/gsc/client/inspection.d.ts
1936
2084
  declare function inspectUrl(input: UrlInspectionRequest): Promise<UrlInspectionResult>;
1937
2085
  //#endregion
@@ -2781,6 +2929,84 @@ type CrawlSiteChecks = {
2781
2929
  };
2782
2930
  };
2783
2931
  //#endregion
2932
+ //#region packages/core/src/analyze/crawler/site-crawl-ai-types.d.ts
2933
+ type CrawlAiAvailability = 'available' | 'absent' | 'access-blocked' | 'rate-limited' | 'unreachable';
2934
+ type CrawlAiBotAccess = {
2935
+ userAgent: string;
2936
+ purpose: 'search' | 'training' | 'other';
2937
+ allowed: boolean | null;
2938
+ declared: boolean;
2939
+ coveredByWildcard: boolean;
2940
+ };
2941
+ type CrawlAiResourceSignal = {
2942
+ url: string;
2943
+ exists: boolean;
2944
+ status?: number;
2945
+ contentType?: string;
2946
+ validJson?: boolean;
2947
+ };
2948
+ type CrawlAiLinkCheck = {
2949
+ url: string;
2950
+ status?: number;
2951
+ contentType?: string;
2952
+ error?: string;
2953
+ };
2954
+ type CrawlAiSignals = {
2955
+ robotsTxt?: {
2956
+ url: string;
2957
+ exists: boolean;
2958
+ availability: CrawlAiAvailability;
2959
+ status?: number;
2960
+ error?: string;
2961
+ sitemapUrls: string[];
2962
+ contentSignals?: string[];
2963
+ botAccess: CrawlAiBotAccess[];
2964
+ };
2965
+ llmsTxt?: {
2966
+ url: string;
2967
+ exists: boolean;
2968
+ availability?: CrawlAiAvailability;
2969
+ status?: number;
2970
+ error?: string;
2971
+ links?: {
2972
+ found: number;
2973
+ checked: number;
2974
+ limit: number;
2975
+ broken: CrawlAiLinkCheck[];
2976
+ };
2977
+ };
2978
+ agentResources?: CrawlAiResourceSignal[];
2979
+ markdownNegotiation?: {
2980
+ url: string;
2981
+ availability: CrawlAiAvailability;
2982
+ status?: number;
2983
+ contentType?: string;
2984
+ markdown: boolean;
2985
+ varyAccept: boolean;
2986
+ error?: string;
2987
+ };
2988
+ markdownCopies?: {
2989
+ publicPages: number;
2990
+ publicPagesWithLink: number;
2991
+ privatePagesWithLink: number;
2992
+ checked: number;
2993
+ limit: number;
2994
+ broken: Array<CrawlAiLinkCheck & {
2995
+ page: string;
2996
+ public: boolean;
2997
+ }>;
2998
+ largest?: {
2999
+ url: string;
3000
+ estimatedTokens: number;
3001
+ };
3002
+ };
3003
+ startPageHeaders?: {
3004
+ url: string;
3005
+ linkRelations: string[];
3006
+ contentSignal?: string;
3007
+ };
3008
+ };
3009
+ //#endregion
2784
3010
  //#region packages/core/src/analyze/crawler/report.d.ts
2785
3011
  type CrawlMode = 'site' | 'page' | 'list' | 'sitemap';
2786
3012
  type CrawlStrategy = 'full' | 'health';
@@ -2870,37 +3096,6 @@ type CrawlRunStats = {
2870
3096
  pageLimitReached: boolean;
2871
3097
  };
2872
3098
  type CrawlLinkGraph = Record<string, string[]>;
2873
- type CrawlAiBotAccess = {
2874
- userAgent: string;
2875
- allowed: boolean | null;
2876
- declared: boolean;
2877
- coveredByWildcard: boolean;
2878
- };
2879
- type CrawlAiResourceSignal = {
2880
- url: string;
2881
- exists: boolean;
2882
- status?: number;
2883
- contentType?: string;
2884
- validJson?: boolean;
2885
- };
2886
- type CrawlAiSignals = {
2887
- robotsTxt?: {
2888
- url: string;
2889
- exists: boolean;
2890
- availability: 'available' | 'absent' | 'access-blocked' | 'rate-limited' | 'unreachable';
2891
- status?: number;
2892
- error?: string;
2893
- sitemapUrls: string[];
2894
- contentSignals?: string[];
2895
- botAccess: CrawlAiBotAccess[];
2896
- };
2897
- llmsTxt?: {
2898
- url: string;
2899
- exists: boolean;
2900
- status?: number;
2901
- };
2902
- agentResources?: CrawlAiResourceSignal[];
2903
- };
2904
3099
  type CrawlSitemapDiscovery = {
2905
3100
  dataStatus: 'complete' | 'partial' | 'unavailable';
2906
3101
  urlsReturned: number;
@@ -3152,7 +3347,7 @@ declare const crawlerRuleCategorySchema: z.ZodEnum<{
3152
3347
  security: "security";
3153
3348
  social: "social";
3154
3349
  "structured-data": "structured-data";
3155
- geo: "geo";
3350
+ agents: "agents";
3156
3351
  }>;
3157
3352
  declare const crawlerRuleIdSchema: z.ZodEnum<{
3158
3353
  [x: string]: string;
@@ -3177,7 +3372,7 @@ declare const crawlerRuleInfoSchema: z.ZodObject<{
3177
3372
  security: "security";
3178
3373
  social: "social";
3179
3374
  "structured-data": "structured-data";
3180
- geo: "geo";
3375
+ agents: "agents";
3181
3376
  }>;
3182
3377
  defaultSeverity: z.ZodEnum<{
3183
3378
  high: "high";
@@ -3538,10 +3733,10 @@ declare const crawlPageSnapshotSchema: z.ZodObject<{
3538
3733
  raw: z.ZodString;
3539
3734
  resolved: z.ZodOptional<z.ZodString>;
3540
3735
  ignoredReason: z.ZodOptional<z.ZodEnum<{
3541
- "invalid-url": "invalid-url";
3542
3736
  "outside-head": "outside-head";
3543
3737
  "alternate-qualifier": "alternate-qualifier";
3544
3738
  fragment: "fragment";
3739
+ "invalid-url": "invalid-url";
3545
3740
  "non-http-url": "non-http-url";
3546
3741
  }>>;
3547
3742
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -4013,7 +4208,7 @@ declare const crawlIssueSchema: z.ZodObject<{
4013
4208
  security: "security";
4014
4209
  social: "social";
4015
4210
  "structured-data": "structured-data";
4016
- geo: "geo";
4211
+ agents: "agents";
4017
4212
  }>;
4018
4213
  severity: z.ZodEnum<{
4019
4214
  high: "high";
@@ -4050,7 +4245,7 @@ declare const crawlIssueGroupSchema: z.ZodObject<{
4050
4245
  security: "security";
4051
4246
  social: "social";
4052
4247
  "structured-data": "structured-data";
4053
- geo: "geo";
4248
+ agents: "agents";
4054
4249
  }>;
4055
4250
  severity: z.ZodEnum<{
4056
4251
  high: "high";
@@ -4080,7 +4275,7 @@ declare const crawlTopFixSchema: z.ZodObject<{
4080
4275
  security: "security";
4081
4276
  social: "social";
4082
4277
  "structured-data": "structured-data";
4083
- geo: "geo";
4278
+ agents: "agents";
4084
4279
  }>;
4085
4280
  severity: z.ZodEnum<{
4086
4281
  high: "high";
@@ -4175,15 +4370,15 @@ declare const crawlReportSummarySchema: z.ZodObject<{
4175
4370
  skippedUrls: z.ZodNumber;
4176
4371
  skipReasons: z.ZodArray<z.ZodObject<{
4177
4372
  reason: z.ZodEnum<{
4373
+ "invalid-url": "invalid-url";
4374
+ "robots-disallowed": "robots-disallowed";
4375
+ "origin-backpressure": "origin-backpressure";
4178
4376
  "asset-url": "asset-url";
4179
4377
  "configured-exclusion": "configured-exclusion";
4180
4378
  "duplicate-normalization": "duplicate-normalization";
4181
- "invalid-url": "invalid-url";
4182
4379
  "memory-pressure": "memory-pressure";
4183
4380
  "off-origin": "off-origin";
4184
- "origin-backpressure": "origin-backpressure";
4185
4381
  "queue-safety-limit": "queue-safety-limit";
4186
- "robots-disallowed": "robots-disallowed";
4187
4382
  "robots-uncertain": "robots-uncertain";
4188
4383
  "legacy-unclassified": "legacy-unclassified";
4189
4384
  }>;
@@ -4341,15 +4536,15 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4341
4536
  skippedUrls: z.ZodNumber;
4342
4537
  skipReasons: z.ZodArray<z.ZodObject<{
4343
4538
  reason: z.ZodEnum<{
4539
+ "invalid-url": "invalid-url";
4540
+ "robots-disallowed": "robots-disallowed";
4541
+ "origin-backpressure": "origin-backpressure";
4344
4542
  "asset-url": "asset-url";
4345
4543
  "configured-exclusion": "configured-exclusion";
4346
4544
  "duplicate-normalization": "duplicate-normalization";
4347
- "invalid-url": "invalid-url";
4348
4545
  "memory-pressure": "memory-pressure";
4349
4546
  "off-origin": "off-origin";
4350
- "origin-backpressure": "origin-backpressure";
4351
4547
  "queue-safety-limit": "queue-safety-limit";
4352
- "robots-disallowed": "robots-disallowed";
4353
4548
  "robots-uncertain": "robots-uncertain";
4354
4549
  "legacy-unclassified": "legacy-unclassified";
4355
4550
  }>;
@@ -4721,10 +4916,10 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4721
4916
  raw: z.ZodString;
4722
4917
  resolved: z.ZodOptional<z.ZodString>;
4723
4918
  ignoredReason: z.ZodOptional<z.ZodEnum<{
4724
- "invalid-url": "invalid-url";
4725
4919
  "outside-head": "outside-head";
4726
4920
  "alternate-qualifier": "alternate-qualifier";
4727
4921
  fragment: "fragment";
4922
+ "invalid-url": "invalid-url";
4728
4923
  "non-http-url": "non-http-url";
4729
4924
  }>>;
4730
4925
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -5036,7 +5231,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5036
5231
  security: "security";
5037
5232
  social: "social";
5038
5233
  "structured-data": "structured-data";
5039
- geo: "geo";
5234
+ agents: "agents";
5040
5235
  }>;
5041
5236
  severity: z.ZodEnum<{
5042
5237
  high: "high";
@@ -5073,7 +5268,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5073
5268
  security: "security";
5074
5269
  social: "social";
5075
5270
  "structured-data": "structured-data";
5076
- geo: "geo";
5271
+ agents: "agents";
5077
5272
  }>;
5078
5273
  severity: z.ZodEnum<{
5079
5274
  high: "high";
@@ -5155,6 +5350,11 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5155
5350
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
5156
5351
  botAccess: z.ZodArray<z.ZodObject<{
5157
5352
  userAgent: z.ZodString;
5353
+ purpose: z.ZodEnum<{
5354
+ other: "other";
5355
+ search: "search";
5356
+ training: "training";
5357
+ }>;
5158
5358
  allowed: z.ZodNullable<z.ZodBoolean>;
5159
5359
  declared: z.ZodBoolean;
5160
5360
  coveredByWildcard: z.ZodBoolean;
@@ -5163,7 +5363,26 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5163
5363
  llmsTxt: z.ZodOptional<z.ZodObject<{
5164
5364
  url: z.ZodString;
5165
5365
  exists: z.ZodBoolean;
5366
+ availability: z.ZodOptional<z.ZodEnum<{
5367
+ available: "available";
5368
+ absent: "absent";
5369
+ "access-blocked": "access-blocked";
5370
+ "rate-limited": "rate-limited";
5371
+ unreachable: "unreachable";
5372
+ }>>;
5166
5373
  status: z.ZodOptional<z.ZodNumber>;
5374
+ error: z.ZodOptional<z.ZodString>;
5375
+ links: z.ZodOptional<z.ZodObject<{
5376
+ found: z.ZodNumber;
5377
+ checked: z.ZodNumber;
5378
+ limit: z.ZodNumber;
5379
+ broken: z.ZodArray<z.ZodObject<{
5380
+ url: z.ZodString;
5381
+ status: z.ZodOptional<z.ZodNumber>;
5382
+ contentType: z.ZodOptional<z.ZodString>;
5383
+ error: z.ZodOptional<z.ZodString>;
5384
+ }, z.core.$strip>>;
5385
+ }, z.core.$strip>>;
5167
5386
  }, z.core.$strip>>;
5168
5387
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
5169
5388
  url: z.ZodString;
@@ -5172,6 +5391,45 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5172
5391
  contentType: z.ZodOptional<z.ZodString>;
5173
5392
  validJson: z.ZodOptional<z.ZodBoolean>;
5174
5393
  }, z.core.$strip>>>;
5394
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
5395
+ url: z.ZodString;
5396
+ availability: z.ZodEnum<{
5397
+ available: "available";
5398
+ absent: "absent";
5399
+ "access-blocked": "access-blocked";
5400
+ "rate-limited": "rate-limited";
5401
+ unreachable: "unreachable";
5402
+ }>;
5403
+ status: z.ZodOptional<z.ZodNumber>;
5404
+ contentType: z.ZodOptional<z.ZodString>;
5405
+ markdown: z.ZodBoolean;
5406
+ varyAccept: z.ZodBoolean;
5407
+ error: z.ZodOptional<z.ZodString>;
5408
+ }, z.core.$strip>>;
5409
+ markdownCopies: z.ZodOptional<z.ZodObject<{
5410
+ publicPages: z.ZodNumber;
5411
+ publicPagesWithLink: z.ZodNumber;
5412
+ privatePagesWithLink: z.ZodNumber;
5413
+ checked: z.ZodNumber;
5414
+ limit: z.ZodNumber;
5415
+ broken: z.ZodArray<z.ZodObject<{
5416
+ url: z.ZodString;
5417
+ status: z.ZodOptional<z.ZodNumber>;
5418
+ contentType: z.ZodOptional<z.ZodString>;
5419
+ error: z.ZodOptional<z.ZodString>;
5420
+ page: z.ZodString;
5421
+ public: z.ZodBoolean;
5422
+ }, z.core.$strip>>;
5423
+ largest: z.ZodOptional<z.ZodObject<{
5424
+ url: z.ZodString;
5425
+ estimatedTokens: z.ZodNumber;
5426
+ }, z.core.$strip>>;
5427
+ }, z.core.$strip>>;
5428
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
5429
+ url: z.ZodString;
5430
+ linkRelations: z.ZodArray<z.ZodString>;
5431
+ contentSignal: z.ZodOptional<z.ZodString>;
5432
+ }, z.core.$strip>>;
5175
5433
  }, z.core.$strip>>;
5176
5434
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
5177
5435
  dataStatus: z.ZodEnum<{
@@ -5583,15 +5841,15 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5583
5841
  skippedUrls: z.ZodNumber;
5584
5842
  skipReasons: z.ZodArray<z.ZodObject<{
5585
5843
  reason: z.ZodEnum<{
5844
+ "invalid-url": "invalid-url";
5845
+ "robots-disallowed": "robots-disallowed";
5846
+ "origin-backpressure": "origin-backpressure";
5586
5847
  "asset-url": "asset-url";
5587
5848
  "configured-exclusion": "configured-exclusion";
5588
5849
  "duplicate-normalization": "duplicate-normalization";
5589
- "invalid-url": "invalid-url";
5590
5850
  "memory-pressure": "memory-pressure";
5591
5851
  "off-origin": "off-origin";
5592
- "origin-backpressure": "origin-backpressure";
5593
5852
  "queue-safety-limit": "queue-safety-limit";
5594
- "robots-disallowed": "robots-disallowed";
5595
5853
  "robots-uncertain": "robots-uncertain";
5596
5854
  "legacy-unclassified": "legacy-unclassified";
5597
5855
  }>;
@@ -5963,10 +6221,10 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
5963
6221
  raw: z.ZodString;
5964
6222
  resolved: z.ZodOptional<z.ZodString>;
5965
6223
  ignoredReason: z.ZodOptional<z.ZodEnum<{
5966
- "invalid-url": "invalid-url";
5967
6224
  "outside-head": "outside-head";
5968
6225
  "alternate-qualifier": "alternate-qualifier";
5969
6226
  fragment: "fragment";
6227
+ "invalid-url": "invalid-url";
5970
6228
  "non-http-url": "non-http-url";
5971
6229
  }>>;
5972
6230
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -6278,7 +6536,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6278
6536
  security: "security";
6279
6537
  social: "social";
6280
6538
  "structured-data": "structured-data";
6281
- geo: "geo";
6539
+ agents: "agents";
6282
6540
  }>;
6283
6541
  severity: z.ZodEnum<{
6284
6542
  high: "high";
@@ -6315,7 +6573,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6315
6573
  security: "security";
6316
6574
  social: "social";
6317
6575
  "structured-data": "structured-data";
6318
- geo: "geo";
6576
+ agents: "agents";
6319
6577
  }>;
6320
6578
  severity: z.ZodEnum<{
6321
6579
  high: "high";
@@ -6397,6 +6655,11 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6397
6655
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
6398
6656
  botAccess: z.ZodArray<z.ZodObject<{
6399
6657
  userAgent: z.ZodString;
6658
+ purpose: z.ZodEnum<{
6659
+ other: "other";
6660
+ search: "search";
6661
+ training: "training";
6662
+ }>;
6400
6663
  allowed: z.ZodNullable<z.ZodBoolean>;
6401
6664
  declared: z.ZodBoolean;
6402
6665
  coveredByWildcard: z.ZodBoolean;
@@ -6405,7 +6668,26 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6405
6668
  llmsTxt: z.ZodOptional<z.ZodObject<{
6406
6669
  url: z.ZodString;
6407
6670
  exists: z.ZodBoolean;
6671
+ availability: z.ZodOptional<z.ZodEnum<{
6672
+ available: "available";
6673
+ absent: "absent";
6674
+ "access-blocked": "access-blocked";
6675
+ "rate-limited": "rate-limited";
6676
+ unreachable: "unreachable";
6677
+ }>>;
6408
6678
  status: z.ZodOptional<z.ZodNumber>;
6679
+ error: z.ZodOptional<z.ZodString>;
6680
+ links: z.ZodOptional<z.ZodObject<{
6681
+ found: z.ZodNumber;
6682
+ checked: z.ZodNumber;
6683
+ limit: z.ZodNumber;
6684
+ broken: z.ZodArray<z.ZodObject<{
6685
+ url: z.ZodString;
6686
+ status: z.ZodOptional<z.ZodNumber>;
6687
+ contentType: z.ZodOptional<z.ZodString>;
6688
+ error: z.ZodOptional<z.ZodString>;
6689
+ }, z.core.$strip>>;
6690
+ }, z.core.$strip>>;
6409
6691
  }, z.core.$strip>>;
6410
6692
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
6411
6693
  url: z.ZodString;
@@ -6414,6 +6696,45 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6414
6696
  contentType: z.ZodOptional<z.ZodString>;
6415
6697
  validJson: z.ZodOptional<z.ZodBoolean>;
6416
6698
  }, z.core.$strip>>>;
6699
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
6700
+ url: z.ZodString;
6701
+ availability: z.ZodEnum<{
6702
+ available: "available";
6703
+ absent: "absent";
6704
+ "access-blocked": "access-blocked";
6705
+ "rate-limited": "rate-limited";
6706
+ unreachable: "unreachable";
6707
+ }>;
6708
+ status: z.ZodOptional<z.ZodNumber>;
6709
+ contentType: z.ZodOptional<z.ZodString>;
6710
+ markdown: z.ZodBoolean;
6711
+ varyAccept: z.ZodBoolean;
6712
+ error: z.ZodOptional<z.ZodString>;
6713
+ }, z.core.$strip>>;
6714
+ markdownCopies: z.ZodOptional<z.ZodObject<{
6715
+ publicPages: z.ZodNumber;
6716
+ publicPagesWithLink: z.ZodNumber;
6717
+ privatePagesWithLink: z.ZodNumber;
6718
+ checked: z.ZodNumber;
6719
+ limit: z.ZodNumber;
6720
+ broken: z.ZodArray<z.ZodObject<{
6721
+ url: z.ZodString;
6722
+ status: z.ZodOptional<z.ZodNumber>;
6723
+ contentType: z.ZodOptional<z.ZodString>;
6724
+ error: z.ZodOptional<z.ZodString>;
6725
+ page: z.ZodString;
6726
+ public: z.ZodBoolean;
6727
+ }, z.core.$strip>>;
6728
+ largest: z.ZodOptional<z.ZodObject<{
6729
+ url: z.ZodString;
6730
+ estimatedTokens: z.ZodNumber;
6731
+ }, z.core.$strip>>;
6732
+ }, z.core.$strip>>;
6733
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
6734
+ url: z.ZodString;
6735
+ linkRelations: z.ZodArray<z.ZodString>;
6736
+ contentSignal: z.ZodOptional<z.ZodString>;
6737
+ }, z.core.$strip>>;
6417
6738
  }, z.core.$strip>>;
6418
6739
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
6419
6740
  dataStatus: z.ZodEnum<{
@@ -6825,15 +7146,15 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6825
7146
  skippedUrls: z.ZodNumber;
6826
7147
  skipReasons: z.ZodArray<z.ZodObject<{
6827
7148
  reason: z.ZodEnum<{
7149
+ "invalid-url": "invalid-url";
7150
+ "robots-disallowed": "robots-disallowed";
7151
+ "origin-backpressure": "origin-backpressure";
6828
7152
  "asset-url": "asset-url";
6829
7153
  "configured-exclusion": "configured-exclusion";
6830
7154
  "duplicate-normalization": "duplicate-normalization";
6831
- "invalid-url": "invalid-url";
6832
7155
  "memory-pressure": "memory-pressure";
6833
7156
  "off-origin": "off-origin";
6834
- "origin-backpressure": "origin-backpressure";
6835
7157
  "queue-safety-limit": "queue-safety-limit";
6836
- "robots-disallowed": "robots-disallowed";
6837
7158
  "robots-uncertain": "robots-uncertain";
6838
7159
  "legacy-unclassified": "legacy-unclassified";
6839
7160
  }>;
@@ -7205,10 +7526,10 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7205
7526
  raw: z.ZodString;
7206
7527
  resolved: z.ZodOptional<z.ZodString>;
7207
7528
  ignoredReason: z.ZodOptional<z.ZodEnum<{
7208
- "invalid-url": "invalid-url";
7209
7529
  "outside-head": "outside-head";
7210
7530
  "alternate-qualifier": "alternate-qualifier";
7211
7531
  fragment: "fragment";
7532
+ "invalid-url": "invalid-url";
7212
7533
  "non-http-url": "non-http-url";
7213
7534
  }>>;
7214
7535
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -7520,7 +7841,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7520
7841
  security: "security";
7521
7842
  social: "social";
7522
7843
  "structured-data": "structured-data";
7523
- geo: "geo";
7844
+ agents: "agents";
7524
7845
  }>;
7525
7846
  severity: z.ZodEnum<{
7526
7847
  high: "high";
@@ -7557,7 +7878,7 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7557
7878
  security: "security";
7558
7879
  social: "social";
7559
7880
  "structured-data": "structured-data";
7560
- geo: "geo";
7881
+ agents: "agents";
7561
7882
  }>;
7562
7883
  severity: z.ZodEnum<{
7563
7884
  high: "high";
@@ -7639,6 +7960,11 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7639
7960
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
7640
7961
  botAccess: z.ZodArray<z.ZodObject<{
7641
7962
  userAgent: z.ZodString;
7963
+ purpose: z.ZodEnum<{
7964
+ other: "other";
7965
+ search: "search";
7966
+ training: "training";
7967
+ }>;
7642
7968
  allowed: z.ZodNullable<z.ZodBoolean>;
7643
7969
  declared: z.ZodBoolean;
7644
7970
  coveredByWildcard: z.ZodBoolean;
@@ -7647,7 +7973,26 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7647
7973
  llmsTxt: z.ZodOptional<z.ZodObject<{
7648
7974
  url: z.ZodString;
7649
7975
  exists: z.ZodBoolean;
7976
+ availability: z.ZodOptional<z.ZodEnum<{
7977
+ available: "available";
7978
+ absent: "absent";
7979
+ "access-blocked": "access-blocked";
7980
+ "rate-limited": "rate-limited";
7981
+ unreachable: "unreachable";
7982
+ }>>;
7650
7983
  status: z.ZodOptional<z.ZodNumber>;
7984
+ error: z.ZodOptional<z.ZodString>;
7985
+ links: z.ZodOptional<z.ZodObject<{
7986
+ found: z.ZodNumber;
7987
+ checked: z.ZodNumber;
7988
+ limit: z.ZodNumber;
7989
+ broken: z.ZodArray<z.ZodObject<{
7990
+ url: z.ZodString;
7991
+ status: z.ZodOptional<z.ZodNumber>;
7992
+ contentType: z.ZodOptional<z.ZodString>;
7993
+ error: z.ZodOptional<z.ZodString>;
7994
+ }, z.core.$strip>>;
7995
+ }, z.core.$strip>>;
7651
7996
  }, z.core.$strip>>;
7652
7997
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
7653
7998
  url: z.ZodString;
@@ -7656,6 +8001,45 @@ declare const crawlReportSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7656
8001
  contentType: z.ZodOptional<z.ZodString>;
7657
8002
  validJson: z.ZodOptional<z.ZodBoolean>;
7658
8003
  }, z.core.$strip>>>;
8004
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
8005
+ url: z.ZodString;
8006
+ availability: z.ZodEnum<{
8007
+ available: "available";
8008
+ absent: "absent";
8009
+ "access-blocked": "access-blocked";
8010
+ "rate-limited": "rate-limited";
8011
+ unreachable: "unreachable";
8012
+ }>;
8013
+ status: z.ZodOptional<z.ZodNumber>;
8014
+ contentType: z.ZodOptional<z.ZodString>;
8015
+ markdown: z.ZodBoolean;
8016
+ varyAccept: z.ZodBoolean;
8017
+ error: z.ZodOptional<z.ZodString>;
8018
+ }, z.core.$strip>>;
8019
+ markdownCopies: z.ZodOptional<z.ZodObject<{
8020
+ publicPages: z.ZodNumber;
8021
+ publicPagesWithLink: z.ZodNumber;
8022
+ privatePagesWithLink: z.ZodNumber;
8023
+ checked: z.ZodNumber;
8024
+ limit: z.ZodNumber;
8025
+ broken: z.ZodArray<z.ZodObject<{
8026
+ url: z.ZodString;
8027
+ status: z.ZodOptional<z.ZodNumber>;
8028
+ contentType: z.ZodOptional<z.ZodString>;
8029
+ error: z.ZodOptional<z.ZodString>;
8030
+ page: z.ZodString;
8031
+ public: z.ZodBoolean;
8032
+ }, z.core.$strip>>;
8033
+ largest: z.ZodOptional<z.ZodObject<{
8034
+ url: z.ZodString;
8035
+ estimatedTokens: z.ZodNumber;
8036
+ }, z.core.$strip>>;
8037
+ }, z.core.$strip>>;
8038
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
8039
+ url: z.ZodString;
8040
+ linkRelations: z.ZodArray<z.ZodString>;
8041
+ contentSignal: z.ZodOptional<z.ZodString>;
8042
+ }, z.core.$strip>>;
7659
8043
  }, z.core.$strip>>;
7660
8044
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
7661
8045
  dataStatus: z.ZodEnum<{
@@ -8069,15 +8453,15 @@ declare const crawlerSchemas: {
8069
8453
  skippedUrls: z.ZodNumber;
8070
8454
  skipReasons: z.ZodArray<z.ZodObject<{
8071
8455
  reason: z.ZodEnum<{
8456
+ "invalid-url": "invalid-url";
8457
+ "robots-disallowed": "robots-disallowed";
8458
+ "origin-backpressure": "origin-backpressure";
8072
8459
  "asset-url": "asset-url";
8073
8460
  "configured-exclusion": "configured-exclusion";
8074
8461
  "duplicate-normalization": "duplicate-normalization";
8075
- "invalid-url": "invalid-url";
8076
8462
  "memory-pressure": "memory-pressure";
8077
8463
  "off-origin": "off-origin";
8078
- "origin-backpressure": "origin-backpressure";
8079
8464
  "queue-safety-limit": "queue-safety-limit";
8080
- "robots-disallowed": "robots-disallowed";
8081
8465
  "robots-uncertain": "robots-uncertain";
8082
8466
  "legacy-unclassified": "legacy-unclassified";
8083
8467
  }>;
@@ -8449,10 +8833,10 @@ declare const crawlerSchemas: {
8449
8833
  raw: z.ZodString;
8450
8834
  resolved: z.ZodOptional<z.ZodString>;
8451
8835
  ignoredReason: z.ZodOptional<z.ZodEnum<{
8452
- "invalid-url": "invalid-url";
8453
8836
  "outside-head": "outside-head";
8454
8837
  "alternate-qualifier": "alternate-qualifier";
8455
8838
  fragment: "fragment";
8839
+ "invalid-url": "invalid-url";
8456
8840
  "non-http-url": "non-http-url";
8457
8841
  }>>;
8458
8842
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -8764,7 +9148,7 @@ declare const crawlerSchemas: {
8764
9148
  security: "security";
8765
9149
  social: "social";
8766
9150
  "structured-data": "structured-data";
8767
- geo: "geo";
9151
+ agents: "agents";
8768
9152
  }>;
8769
9153
  severity: z.ZodEnum<{
8770
9154
  high: "high";
@@ -8801,7 +9185,7 @@ declare const crawlerSchemas: {
8801
9185
  security: "security";
8802
9186
  social: "social";
8803
9187
  "structured-data": "structured-data";
8804
- geo: "geo";
9188
+ agents: "agents";
8805
9189
  }>;
8806
9190
  severity: z.ZodEnum<{
8807
9191
  high: "high";
@@ -8883,6 +9267,11 @@ declare const crawlerSchemas: {
8883
9267
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
8884
9268
  botAccess: z.ZodArray<z.ZodObject<{
8885
9269
  userAgent: z.ZodString;
9270
+ purpose: z.ZodEnum<{
9271
+ other: "other";
9272
+ search: "search";
9273
+ training: "training";
9274
+ }>;
8886
9275
  allowed: z.ZodNullable<z.ZodBoolean>;
8887
9276
  declared: z.ZodBoolean;
8888
9277
  coveredByWildcard: z.ZodBoolean;
@@ -8891,7 +9280,26 @@ declare const crawlerSchemas: {
8891
9280
  llmsTxt: z.ZodOptional<z.ZodObject<{
8892
9281
  url: z.ZodString;
8893
9282
  exists: z.ZodBoolean;
9283
+ availability: z.ZodOptional<z.ZodEnum<{
9284
+ available: "available";
9285
+ absent: "absent";
9286
+ "access-blocked": "access-blocked";
9287
+ "rate-limited": "rate-limited";
9288
+ unreachable: "unreachable";
9289
+ }>>;
8894
9290
  status: z.ZodOptional<z.ZodNumber>;
9291
+ error: z.ZodOptional<z.ZodString>;
9292
+ links: z.ZodOptional<z.ZodObject<{
9293
+ found: z.ZodNumber;
9294
+ checked: z.ZodNumber;
9295
+ limit: z.ZodNumber;
9296
+ broken: z.ZodArray<z.ZodObject<{
9297
+ url: z.ZodString;
9298
+ status: z.ZodOptional<z.ZodNumber>;
9299
+ contentType: z.ZodOptional<z.ZodString>;
9300
+ error: z.ZodOptional<z.ZodString>;
9301
+ }, z.core.$strip>>;
9302
+ }, z.core.$strip>>;
8895
9303
  }, z.core.$strip>>;
8896
9304
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
8897
9305
  url: z.ZodString;
@@ -8900,6 +9308,45 @@ declare const crawlerSchemas: {
8900
9308
  contentType: z.ZodOptional<z.ZodString>;
8901
9309
  validJson: z.ZodOptional<z.ZodBoolean>;
8902
9310
  }, z.core.$strip>>>;
9311
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
9312
+ url: z.ZodString;
9313
+ availability: z.ZodEnum<{
9314
+ available: "available";
9315
+ absent: "absent";
9316
+ "access-blocked": "access-blocked";
9317
+ "rate-limited": "rate-limited";
9318
+ unreachable: "unreachable";
9319
+ }>;
9320
+ status: z.ZodOptional<z.ZodNumber>;
9321
+ contentType: z.ZodOptional<z.ZodString>;
9322
+ markdown: z.ZodBoolean;
9323
+ varyAccept: z.ZodBoolean;
9324
+ error: z.ZodOptional<z.ZodString>;
9325
+ }, z.core.$strip>>;
9326
+ markdownCopies: z.ZodOptional<z.ZodObject<{
9327
+ publicPages: z.ZodNumber;
9328
+ publicPagesWithLink: z.ZodNumber;
9329
+ privatePagesWithLink: z.ZodNumber;
9330
+ checked: z.ZodNumber;
9331
+ limit: z.ZodNumber;
9332
+ broken: z.ZodArray<z.ZodObject<{
9333
+ url: z.ZodString;
9334
+ status: z.ZodOptional<z.ZodNumber>;
9335
+ contentType: z.ZodOptional<z.ZodString>;
9336
+ error: z.ZodOptional<z.ZodString>;
9337
+ page: z.ZodString;
9338
+ public: z.ZodBoolean;
9339
+ }, z.core.$strip>>;
9340
+ largest: z.ZodOptional<z.ZodObject<{
9341
+ url: z.ZodString;
9342
+ estimatedTokens: z.ZodNumber;
9343
+ }, z.core.$strip>>;
9344
+ }, z.core.$strip>>;
9345
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
9346
+ url: z.ZodString;
9347
+ linkRelations: z.ZodArray<z.ZodString>;
9348
+ contentSignal: z.ZodOptional<z.ZodString>;
9349
+ }, z.core.$strip>>;
8903
9350
  }, z.core.$strip>>;
8904
9351
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
8905
9352
  dataStatus: z.ZodEnum<{
@@ -9311,15 +9758,15 @@ declare const crawlerSchemas: {
9311
9758
  skippedUrls: z.ZodNumber;
9312
9759
  skipReasons: z.ZodArray<z.ZodObject<{
9313
9760
  reason: z.ZodEnum<{
9761
+ "invalid-url": "invalid-url";
9762
+ "robots-disallowed": "robots-disallowed";
9763
+ "origin-backpressure": "origin-backpressure";
9314
9764
  "asset-url": "asset-url";
9315
9765
  "configured-exclusion": "configured-exclusion";
9316
9766
  "duplicate-normalization": "duplicate-normalization";
9317
- "invalid-url": "invalid-url";
9318
9767
  "memory-pressure": "memory-pressure";
9319
9768
  "off-origin": "off-origin";
9320
- "origin-backpressure": "origin-backpressure";
9321
9769
  "queue-safety-limit": "queue-safety-limit";
9322
- "robots-disallowed": "robots-disallowed";
9323
9770
  "robots-uncertain": "robots-uncertain";
9324
9771
  "legacy-unclassified": "legacy-unclassified";
9325
9772
  }>;
@@ -9691,10 +10138,10 @@ declare const crawlerSchemas: {
9691
10138
  raw: z.ZodString;
9692
10139
  resolved: z.ZodOptional<z.ZodString>;
9693
10140
  ignoredReason: z.ZodOptional<z.ZodEnum<{
9694
- "invalid-url": "invalid-url";
9695
10141
  "outside-head": "outside-head";
9696
10142
  "alternate-qualifier": "alternate-qualifier";
9697
10143
  fragment: "fragment";
10144
+ "invalid-url": "invalid-url";
9698
10145
  "non-http-url": "non-http-url";
9699
10146
  }>>;
9700
10147
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -10006,7 +10453,7 @@ declare const crawlerSchemas: {
10006
10453
  security: "security";
10007
10454
  social: "social";
10008
10455
  "structured-data": "structured-data";
10009
- geo: "geo";
10456
+ agents: "agents";
10010
10457
  }>;
10011
10458
  severity: z.ZodEnum<{
10012
10459
  high: "high";
@@ -10043,7 +10490,7 @@ declare const crawlerSchemas: {
10043
10490
  security: "security";
10044
10491
  social: "social";
10045
10492
  "structured-data": "structured-data";
10046
- geo: "geo";
10493
+ agents: "agents";
10047
10494
  }>;
10048
10495
  severity: z.ZodEnum<{
10049
10496
  high: "high";
@@ -10125,6 +10572,11 @@ declare const crawlerSchemas: {
10125
10572
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
10126
10573
  botAccess: z.ZodArray<z.ZodObject<{
10127
10574
  userAgent: z.ZodString;
10575
+ purpose: z.ZodEnum<{
10576
+ other: "other";
10577
+ search: "search";
10578
+ training: "training";
10579
+ }>;
10128
10580
  allowed: z.ZodNullable<z.ZodBoolean>;
10129
10581
  declared: z.ZodBoolean;
10130
10582
  coveredByWildcard: z.ZodBoolean;
@@ -10133,7 +10585,26 @@ declare const crawlerSchemas: {
10133
10585
  llmsTxt: z.ZodOptional<z.ZodObject<{
10134
10586
  url: z.ZodString;
10135
10587
  exists: z.ZodBoolean;
10588
+ availability: z.ZodOptional<z.ZodEnum<{
10589
+ available: "available";
10590
+ absent: "absent";
10591
+ "access-blocked": "access-blocked";
10592
+ "rate-limited": "rate-limited";
10593
+ unreachable: "unreachable";
10594
+ }>>;
10136
10595
  status: z.ZodOptional<z.ZodNumber>;
10596
+ error: z.ZodOptional<z.ZodString>;
10597
+ links: z.ZodOptional<z.ZodObject<{
10598
+ found: z.ZodNumber;
10599
+ checked: z.ZodNumber;
10600
+ limit: z.ZodNumber;
10601
+ broken: z.ZodArray<z.ZodObject<{
10602
+ url: z.ZodString;
10603
+ status: z.ZodOptional<z.ZodNumber>;
10604
+ contentType: z.ZodOptional<z.ZodString>;
10605
+ error: z.ZodOptional<z.ZodString>;
10606
+ }, z.core.$strip>>;
10607
+ }, z.core.$strip>>;
10137
10608
  }, z.core.$strip>>;
10138
10609
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
10139
10610
  url: z.ZodString;
@@ -10142,6 +10613,45 @@ declare const crawlerSchemas: {
10142
10613
  contentType: z.ZodOptional<z.ZodString>;
10143
10614
  validJson: z.ZodOptional<z.ZodBoolean>;
10144
10615
  }, z.core.$strip>>>;
10616
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
10617
+ url: z.ZodString;
10618
+ availability: z.ZodEnum<{
10619
+ available: "available";
10620
+ absent: "absent";
10621
+ "access-blocked": "access-blocked";
10622
+ "rate-limited": "rate-limited";
10623
+ unreachable: "unreachable";
10624
+ }>;
10625
+ status: z.ZodOptional<z.ZodNumber>;
10626
+ contentType: z.ZodOptional<z.ZodString>;
10627
+ markdown: z.ZodBoolean;
10628
+ varyAccept: z.ZodBoolean;
10629
+ error: z.ZodOptional<z.ZodString>;
10630
+ }, z.core.$strip>>;
10631
+ markdownCopies: z.ZodOptional<z.ZodObject<{
10632
+ publicPages: z.ZodNumber;
10633
+ publicPagesWithLink: z.ZodNumber;
10634
+ privatePagesWithLink: z.ZodNumber;
10635
+ checked: z.ZodNumber;
10636
+ limit: z.ZodNumber;
10637
+ broken: z.ZodArray<z.ZodObject<{
10638
+ url: z.ZodString;
10639
+ status: z.ZodOptional<z.ZodNumber>;
10640
+ contentType: z.ZodOptional<z.ZodString>;
10641
+ error: z.ZodOptional<z.ZodString>;
10642
+ page: z.ZodString;
10643
+ public: z.ZodBoolean;
10644
+ }, z.core.$strip>>;
10645
+ largest: z.ZodOptional<z.ZodObject<{
10646
+ url: z.ZodString;
10647
+ estimatedTokens: z.ZodNumber;
10648
+ }, z.core.$strip>>;
10649
+ }, z.core.$strip>>;
10650
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
10651
+ url: z.ZodString;
10652
+ linkRelations: z.ZodArray<z.ZodString>;
10653
+ contentSignal: z.ZodOptional<z.ZodString>;
10654
+ }, z.core.$strip>>;
10145
10655
  }, z.core.$strip>>;
10146
10656
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
10147
10657
  dataStatus: z.ZodEnum<{
@@ -10553,15 +11063,15 @@ declare const crawlerSchemas: {
10553
11063
  skippedUrls: z.ZodNumber;
10554
11064
  skipReasons: z.ZodArray<z.ZodObject<{
10555
11065
  reason: z.ZodEnum<{
11066
+ "invalid-url": "invalid-url";
11067
+ "robots-disallowed": "robots-disallowed";
11068
+ "origin-backpressure": "origin-backpressure";
10556
11069
  "asset-url": "asset-url";
10557
11070
  "configured-exclusion": "configured-exclusion";
10558
11071
  "duplicate-normalization": "duplicate-normalization";
10559
- "invalid-url": "invalid-url";
10560
11072
  "memory-pressure": "memory-pressure";
10561
11073
  "off-origin": "off-origin";
10562
- "origin-backpressure": "origin-backpressure";
10563
11074
  "queue-safety-limit": "queue-safety-limit";
10564
- "robots-disallowed": "robots-disallowed";
10565
11075
  "robots-uncertain": "robots-uncertain";
10566
11076
  "legacy-unclassified": "legacy-unclassified";
10567
11077
  }>;
@@ -10933,10 +11443,10 @@ declare const crawlerSchemas: {
10933
11443
  raw: z.ZodString;
10934
11444
  resolved: z.ZodOptional<z.ZodString>;
10935
11445
  ignoredReason: z.ZodOptional<z.ZodEnum<{
10936
- "invalid-url": "invalid-url";
10937
11446
  "outside-head": "outside-head";
10938
11447
  "alternate-qualifier": "alternate-qualifier";
10939
11448
  fragment: "fragment";
11449
+ "invalid-url": "invalid-url";
10940
11450
  "non-http-url": "non-http-url";
10941
11451
  }>>;
10942
11452
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -11248,7 +11758,7 @@ declare const crawlerSchemas: {
11248
11758
  security: "security";
11249
11759
  social: "social";
11250
11760
  "structured-data": "structured-data";
11251
- geo: "geo";
11761
+ agents: "agents";
11252
11762
  }>;
11253
11763
  severity: z.ZodEnum<{
11254
11764
  high: "high";
@@ -11285,7 +11795,7 @@ declare const crawlerSchemas: {
11285
11795
  security: "security";
11286
11796
  social: "social";
11287
11797
  "structured-data": "structured-data";
11288
- geo: "geo";
11798
+ agents: "agents";
11289
11799
  }>;
11290
11800
  severity: z.ZodEnum<{
11291
11801
  high: "high";
@@ -11367,6 +11877,11 @@ declare const crawlerSchemas: {
11367
11877
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
11368
11878
  botAccess: z.ZodArray<z.ZodObject<{
11369
11879
  userAgent: z.ZodString;
11880
+ purpose: z.ZodEnum<{
11881
+ other: "other";
11882
+ search: "search";
11883
+ training: "training";
11884
+ }>;
11370
11885
  allowed: z.ZodNullable<z.ZodBoolean>;
11371
11886
  declared: z.ZodBoolean;
11372
11887
  coveredByWildcard: z.ZodBoolean;
@@ -11375,7 +11890,26 @@ declare const crawlerSchemas: {
11375
11890
  llmsTxt: z.ZodOptional<z.ZodObject<{
11376
11891
  url: z.ZodString;
11377
11892
  exists: z.ZodBoolean;
11893
+ availability: z.ZodOptional<z.ZodEnum<{
11894
+ available: "available";
11895
+ absent: "absent";
11896
+ "access-blocked": "access-blocked";
11897
+ "rate-limited": "rate-limited";
11898
+ unreachable: "unreachable";
11899
+ }>>;
11378
11900
  status: z.ZodOptional<z.ZodNumber>;
11901
+ error: z.ZodOptional<z.ZodString>;
11902
+ links: z.ZodOptional<z.ZodObject<{
11903
+ found: z.ZodNumber;
11904
+ checked: z.ZodNumber;
11905
+ limit: z.ZodNumber;
11906
+ broken: z.ZodArray<z.ZodObject<{
11907
+ url: z.ZodString;
11908
+ status: z.ZodOptional<z.ZodNumber>;
11909
+ contentType: z.ZodOptional<z.ZodString>;
11910
+ error: z.ZodOptional<z.ZodString>;
11911
+ }, z.core.$strip>>;
11912
+ }, z.core.$strip>>;
11379
11913
  }, z.core.$strip>>;
11380
11914
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
11381
11915
  url: z.ZodString;
@@ -11384,6 +11918,45 @@ declare const crawlerSchemas: {
11384
11918
  contentType: z.ZodOptional<z.ZodString>;
11385
11919
  validJson: z.ZodOptional<z.ZodBoolean>;
11386
11920
  }, z.core.$strip>>>;
11921
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
11922
+ url: z.ZodString;
11923
+ availability: z.ZodEnum<{
11924
+ available: "available";
11925
+ absent: "absent";
11926
+ "access-blocked": "access-blocked";
11927
+ "rate-limited": "rate-limited";
11928
+ unreachable: "unreachable";
11929
+ }>;
11930
+ status: z.ZodOptional<z.ZodNumber>;
11931
+ contentType: z.ZodOptional<z.ZodString>;
11932
+ markdown: z.ZodBoolean;
11933
+ varyAccept: z.ZodBoolean;
11934
+ error: z.ZodOptional<z.ZodString>;
11935
+ }, z.core.$strip>>;
11936
+ markdownCopies: z.ZodOptional<z.ZodObject<{
11937
+ publicPages: z.ZodNumber;
11938
+ publicPagesWithLink: z.ZodNumber;
11939
+ privatePagesWithLink: z.ZodNumber;
11940
+ checked: z.ZodNumber;
11941
+ limit: z.ZodNumber;
11942
+ broken: z.ZodArray<z.ZodObject<{
11943
+ url: z.ZodString;
11944
+ status: z.ZodOptional<z.ZodNumber>;
11945
+ contentType: z.ZodOptional<z.ZodString>;
11946
+ error: z.ZodOptional<z.ZodString>;
11947
+ page: z.ZodString;
11948
+ public: z.ZodBoolean;
11949
+ }, z.core.$strip>>;
11950
+ largest: z.ZodOptional<z.ZodObject<{
11951
+ url: z.ZodString;
11952
+ estimatedTokens: z.ZodNumber;
11953
+ }, z.core.$strip>>;
11954
+ }, z.core.$strip>>;
11955
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
11956
+ url: z.ZodString;
11957
+ linkRelations: z.ZodArray<z.ZodString>;
11958
+ contentSignal: z.ZodOptional<z.ZodString>;
11959
+ }, z.core.$strip>>;
11387
11960
  }, z.core.$strip>>;
11388
11961
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
11389
11962
  dataStatus: z.ZodEnum<{
@@ -11689,7 +12262,7 @@ declare const crawlerSchemas: {
11689
12262
  security: "security";
11690
12263
  social: "social";
11691
12264
  "structured-data": "structured-data";
11692
- geo: "geo";
12265
+ agents: "agents";
11693
12266
  }>;
11694
12267
  severity: z.ZodEnum<{
11695
12268
  high: "high";
@@ -11719,7 +12292,7 @@ declare const crawlerSchemas: {
11719
12292
  security: "security";
11720
12293
  social: "social";
11721
12294
  "structured-data": "structured-data";
11722
- geo: "geo";
12295
+ agents: "agents";
11723
12296
  }>;
11724
12297
  severity: z.ZodEnum<{
11725
12298
  high: "high";
@@ -11778,7 +12351,7 @@ declare const crawlerSchemas: {
11778
12351
  security: "security";
11779
12352
  social: "social";
11780
12353
  "structured-data": "structured-data";
11781
- geo: "geo";
12354
+ agents: "agents";
11782
12355
  }>;
11783
12356
  defaultSeverity: z.ZodEnum<{
11784
12357
  high: "high";
@@ -12299,10 +12872,10 @@ declare const crawlerSchemas: {
12299
12872
  raw: z.ZodString;
12300
12873
  resolved: z.ZodOptional<z.ZodString>;
12301
12874
  ignoredReason: z.ZodOptional<z.ZodEnum<{
12302
- "invalid-url": "invalid-url";
12303
12875
  "outside-head": "outside-head";
12304
12876
  "alternate-qualifier": "alternate-qualifier";
12305
12877
  fragment: "fragment";
12878
+ "invalid-url": "invalid-url";
12306
12879
  "non-http-url": "non-http-url";
12307
12880
  }>>;
12308
12881
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -12723,15 +13296,15 @@ declare const crawlerJsonSchemas: {
12723
13296
  skippedUrls: z.ZodNumber;
12724
13297
  skipReasons: z.ZodArray<z.ZodObject<{
12725
13298
  reason: z.ZodEnum<{
13299
+ "invalid-url": "invalid-url";
13300
+ "robots-disallowed": "robots-disallowed";
13301
+ "origin-backpressure": "origin-backpressure";
12726
13302
  "asset-url": "asset-url";
12727
13303
  "configured-exclusion": "configured-exclusion";
12728
13304
  "duplicate-normalization": "duplicate-normalization";
12729
- "invalid-url": "invalid-url";
12730
13305
  "memory-pressure": "memory-pressure";
12731
13306
  "off-origin": "off-origin";
12732
- "origin-backpressure": "origin-backpressure";
12733
13307
  "queue-safety-limit": "queue-safety-limit";
12734
- "robots-disallowed": "robots-disallowed";
12735
13308
  "robots-uncertain": "robots-uncertain";
12736
13309
  "legacy-unclassified": "legacy-unclassified";
12737
13310
  }>;
@@ -13103,10 +13676,10 @@ declare const crawlerJsonSchemas: {
13103
13676
  raw: z.ZodString;
13104
13677
  resolved: z.ZodOptional<z.ZodString>;
13105
13678
  ignoredReason: z.ZodOptional<z.ZodEnum<{
13106
- "invalid-url": "invalid-url";
13107
13679
  "outside-head": "outside-head";
13108
13680
  "alternate-qualifier": "alternate-qualifier";
13109
13681
  fragment: "fragment";
13682
+ "invalid-url": "invalid-url";
13110
13683
  "non-http-url": "non-http-url";
13111
13684
  }>>;
13112
13685
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -13418,7 +13991,7 @@ declare const crawlerJsonSchemas: {
13418
13991
  security: "security";
13419
13992
  social: "social";
13420
13993
  "structured-data": "structured-data";
13421
- geo: "geo";
13994
+ agents: "agents";
13422
13995
  }>;
13423
13996
  severity: z.ZodEnum<{
13424
13997
  high: "high";
@@ -13455,7 +14028,7 @@ declare const crawlerJsonSchemas: {
13455
14028
  security: "security";
13456
14029
  social: "social";
13457
14030
  "structured-data": "structured-data";
13458
- geo: "geo";
14031
+ agents: "agents";
13459
14032
  }>;
13460
14033
  severity: z.ZodEnum<{
13461
14034
  high: "high";
@@ -13537,6 +14110,11 @@ declare const crawlerJsonSchemas: {
13537
14110
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
13538
14111
  botAccess: z.ZodArray<z.ZodObject<{
13539
14112
  userAgent: z.ZodString;
14113
+ purpose: z.ZodEnum<{
14114
+ other: "other";
14115
+ search: "search";
14116
+ training: "training";
14117
+ }>;
13540
14118
  allowed: z.ZodNullable<z.ZodBoolean>;
13541
14119
  declared: z.ZodBoolean;
13542
14120
  coveredByWildcard: z.ZodBoolean;
@@ -13545,7 +14123,26 @@ declare const crawlerJsonSchemas: {
13545
14123
  llmsTxt: z.ZodOptional<z.ZodObject<{
13546
14124
  url: z.ZodString;
13547
14125
  exists: z.ZodBoolean;
14126
+ availability: z.ZodOptional<z.ZodEnum<{
14127
+ available: "available";
14128
+ absent: "absent";
14129
+ "access-blocked": "access-blocked";
14130
+ "rate-limited": "rate-limited";
14131
+ unreachable: "unreachable";
14132
+ }>>;
13548
14133
  status: z.ZodOptional<z.ZodNumber>;
14134
+ error: z.ZodOptional<z.ZodString>;
14135
+ links: z.ZodOptional<z.ZodObject<{
14136
+ found: z.ZodNumber;
14137
+ checked: z.ZodNumber;
14138
+ limit: z.ZodNumber;
14139
+ broken: z.ZodArray<z.ZodObject<{
14140
+ url: z.ZodString;
14141
+ status: z.ZodOptional<z.ZodNumber>;
14142
+ contentType: z.ZodOptional<z.ZodString>;
14143
+ error: z.ZodOptional<z.ZodString>;
14144
+ }, z.core.$strip>>;
14145
+ }, z.core.$strip>>;
13549
14146
  }, z.core.$strip>>;
13550
14147
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
13551
14148
  url: z.ZodString;
@@ -13554,6 +14151,45 @@ declare const crawlerJsonSchemas: {
13554
14151
  contentType: z.ZodOptional<z.ZodString>;
13555
14152
  validJson: z.ZodOptional<z.ZodBoolean>;
13556
14153
  }, z.core.$strip>>>;
14154
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
14155
+ url: z.ZodString;
14156
+ availability: z.ZodEnum<{
14157
+ available: "available";
14158
+ absent: "absent";
14159
+ "access-blocked": "access-blocked";
14160
+ "rate-limited": "rate-limited";
14161
+ unreachable: "unreachable";
14162
+ }>;
14163
+ status: z.ZodOptional<z.ZodNumber>;
14164
+ contentType: z.ZodOptional<z.ZodString>;
14165
+ markdown: z.ZodBoolean;
14166
+ varyAccept: z.ZodBoolean;
14167
+ error: z.ZodOptional<z.ZodString>;
14168
+ }, z.core.$strip>>;
14169
+ markdownCopies: z.ZodOptional<z.ZodObject<{
14170
+ publicPages: z.ZodNumber;
14171
+ publicPagesWithLink: z.ZodNumber;
14172
+ privatePagesWithLink: z.ZodNumber;
14173
+ checked: z.ZodNumber;
14174
+ limit: z.ZodNumber;
14175
+ broken: z.ZodArray<z.ZodObject<{
14176
+ url: z.ZodString;
14177
+ status: z.ZodOptional<z.ZodNumber>;
14178
+ contentType: z.ZodOptional<z.ZodString>;
14179
+ error: z.ZodOptional<z.ZodString>;
14180
+ page: z.ZodString;
14181
+ public: z.ZodBoolean;
14182
+ }, z.core.$strip>>;
14183
+ largest: z.ZodOptional<z.ZodObject<{
14184
+ url: z.ZodString;
14185
+ estimatedTokens: z.ZodNumber;
14186
+ }, z.core.$strip>>;
14187
+ }, z.core.$strip>>;
14188
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
14189
+ url: z.ZodString;
14190
+ linkRelations: z.ZodArray<z.ZodString>;
14191
+ contentSignal: z.ZodOptional<z.ZodString>;
14192
+ }, z.core.$strip>>;
13557
14193
  }, z.core.$strip>>;
13558
14194
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
13559
14195
  dataStatus: z.ZodEnum<{
@@ -13965,15 +14601,15 @@ declare const crawlerJsonSchemas: {
13965
14601
  skippedUrls: z.ZodNumber;
13966
14602
  skipReasons: z.ZodArray<z.ZodObject<{
13967
14603
  reason: z.ZodEnum<{
14604
+ "invalid-url": "invalid-url";
14605
+ "robots-disallowed": "robots-disallowed";
14606
+ "origin-backpressure": "origin-backpressure";
13968
14607
  "asset-url": "asset-url";
13969
14608
  "configured-exclusion": "configured-exclusion";
13970
14609
  "duplicate-normalization": "duplicate-normalization";
13971
- "invalid-url": "invalid-url";
13972
14610
  "memory-pressure": "memory-pressure";
13973
14611
  "off-origin": "off-origin";
13974
- "origin-backpressure": "origin-backpressure";
13975
14612
  "queue-safety-limit": "queue-safety-limit";
13976
- "robots-disallowed": "robots-disallowed";
13977
14613
  "robots-uncertain": "robots-uncertain";
13978
14614
  "legacy-unclassified": "legacy-unclassified";
13979
14615
  }>;
@@ -14345,10 +14981,10 @@ declare const crawlerJsonSchemas: {
14345
14981
  raw: z.ZodString;
14346
14982
  resolved: z.ZodOptional<z.ZodString>;
14347
14983
  ignoredReason: z.ZodOptional<z.ZodEnum<{
14348
- "invalid-url": "invalid-url";
14349
14984
  "outside-head": "outside-head";
14350
14985
  "alternate-qualifier": "alternate-qualifier";
14351
14986
  fragment: "fragment";
14987
+ "invalid-url": "invalid-url";
14352
14988
  "non-http-url": "non-http-url";
14353
14989
  }>>;
14354
14990
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -14660,7 +15296,7 @@ declare const crawlerJsonSchemas: {
14660
15296
  security: "security";
14661
15297
  social: "social";
14662
15298
  "structured-data": "structured-data";
14663
- geo: "geo";
15299
+ agents: "agents";
14664
15300
  }>;
14665
15301
  severity: z.ZodEnum<{
14666
15302
  high: "high";
@@ -14697,7 +15333,7 @@ declare const crawlerJsonSchemas: {
14697
15333
  security: "security";
14698
15334
  social: "social";
14699
15335
  "structured-data": "structured-data";
14700
- geo: "geo";
15336
+ agents: "agents";
14701
15337
  }>;
14702
15338
  severity: z.ZodEnum<{
14703
15339
  high: "high";
@@ -14779,6 +15415,11 @@ declare const crawlerJsonSchemas: {
14779
15415
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
14780
15416
  botAccess: z.ZodArray<z.ZodObject<{
14781
15417
  userAgent: z.ZodString;
15418
+ purpose: z.ZodEnum<{
15419
+ other: "other";
15420
+ search: "search";
15421
+ training: "training";
15422
+ }>;
14782
15423
  allowed: z.ZodNullable<z.ZodBoolean>;
14783
15424
  declared: z.ZodBoolean;
14784
15425
  coveredByWildcard: z.ZodBoolean;
@@ -14787,7 +15428,26 @@ declare const crawlerJsonSchemas: {
14787
15428
  llmsTxt: z.ZodOptional<z.ZodObject<{
14788
15429
  url: z.ZodString;
14789
15430
  exists: z.ZodBoolean;
15431
+ availability: z.ZodOptional<z.ZodEnum<{
15432
+ available: "available";
15433
+ absent: "absent";
15434
+ "access-blocked": "access-blocked";
15435
+ "rate-limited": "rate-limited";
15436
+ unreachable: "unreachable";
15437
+ }>>;
14790
15438
  status: z.ZodOptional<z.ZodNumber>;
15439
+ error: z.ZodOptional<z.ZodString>;
15440
+ links: z.ZodOptional<z.ZodObject<{
15441
+ found: z.ZodNumber;
15442
+ checked: z.ZodNumber;
15443
+ limit: z.ZodNumber;
15444
+ broken: z.ZodArray<z.ZodObject<{
15445
+ url: z.ZodString;
15446
+ status: z.ZodOptional<z.ZodNumber>;
15447
+ contentType: z.ZodOptional<z.ZodString>;
15448
+ error: z.ZodOptional<z.ZodString>;
15449
+ }, z.core.$strip>>;
15450
+ }, z.core.$strip>>;
14791
15451
  }, z.core.$strip>>;
14792
15452
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
14793
15453
  url: z.ZodString;
@@ -14796,6 +15456,45 @@ declare const crawlerJsonSchemas: {
14796
15456
  contentType: z.ZodOptional<z.ZodString>;
14797
15457
  validJson: z.ZodOptional<z.ZodBoolean>;
14798
15458
  }, z.core.$strip>>>;
15459
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
15460
+ url: z.ZodString;
15461
+ availability: z.ZodEnum<{
15462
+ available: "available";
15463
+ absent: "absent";
15464
+ "access-blocked": "access-blocked";
15465
+ "rate-limited": "rate-limited";
15466
+ unreachable: "unreachable";
15467
+ }>;
15468
+ status: z.ZodOptional<z.ZodNumber>;
15469
+ contentType: z.ZodOptional<z.ZodString>;
15470
+ markdown: z.ZodBoolean;
15471
+ varyAccept: z.ZodBoolean;
15472
+ error: z.ZodOptional<z.ZodString>;
15473
+ }, z.core.$strip>>;
15474
+ markdownCopies: z.ZodOptional<z.ZodObject<{
15475
+ publicPages: z.ZodNumber;
15476
+ publicPagesWithLink: z.ZodNumber;
15477
+ privatePagesWithLink: z.ZodNumber;
15478
+ checked: z.ZodNumber;
15479
+ limit: z.ZodNumber;
15480
+ broken: z.ZodArray<z.ZodObject<{
15481
+ url: z.ZodString;
15482
+ status: z.ZodOptional<z.ZodNumber>;
15483
+ contentType: z.ZodOptional<z.ZodString>;
15484
+ error: z.ZodOptional<z.ZodString>;
15485
+ page: z.ZodString;
15486
+ public: z.ZodBoolean;
15487
+ }, z.core.$strip>>;
15488
+ largest: z.ZodOptional<z.ZodObject<{
15489
+ url: z.ZodString;
15490
+ estimatedTokens: z.ZodNumber;
15491
+ }, z.core.$strip>>;
15492
+ }, z.core.$strip>>;
15493
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
15494
+ url: z.ZodString;
15495
+ linkRelations: z.ZodArray<z.ZodString>;
15496
+ contentSignal: z.ZodOptional<z.ZodString>;
15497
+ }, z.core.$strip>>;
14799
15498
  }, z.core.$strip>>;
14800
15499
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
14801
15500
  dataStatus: z.ZodEnum<{
@@ -15207,15 +15906,15 @@ declare const crawlerJsonSchemas: {
15207
15906
  skippedUrls: z.ZodNumber;
15208
15907
  skipReasons: z.ZodArray<z.ZodObject<{
15209
15908
  reason: z.ZodEnum<{
15909
+ "invalid-url": "invalid-url";
15910
+ "robots-disallowed": "robots-disallowed";
15911
+ "origin-backpressure": "origin-backpressure";
15210
15912
  "asset-url": "asset-url";
15211
15913
  "configured-exclusion": "configured-exclusion";
15212
15914
  "duplicate-normalization": "duplicate-normalization";
15213
- "invalid-url": "invalid-url";
15214
15915
  "memory-pressure": "memory-pressure";
15215
15916
  "off-origin": "off-origin";
15216
- "origin-backpressure": "origin-backpressure";
15217
15917
  "queue-safety-limit": "queue-safety-limit";
15218
- "robots-disallowed": "robots-disallowed";
15219
15918
  "robots-uncertain": "robots-uncertain";
15220
15919
  "legacy-unclassified": "legacy-unclassified";
15221
15920
  }>;
@@ -15587,10 +16286,10 @@ declare const crawlerJsonSchemas: {
15587
16286
  raw: z.ZodString;
15588
16287
  resolved: z.ZodOptional<z.ZodString>;
15589
16288
  ignoredReason: z.ZodOptional<z.ZodEnum<{
15590
- "invalid-url": "invalid-url";
15591
16289
  "outside-head": "outside-head";
15592
16290
  "alternate-qualifier": "alternate-qualifier";
15593
16291
  fragment: "fragment";
16292
+ "invalid-url": "invalid-url";
15594
16293
  "non-http-url": "non-http-url";
15595
16294
  }>>;
15596
16295
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -15902,7 +16601,7 @@ declare const crawlerJsonSchemas: {
15902
16601
  security: "security";
15903
16602
  social: "social";
15904
16603
  "structured-data": "structured-data";
15905
- geo: "geo";
16604
+ agents: "agents";
15906
16605
  }>;
15907
16606
  severity: z.ZodEnum<{
15908
16607
  high: "high";
@@ -15939,7 +16638,7 @@ declare const crawlerJsonSchemas: {
15939
16638
  security: "security";
15940
16639
  social: "social";
15941
16640
  "structured-data": "structured-data";
15942
- geo: "geo";
16641
+ agents: "agents";
15943
16642
  }>;
15944
16643
  severity: z.ZodEnum<{
15945
16644
  high: "high";
@@ -16021,6 +16720,11 @@ declare const crawlerJsonSchemas: {
16021
16720
  contentSignals: z.ZodOptional<z.ZodArray<z.ZodString>>;
16022
16721
  botAccess: z.ZodArray<z.ZodObject<{
16023
16722
  userAgent: z.ZodString;
16723
+ purpose: z.ZodEnum<{
16724
+ other: "other";
16725
+ search: "search";
16726
+ training: "training";
16727
+ }>;
16024
16728
  allowed: z.ZodNullable<z.ZodBoolean>;
16025
16729
  declared: z.ZodBoolean;
16026
16730
  coveredByWildcard: z.ZodBoolean;
@@ -16029,7 +16733,26 @@ declare const crawlerJsonSchemas: {
16029
16733
  llmsTxt: z.ZodOptional<z.ZodObject<{
16030
16734
  url: z.ZodString;
16031
16735
  exists: z.ZodBoolean;
16736
+ availability: z.ZodOptional<z.ZodEnum<{
16737
+ available: "available";
16738
+ absent: "absent";
16739
+ "access-blocked": "access-blocked";
16740
+ "rate-limited": "rate-limited";
16741
+ unreachable: "unreachable";
16742
+ }>>;
16032
16743
  status: z.ZodOptional<z.ZodNumber>;
16744
+ error: z.ZodOptional<z.ZodString>;
16745
+ links: z.ZodOptional<z.ZodObject<{
16746
+ found: z.ZodNumber;
16747
+ checked: z.ZodNumber;
16748
+ limit: z.ZodNumber;
16749
+ broken: z.ZodArray<z.ZodObject<{
16750
+ url: z.ZodString;
16751
+ status: z.ZodOptional<z.ZodNumber>;
16752
+ contentType: z.ZodOptional<z.ZodString>;
16753
+ error: z.ZodOptional<z.ZodString>;
16754
+ }, z.core.$strip>>;
16755
+ }, z.core.$strip>>;
16033
16756
  }, z.core.$strip>>;
16034
16757
  agentResources: z.ZodOptional<z.ZodArray<z.ZodObject<{
16035
16758
  url: z.ZodString;
@@ -16038,6 +16761,45 @@ declare const crawlerJsonSchemas: {
16038
16761
  contentType: z.ZodOptional<z.ZodString>;
16039
16762
  validJson: z.ZodOptional<z.ZodBoolean>;
16040
16763
  }, z.core.$strip>>>;
16764
+ markdownNegotiation: z.ZodOptional<z.ZodObject<{
16765
+ url: z.ZodString;
16766
+ availability: z.ZodEnum<{
16767
+ available: "available";
16768
+ absent: "absent";
16769
+ "access-blocked": "access-blocked";
16770
+ "rate-limited": "rate-limited";
16771
+ unreachable: "unreachable";
16772
+ }>;
16773
+ status: z.ZodOptional<z.ZodNumber>;
16774
+ contentType: z.ZodOptional<z.ZodString>;
16775
+ markdown: z.ZodBoolean;
16776
+ varyAccept: z.ZodBoolean;
16777
+ error: z.ZodOptional<z.ZodString>;
16778
+ }, z.core.$strip>>;
16779
+ markdownCopies: z.ZodOptional<z.ZodObject<{
16780
+ publicPages: z.ZodNumber;
16781
+ publicPagesWithLink: z.ZodNumber;
16782
+ privatePagesWithLink: z.ZodNumber;
16783
+ checked: z.ZodNumber;
16784
+ limit: z.ZodNumber;
16785
+ broken: z.ZodArray<z.ZodObject<{
16786
+ url: z.ZodString;
16787
+ status: z.ZodOptional<z.ZodNumber>;
16788
+ contentType: z.ZodOptional<z.ZodString>;
16789
+ error: z.ZodOptional<z.ZodString>;
16790
+ page: z.ZodString;
16791
+ public: z.ZodBoolean;
16792
+ }, z.core.$strip>>;
16793
+ largest: z.ZodOptional<z.ZodObject<{
16794
+ url: z.ZodString;
16795
+ estimatedTokens: z.ZodNumber;
16796
+ }, z.core.$strip>>;
16797
+ }, z.core.$strip>>;
16798
+ startPageHeaders: z.ZodOptional<z.ZodObject<{
16799
+ url: z.ZodString;
16800
+ linkRelations: z.ZodArray<z.ZodString>;
16801
+ contentSignal: z.ZodOptional<z.ZodString>;
16802
+ }, z.core.$strip>>;
16041
16803
  }, z.core.$strip>>;
16042
16804
  sitemapDiscovery: z.ZodOptional<z.ZodObject<{
16043
16805
  dataStatus: z.ZodEnum<{
@@ -16343,7 +17105,7 @@ declare const crawlerJsonSchemas: {
16343
17105
  security: "security";
16344
17106
  social: "social";
16345
17107
  "structured-data": "structured-data";
16346
- geo: "geo";
17108
+ agents: "agents";
16347
17109
  }>;
16348
17110
  severity: z.ZodEnum<{
16349
17111
  high: "high";
@@ -16373,7 +17135,7 @@ declare const crawlerJsonSchemas: {
16373
17135
  security: "security";
16374
17136
  social: "social";
16375
17137
  "structured-data": "structured-data";
16376
- geo: "geo";
17138
+ agents: "agents";
16377
17139
  }>;
16378
17140
  severity: z.ZodEnum<{
16379
17141
  high: "high";
@@ -16432,7 +17194,7 @@ declare const crawlerJsonSchemas: {
16432
17194
  security: "security";
16433
17195
  social: "social";
16434
17196
  "structured-data": "structured-data";
16435
- geo: "geo";
17197
+ agents: "agents";
16436
17198
  }>;
16437
17199
  defaultSeverity: z.ZodEnum<{
16438
17200
  high: "high";
@@ -16953,10 +17715,10 @@ declare const crawlerJsonSchemas: {
16953
17715
  raw: z.ZodString;
16954
17716
  resolved: z.ZodOptional<z.ZodString>;
16955
17717
  ignoredReason: z.ZodOptional<z.ZodEnum<{
16956
- "invalid-url": "invalid-url";
16957
17718
  "outside-head": "outside-head";
16958
17719
  "alternate-qualifier": "alternate-qualifier";
16959
17720
  fragment: "fragment";
17721
+ "invalid-url": "invalid-url";
16960
17722
  "non-http-url": "non-http-url";
16961
17723
  }>>;
16962
17724
  streamedMetadata: z.ZodOptional<z.ZodLiteral<true>>;
@@ -20570,53 +21332,11 @@ declare function finishCloudLogin(): Promise<'linked' | 'pending' | 'expired'>;
20570
21332
  declare function cloudLogout(): Promise<boolean>;
20571
21333
  declare function openCloudLink(url: string): Promise<void>;
20572
21334
  //#endregion
20573
- //#region packages/core/src/errors.d.ts
20574
- type SeoErrorCode = 'ACCESS_DENIED' | 'AUTH_CONFIG_REQUIRED' | 'AUTH_EXPIRED' | 'AUTH_REQUIRED' | 'INSUFFICIENT_DATA' | 'INTERNAL_ERROR' | 'INVALID_INPUT' | 'OPTIONAL_PROVIDER_UNAVAILABLE' | 'PROPERTY_NOT_FOUND' | 'PROVIDER_UNAVAILABLE' | 'RATE_LIMITED';
20575
- declare class SeoError extends Error {
20576
- readonly code: SeoErrorCode;
20577
- readonly exitCode: number;
20578
- readonly retryable: boolean;
20579
- constructor(code: SeoErrorCode, message: string);
20580
- }
20581
- declare function toSeoError(error: unknown): SeoError;
20582
- declare function isSkippableReportError(error: unknown): boolean;
20583
- declare function seoErrorEnvelope(error: unknown): {
20584
- ok: false;
20585
- error: {
20586
- code: SeoErrorCode;
20587
- message: string;
20588
- retryable: boolean;
20589
- };
20590
- };
20591
- //#endregion
20592
- //#region packages/core/src/google/api.d.ts
20593
- type GoogleFetch = (url: string, init?: RequestInit) => Promise<Response>;
20594
- type GoogleCallOptions = {
21335
+ //#region packages/core/src/commands/analytics-site.d.ts
21336
+ type AnalyticsAccess = {
21337
+ accounts: () => Promise<GoogleAccount[]>;
20595
21338
  signIn: string;
20596
21339
  };
20597
- declare class GoogleApiError extends SeoError {
20598
- readonly status: number;
20599
- constructor(code: SeoErrorCode, message: string, status: number);
20600
- }
20601
- declare function bearerFetch(token: () => Promise<string> | string): GoogleFetch;
20602
- declare function googleJson<T>(gfetch: GoogleFetch, url: string, input: {
20603
- body?: unknown;
20604
- label: string;
20605
- subject?: string;
20606
- maxBytes?: number;
20607
- } & GoogleCallOptions): Promise<T>;
20608
- declare function searchAnalyticsRows(gfetch: GoogleFetch, site: string, body: SearchAnalyticsRequest, options: GoogleCallOptions): Promise<SearchAnalyticsResult>;
20609
- type SearchConsoleSite = {
20610
- siteUrl: string;
20611
- permissionLevel?: string;
20612
- siteType?: string;
20613
- };
20614
- declare function listSearchConsoleSites(gfetch: GoogleFetch, options: GoogleCallOptions): Promise<SearchConsoleSite[]>;
20615
- declare function inspectSearchConsoleUrl(gfetch: GoogleFetch, site: string, url: string, options: GoogleCallOptions & {
20616
- languageCode?: string;
20617
- }): Promise<unknown>;
20618
- declare function listAnalyticsAccounts(gfetch: GoogleFetch, options: GoogleCallOptions): Promise<Ga4AccountSummary[]>;
20619
- declare function runAnalyticsReport<T = unknown>(gfetch: GoogleFetch, propertyId: string, body: unknown, options: GoogleCallOptions): Promise<T>;
20620
21340
  //#endregion
20621
21341
  //#region packages/core/src/commands/types.d.ts
20622
21342
  declare const COMMANDS: {
@@ -20630,7 +21350,7 @@ declare const COMMANDS: {
20630
21350
  };
20631
21351
  readonly compare: {
20632
21352
  readonly where: "anywhere";
20633
- readonly summary: "Equal periods before and after a date, for the site or some URLs, with Google updates.";
21353
+ readonly summary: "Equal periods before and after a date, for the site or some URLs, with Google Analytics sessions and Google updates.";
20634
21354
  };
20635
21355
  readonly index: {
20636
21356
  readonly where: "anywhere";
@@ -20682,6 +21402,7 @@ type CommandDeps = {
20682
21402
  call: Caller;
20683
21403
  bing?: () => Promise<BingCall | null>;
20684
21404
  bingConnect?: string;
21405
+ analytics?: AnalyticsAccess;
20685
21406
  now?: () => Date;
20686
21407
  };
20687
21408
  type PageMarkdown = {
@@ -21602,5 +22323,5 @@ declare function isoDate(daysAgo?: number): string;
21602
22323
  //#region packages/core/src/version.d.ts
21603
22324
  declare const SEO_VERSION: string;
21604
22325
  //#endregion
21605
- export { AHREFS_API_KEY_ENV, AHREFS_API_KEY_SECRET, AI_REFERRAL_SOURCES, AI_REFERRAL_SOURCES_VERSION, ANALYTICS_PROVIDER_IDS, AUDIT_PAGE_RULE_IDS, AccessBlockEvidence, AgentFinding, AgentFindingStatus, AgentFindings, AgentFixFinding, AgentReportInventory, AgentReportOptions, AgentReviewFinding, AhrefsClient, AhrefsClientOptions, AhrefsLimitsAndUsage, type AiReferralDataSource, type AiReferralMetrics, type AiReferralQueryEvidence, type AiReferralReport, type AiReferralSourceDefinition, AnalyticsConnection, AnalyticsProvider, AnalyticsProviderDetails, AnalyticsProviderRuntimeOptions, type AnalyzeCannibalImportRowsInput, type AnalyzeCannibalRowsInput, type AnalyzeDecayInput, type AnalyzeQuickWinsInput, type AnalyzeSecondPageInput, type AnalyzeStrikingDistanceInput, AppConfig, AuditPageDependencies, AuditPageReport, AuthorizedGoogleClient, BING_API_KEY_ENV, BING_API_KEY_SECRET, BROWSER_USER_AGENT, BoundedSitemapInventory, BrandTermCandidate, CANNIBAL_MAXIMUM_DOMINANT_SHARE, CANNIBAL_MINIMUM_PAGE_SHARE, CLICKY_SITEKEY_ENV, CLICKY_SITE_KEYS_SECRET, CLOUD_SIGN_IN, CLOUD_URL, CRAWL_SKIP_REASONS, CTR_DEFAULT_LIMIT, CTR_MAX_LIMIT, CTR_MAX_MIN_IMPRESSIONS, CacheStats, type CannibalAnalysis, CannibalDependencies, type CannibalImportAnalysis, CannibalImportDependencies, type CannibalImportItem, type CannibalImportPage, type CannibalImportReport, CannibalImportReportInput, type CannibalImportSelection, type CannibalItem, type CannibalPage, type CannibalReport, CannibalReportInput, CannibalSearchConsoleInput, type CannibalSelection, type CannibalSuppression, type CannibalSuppressionReason, CloudCredentials, ContentExtractionDiagnostics, ContentExtractor, ContentOptimizationIntent, ContentOptimizationReport, CoverageField, CrawlAccessSummary, CrawlAiBotAccess, CrawlAiResourceSignal, CrawlAiSignals, CrawlAnalyticsDataSource, CrawlConfig, CrawlConfigInput, CrawlDataSourceStatus, CrawlDataSourceWindow, CrawlExternalLinkVerification, CrawlFetchRateConfig, CrawlImplementationQueueInput, CrawlImplementationQueueItem, CrawlImplementationQueueOutput, CrawlIssue, CrawlIssueGroup, CrawlLinkGraph, CrawlMode, CrawlOneResult, CrawlOutputFormat, CrawlPageSnapshot, CrawlReport, CrawlReportDataSources, CrawlReportSummary, CrawlRequestObservation, CrawlResponseObservation, CrawlRunStats, CrawlSearchDataSource, type CrawlSiteChecks, type CrawlSiteDependencies, CrawlSitemapDiscovery, CrawlSkipImpact, CrawlSkipReason, CrawlSkipReasonCount, CrawlSkippedUrlsByImpact, CrawlStatusEvent, CrawlStatusHandler, type CrawlStatusPhase, CrawlStrategy, CrawlerIdentity, CredentialsProvider, CreditUsage, CsvFile, CsvRow, CsvValue, type CtrUnderperformer, CtrUnderperformerDependencies, type CtrUnderperformerSelection, CtrUnderperformersInput, CtrUnderperformersReport, DATAFORSEO_CREDENTIAL_SECRET, DATAFORSEO_LOGIN_ENV, DATAFORSEO_PASSWORD_ENV, DEFAULT_SEARCH_CONSOLE_EXPORT_ROW_LIMIT, DEFAULT_UNREACHED_PAGE_LIMIT, type DataForSeoAccountSnapshot, DataForSeoClient, type DataForSeoClientOptions, DataForSeoCredentials, type DecayAnalysis, type DecayComparison, type DecayDiagnosis, type DecayGroup, type DecayItem, type DecayMetrics, type DecayReport, type DecaySelection, type DecaySignal, DecayingDependencies, DecayingReportInput, DiagnosePropertyDependencies, DiagnosePropertyReport, DiagnosisDataStatus, DiagnosisPriority, DoctorCheck, EffectiveSnippetControl, ExternalLinkCheck, ExternalLinkCheckAttempt, ExternalLinkCheckState, ExternalServiceId, ExtractedLinkLocation, ExtractedPage, FetchPageDependencies, type FetchPageOptions, type FetchRateControls, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, type Ga4AccountSummary, Ga4DataStream, type Ga4PropertySummary, Ga4ReportRequest, Ga4RunReportResult, Ga4WebStreamCandidate, Ga4WebStreamMatch, type GoogleAccessTokenClient, GoogleApiError, GoogleCallOptions, GoogleFetch, GoogleRichResultAssessment, GoogleRichResultAssessmentSelection, GoogleRichResultAssessmentStatus, GscRow, HttpProfile, INCIDENTS_URL, INTERNAL_LINK_LEXICAL_TARGET_LIMIT, INTERNAL_LINK_MATCH_EVIDENCE_LIMIT, IndexCoverageBoundedSection, IndexCoverageCandidateItem, IndexCoverageControlReason, IndexCoverageControlledItem, IndexCoverageCrawlInput, IndexCoverageInput, IndexCoverageInventoryItem, IndexCoverageReport, IndexCoverageReportDependencies, IndexCoverageReportInput, IndexCoverageSearchConsoleInput, IndexCoverageSearchVisibilityItem, IndexCoverageSignalsReport, IndexCoverageSitemapInput, IndexCoverageSourceCompleteness, IndexCoverageSourceEvidence, IndexCoverageSourceMembership, IndexCoverageTemplateReview, InstalledProviderPackage, InstalledProviderPackages, type InternalLinkCandidate, type InternalLinkMatchKind, type InternalLinkOpportunity, type InternalLinkQueryMatch, InternalLinksAnalysis, InternalLinksAnalysisInput, InternalLinksDependencies, InternalLinksInput, type InternalLinksReport, type InternalLinksSelection, type InternalLinksWarning, type JavaScriptRenderingInput, type JavaScriptRenderingMode, JsonFileStorageAdapter, KeywordMetric, KeywordMonthlySearch, LOCAL_BING_CONNECT, LOCAL_SIGN_IN, LOG_MAX_AGE_MS, LOG_MAX_FILE_BYTES, LOG_MAX_TOTAL_BYTES, LighthouseFailureCode, LinkRecoverItem, LinkRecoverReport, LoadedProviderExtensions, LocalCredentialsProvider, LogPruneResult, MANAGED_PROVIDER_SECRET_NAMES, MAX_CRAWL_CONCURRENCY, MAX_CRAWL_DEPTH, MAX_CRAWL_PAGES, MAX_CRAWL_TIMEOUT_MS, MAX_SEARCH_CONSOLE_EXPORT_FILES, MAX_SEARCH_CONSOLE_EXPORT_ROW_LIMIT, NarrativeSection, type OAuthClientConfig, OpportunityBenchmarkRow, PROVIDER_SECRET_NAMES, PageExtractor, PageFetchDiagnostics, PageFetchResult, PageFetcher, type PageOpportunityAnalysis, type PageOpportunityAnalysisInput, type PageOpportunityBenchmark, PageOpportunityInput, type PageOpportunityItem, PageOpportunityReport, type PageOpportunitySelection, type PageOpportunityType, type PageOpportunityVerification, type PageRenderer, PageSearchMetrics, PageTopQuery, PartialDiagnosisReason, PerformanceAuditReport, PerformanceFieldData, PerformanceFieldMetric, PerformanceMetric, PerformanceRating, PositionBenchmark, Presentation, PresentationChart, PresentationScalar, PresentationTable, PresentationTableColumn, PriorityQueueItem, ProgressReporter, ProviderActionResult, ProviderCapability, ProviderError, ProviderErrorCode, ProviderExtensionLoadFailure, ProviderExtensionLoaderOptions, ProviderExtensionRegistry, ProviderFetch, ProviderId, ProviderImportEvidence, ProviderInstallerOptions, ProviderPackageCommand, ProviderPackageCommandResult, ProviderPackageManifest, ProviderPackageRelease, ProviderRequestInput, ProviderRuntimeOptions, ProviderSecret, ProviderSecretSource, ProviderValue, ProviderWarning, QueryCluster, type QueryClusterPage, QueryClusterReport, type QueryClusterRow, QueryClusterSourceRow, QueryContentClassification, QueryContentCoverage, QueryContentSignal, QueryContentVerifier, QueryFieldCoverage, type QuickWinAnalysis, type QuickWinGroup, type QuickWinItem, type QuickWinSelection, type QuickWinTemplateRecommendation, QuickWinsDependencies, QuickWinsInput, QuickWinsReport, RESEARCH_IMPORT_COLUMN_KEYS, Recommendation, RedirectTraceIssue, RedirectTraceReport, RedirectTraceStep, RegisteredProviderExtension, RenderingDocumentDifference, RenderingDocumentField, RenderingDocumentSnapshot, ReportNarrative, ResearchImportColumn, ResearchImportColumns, ResponseSizeLimitError, RobotsDirective, RuleCategory, RuleId, RuleInfo, RuleRecommendation, RuleSeverity, SEO_CRAWLER_IDENTITY, SEO_CRAWLER_TOKEN, SEO_CRAWLER_USER_AGENT, SEO_PROVIDER_API_VERSION, SEO_VERSION, SERP_TITLE_REFERENCE_WIDTH_PX, SERP_TITLE_WIDTH_PROFILE, STEP_CHANGE_RULES, SearchAnalyticsOptions, SearchAnalyticsQuery, SearchAnalyticsRequest, SearchAnalyticsResult, SearchConsoleExportEvidence, SearchConsoleExportFileImport, SearchConsoleExportPageRow, SearchConsoleExportQueryRow, SearchConsoleExportReconciliation, SearchConsoleSite, SearchDateWindow, SearchPageBatch, type SearchStatusIncident, type SearchUpdate, type SecondPageAnalysis, SecondPageDependencies, SecondPageInput, type SecondPageItem, type SecondPageQuery, type SecondPageRecommendation, type SecondPageReport, type SecondPageSelection, type SegmentDimension, SegmentImpactDependencies, SegmentImpactInput, type SegmentImpactItem, type SegmentImpactReport, type SegmentImpactSelection, type SegmentPeriodEvidence, type SegmentRange, SeoAnalyticsConnection, SeoAnalyticsLandingPageResult, SeoCliPathOptions, SeoCliPaths, SeoError, SeoErrorCode, SeoLandingPageVisitRow, SeoLandingPageVisitsCapability, SeoLandingPageVisitsResult, SeoProviderActionAdapter, SeoProviderActivate, SeoProviderApiVersion, SeoProviderCapabilityAdapter, SeoProviderCapabilityId, SeoProviderConnection, SeoProviderConnectionAdapter, SeoProviderConnectionField, SeoProviderHost, SeoProviderJson, SeoProviderJsonSchema, SeoProviderKind, SeoProviderRegistration, SeoProviderRequest, SeoProviderRuntime, SeoSearchMarket, SeoSerpLocalPackResult, SeoSerpOrganicResult, SeoSerpSnapshotCapability, SeoSerpSnapshotResult, ServiceAccountAccessTokenClient, ServiceAccountConfig, ServiceAccountStatus, SessionLedger, SitemapDocument, SitemapFetchResult, SitemapInvalidLoc, SitemapLastmodObservation, SkippedDiagnosisSection, SnippetControlEvidence, StorageAdapter, StoredAhrefsApiKey, StoredClickySiteKey, StoredDataForSeoCredentials, StoredTokenStore, StoredTokens, type StrikingDistanceAnalysis, type StrikingDistanceAnalysisGroup, type StrikingDistanceAnalysisItem, StrikingDistanceDependencies, StrikingDistanceInput, StrikingDistanceItem, StrikingDistanceReport, TELEMETRY_AGENTS, TELEMETRY_ENDPOINT, TELEMETRY_ERROR_CATEGORIES, TELEMETRY_EVENTS, TELEMETRY_FAILURE_CONTEXTS, TELEMETRY_FAILURE_REASONS, TELEMETRY_NOTICE, TELEMETRY_OPERATIONS, TELEMETRY_REPORTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_TIMEOUT_MS, TelemetryAgent, TelemetryDisableReason, type TelemetryErrorCategory, TelemetryEvent, type TelemetryFailureClassification, type TelemetryFailureContext, type TelemetryFailureReason, type TelemetryOperation, TelemetryOptions, TelemetryPayload, TelemetryReport, TelemetryState, TelemetryStatus, TemplateAwareReport, TitleWidthEstimate, TokenStorageMode, TokenStorageStatus, TopFix, TopFixFilters, TrafficAnomaly, TrafficAnomalyCoverage, TrafficAnomalyDependencies, TrafficAnomalyDetection, TrafficAnomalyInput, TrafficAnomalyReport, TrafficAnomalySelection, type UnmatchedSegment, UpdateConfounder, UpdateCorrelationReport, UrlInspectionRequest, UrlInspectionResult, VerifyQueryContentInput, WorkflowAction, WorkflowReport, WorkflowStep, agentActionsView, aiReferralSourceForValue, aiReferralsReport, analyticsConnectionLabel, analyticsConnectionProviderId, analyticsConnectionSchema, analyticsProviderDetails, analyticsProviderSchema, analyzeAiReferralRows, analyzeCannibalImportRows, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertCrawlConfigLimits, assertUrlMatchesGscProperty, auditCrawlPages, auditCrawlRequests, auditPage, authStatus, bearerFetch, boundedSitemapInventory, buildAgentFindings, buildQueryClusterReportFromRows, buildTelemetryPayload, cannibalImportReport, cannibalReport, cannibalReportWith, changeWindow, checkDatabaseReadiness, classifyTelemetryFailure, clearCache, cloudAccountFor, cloudBing, cloudCredentials, cloudGoogleEmails, cloudGoogleToken, cloudKeys, cloudLinked, cloudLogout, clusterQueryRows, combineRobotsValues, compareSegmentRows, configSchema, contentCoverageRecommendation, contentCoverageType, contentOptimizationFromPageOpportunities, contentOptimizationReport, countLabel, crawlConfigHash, crawlConfigSchema, crawlDefinitionId, crawlFixToQueueItem, crawlImplementationQueueWorkflow, crawlIssueGroupSchema, crawlIssueSchema, crawlOne, crawlPageSnapshotSchema, crawlReportSchema, crawlReportSummarySchema, crawlRequestObservationSchema, crawlRunId, crawlSite, crawlSkipImpact, crawlSkipReasonCountsFromRecord, crawlStatusOnly, crawlTopFixSchema, crawlerJsonSchemas, crawlerRuleCategorySchema, crawlerRuleIdSchema, crawlerRuleInfoSchema, crawlerRuleRecommendationSchema, crawlerRuleSeveritySchema, crawlerSchemas, createAuthorizedClient, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createLogger, createPageRenderer, ctrUnderperformersReport, ctrUnderperformersReportWith, decayClusterDrafts, decayComparisonRange, decayingReport, decayingReportWith, deleteAhrefsApiKey, deleteBingApiKey, deleteClickySiteKey, deleteDataForSeoCredentials, deleteManagedProviderSecrets, deleteProviderExtensionAccount, deleteProviderExtensionCredentials, deleteProviderSecret, deleteTokens, deriveBrandTerms, describeInstalledProviderExtension, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, ensurePrivateDatabaseFiles, ensureSeoCliDirs, estimateSerpTitleWidth, expectedCtrForPosition, explainRule, fetchCruxFieldData, fetchPage, fetchPageStatus, fetchSearchStatusIncidents, fetchSitemapUrls, fileSize, finalGscDateRange, findOverlappingSearchUpdates, finishCloudLogin, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, getAuthModeStatus, getCacheStats, getClientConfig, getDb, getPrivacySnapshot, getSeoCliPaths, getServiceAccountConfig, getServiceAccountStatus, getTelemetryStatus, getTokenStorageStatus, googleJson, groupCrawlIssues, hasMetaRobotsDirective, hasRule, hasXRobotsDirective, hashKey, indexCoverageSignals, inferTemplateMovement, initializeTelemetry, inspectProviderPackage, inspectSearchConsoleUrl, inspectUrl, installProviderPackage, installedProviderPackageSchema, installedProviderPackagesSchema, internalLinksReport, interpretUpdateCorrelation, isBrandQuery, isSkippableReportError, isTelemetryCi, isTelemetryOperation, isTelemetryReport, isoDate, isoWeek, latestFinalGscDate, linkRecover, linkRecoverRecommendation, listAnalyticsAccounts, listGa4AccountSummaries, listGa4DataStreams, listGoogleAccounts, listInstalledProviderExtensions, listRules, listSearchConsoleSites, listSearchUpdates, listSites, loadInstalledProviderExtensions, loadProviderExtensions, loadProviderPackage, loadSearchConsoleExport, localAccounts, localBing, localCredentialsProvider, localError, localGoogleFetch, localRefreshClicky, localResearchKeys, loginWithLoopback, makeRunId, matchGa4WebStreams, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, nodeCommandDeps, normalizeBrandText, normalizeClickySiteId, normalizeClickySiteKey, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLoadedCrawlReport, normalizeProviderExtensionAccount, normalizedResearchColumnName, notSignedIn, noteCacheWrite, openCloudLink, pageEvidenceRecommendation, pageOpportunitiesReport, parseOlderThan, pendingCloudLogin, performanceAudit, performanceReportIsCacheable, plural, providerCapabilitySchema, providerConnectionFieldSchema, providerExactVersionSchema, providerExtensionIdSchema, providerIdSchema, providerIntegritySchema, providerKindSchema, providerPackageManifestSchema, providerPackageNameSchema, providerPreferenceSchema, providerRegistrationSchema, providerRequestJson, providerRequestText, pruneLogs, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, quickWinsReportWith, readAhrefsApiKey, readAllTokens, readBingApiKey, readBoundedResponseText, readClickySiteKey, readClickySiteKeys, readConfig, readDataForSeoCredentials, readInstalledProviderPackages, readJson, readJsonOrUndefined, readOauthClient, readProviderExtensionAccount, readProviderExtensionCredentials, readProviderSecret, readTokens, recommendationForRule, reconcileExportPagesWithCrawl, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, registrableDomain, removeInstalledProviderPackage, renderCrawlCsv, renderCrawlHtml, renderCrawlJunit, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderWorkflowMarkdown, reportNarrative, requestHeaders, requirePageVerification, researchImportColumns, resetSeoData, resolveLocalSite, resolveSegmentRanges, resolveSeoCliPaths, reviewObservations, roundedPosition, runAnalyticsProviderLandingPages, runAnalyticsReport, runDoctor, runGa4Report, runProviderExtensionAction, runtimeForProvider, safeProviderAdapterError, saveInstalledProviderPackage, searchAnalyticsRows, searchUpdatesFromIncidents, secondPage, secondPageWith, segmentComparisonRange, segmentImpact, segmentRangeDays, seoErrorEnvelope, sessionSourceInListFilter, setActiveGoogleAccount, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, startCloudLogin, strikingDistance, strikingDistanceWith, summarizeCrawlReport, pageTechnicalSignals as technicalPageSignals, telemetryErrorCategory, toSeoError, tokenSchema, tokenStoreSchema, topFixes, trackTelemetryCommandFailed, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, trafficAnomalyWith, unavailableSegmentImpactReport, unicodeTokens, uninstallProviderExtension, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateResearchImportColumnSources, verifyAnalyticsProvider, verifyProviderExtension, verifyQueryContent, verifyQueryContentWith, withAgentReportContract, workflowPresentation, writeAhrefsApiKey, writeBingApiKey, writeClickySiteKey, writeConfig, writeDataForSeoCredentials, writeInstalledProviderPackages, writeOauthClient, writeProviderExtensionAccount, writeProviderExtensionCredentials, writeProviderSecret, writeTokens, xRobotsDirectives };
22326
+ export { AHREFS_API_KEY_ENV, AHREFS_API_KEY_SECRET, AI_REFERRAL_SOURCES, AI_REFERRAL_SOURCES_VERSION, ANALYTICS_PROVIDER_IDS, AUDIT_PAGE_RULE_IDS, AccessBlockEvidence, AgentFinding, AgentFindingStatus, AgentFindings, AgentFixFinding, AgentReportInventory, AgentReportOptions, AgentReviewFinding, AhrefsClient, AhrefsClientOptions, AhrefsLimitsAndUsage, type AiReferralDataSource, type AiReferralMetrics, type AiReferralQueryEvidence, type AiReferralReport, type AiReferralSourceDefinition, AnalyticsConnection, AnalyticsProvider, AnalyticsProviderDetails, AnalyticsProviderRuntimeOptions, type AnalyzeCannibalImportRowsInput, type AnalyzeCannibalRowsInput, type AnalyzeDecayInput, type AnalyzeQuickWinsInput, type AnalyzeSecondPageInput, type AnalyzeStrikingDistanceInput, AppConfig, AuditPageDependencies, AuditPageReport, AuthorizedGoogleClient, BING_API_KEY_ENV, BING_API_KEY_SECRET, BROWSER_USER_AGENT, BoundedSitemapInventory, BrandTermCandidate, CANNIBAL_MAXIMUM_DOMINANT_SHARE, CANNIBAL_MINIMUM_PAGE_SHARE, CLICKY_SITEKEY_ENV, CLICKY_SITE_KEYS_SECRET, CLOUD_SIGN_IN, CLOUD_URL, CRAWL_SKIP_REASONS, CTR_DEFAULT_LIMIT, CTR_MAX_LIMIT, CTR_MAX_MIN_IMPRESSIONS, CacheStats, type CannibalAnalysis, CannibalDependencies, type CannibalImportAnalysis, CannibalImportDependencies, type CannibalImportItem, type CannibalImportPage, type CannibalImportReport, CannibalImportReportInput, type CannibalImportSelection, type CannibalItem, type CannibalPage, type CannibalReport, CannibalReportInput, CannibalSearchConsoleInput, type CannibalSelection, type CannibalSuppression, type CannibalSuppressionReason, CloudCredentials, ContentExtractionDiagnostics, ContentExtractor, ContentOptimizationIntent, ContentOptimizationReport, CoverageField, CrawlAccessSummary, type CrawlAiAvailability, type CrawlAiBotAccess, type CrawlAiLinkCheck, type CrawlAiResourceSignal, type CrawlAiSignals, CrawlAnalyticsDataSource, CrawlConfig, CrawlConfigInput, CrawlDataSourceStatus, CrawlDataSourceWindow, CrawlExternalLinkVerification, CrawlFetchRateConfig, CrawlImplementationQueueInput, CrawlImplementationQueueItem, CrawlImplementationQueueOutput, CrawlIssue, CrawlIssueGroup, CrawlLinkGraph, CrawlMode, CrawlOneResult, CrawlOutputFormat, CrawlPageSnapshot, CrawlReport, CrawlReportDataSources, CrawlReportSummary, CrawlRequestObservation, CrawlResponseObservation, CrawlRunStats, CrawlSearchDataSource, type CrawlSiteChecks, type CrawlSiteDependencies, CrawlSitemapDiscovery, CrawlSkipImpact, CrawlSkipReason, CrawlSkipReasonCount, CrawlSkippedUrlsByImpact, CrawlStatusEvent, CrawlStatusHandler, type CrawlStatusPhase, CrawlStrategy, CrawlerIdentity, CredentialsProvider, CreditUsage, CsvFile, CsvRow, CsvValue, type CtrUnderperformer, CtrUnderperformerDependencies, type CtrUnderperformerSelection, CtrUnderperformersInput, CtrUnderperformersReport, DATAFORSEO_CREDENTIAL_SECRET, DATAFORSEO_LOGIN_ENV, DATAFORSEO_PASSWORD_ENV, DEFAULT_SEARCH_CONSOLE_EXPORT_ROW_LIMIT, DEFAULT_UNREACHED_PAGE_LIMIT, type DataForSeoAccountSnapshot, DataForSeoClient, type DataForSeoClientOptions, DataForSeoCredentials, type DecayAnalysis, type DecayComparison, type DecayDiagnosis, type DecayGroup, type DecayItem, type DecayMetrics, type DecayReport, type DecaySelection, type DecaySignal, DecayingDependencies, DecayingReportInput, DiagnosePropertyDependencies, DiagnosePropertyReport, DiagnosisDataStatus, DiagnosisPriority, DoctorCheck, EffectiveSnippetControl, ExternalLinkCheck, ExternalLinkCheckAttempt, ExternalLinkCheckState, ExternalServiceId, ExtractedLinkLocation, ExtractedPage, FetchPageDependencies, type FetchPageOptions, type FetchRateControls, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, type Ga4AccountSummary, Ga4DataStream, type Ga4PropertySummary, Ga4ReportRequest, Ga4RunReportResult, Ga4WebStreamCandidate, Ga4WebStreamMatch, type GoogleAccessTokenClient, GoogleApiError, GoogleCallOptions, GoogleFetch, GoogleRichResultAssessment, GoogleRichResultAssessmentSelection, GoogleRichResultAssessmentStatus, GscRow, HttpProfile, INCIDENTS_URL, INTERNAL_LINK_LEXICAL_TARGET_LIMIT, INTERNAL_LINK_MATCH_EVIDENCE_LIMIT, IndexCoverageBoundedSection, IndexCoverageCandidateItem, IndexCoverageControlReason, IndexCoverageControlledItem, IndexCoverageCrawlInput, IndexCoverageInput, IndexCoverageInventoryItem, IndexCoverageReport, IndexCoverageReportDependencies, IndexCoverageReportInput, IndexCoverageSearchConsoleInput, IndexCoverageSearchVisibilityItem, IndexCoverageSignalsReport, IndexCoverageSitemapInput, IndexCoverageSourceCompleteness, IndexCoverageSourceEvidence, IndexCoverageSourceMembership, IndexCoverageTemplateReview, InstalledProviderPackage, InstalledProviderPackages, type InternalLinkCandidate, type InternalLinkMatchKind, type InternalLinkOpportunity, type InternalLinkQueryMatch, InternalLinksAnalysis, InternalLinksAnalysisInput, InternalLinksDependencies, InternalLinksInput, type InternalLinksReport, type InternalLinksSelection, type InternalLinksWarning, type JavaScriptRenderingInput, type JavaScriptRenderingMode, JsonFileStorageAdapter, KeywordMetric, KeywordMonthlySearch, LOCAL_BING_CONNECT, LOCAL_SIGN_IN, LOG_MAX_AGE_MS, LOG_MAX_FILE_BYTES, LOG_MAX_TOTAL_BYTES, LighthouseFailureCode, LinkRecoverItem, LinkRecoverReport, LoadedProviderExtensions, LocalCredentialsProvider, LogPruneResult, MANAGED_PROVIDER_SECRET_NAMES, MAX_CRAWL_CONCURRENCY, MAX_CRAWL_DEPTH, MAX_CRAWL_PAGES, MAX_CRAWL_TIMEOUT_MS, MAX_SEARCH_CONSOLE_EXPORT_FILES, MAX_SEARCH_CONSOLE_EXPORT_ROW_LIMIT, NarrativeSection, type OAuthClientConfig, OpportunityBenchmarkRow, PROVIDER_SECRET_NAMES, PageExtractor, PageFetchDiagnostics, PageFetchResult, PageFetcher, type PageOpportunityAnalysis, type PageOpportunityAnalysisInput, type PageOpportunityBenchmark, PageOpportunityInput, type PageOpportunityItem, PageOpportunityReport, type PageOpportunitySelection, type PageOpportunityType, type PageOpportunityVerification, type PageRenderer, PageSearchMetrics, PageTopQuery, PartialDiagnosisReason, PerformanceAuditReport, PerformanceFieldData, PerformanceFieldMetric, PerformanceMetric, PerformanceRating, PositionBenchmark, Presentation, PresentationChart, PresentationScalar, PresentationTable, PresentationTableColumn, PriorityQueueItem, ProgressReporter, ProviderActionResult, ProviderCapability, ProviderError, ProviderErrorCode, ProviderExtensionLoadFailure, ProviderExtensionLoaderOptions, ProviderExtensionRegistry, ProviderFetch, ProviderId, ProviderImportEvidence, ProviderInstallerOptions, ProviderPackageCommand, ProviderPackageCommandResult, ProviderPackageManifest, ProviderPackageRelease, ProviderRequestInput, ProviderRuntimeOptions, ProviderSecret, ProviderSecretSource, ProviderValue, ProviderWarning, QueryCluster, type QueryClusterPage, QueryClusterReport, type QueryClusterRow, QueryClusterSourceRow, QueryContentClassification, QueryContentCoverage, QueryContentSignal, QueryContentVerifier, QueryFieldCoverage, type QuickWinAnalysis, type QuickWinGroup, type QuickWinItem, type QuickWinSelection, type QuickWinTemplateRecommendation, QuickWinsDependencies, QuickWinsInput, QuickWinsReport, RESEARCH_IMPORT_COLUMN_KEYS, Recommendation, RedirectTraceIssue, RedirectTraceReport, RedirectTraceStep, RegisteredProviderExtension, RenderingDocumentDifference, RenderingDocumentField, RenderingDocumentSnapshot, ReportNarrative, ResearchImportColumn, ResearchImportColumns, ResponseSizeLimitError, RobotsDirective, RuleCategory, RuleId, RuleInfo, RuleRecommendation, RuleSeverity, SEO_CRAWLER_IDENTITY, SEO_CRAWLER_TOKEN, SEO_CRAWLER_USER_AGENT, SEO_PROVIDER_API_VERSION, SEO_VERSION, SERP_TITLE_REFERENCE_WIDTH_PX, SERP_TITLE_WIDTH_PROFILE, STEP_CHANGE_RULES, SearchAnalyticsOptions, SearchAnalyticsQuery, SearchAnalyticsRequest, SearchAnalyticsResult, SearchConsoleExportEvidence, SearchConsoleExportFileImport, SearchConsoleExportPageRow, SearchConsoleExportQueryRow, SearchConsoleExportReconciliation, SearchConsoleSite, SearchDateWindow, SearchPageBatch, type SearchStatusIncident, type SearchUpdate, type SecondPageAnalysis, SecondPageDependencies, SecondPageInput, type SecondPageItem, type SecondPageQuery, type SecondPageRecommendation, type SecondPageReport, type SecondPageSelection, type SegmentDimension, SegmentImpactDependencies, SegmentImpactInput, type SegmentImpactItem, type SegmentImpactReport, type SegmentImpactSelection, type SegmentPeriodEvidence, type SegmentRange, SeoAnalyticsConnection, SeoAnalyticsLandingPageResult, SeoCliPathOptions, SeoCliPaths, SeoError, SeoErrorCode, SeoLandingPageVisitRow, SeoLandingPageVisitsCapability, SeoLandingPageVisitsResult, SeoProviderActionAdapter, SeoProviderActivate, SeoProviderApiVersion, SeoProviderCapabilityAdapter, SeoProviderCapabilityId, SeoProviderConnection, SeoProviderConnectionAdapter, SeoProviderConnectionField, SeoProviderHost, SeoProviderJson, SeoProviderJsonSchema, SeoProviderKind, SeoProviderRegistration, SeoProviderRequest, SeoProviderRuntime, SeoSearchMarket, SeoSerpLocalPackResult, SeoSerpOrganicResult, SeoSerpSnapshotCapability, SeoSerpSnapshotResult, ServiceAccountAccessTokenClient, ServiceAccountConfig, ServiceAccountStatus, SessionLedger, SitemapDocument, SitemapFetchResult, SitemapInvalidLoc, SitemapLastmodObservation, SkippedDiagnosisSection, SnippetControlEvidence, StorageAdapter, StoredAhrefsApiKey, StoredClickySiteKey, StoredDataForSeoCredentials, StoredTokenStore, StoredTokens, type StrikingDistanceAnalysis, type StrikingDistanceAnalysisGroup, type StrikingDistanceAnalysisItem, StrikingDistanceDependencies, StrikingDistanceInput, StrikingDistanceItem, StrikingDistanceReport, TELEMETRY_AGENTS, TELEMETRY_ENDPOINT, TELEMETRY_ERROR_CATEGORIES, TELEMETRY_EVENTS, TELEMETRY_FAILURE_CONTEXTS, TELEMETRY_FAILURE_REASONS, TELEMETRY_NOTICE, TELEMETRY_OPERATIONS, TELEMETRY_REPORTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_TIMEOUT_MS, TelemetryAgent, TelemetryDisableReason, type TelemetryErrorCategory, TelemetryEvent, type TelemetryFailureClassification, type TelemetryFailureContext, type TelemetryFailureReason, type TelemetryOperation, TelemetryOptions, TelemetryPayload, TelemetryReport, TelemetryState, TelemetryStatus, TemplateAwareReport, TitleWidthEstimate, TokenStorageMode, TokenStorageStatus, TopFix, TopFixFilters, TrafficAnomaly, TrafficAnomalyCoverage, TrafficAnomalyDependencies, TrafficAnomalyDetection, TrafficAnomalyInput, TrafficAnomalyReport, TrafficAnomalySelection, type UnmatchedSegment, UpdateConfounder, UpdateCorrelationReport, UrlInspectionRequest, UrlInspectionResult, VerifyQueryContentInput, WorkflowAction, WorkflowReport, WorkflowStep, agentActionsView, aiReferralSourceForValue, aiReferralsReport, analyticsConnectionLabel, analyticsConnectionProviderId, analyticsConnectionSchema, analyticsProviderDetails, analyticsProviderSchema, analyzeAiReferralRows, analyzeCannibalImportRows, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertCrawlConfigLimits, assertUrlMatchesGscProperty, auditCrawlPages, auditCrawlRequests, auditPage, authStatus, bearerFetch, boundedSitemapInventory, buildAgentFindings, buildQueryClusterReportFromRows, buildTelemetryPayload, cannibalImportReport, cannibalReport, cannibalReportWith, changeWindow, checkDatabaseReadiness, classifyTelemetryFailure, clearCache, cloudAccountFor, cloudBing, cloudCredentials, cloudGoogleEmails, cloudGoogleToken, cloudKeys, cloudLinked, cloudLogout, clusterQueryRows, combineRobotsValues, compareSegmentRows, configSchema, contentCoverageRecommendation, contentCoverageType, contentOptimizationFromPageOpportunities, contentOptimizationReport, countLabel, crawlConfigHash, crawlConfigSchema, crawlDefinitionId, crawlFixToQueueItem, crawlImplementationQueueWorkflow, crawlIssueGroupSchema, crawlIssueSchema, crawlOne, crawlPageSnapshotSchema, crawlReportSchema, crawlReportSummarySchema, crawlRequestObservationSchema, crawlRunId, crawlSite, crawlSkipImpact, crawlSkipReasonCountsFromRecord, crawlStatusOnly, crawlTopFixSchema, crawlerJsonSchemas, crawlerRuleCategorySchema, crawlerRuleIdSchema, crawlerRuleInfoSchema, crawlerRuleRecommendationSchema, crawlerRuleSeveritySchema, crawlerSchemas, createAuthorizedClient, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createLogger, createPageRenderer, ctrUnderperformersReport, ctrUnderperformersReportWith, decayClusterDrafts, decayComparisonRange, decayingReport, decayingReportWith, deleteAhrefsApiKey, deleteBingApiKey, deleteClickySiteKey, deleteDataForSeoCredentials, deleteManagedProviderSecrets, deleteProviderExtensionAccount, deleteProviderExtensionCredentials, deleteProviderSecret, deleteTokens, deriveBrandTerms, describeInstalledProviderExtension, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, ensurePrivateDatabaseFiles, ensureSeoCliDirs, estimateSerpTitleWidth, expectedCtrForPosition, explainRule, fetchCruxFieldData, fetchPage, fetchPageStatus, fetchSearchStatusIncidents, fetchSitemapUrls, fileSize, finalGscDateRange, findOverlappingSearchUpdates, finishCloudLogin, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, getAuthModeStatus, getCacheStats, getClientConfig, getDb, getPrivacySnapshot, getSeoCliPaths, getServiceAccountConfig, getServiceAccountStatus, getTelemetryStatus, getTokenStorageStatus, googleJson, groupCrawlIssues, hasMetaRobotsDirective, hasRule, hasXRobotsDirective, hashKey, indexCoverageSignals, inferTemplateMovement, initializeTelemetry, inspectProviderPackage, inspectSearchConsoleUrl, inspectUrl, installProviderPackage, installedProviderPackageSchema, installedProviderPackagesSchema, internalLinksReport, interpretUpdateCorrelation, isBrandQuery, isSkippableReportError, isTelemetryCi, isTelemetryOperation, isTelemetryReport, isoDate, isoWeek, latestFinalGscDate, linkRecover, linkRecoverRecommendation, listAnalyticsAccounts, listAnalyticsDataStreams, listGa4AccountSummaries, listGa4DataStreams, listGoogleAccounts, listInstalledProviderExtensions, listRules, listSearchConsoleSites, listSearchUpdates, listSites, loadInstalledProviderExtensions, loadProviderExtensions, loadProviderPackage, loadSearchConsoleExport, localAccounts, localBing, localCredentialsProvider, localError, localGoogleFetch, localRefreshClicky, localResearchKeys, loginWithLoopback, makeRunId, matchGa4WebStreams, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, nodeCommandDeps, normalizeBrandText, normalizeClickySiteId, normalizeClickySiteKey, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLoadedCrawlReport, normalizeProviderExtensionAccount, normalizedResearchColumnName, notSignedIn, noteCacheWrite, openCloudLink, pageEvidenceRecommendation, pageOpportunitiesReport, parseOlderThan, pendingCloudLogin, performanceAudit, performanceReportIsCacheable, plural, providerCapabilitySchema, providerConnectionFieldSchema, providerExactVersionSchema, providerExtensionIdSchema, providerIdSchema, providerIntegritySchema, providerKindSchema, providerPackageManifestSchema, providerPackageNameSchema, providerPreferenceSchema, providerRegistrationSchema, providerRequestJson, providerRequestText, pruneLogs, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, quickWinsReportWith, readAhrefsApiKey, readAllTokens, readBingApiKey, readBoundedResponseText, readClickySiteKey, readClickySiteKeys, readConfig, readDataForSeoCredentials, readInstalledProviderPackages, readJson, readJsonOrUndefined, readOauthClient, readProviderExtensionAccount, readProviderExtensionCredentials, readProviderSecret, readTokens, recommendationForRule, reconcileExportPagesWithCrawl, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, registrableDomain, removeInstalledProviderPackage, renderCrawlCsv, renderCrawlHtml, renderCrawlJunit, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderWorkflowMarkdown, reportNarrative, requestHeaders, requirePageVerification, researchImportColumns, resetSeoData, resolveLocalSite, resolveSegmentRanges, resolveSeoCliPaths, reviewObservations, roundedPosition, runAnalyticsProviderLandingPages, runAnalyticsReport, runDoctor, runGa4Report, runProviderExtensionAction, runtimeForProvider, safeProviderAdapterError, saveInstalledProviderPackage, searchAnalyticsRows, searchUpdatesFromIncidents, secondPage, secondPageWith, segmentComparisonRange, segmentImpact, segmentRangeDays, seoErrorEnvelope, sessionSourceInListFilter, setActiveGoogleAccount, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, startCloudLogin, strikingDistance, strikingDistanceWith, summarizeCrawlReport, pageTechnicalSignals as technicalPageSignals, telemetryErrorCategory, toSeoError, tokenSchema, tokenStoreSchema, topFixes, trackTelemetryCommandFailed, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, trafficAnomalyWith, unavailableSegmentImpactReport, unicodeTokens, uninstallProviderExtension, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateResearchImportColumnSources, verifyAnalyticsProvider, verifyProviderExtension, verifyQueryContent, verifyQueryContentWith, withAgentReportContract, workflowPresentation, writeAhrefsApiKey, writeBingApiKey, writeClickySiteKey, writeConfig, writeDataForSeoCredentials, writeInstalledProviderPackages, writeOauthClient, writeProviderExtensionAccount, writeProviderExtensionCredentials, writeProviderSecret, writeTokens, xRobotsDirectives };
21606
22327
  //# sourceMappingURL=index.d.ts.map