@rankcli/agent-runtime 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,6 @@
1
1
  import OpenAI from 'openai';
2
2
  import { exec } from 'child_process';
3
+ import { SupabaseClient } from '@supabase/supabase-js';
3
4
 
4
5
  interface AgentDefinition {
5
6
  name: string;
@@ -563,6 +564,33 @@ declare function checkInternalRedirects(internalLinks: string[], batchSize?: num
563
564
  }>;
564
565
  }>;
565
566
 
567
+ /**
568
+ * Agent Experience (AX) readiness
569
+ *
570
+ * Classic GEO asks "can an AI crawler read this page and cite it in an
571
+ * answer?" — that's what ai-readiness.ts covers. AX asks a different
572
+ * question: "can an AI AGENT (not just a chatbot) discover what this site
573
+ * can DO and act on it?" — a distinct, newer discipline (named tooling in
574
+ * this space: AgentGrade and similar agent-readiness scanners, 2026).
575
+ *
576
+ * This checks for the machine-readable discovery surface an agent looks
577
+ * for before it can act: llms-full.txt (the fuller, more-fetched sibling
578
+ * of llms.txt), a SKILL.md capability manifest, a discoverable MCP server,
579
+ * and an OpenAPI spec. None of these are required — most sites won't have
580
+ * any of them yet, this is genuinely emerging — so absence is reported as
581
+ * a low-severity opportunity, not a failure.
582
+ */
583
+
584
+ interface AgentExperienceSignal {
585
+ path: string;
586
+ present: boolean;
587
+ description: string;
588
+ }
589
+ interface AgentExperienceData {
590
+ signals: AgentExperienceSignal[];
591
+ score: number;
592
+ }
593
+
566
594
  interface LlmsTxtResult {
567
595
  exists: boolean;
568
596
  content?: string;
@@ -575,10 +603,17 @@ interface AIBotBlockingResult {
575
603
  allowedBots: string[];
576
604
  allBlocked: boolean;
577
605
  }
606
+ interface CloudflareAICrawlerGateResult {
607
+ behindCloudflare: boolean;
608
+ hasExplicitAIRules: boolean;
609
+ ambiguous: boolean;
610
+ }
578
611
  interface AIReadinessData {
579
612
  llmsTxt: LlmsTxtResult;
580
613
  botBlocking: AIBotBlockingResult;
581
614
  jsRenderingRatio: number;
615
+ cloudflareAIGate: CloudflareAICrawlerGateResult;
616
+ agentExperience: AgentExperienceData;
582
617
  }
583
618
  /**
584
619
  * Check for llms.txt file
@@ -4808,6 +4843,185 @@ declare function getAIVisibilitySummary(results: LLMCitationResult[]): {
4808
4843
  overallSentiment: 'positive' | 'neutral' | 'negative' | 'mixed' | null;
4809
4844
  };
4810
4845
 
4846
+ interface TrackedKeyword {
4847
+ id: string;
4848
+ projectId: string;
4849
+ keyword: string;
4850
+ searchEngine: 'google' | 'bing' | 'duckduckgo';
4851
+ country: string;
4852
+ language: string;
4853
+ currentPosition: number | null;
4854
+ previousPosition: number | null;
4855
+ bestPosition: number | null;
4856
+ trackUrl?: string;
4857
+ isActive: boolean;
4858
+ lastChecked: Date | null;
4859
+ createdAt: Date;
4860
+ }
4861
+ interface RankingResult {
4862
+ keywordId: string;
4863
+ keyword: string;
4864
+ position: number | null;
4865
+ url: string | null;
4866
+ serpFeatures: SerpFeature[];
4867
+ competitorUrls: CompetitorUrl[];
4868
+ checkedAt: Date;
4869
+ }
4870
+ interface SerpFeature {
4871
+ type: 'featured_snippet' | 'people_also_ask' | 'local_pack' | 'knowledge_panel' | 'image_pack' | 'video_carousel' | 'top_stories' | 'shopping_results' | 'site_links' | 'faq_rich_result';
4872
+ position?: number;
4873
+ hasOwnSite?: boolean;
4874
+ }
4875
+ interface CompetitorUrl {
4876
+ position: number;
4877
+ url: string;
4878
+ domain: string;
4879
+ title?: string;
4880
+ }
4881
+ interface RankHistory {
4882
+ position: number | null;
4883
+ url: string | null;
4884
+ serpFeatures: SerpFeature[];
4885
+ recordedAt: Date;
4886
+ }
4887
+ interface KeywordTrend {
4888
+ keywordId: string;
4889
+ keyword: string;
4890
+ currentPosition: number | null;
4891
+ bestPosition: number | null;
4892
+ positionChange: number;
4893
+ avgPosition: number;
4894
+ dataPoints: number;
4895
+ }
4896
+ interface SerpApiConfig {
4897
+ provider: 'valueserp' | 'serpapi' | 'scraper';
4898
+ apiKey?: string;
4899
+ rateLimit?: number;
4900
+ }
4901
+ interface RankCheckOptions {
4902
+ keywords: string[];
4903
+ domain: string;
4904
+ searchEngine?: 'google' | 'bing';
4905
+ country?: string;
4906
+ language?: string;
4907
+ device?: 'desktop' | 'mobile';
4908
+ }
4909
+ interface RankCheckResult {
4910
+ keyword: string;
4911
+ position: number | null;
4912
+ url: string | null;
4913
+ serpFeatures: SerpFeature[];
4914
+ topResults: CompetitorUrl[];
4915
+ checkedAt: Date;
4916
+ }
4917
+ interface RankingTierLimits {
4918
+ maxKeywords: number;
4919
+ checksPerDay: number;
4920
+ serpFeatures: boolean;
4921
+ competitorTracking: boolean;
4922
+ historyDays: number;
4923
+ }
4924
+ declare const TIER_LIMITS: Record<string, RankingTierLimits>;
4925
+
4926
+ interface SerpClientConfig {
4927
+ provider: 'valueserp' | 'serpapi' | 'direct';
4928
+ apiKey?: string;
4929
+ proxyUrl?: string;
4930
+ }
4931
+ declare class SerpClient {
4932
+ private config;
4933
+ constructor(config: SerpClientConfig);
4934
+ /**
4935
+ * Check ranking for a single keyword
4936
+ */
4937
+ checkRank(options: RankCheckOptions): Promise<RankCheckResult[]>;
4938
+ private checkSingleKeyword;
4939
+ /**
4940
+ * ValueSERP API implementation
4941
+ * Docs: https://www.valueserp.com/docs
4942
+ */
4943
+ private checkViaValueSerp;
4944
+ /**
4945
+ * SerpAPI implementation (alternative)
4946
+ * Docs: https://serpapi.com/search-api
4947
+ */
4948
+ private checkViaSerpApi;
4949
+ /**
4950
+ * Direct scraping fallback (rate-limited, use with caution)
4951
+ */
4952
+ private checkViaDirect;
4953
+ private parseValueSerpResponse;
4954
+ private parseSerpApiResponse;
4955
+ private parseDirectSearchResults;
4956
+ private extractDomain;
4957
+ private domainMatches;
4958
+ }
4959
+
4960
+ interface TrackerConfig {
4961
+ supabase: SupabaseClient;
4962
+ serpConfig: SerpClientConfig;
4963
+ }
4964
+ declare class RankTracker {
4965
+ private supabase;
4966
+ private serpClient;
4967
+ constructor(config: TrackerConfig);
4968
+ /**
4969
+ * Add keywords to track for a project
4970
+ */
4971
+ addKeywords(projectId: string, keywords: string[], options?: {
4972
+ searchEngine?: 'google' | 'bing';
4973
+ country?: string;
4974
+ language?: string;
4975
+ trackUrl?: string;
4976
+ }): Promise<TrackedKeyword[]>;
4977
+ /**
4978
+ * Remove keywords from tracking
4979
+ */
4980
+ removeKeywords(projectId: string, keywords: string[]): Promise<void>;
4981
+ /**
4982
+ * Get all tracked keywords for a project
4983
+ */
4984
+ getKeywords(projectId: string, includeInactive?: boolean): Promise<TrackedKeyword[]>;
4985
+ /**
4986
+ * Check rankings for all active keywords in a project
4987
+ */
4988
+ checkRankings(projectId: string, domain: string): Promise<RankingResult[]>;
4989
+ /**
4990
+ * Save a ranking result to the database
4991
+ */
4992
+ private saveRanking;
4993
+ /**
4994
+ * Get ranking history for a keyword
4995
+ * Note: Full history requires keyword_ranking_history table with keyword_ranking_id
4996
+ * For now, returns current state as single history entry
4997
+ */
4998
+ getHistory(keywordId: string, _days?: number): Promise<RankHistory[]>;
4999
+ /**
5000
+ * Get keyword trends for a project
5001
+ */
5002
+ getTrends(projectId: string): Promise<KeywordTrend[]>;
5003
+ /**
5004
+ * Manual trend calculation fallback
5005
+ */
5006
+ private calculateTrends;
5007
+ /**
5008
+ * Export ranking data as CSV
5009
+ */
5010
+ exportCSV(projectId: string, days?: number): Promise<string>;
5011
+ /**
5012
+ * Calculate position trend from history
5013
+ */
5014
+ private calculatePositionTrend;
5015
+ /**
5016
+ * Group keywords by search engine and country
5017
+ */
5018
+ private groupKeywords;
5019
+ /**
5020
+ * Map database row to TrackedKeyword
5021
+ */
5022
+ private mapKeyword;
5023
+ }
5024
+
4811
5025
  /**
4812
5026
  * Mobile SEO Analyzer
4813
5027
  *
@@ -5607,4 +5821,4 @@ interface SyncAuditResult {
5607
5821
  */
5608
5822
  declare function runSyncAudit(url: string, html: string, checksLimit: number): SyncAuditResult;
5609
5823
 
5610
- export { type AIContentConfig, type AIKeywordResearchOptions, type AgentDefinition, type AgentTool, type AlertChannel, type AlertConfig, type AlertMessage, type AlertResult, type AlertSeverity, type AlertType, type AuditAlertPayload, type AuditIssue, type AuditIssueData, type AuditOptions, type AuditPRResult, type AuditReport, type AuditReportData, type AuditRunnerOptions, type AuditRunnerResult, type AuditSchedule, type BlogPostConfig, type BrandConfig, type CIAction, type CIKeywordOptions, type CIKeywordResult, COMMIT_TYPES, type ChangelogConfig, type ChangelogResult, type CitationCheckOptions, type CommitConfig, type ComparisonConfig, type ComparisonRow, type CompetitiveInsight, type CompetitiveSearchOptions, type CompetitiveSearchResult, type CompetitorComparison, type CompetitorKeywordResult, type CompetitorOverlap, type CompetitorTool, type ContentElements, type ContentGeneratorOptions, type ContentRecommendation, type ConventionalCommit, type CrawlResult, type CrawlStats, type CrawledPage, type CreateAuditPROptions, type CreatePROptions, type DataForSEOCredentials, type DiscoveredPage, type EnhancedToolIdea, type ExecOptions, type ExecuteOptions, type ExecutionResult, type FAQItem, type FAQSchemaOptions, type FeaturedSnippetAnalysis, type Fix, type FixFile, type FixGeneratorOptions, type FixResult, type FrameworkInfo$1 as FrameworkInfo, type FreeKeywordResult, type FreeToolIdea, type GA4Config, type GEOAlert, type GEOAlertType, type GEOHistory, type GEOHistoryOptions, type GEOQuery, type GEOReport, type GEOResult, type GEOTrend, type GSCConfig, type GSCCredentials, type GSCPerformanceData, type GSCQueryData, type GSCQueryResult, type GeneratedCode, type GeneratedContent, type GeneratedFix, type HeadingStructure, type HeadlineAnalysis, type HealthScore, ISSUE_DEFINITIONS, type ImageInfo$2 as ImageInfo, type InjectionResult, type IntentAnalysis, type IssueCategory, type IssueDefinition, type IssueSeverity, type KeyFact, type KeyFactsOptions, type KeywordAction, type KeywordCluster, type KeywordData, type KeywordDensityAnalysis, type KeywordOpportunity, type KeywordRecommendation, type KeywordResearchOptions, type KeywordResearchResult, type KeywordStats, type KeywordTopic, type LLMCitationResult, type LLMJudgeOptions, type LLMProvider, LOCATION_CODES, type LSIKeyword, type LinkInfo$1 as LinkInfo, type Mention, type MentionType, type MetaData, type MetaFixOptions, type NGram, type NLPAnalysisResult, OG_IMAGE_SPECS, type OptimizeOptions, type PRConfig, type PRDescription, PRIORITY_WEIGHTS, type PRResult, type PageAudit, type PageData, type PageMeta, type PaidKeywordResult, type ParsedResponse, type PlanTier, type ProviderStats, type QuickWin, type ReadabilityResult, type ReadmeConfig, type ReadmeResult, type ReportBranding, type ReportConfig, type ReportData, type ReportPageData, type RouteInfo, type SEOAnalysisResult, type SEOFixCommit, type SEOFixSummary, type SEOIssue, type SEORecommendation, type SEOScore, SEO_SCOPES, SITE_PROFILE_QUESTIONS, type ScheduledAuditConfig, type ScheduledAuditResult, type SchemaData, Schemas, type SearchIntent, type Sentiment, type SiteCrawlResult, type SiteProfile, type SiteSummary, type SnippetRecommendation, type SnippetType, type SocialMetaConfig, type SocialMetaFix, type SummarizerOptions, type TFIDFResult, type ToolFeasibilityScore, type ToolFunction, type ToolResult, type TopicClusterResult, type TopicModel, type TrackingOptions, type TrendDirection, type UncertaintyAssessment, type WizardQuestion, type WizardResponse, type WizardResult, type WizardSession, type WorkflowConfig, addTrackingResult, analyzeAnchorText, analyzeCanonicalAdvanced, analyzeClientRendering, analyzeContentFreshness, analyzeConversionElements, analyzeDOMStructure, analyzeEntitySEO, analyzeFeaturedSnippetPotential, analyzeFreshnessSignals, analyzeFunnelIntent, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeInteractiveTools, analyzeKeywordDensity, analyzeKeywordPlacement, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeNavBoostSignals, analyzeOnPage, analyzePagination, analyzePerformance, analyzePlatformPresence, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTopicalClusters, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, buildGSCApiRequest, buildGSCRequest, calculateAIVisibilityScore, calculateBM25, calculateTFIDF$1 as calculateKeywordTFIDF, calculateNextRun, calculateTFIDF, checkAIBotBlocking, checkAMP, checkAdsTxt, checkAppleTouchIcon, checkBalance, checkCertificate, checkDMARC, checkGitHubCLI, checkInternalRedirects, checkJSRenderingRatio, checkLLMCitations, checkLlmsTxt, checkMobileResources, checkPlaintextEmails, checkRedirects, checkRobots, checkRobotsTxt, checkSPF, checkSitemap, classifyIntent, classifyIntents, clusterKeywordsByEmbedding, compareCompetitorVisibility, comparePeriods, completeWizard, crawlSite, crawlUrl, createAuditPR, createFallbackSummary, createGEOHistory, createPullRequest, createSEOCommit, createSEOCommits, detectDuplicates, detectFramework$1 as detectFramework, detectGitHubPages, detectMentions, detectSoft404, detectTechnologies, detectVisibilityChanges, discoverCompetitorKeywords, discoverPagesFromLinks, discoverRoutesFromRepo, enhanceSummaryWithCompetitors, enhanceToolIdea, enrichKeywordsWithEstimates, ensureGitRepo, evaluateAndEnhanceToolIdeas, evaluateToolFeasibility, executeAgent, extractContentHash, extractEntityPhrases, extractImages, extractKeyPhrases, extractLinks, extractMeta, extractNgrams, extractSchema, extractSeedKeywords, extractTopics, fetchCoreWebVitals, findAlmostPage1Keywords, findCTROpportunities, findHtmlEntry, findLSIKeywords, findPageFiles, findTopPerformers, formatAlertMessage, formatCIResult, formatCompetitorReport, formatConventionalCommit, formatFeaturedSnippetReport, formatHeadlineReport, formatIntentReport, formatKeywordDensityReport, formatKeywordReport, formatPRBody, formatPRTitle, formatReadabilityReport, formatReport, formatSEOCommitMessage, formatTopicReport, formatWizardProgress, index as frameworks, generateAICitableContent, generateAllFixes, generateAngularSEOService, generateAspNetCoreSEO, generateAstroBaseHead, generateAstroMeta, generateBlogPost, generateBranchName, generateChangelog, generateCommitSummary, generateComparisonTable, generateCompleteSocialMetaSetup, generateDjangoSEOHelper, generateDuplicateIssues, generateEleventySEO, generateFAQSchema, generateFixes, generateGA4EnvTemplate, generateGA4ReactComponent, generateGA4Script, generateGA4ViteScript, generateGEOReport, generateGSCVerificationTag, generateGitHubActionSetup, generateGoSEO, generateHTMLReport, generateHTMLSocialMeta, generateHTMXSEO, generateHeadlineVariations, generateHugoSEO, generateJekyllSEO, generateJsonReport, generateKeyFacts, generateLaravelSEOHelper, generateMarkdownReport, generateNextAppMetadata, generateNextJsAppRouterMetadata, generateNextJsPagesRouterHead, generateNextPagesHead, generateNuxtSEOHead, generatePDFReport, generatePRDescription, generatePhoenixSEO, generateRailsSEOHelper, generateReactHelmetSocialMeta, generateReactSEOHead, generateRecommendationQueries, generateRemixMeta, generateRemixSEO, generateSecretsDoc, generateSocialMetaFix, generateSpringBootSEO, generateSvelteKitMeta, generateSvelteKitSEOHead, generateUncertaintyQuestions, generateVueSEOHead, generateWizardQuestions, generateWorkflow, getAIVisibilitySummary, getAutocompleteSuggestions, getDateRange, getExpandedSuggestions, getFrameworkSpecificFix, getFrameworkSpecificFixExtended, getGSCSetupInstructions, getGitUser, getKeywordData, getKeywordSuggestions, getMaxKdThreshold, getNextQuestion, getRelatedKeywords, getVisibilityTrend, groupKeywordsByTopic, identifyQuickWins, injectGA4, injectGSCVerification, interpolatePrompt, isGitRepo, listFiles, loadAgent, loadAgentByName, mergePages, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, runSyncAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };
5824
+ export { type AIContentConfig, type AIKeywordResearchOptions, type AgentDefinition, type AgentTool, type AlertChannel, type AlertConfig, type AlertMessage, type AlertResult, type AlertSeverity, type AlertType, type AuditAlertPayload, type AuditIssue, type AuditIssueData, type AuditOptions, type AuditPRResult, type AuditReport, type AuditReportData, type AuditRunnerOptions, type AuditRunnerResult, type AuditSchedule, type BlogPostConfig, type BrandConfig, type CIAction, type CIKeywordOptions, type CIKeywordResult, COMMIT_TYPES, type ChangelogConfig, type ChangelogResult, type CitationCheckOptions, type CommitConfig, type ComparisonConfig, type ComparisonRow, type CompetitiveInsight, type CompetitiveSearchOptions, type CompetitiveSearchResult, type CompetitorComparison, type CompetitorKeywordResult, type CompetitorOverlap, type CompetitorTool, type CompetitorUrl, type ContentElements, type ContentGeneratorOptions, type ContentRecommendation, type ConventionalCommit, type CrawlResult, type CrawlStats, type CrawledPage, type CreateAuditPROptions, type CreatePROptions, type DataForSEOCredentials, type DiscoveredPage, type EnhancedToolIdea, type ExecOptions, type ExecuteOptions, type ExecutionResult, type FAQItem, type FAQSchemaOptions, type FeaturedSnippetAnalysis, type Fix, type FixFile, type FixGeneratorOptions, type FixResult, type FrameworkInfo$1 as FrameworkInfo, type FreeKeywordResult, type FreeToolIdea, type GA4Config, type GEOAlert, type GEOAlertType, type GEOHistory, type GEOHistoryOptions, type GEOQuery, type GEOReport, type GEOResult, type GEOTrend, type GSCConfig, type GSCCredentials, type GSCPerformanceData, type GSCQueryData, type GSCQueryResult, type GeneratedCode, type GeneratedContent, type GeneratedFix, type HeadingStructure, type HeadlineAnalysis, type HealthScore, ISSUE_DEFINITIONS, type ImageInfo$2 as ImageInfo, type InjectionResult, type IntentAnalysis, type IssueCategory, type IssueDefinition, type IssueSeverity, type KeyFact, type KeyFactsOptions, type KeywordAction, type KeywordCluster, type KeywordData, type KeywordDensityAnalysis, type KeywordOpportunity, type KeywordRecommendation, type KeywordResearchOptions, type KeywordResearchResult, type KeywordStats, type KeywordTopic, type KeywordTrend, type LLMCitationResult, type LLMJudgeOptions, type LLMProvider, LOCATION_CODES, type LSIKeyword, type LinkInfo$1 as LinkInfo, type Mention, type MentionType, type MetaData, type MetaFixOptions, type NGram, type NLPAnalysisResult, OG_IMAGE_SPECS, type OptimizeOptions, type PRConfig, type PRDescription, PRIORITY_WEIGHTS, type PRResult, type PageAudit, type PageData, type PageMeta, type PaidKeywordResult, type ParsedResponse, type PlanTier, type ProviderStats, type QuickWin, type RankCheckOptions, type RankCheckResult, type RankHistory, RankTracker, type RankingResult, type RankingTierLimits, type ReadabilityResult, type ReadmeConfig, type ReadmeResult, type ReportBranding, type ReportConfig, type ReportData, type ReportPageData, type RouteInfo, type SEOAnalysisResult, type SEOFixCommit, type SEOFixSummary, type SEOIssue, type SEORecommendation, type SEOScore, SEO_SCOPES, SITE_PROFILE_QUESTIONS, type ScheduledAuditConfig, type ScheduledAuditResult, type SchemaData, Schemas, type SearchIntent, type Sentiment, type SerpApiConfig, SerpClient, type SerpClientConfig, type SerpFeature, type SiteCrawlResult, type SiteProfile, type SiteSummary, type SnippetRecommendation, type SnippetType, type SocialMetaConfig, type SocialMetaFix, type SummarizerOptions, type TFIDFResult, TIER_LIMITS, type ToolFeasibilityScore, type ToolFunction, type ToolResult, type TopicClusterResult, type TopicModel, type TrackedKeyword, type TrackerConfig, type TrackingOptions, type TrendDirection, type UncertaintyAssessment, type WizardQuestion, type WizardResponse, type WizardResult, type WizardSession, type WorkflowConfig, addTrackingResult, analyzeAnchorText, analyzeCanonicalAdvanced, analyzeClientRendering, analyzeContentFreshness, analyzeConversionElements, analyzeDOMStructure, analyzeEntitySEO, analyzeFeaturedSnippetPotential, analyzeFreshnessSignals, analyzeFunnelIntent, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeInteractiveTools, analyzeKeywordDensity, analyzeKeywordPlacement, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeNavBoostSignals, analyzeOnPage, analyzePagination, analyzePerformance, analyzePlatformPresence, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTopicalClusters, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, buildGSCApiRequest, buildGSCRequest, calculateAIVisibilityScore, calculateBM25, calculateTFIDF$1 as calculateKeywordTFIDF, calculateNextRun, calculateTFIDF, checkAIBotBlocking, checkAMP, checkAdsTxt, checkAppleTouchIcon, checkBalance, checkCertificate, checkDMARC, checkGitHubCLI, checkInternalRedirects, checkJSRenderingRatio, checkLLMCitations, checkLlmsTxt, checkMobileResources, checkPlaintextEmails, checkRedirects, checkRobots, checkRobotsTxt, checkSPF, checkSitemap, classifyIntent, classifyIntents, clusterKeywordsByEmbedding, compareCompetitorVisibility, comparePeriods, completeWizard, crawlSite, crawlUrl, createAuditPR, createFallbackSummary, createGEOHistory, createPullRequest, createSEOCommit, createSEOCommits, detectDuplicates, detectFramework$1 as detectFramework, detectGitHubPages, detectMentions, detectSoft404, detectTechnologies, detectVisibilityChanges, discoverCompetitorKeywords, discoverPagesFromLinks, discoverRoutesFromRepo, enhanceSummaryWithCompetitors, enhanceToolIdea, enrichKeywordsWithEstimates, ensureGitRepo, evaluateAndEnhanceToolIdeas, evaluateToolFeasibility, executeAgent, extractContentHash, extractEntityPhrases, extractImages, extractKeyPhrases, extractLinks, extractMeta, extractNgrams, extractSchema, extractSeedKeywords, extractTopics, fetchCoreWebVitals, findAlmostPage1Keywords, findCTROpportunities, findHtmlEntry, findLSIKeywords, findPageFiles, findTopPerformers, formatAlertMessage, formatCIResult, formatCompetitorReport, formatConventionalCommit, formatFeaturedSnippetReport, formatHeadlineReport, formatIntentReport, formatKeywordDensityReport, formatKeywordReport, formatPRBody, formatPRTitle, formatReadabilityReport, formatReport, formatSEOCommitMessage, formatTopicReport, formatWizardProgress, index as frameworks, generateAICitableContent, generateAllFixes, generateAngularSEOService, generateAspNetCoreSEO, generateAstroBaseHead, generateAstroMeta, generateBlogPost, generateBranchName, generateChangelog, generateCommitSummary, generateComparisonTable, generateCompleteSocialMetaSetup, generateDjangoSEOHelper, generateDuplicateIssues, generateEleventySEO, generateFAQSchema, generateFixes, generateGA4EnvTemplate, generateGA4ReactComponent, generateGA4Script, generateGA4ViteScript, generateGEOReport, generateGSCVerificationTag, generateGitHubActionSetup, generateGoSEO, generateHTMLReport, generateHTMLSocialMeta, generateHTMXSEO, generateHeadlineVariations, generateHugoSEO, generateJekyllSEO, generateJsonReport, generateKeyFacts, generateLaravelSEOHelper, generateMarkdownReport, generateNextAppMetadata, generateNextJsAppRouterMetadata, generateNextJsPagesRouterHead, generateNextPagesHead, generateNuxtSEOHead, generatePDFReport, generatePRDescription, generatePhoenixSEO, generateRailsSEOHelper, generateReactHelmetSocialMeta, generateReactSEOHead, generateRecommendationQueries, generateRemixMeta, generateRemixSEO, generateSecretsDoc, generateSocialMetaFix, generateSpringBootSEO, generateSvelteKitMeta, generateSvelteKitSEOHead, generateUncertaintyQuestions, generateVueSEOHead, generateWizardQuestions, generateWorkflow, getAIVisibilitySummary, getAutocompleteSuggestions, getDateRange, getExpandedSuggestions, getFrameworkSpecificFix, getFrameworkSpecificFixExtended, getGSCSetupInstructions, getGitUser, getKeywordData, getKeywordSuggestions, getMaxKdThreshold, getNextQuestion, getRelatedKeywords, getVisibilityTrend, groupKeywordsByTopic, identifyQuickWins, injectGA4, injectGSCVerification, interpolatePrompt, isGitRepo, listFiles, loadAgent, loadAgentByName, mergePages, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, runSyncAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import OpenAI from 'openai';
2
2
  import { exec } from 'child_process';
3
+ import { SupabaseClient } from '@supabase/supabase-js';
3
4
 
4
5
  interface AgentDefinition {
5
6
  name: string;
@@ -563,6 +564,33 @@ declare function checkInternalRedirects(internalLinks: string[], batchSize?: num
563
564
  }>;
564
565
  }>;
565
566
 
567
+ /**
568
+ * Agent Experience (AX) readiness
569
+ *
570
+ * Classic GEO asks "can an AI crawler read this page and cite it in an
571
+ * answer?" — that's what ai-readiness.ts covers. AX asks a different
572
+ * question: "can an AI AGENT (not just a chatbot) discover what this site
573
+ * can DO and act on it?" — a distinct, newer discipline (named tooling in
574
+ * this space: AgentGrade and similar agent-readiness scanners, 2026).
575
+ *
576
+ * This checks for the machine-readable discovery surface an agent looks
577
+ * for before it can act: llms-full.txt (the fuller, more-fetched sibling
578
+ * of llms.txt), a SKILL.md capability manifest, a discoverable MCP server,
579
+ * and an OpenAPI spec. None of these are required — most sites won't have
580
+ * any of them yet, this is genuinely emerging — so absence is reported as
581
+ * a low-severity opportunity, not a failure.
582
+ */
583
+
584
+ interface AgentExperienceSignal {
585
+ path: string;
586
+ present: boolean;
587
+ description: string;
588
+ }
589
+ interface AgentExperienceData {
590
+ signals: AgentExperienceSignal[];
591
+ score: number;
592
+ }
593
+
566
594
  interface LlmsTxtResult {
567
595
  exists: boolean;
568
596
  content?: string;
@@ -575,10 +603,17 @@ interface AIBotBlockingResult {
575
603
  allowedBots: string[];
576
604
  allBlocked: boolean;
577
605
  }
606
+ interface CloudflareAICrawlerGateResult {
607
+ behindCloudflare: boolean;
608
+ hasExplicitAIRules: boolean;
609
+ ambiguous: boolean;
610
+ }
578
611
  interface AIReadinessData {
579
612
  llmsTxt: LlmsTxtResult;
580
613
  botBlocking: AIBotBlockingResult;
581
614
  jsRenderingRatio: number;
615
+ cloudflareAIGate: CloudflareAICrawlerGateResult;
616
+ agentExperience: AgentExperienceData;
582
617
  }
583
618
  /**
584
619
  * Check for llms.txt file
@@ -4808,6 +4843,185 @@ declare function getAIVisibilitySummary(results: LLMCitationResult[]): {
4808
4843
  overallSentiment: 'positive' | 'neutral' | 'negative' | 'mixed' | null;
4809
4844
  };
4810
4845
 
4846
+ interface TrackedKeyword {
4847
+ id: string;
4848
+ projectId: string;
4849
+ keyword: string;
4850
+ searchEngine: 'google' | 'bing' | 'duckduckgo';
4851
+ country: string;
4852
+ language: string;
4853
+ currentPosition: number | null;
4854
+ previousPosition: number | null;
4855
+ bestPosition: number | null;
4856
+ trackUrl?: string;
4857
+ isActive: boolean;
4858
+ lastChecked: Date | null;
4859
+ createdAt: Date;
4860
+ }
4861
+ interface RankingResult {
4862
+ keywordId: string;
4863
+ keyword: string;
4864
+ position: number | null;
4865
+ url: string | null;
4866
+ serpFeatures: SerpFeature[];
4867
+ competitorUrls: CompetitorUrl[];
4868
+ checkedAt: Date;
4869
+ }
4870
+ interface SerpFeature {
4871
+ type: 'featured_snippet' | 'people_also_ask' | 'local_pack' | 'knowledge_panel' | 'image_pack' | 'video_carousel' | 'top_stories' | 'shopping_results' | 'site_links' | 'faq_rich_result';
4872
+ position?: number;
4873
+ hasOwnSite?: boolean;
4874
+ }
4875
+ interface CompetitorUrl {
4876
+ position: number;
4877
+ url: string;
4878
+ domain: string;
4879
+ title?: string;
4880
+ }
4881
+ interface RankHistory {
4882
+ position: number | null;
4883
+ url: string | null;
4884
+ serpFeatures: SerpFeature[];
4885
+ recordedAt: Date;
4886
+ }
4887
+ interface KeywordTrend {
4888
+ keywordId: string;
4889
+ keyword: string;
4890
+ currentPosition: number | null;
4891
+ bestPosition: number | null;
4892
+ positionChange: number;
4893
+ avgPosition: number;
4894
+ dataPoints: number;
4895
+ }
4896
+ interface SerpApiConfig {
4897
+ provider: 'valueserp' | 'serpapi' | 'scraper';
4898
+ apiKey?: string;
4899
+ rateLimit?: number;
4900
+ }
4901
+ interface RankCheckOptions {
4902
+ keywords: string[];
4903
+ domain: string;
4904
+ searchEngine?: 'google' | 'bing';
4905
+ country?: string;
4906
+ language?: string;
4907
+ device?: 'desktop' | 'mobile';
4908
+ }
4909
+ interface RankCheckResult {
4910
+ keyword: string;
4911
+ position: number | null;
4912
+ url: string | null;
4913
+ serpFeatures: SerpFeature[];
4914
+ topResults: CompetitorUrl[];
4915
+ checkedAt: Date;
4916
+ }
4917
+ interface RankingTierLimits {
4918
+ maxKeywords: number;
4919
+ checksPerDay: number;
4920
+ serpFeatures: boolean;
4921
+ competitorTracking: boolean;
4922
+ historyDays: number;
4923
+ }
4924
+ declare const TIER_LIMITS: Record<string, RankingTierLimits>;
4925
+
4926
+ interface SerpClientConfig {
4927
+ provider: 'valueserp' | 'serpapi' | 'direct';
4928
+ apiKey?: string;
4929
+ proxyUrl?: string;
4930
+ }
4931
+ declare class SerpClient {
4932
+ private config;
4933
+ constructor(config: SerpClientConfig);
4934
+ /**
4935
+ * Check ranking for a single keyword
4936
+ */
4937
+ checkRank(options: RankCheckOptions): Promise<RankCheckResult[]>;
4938
+ private checkSingleKeyword;
4939
+ /**
4940
+ * ValueSERP API implementation
4941
+ * Docs: https://www.valueserp.com/docs
4942
+ */
4943
+ private checkViaValueSerp;
4944
+ /**
4945
+ * SerpAPI implementation (alternative)
4946
+ * Docs: https://serpapi.com/search-api
4947
+ */
4948
+ private checkViaSerpApi;
4949
+ /**
4950
+ * Direct scraping fallback (rate-limited, use with caution)
4951
+ */
4952
+ private checkViaDirect;
4953
+ private parseValueSerpResponse;
4954
+ private parseSerpApiResponse;
4955
+ private parseDirectSearchResults;
4956
+ private extractDomain;
4957
+ private domainMatches;
4958
+ }
4959
+
4960
+ interface TrackerConfig {
4961
+ supabase: SupabaseClient;
4962
+ serpConfig: SerpClientConfig;
4963
+ }
4964
+ declare class RankTracker {
4965
+ private supabase;
4966
+ private serpClient;
4967
+ constructor(config: TrackerConfig);
4968
+ /**
4969
+ * Add keywords to track for a project
4970
+ */
4971
+ addKeywords(projectId: string, keywords: string[], options?: {
4972
+ searchEngine?: 'google' | 'bing';
4973
+ country?: string;
4974
+ language?: string;
4975
+ trackUrl?: string;
4976
+ }): Promise<TrackedKeyword[]>;
4977
+ /**
4978
+ * Remove keywords from tracking
4979
+ */
4980
+ removeKeywords(projectId: string, keywords: string[]): Promise<void>;
4981
+ /**
4982
+ * Get all tracked keywords for a project
4983
+ */
4984
+ getKeywords(projectId: string, includeInactive?: boolean): Promise<TrackedKeyword[]>;
4985
+ /**
4986
+ * Check rankings for all active keywords in a project
4987
+ */
4988
+ checkRankings(projectId: string, domain: string): Promise<RankingResult[]>;
4989
+ /**
4990
+ * Save a ranking result to the database
4991
+ */
4992
+ private saveRanking;
4993
+ /**
4994
+ * Get ranking history for a keyword
4995
+ * Note: Full history requires keyword_ranking_history table with keyword_ranking_id
4996
+ * For now, returns current state as single history entry
4997
+ */
4998
+ getHistory(keywordId: string, _days?: number): Promise<RankHistory[]>;
4999
+ /**
5000
+ * Get keyword trends for a project
5001
+ */
5002
+ getTrends(projectId: string): Promise<KeywordTrend[]>;
5003
+ /**
5004
+ * Manual trend calculation fallback
5005
+ */
5006
+ private calculateTrends;
5007
+ /**
5008
+ * Export ranking data as CSV
5009
+ */
5010
+ exportCSV(projectId: string, days?: number): Promise<string>;
5011
+ /**
5012
+ * Calculate position trend from history
5013
+ */
5014
+ private calculatePositionTrend;
5015
+ /**
5016
+ * Group keywords by search engine and country
5017
+ */
5018
+ private groupKeywords;
5019
+ /**
5020
+ * Map database row to TrackedKeyword
5021
+ */
5022
+ private mapKeyword;
5023
+ }
5024
+
4811
5025
  /**
4812
5026
  * Mobile SEO Analyzer
4813
5027
  *
@@ -5607,4 +5821,4 @@ interface SyncAuditResult {
5607
5821
  */
5608
5822
  declare function runSyncAudit(url: string, html: string, checksLimit: number): SyncAuditResult;
5609
5823
 
5610
- export { type AIContentConfig, type AIKeywordResearchOptions, type AgentDefinition, type AgentTool, type AlertChannel, type AlertConfig, type AlertMessage, type AlertResult, type AlertSeverity, type AlertType, type AuditAlertPayload, type AuditIssue, type AuditIssueData, type AuditOptions, type AuditPRResult, type AuditReport, type AuditReportData, type AuditRunnerOptions, type AuditRunnerResult, type AuditSchedule, type BlogPostConfig, type BrandConfig, type CIAction, type CIKeywordOptions, type CIKeywordResult, COMMIT_TYPES, type ChangelogConfig, type ChangelogResult, type CitationCheckOptions, type CommitConfig, type ComparisonConfig, type ComparisonRow, type CompetitiveInsight, type CompetitiveSearchOptions, type CompetitiveSearchResult, type CompetitorComparison, type CompetitorKeywordResult, type CompetitorOverlap, type CompetitorTool, type ContentElements, type ContentGeneratorOptions, type ContentRecommendation, type ConventionalCommit, type CrawlResult, type CrawlStats, type CrawledPage, type CreateAuditPROptions, type CreatePROptions, type DataForSEOCredentials, type DiscoveredPage, type EnhancedToolIdea, type ExecOptions, type ExecuteOptions, type ExecutionResult, type FAQItem, type FAQSchemaOptions, type FeaturedSnippetAnalysis, type Fix, type FixFile, type FixGeneratorOptions, type FixResult, type FrameworkInfo$1 as FrameworkInfo, type FreeKeywordResult, type FreeToolIdea, type GA4Config, type GEOAlert, type GEOAlertType, type GEOHistory, type GEOHistoryOptions, type GEOQuery, type GEOReport, type GEOResult, type GEOTrend, type GSCConfig, type GSCCredentials, type GSCPerformanceData, type GSCQueryData, type GSCQueryResult, type GeneratedCode, type GeneratedContent, type GeneratedFix, type HeadingStructure, type HeadlineAnalysis, type HealthScore, ISSUE_DEFINITIONS, type ImageInfo$2 as ImageInfo, type InjectionResult, type IntentAnalysis, type IssueCategory, type IssueDefinition, type IssueSeverity, type KeyFact, type KeyFactsOptions, type KeywordAction, type KeywordCluster, type KeywordData, type KeywordDensityAnalysis, type KeywordOpportunity, type KeywordRecommendation, type KeywordResearchOptions, type KeywordResearchResult, type KeywordStats, type KeywordTopic, type LLMCitationResult, type LLMJudgeOptions, type LLMProvider, LOCATION_CODES, type LSIKeyword, type LinkInfo$1 as LinkInfo, type Mention, type MentionType, type MetaData, type MetaFixOptions, type NGram, type NLPAnalysisResult, OG_IMAGE_SPECS, type OptimizeOptions, type PRConfig, type PRDescription, PRIORITY_WEIGHTS, type PRResult, type PageAudit, type PageData, type PageMeta, type PaidKeywordResult, type ParsedResponse, type PlanTier, type ProviderStats, type QuickWin, type ReadabilityResult, type ReadmeConfig, type ReadmeResult, type ReportBranding, type ReportConfig, type ReportData, type ReportPageData, type RouteInfo, type SEOAnalysisResult, type SEOFixCommit, type SEOFixSummary, type SEOIssue, type SEORecommendation, type SEOScore, SEO_SCOPES, SITE_PROFILE_QUESTIONS, type ScheduledAuditConfig, type ScheduledAuditResult, type SchemaData, Schemas, type SearchIntent, type Sentiment, type SiteCrawlResult, type SiteProfile, type SiteSummary, type SnippetRecommendation, type SnippetType, type SocialMetaConfig, type SocialMetaFix, type SummarizerOptions, type TFIDFResult, type ToolFeasibilityScore, type ToolFunction, type ToolResult, type TopicClusterResult, type TopicModel, type TrackingOptions, type TrendDirection, type UncertaintyAssessment, type WizardQuestion, type WizardResponse, type WizardResult, type WizardSession, type WorkflowConfig, addTrackingResult, analyzeAnchorText, analyzeCanonicalAdvanced, analyzeClientRendering, analyzeContentFreshness, analyzeConversionElements, analyzeDOMStructure, analyzeEntitySEO, analyzeFeaturedSnippetPotential, analyzeFreshnessSignals, analyzeFunnelIntent, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeInteractiveTools, analyzeKeywordDensity, analyzeKeywordPlacement, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeNavBoostSignals, analyzeOnPage, analyzePagination, analyzePerformance, analyzePlatformPresence, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTopicalClusters, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, buildGSCApiRequest, buildGSCRequest, calculateAIVisibilityScore, calculateBM25, calculateTFIDF$1 as calculateKeywordTFIDF, calculateNextRun, calculateTFIDF, checkAIBotBlocking, checkAMP, checkAdsTxt, checkAppleTouchIcon, checkBalance, checkCertificate, checkDMARC, checkGitHubCLI, checkInternalRedirects, checkJSRenderingRatio, checkLLMCitations, checkLlmsTxt, checkMobileResources, checkPlaintextEmails, checkRedirects, checkRobots, checkRobotsTxt, checkSPF, checkSitemap, classifyIntent, classifyIntents, clusterKeywordsByEmbedding, compareCompetitorVisibility, comparePeriods, completeWizard, crawlSite, crawlUrl, createAuditPR, createFallbackSummary, createGEOHistory, createPullRequest, createSEOCommit, createSEOCommits, detectDuplicates, detectFramework$1 as detectFramework, detectGitHubPages, detectMentions, detectSoft404, detectTechnologies, detectVisibilityChanges, discoverCompetitorKeywords, discoverPagesFromLinks, discoverRoutesFromRepo, enhanceSummaryWithCompetitors, enhanceToolIdea, enrichKeywordsWithEstimates, ensureGitRepo, evaluateAndEnhanceToolIdeas, evaluateToolFeasibility, executeAgent, extractContentHash, extractEntityPhrases, extractImages, extractKeyPhrases, extractLinks, extractMeta, extractNgrams, extractSchema, extractSeedKeywords, extractTopics, fetchCoreWebVitals, findAlmostPage1Keywords, findCTROpportunities, findHtmlEntry, findLSIKeywords, findPageFiles, findTopPerformers, formatAlertMessage, formatCIResult, formatCompetitorReport, formatConventionalCommit, formatFeaturedSnippetReport, formatHeadlineReport, formatIntentReport, formatKeywordDensityReport, formatKeywordReport, formatPRBody, formatPRTitle, formatReadabilityReport, formatReport, formatSEOCommitMessage, formatTopicReport, formatWizardProgress, index as frameworks, generateAICitableContent, generateAllFixes, generateAngularSEOService, generateAspNetCoreSEO, generateAstroBaseHead, generateAstroMeta, generateBlogPost, generateBranchName, generateChangelog, generateCommitSummary, generateComparisonTable, generateCompleteSocialMetaSetup, generateDjangoSEOHelper, generateDuplicateIssues, generateEleventySEO, generateFAQSchema, generateFixes, generateGA4EnvTemplate, generateGA4ReactComponent, generateGA4Script, generateGA4ViteScript, generateGEOReport, generateGSCVerificationTag, generateGitHubActionSetup, generateGoSEO, generateHTMLReport, generateHTMLSocialMeta, generateHTMXSEO, generateHeadlineVariations, generateHugoSEO, generateJekyllSEO, generateJsonReport, generateKeyFacts, generateLaravelSEOHelper, generateMarkdownReport, generateNextAppMetadata, generateNextJsAppRouterMetadata, generateNextJsPagesRouterHead, generateNextPagesHead, generateNuxtSEOHead, generatePDFReport, generatePRDescription, generatePhoenixSEO, generateRailsSEOHelper, generateReactHelmetSocialMeta, generateReactSEOHead, generateRecommendationQueries, generateRemixMeta, generateRemixSEO, generateSecretsDoc, generateSocialMetaFix, generateSpringBootSEO, generateSvelteKitMeta, generateSvelteKitSEOHead, generateUncertaintyQuestions, generateVueSEOHead, generateWizardQuestions, generateWorkflow, getAIVisibilitySummary, getAutocompleteSuggestions, getDateRange, getExpandedSuggestions, getFrameworkSpecificFix, getFrameworkSpecificFixExtended, getGSCSetupInstructions, getGitUser, getKeywordData, getKeywordSuggestions, getMaxKdThreshold, getNextQuestion, getRelatedKeywords, getVisibilityTrend, groupKeywordsByTopic, identifyQuickWins, injectGA4, injectGSCVerification, interpolatePrompt, isGitRepo, listFiles, loadAgent, loadAgentByName, mergePages, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, runSyncAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };
5824
+ export { type AIContentConfig, type AIKeywordResearchOptions, type AgentDefinition, type AgentTool, type AlertChannel, type AlertConfig, type AlertMessage, type AlertResult, type AlertSeverity, type AlertType, type AuditAlertPayload, type AuditIssue, type AuditIssueData, type AuditOptions, type AuditPRResult, type AuditReport, type AuditReportData, type AuditRunnerOptions, type AuditRunnerResult, type AuditSchedule, type BlogPostConfig, type BrandConfig, type CIAction, type CIKeywordOptions, type CIKeywordResult, COMMIT_TYPES, type ChangelogConfig, type ChangelogResult, type CitationCheckOptions, type CommitConfig, type ComparisonConfig, type ComparisonRow, type CompetitiveInsight, type CompetitiveSearchOptions, type CompetitiveSearchResult, type CompetitorComparison, type CompetitorKeywordResult, type CompetitorOverlap, type CompetitorTool, type CompetitorUrl, type ContentElements, type ContentGeneratorOptions, type ContentRecommendation, type ConventionalCommit, type CrawlResult, type CrawlStats, type CrawledPage, type CreateAuditPROptions, type CreatePROptions, type DataForSEOCredentials, type DiscoveredPage, type EnhancedToolIdea, type ExecOptions, type ExecuteOptions, type ExecutionResult, type FAQItem, type FAQSchemaOptions, type FeaturedSnippetAnalysis, type Fix, type FixFile, type FixGeneratorOptions, type FixResult, type FrameworkInfo$1 as FrameworkInfo, type FreeKeywordResult, type FreeToolIdea, type GA4Config, type GEOAlert, type GEOAlertType, type GEOHistory, type GEOHistoryOptions, type GEOQuery, type GEOReport, type GEOResult, type GEOTrend, type GSCConfig, type GSCCredentials, type GSCPerformanceData, type GSCQueryData, type GSCQueryResult, type GeneratedCode, type GeneratedContent, type GeneratedFix, type HeadingStructure, type HeadlineAnalysis, type HealthScore, ISSUE_DEFINITIONS, type ImageInfo$2 as ImageInfo, type InjectionResult, type IntentAnalysis, type IssueCategory, type IssueDefinition, type IssueSeverity, type KeyFact, type KeyFactsOptions, type KeywordAction, type KeywordCluster, type KeywordData, type KeywordDensityAnalysis, type KeywordOpportunity, type KeywordRecommendation, type KeywordResearchOptions, type KeywordResearchResult, type KeywordStats, type KeywordTopic, type KeywordTrend, type LLMCitationResult, type LLMJudgeOptions, type LLMProvider, LOCATION_CODES, type LSIKeyword, type LinkInfo$1 as LinkInfo, type Mention, type MentionType, type MetaData, type MetaFixOptions, type NGram, type NLPAnalysisResult, OG_IMAGE_SPECS, type OptimizeOptions, type PRConfig, type PRDescription, PRIORITY_WEIGHTS, type PRResult, type PageAudit, type PageData, type PageMeta, type PaidKeywordResult, type ParsedResponse, type PlanTier, type ProviderStats, type QuickWin, type RankCheckOptions, type RankCheckResult, type RankHistory, RankTracker, type RankingResult, type RankingTierLimits, type ReadabilityResult, type ReadmeConfig, type ReadmeResult, type ReportBranding, type ReportConfig, type ReportData, type ReportPageData, type RouteInfo, type SEOAnalysisResult, type SEOFixCommit, type SEOFixSummary, type SEOIssue, type SEORecommendation, type SEOScore, SEO_SCOPES, SITE_PROFILE_QUESTIONS, type ScheduledAuditConfig, type ScheduledAuditResult, type SchemaData, Schemas, type SearchIntent, type Sentiment, type SerpApiConfig, SerpClient, type SerpClientConfig, type SerpFeature, type SiteCrawlResult, type SiteProfile, type SiteSummary, type SnippetRecommendation, type SnippetType, type SocialMetaConfig, type SocialMetaFix, type SummarizerOptions, type TFIDFResult, TIER_LIMITS, type ToolFeasibilityScore, type ToolFunction, type ToolResult, type TopicClusterResult, type TopicModel, type TrackedKeyword, type TrackerConfig, type TrackingOptions, type TrendDirection, type UncertaintyAssessment, type WizardQuestion, type WizardResponse, type WizardResult, type WizardSession, type WorkflowConfig, addTrackingResult, analyzeAnchorText, analyzeCanonicalAdvanced, analyzeClientRendering, analyzeContentFreshness, analyzeConversionElements, analyzeDOMStructure, analyzeEntitySEO, analyzeFeaturedSnippetPotential, analyzeFreshnessSignals, analyzeFunnelIntent, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeInteractiveTools, analyzeKeywordDensity, analyzeKeywordPlacement, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeNavBoostSignals, analyzeOnPage, analyzePagination, analyzePerformance, analyzePlatformPresence, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTopicalClusters, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, buildGSCApiRequest, buildGSCRequest, calculateAIVisibilityScore, calculateBM25, calculateTFIDF$1 as calculateKeywordTFIDF, calculateNextRun, calculateTFIDF, checkAIBotBlocking, checkAMP, checkAdsTxt, checkAppleTouchIcon, checkBalance, checkCertificate, checkDMARC, checkGitHubCLI, checkInternalRedirects, checkJSRenderingRatio, checkLLMCitations, checkLlmsTxt, checkMobileResources, checkPlaintextEmails, checkRedirects, checkRobots, checkRobotsTxt, checkSPF, checkSitemap, classifyIntent, classifyIntents, clusterKeywordsByEmbedding, compareCompetitorVisibility, comparePeriods, completeWizard, crawlSite, crawlUrl, createAuditPR, createFallbackSummary, createGEOHistory, createPullRequest, createSEOCommit, createSEOCommits, detectDuplicates, detectFramework$1 as detectFramework, detectGitHubPages, detectMentions, detectSoft404, detectTechnologies, detectVisibilityChanges, discoverCompetitorKeywords, discoverPagesFromLinks, discoverRoutesFromRepo, enhanceSummaryWithCompetitors, enhanceToolIdea, enrichKeywordsWithEstimates, ensureGitRepo, evaluateAndEnhanceToolIdeas, evaluateToolFeasibility, executeAgent, extractContentHash, extractEntityPhrases, extractImages, extractKeyPhrases, extractLinks, extractMeta, extractNgrams, extractSchema, extractSeedKeywords, extractTopics, fetchCoreWebVitals, findAlmostPage1Keywords, findCTROpportunities, findHtmlEntry, findLSIKeywords, findPageFiles, findTopPerformers, formatAlertMessage, formatCIResult, formatCompetitorReport, formatConventionalCommit, formatFeaturedSnippetReport, formatHeadlineReport, formatIntentReport, formatKeywordDensityReport, formatKeywordReport, formatPRBody, formatPRTitle, formatReadabilityReport, formatReport, formatSEOCommitMessage, formatTopicReport, formatWizardProgress, index as frameworks, generateAICitableContent, generateAllFixes, generateAngularSEOService, generateAspNetCoreSEO, generateAstroBaseHead, generateAstroMeta, generateBlogPost, generateBranchName, generateChangelog, generateCommitSummary, generateComparisonTable, generateCompleteSocialMetaSetup, generateDjangoSEOHelper, generateDuplicateIssues, generateEleventySEO, generateFAQSchema, generateFixes, generateGA4EnvTemplate, generateGA4ReactComponent, generateGA4Script, generateGA4ViteScript, generateGEOReport, generateGSCVerificationTag, generateGitHubActionSetup, generateGoSEO, generateHTMLReport, generateHTMLSocialMeta, generateHTMXSEO, generateHeadlineVariations, generateHugoSEO, generateJekyllSEO, generateJsonReport, generateKeyFacts, generateLaravelSEOHelper, generateMarkdownReport, generateNextAppMetadata, generateNextJsAppRouterMetadata, generateNextJsPagesRouterHead, generateNextPagesHead, generateNuxtSEOHead, generatePDFReport, generatePRDescription, generatePhoenixSEO, generateRailsSEOHelper, generateReactHelmetSocialMeta, generateReactSEOHead, generateRecommendationQueries, generateRemixMeta, generateRemixSEO, generateSecretsDoc, generateSocialMetaFix, generateSpringBootSEO, generateSvelteKitMeta, generateSvelteKitSEOHead, generateUncertaintyQuestions, generateVueSEOHead, generateWizardQuestions, generateWorkflow, getAIVisibilitySummary, getAutocompleteSuggestions, getDateRange, getExpandedSuggestions, getFrameworkSpecificFix, getFrameworkSpecificFixExtended, getGSCSetupInstructions, getGitUser, getKeywordData, getKeywordSuggestions, getMaxKdThreshold, getNextQuestion, getRelatedKeywords, getVisibilityTrend, groupKeywordsByTopic, identifyQuickWins, injectGA4, injectGSCVerification, interpolatePrompt, isGitRepo, listFiles, loadAgent, loadAgentByName, mergePages, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, runSyncAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };