@rankcli/agent-runtime 0.0.30 → 0.0.32

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
@@ -3031,20 +3031,6 @@ declare function buildDeterministicFixes(input: DeterministicFixInput): Determin
3031
3031
  */
3032
3032
  declare function findAppRoot(files: string[]): string;
3033
3033
 
3034
- interface ReplacementConcern {
3035
- /** Machine-readable, for logs and the PR body. */
3036
- code: 'shrunk' | 'lost_closing_tag' | 'lost_script' | 'lost_stylesheet' | 'lost_verification' | 'lost_import' | 'invalid_json' | 'invalid_xml' | 'invalid_json_ld' | 'fewer_sitemap_urls' | 'lastmod_moved_backwards';
3037
- detail: string;
3038
- }
3039
- /**
3040
- * Everything wrong with replacing `original` with `replacement` at `path`. Empty means safe
3041
- * to commit. `original` is null for a file being created, where there is nothing to lose and
3042
- * only the content's own validity matters.
3043
- */
3044
- declare function assessReplacement(path: string, original: string | null, replacement: string): ReplacementConcern[];
3045
- /** One line naming why a file was dropped, for a log line or a PR body. */
3046
- declare function describeConcerns(concerns: ReplacementConcern[]): string;
3047
-
3048
3034
  /**
3049
3035
  * Framework Detection
3050
3036
  *
@@ -3056,7 +3042,7 @@ declare function describeConcerns(concerns: ReplacementConcern[]): string;
3056
3042
  *
3057
3043
  * Supports 25+ frameworks across JavaScript, Ruby, Python, PHP, Java, C#, Go, and Elixir.
3058
3044
  */
3059
- type Framework = 'react' | 'nextjs' | 'vue' | 'nuxt' | 'angular' | 'svelte' | 'sveltekit' | 'astro' | 'remix' | 'gatsby' | 'solidjs' | 'qwik' | 'fresh' | 'rails' | 'django' | 'flask' | 'fastapi' | 'laravel' | 'symfony' | 'wordpress' | 'spring' | 'aspnet' | 'go' | 'phoenix' | 'htmx' | 'hotwire' | 'hugo' | 'jekyll' | 'eleventy' | 'pelican' | 'unknown';
3045
+ type Framework = 'react' | 'nextjs' | 'vue' | 'nuxt' | 'angular' | 'svelte' | 'sveltekit' | 'astro' | 'remix' | 'gatsby' | 'solidjs' | 'qwik' | 'fresh' | 'rails' | 'django' | 'flask' | 'fastapi' | 'laravel' | 'symfony' | 'wordpress' | 'spring' | 'aspnet' | 'go' | 'phoenix' | 'htmx' | 'hotwire' | 'hugo' | 'jekyll' | 'eleventy' | 'pelican' | 'sphinx' | 'docusaurus' | 'unknown';
3060
3046
  type Language = 'javascript' | 'typescript' | 'ruby' | 'python' | 'php' | 'java' | 'csharp' | 'go' | 'elixir' | 'rust' | 'unknown';
3061
3047
  interface FrameworkInfo {
3062
3048
  framework: Framework;
@@ -3108,6 +3094,30 @@ declare function detectFramework$1(options: {
3108
3094
  */
3109
3095
  declare function getFrameworkDisplayName(framework: Framework): string;
3110
3096
 
3097
+ /**
3098
+ * Where to write a file that must be served at the site root.
3099
+ *
3100
+ * @param framework what detection identified, or 'unknown'
3101
+ * @param files every path in the repository
3102
+ * @param appRoot the app's directory, with a trailing slash, or ''
3103
+ * @returns a path prefix relative to appRoot: 'public/', 'static/', or '' for the app root
3104
+ */
3105
+ declare function servedDir(framework: Framework | undefined, files: string[], appRoot?: string): string;
3106
+
3107
+ interface ReplacementConcern {
3108
+ /** Machine-readable, for logs and the PR body. */
3109
+ code: 'shrunk' | 'lost_closing_tag' | 'lost_script' | 'lost_stylesheet' | 'lost_verification' | 'lost_import' | 'invalid_json' | 'invalid_xml' | 'invalid_json_ld' | 'fewer_sitemap_urls' | 'lastmod_moved_backwards';
3110
+ detail: string;
3111
+ }
3112
+ /**
3113
+ * Everything wrong with replacing `original` with `replacement` at `path`. Empty means safe
3114
+ * to commit. `original` is null for a file being created, where there is nothing to lose and
3115
+ * only the content's own validity matters.
3116
+ */
3117
+ declare function assessReplacement(path: string, original: string | null, replacement: string): ReplacementConcern[];
3118
+ /** One line naming why a file was dropped, for a log line or a PR body. */
3119
+ declare function describeConcerns(concerns: ReplacementConcern[]): string;
3120
+
3111
3121
  /**
3112
3122
  * Framework-Specific SEO Suggestion Engine
3113
3123
  *
@@ -5567,6 +5577,70 @@ declare namespace index$1 {
5567
5577
  export { type index$1_AIAccessResult as AIAccessResult, index$1_AI_CRAWLERS_INFO as AI_CRAWLERS_INFO, type index$1_AnchorTextStats as AnchorTextStats, type index$1_CitationResult as CitationResult, type index$1_ComprehensiveSEOResult as ComprehensiveSEOResult, type index$1_ContentStructureResult as ContentStructureResult, type index$1_ContentWidthAnalysis as ContentWidthAnalysis, type index$1_CoreWebVitalsEstimate as CoreWebVitalsEstimate, type index$1_EntityResult as EntityResult, type index$1_FontSizeAnalysis as FontSizeAnalysis, type index$1_GEOAnalysisResult as GEOAnalysisResult, type index$1_ImageAnalysisResult as ImageAnalysisResult, type index$1_ImageInfo as ImageInfo, type index$1_InternalLinkingResult as InternalLinkingResult, type index$1_LLMSignalResult as LLMSignalResult, type index$1_LinkInfo as LinkInfo, type index$1_MobileSEOResult as MobileSEOResult, type index$1_MobileSpecificAnalysis as MobileSpecificAnalysis, type index$1_SchemaItem as SchemaItem, type index$1_SecurityHeadersResult as SecurityHeadersResult, type index$1_StructuredDataResult as StructuredDataResult, type index$1_TouchTargetAnalysis as TouchTargetAnalysis, type index$1_ViewportAnalysis as ViewportAnalysis, index$1_analyzeCitationReadiness as analyzeCitationReadiness, index$1_analyzeComprehensive as analyzeComprehensive, index$1_analyzeContentStructure as analyzeContentStructure, index$1_analyzeCoreWebVitals as analyzeCoreWebVitals, index$1_analyzeEntityExtraction as analyzeEntityExtraction, index$1_analyzeGEO as analyzeGEO, index$1_analyzeImages as analyzeImages, index$1_analyzeInternalLinking as analyzeInternalLinking, index$1_analyzeMobileSEO as analyzeMobileSEO, index$1_analyzeRobotsTxtForAI as analyzeRobotsTxtForAI, index$1_analyzeSecurityHeaders as analyzeSecurityHeaders, index$1_analyzeStructuredData as analyzeStructuredData, index$1_calculateLLMSignals as calculateLLMSignals, index$1_detectRenderingMode as detectRenderingMode, index$1_generateAIFriendlyRobotsTxt as generateAIFriendlyRobotsTxt, index$1_generateResponsiveImage as generateResponsiveImage, index$1_generateSchemaTemplate as generateSchemaTemplate, index$1_generateSecurityHeaders as generateSecurityHeaders, index$1_suggestInternalLinks as suggestInternalLinks };
5568
5578
  }
5569
5579
 
5580
+ /**
5581
+ * DECISIVE: only this framework's build output or runtime emits it. A single one settles it.
5582
+ * STRONG: this framework's own attribute or cookie conventions; two make a confident answer.
5583
+ * WEAK: consistent with the framework, also consistent with others. Never decides alone.
5584
+ */
5585
+ declare const WEIGHT: {
5586
+ readonly DECISIVE: 100;
5587
+ readonly STRONG: 45;
5588
+ readonly WEAK: 15;
5589
+ };
5590
+ /**
5591
+ * Below this, the evidence is not worth a claim.
5592
+ *
5593
+ * Set to one STRONG signal: a framework's own convention (a Thymeleaf attribute, a
5594
+ * laravel_session cookie, a Vite entry bundle mounting into #root) is a real answer, reported
5595
+ * at medium confidence. Two WEAK signals total 30 and still fall short, which is what stops
5596
+ * solidjs.com's `<div id="app">` from being called Vue.
5597
+ */
5598
+ declare const SCORE_FLOOR = 45;
5599
+ interface Signal {
5600
+ framework: Framework;
5601
+ language: Language;
5602
+ weight: number;
5603
+ /** Named so a wrong answer can be traced to the rule that caused it. */
5604
+ name: string;
5605
+ html?: RegExp;
5606
+ /** Matched against `${name}: ${value}` for every response header, lowercased. */
5607
+ header?: RegExp;
5608
+ /**
5609
+ * Every pattern must match the HTML. For evidence that only means something in
5610
+ * combination: a Vite entry bundle says "built with Vite", and an empty `#root` says "some
5611
+ * library mounts here" - together they say React, and neither says it alone.
5612
+ */
5613
+ allHtml?: RegExp[];
5614
+ }
5615
+ declare const SIGNALS: Signal[];
5616
+ interface Evidence {
5617
+ framework: Framework;
5618
+ language: Language;
5619
+ score: number;
5620
+ /** Signal names that fired, so any answer can be explained. */
5621
+ matched: string[];
5622
+ }
5623
+ interface DetectionResult {
5624
+ framework: Framework;
5625
+ language: Language;
5626
+ confidence: 'high' | 'medium' | 'low';
5627
+ score: number;
5628
+ matched: string[];
5629
+ /** Runners-up, for debugging a wrong answer. */
5630
+ alternatives: Evidence[];
5631
+ }
5632
+ /**
5633
+ * The framework a response is built with, from all the evidence at once.
5634
+ *
5635
+ * Meta-frameworks beat the libraries they are built on without needing a rule to say so: a
5636
+ * Next.js page carries a decisive `/_next/static/` and at most weak React markers, so Next.js
5637
+ * wins on score. That is why nothing here encodes "nextjs outranks react".
5638
+ */
5639
+ declare function detectFromEvidence(input: {
5640
+ html?: string;
5641
+ headers?: Record<string, string>;
5642
+ }): DetectionResult;
5643
+
5570
5644
  /**
5571
5645
  * Framework Detection and SEO Recipes
5572
5646
  *
@@ -5595,11 +5669,18 @@ declare namespace index$1 {
5595
5669
 
5596
5670
  declare const SUPPORTED_FRAMEWORKS: readonly ["angular", "astro", "django", "laravel", "nextjs", "nuxt", "rails", "react", "sveltekit", "vue", "wordpress"];
5597
5671
 
5672
+ type index_DetectionResult = DetectionResult;
5673
+ type index_Evidence = Evidence;
5598
5674
  type index_Framework = Framework;
5599
5675
  type index_FrameworkCheck = FrameworkCheck;
5600
5676
  type index_FrameworkInfo = FrameworkInfo;
5601
5677
  type index_FrameworkRecipe = FrameworkRecipe;
5678
+ declare const index_SCORE_FLOOR: typeof SCORE_FLOOR;
5679
+ declare const index_SIGNALS: typeof SIGNALS;
5602
5680
  declare const index_SUPPORTED_FRAMEWORKS: typeof SUPPORTED_FRAMEWORKS;
5681
+ type index_Signal = Signal;
5682
+ declare const index_WEIGHT: typeof WEIGHT;
5683
+ declare const index_detectFromEvidence: typeof detectFromEvidence;
5603
5684
  declare const index_detectFromHeaders: typeof detectFromHeaders;
5604
5685
  declare const index_detectFromHtml: typeof detectFromHtml;
5605
5686
  declare const index_detectFromPackageJson: typeof detectFromPackageJson;
@@ -5615,7 +5696,7 @@ declare const index_getSeoChallenges: typeof getSeoChallenges;
5615
5696
  declare const index_getTotalFrameworkChecks: typeof getTotalFrameworkChecks;
5616
5697
  declare const index_loadRecipe: typeof loadRecipe;
5617
5698
  declare namespace index {
5618
- export { type index_Framework as Framework, type index_FrameworkCheck as FrameworkCheck, type index_FrameworkInfo as FrameworkInfo, type index_FrameworkRecipe as FrameworkRecipe, index_SUPPORTED_FRAMEWORKS as SUPPORTED_FRAMEWORKS, detectFramework$1 as detectFramework, index_detectFromHeaders as detectFromHeaders, index_detectFromHtml as detectFromHtml, index_detectFromPackageJson as detectFromPackageJson, index_embedRecipe as embedRecipe, index_getFrameworkChecks as getFrameworkChecks, index_getFrameworkDisplayName as getFrameworkDisplayName, index_getFrameworkIssues as getFrameworkIssues, index_getFrameworkSuggestions as getFrameworkSuggestions, index_getFrameworkSummary as getFrameworkSummary, index_getMigrationPaths as getMigrationPaths, index_getPerformanceTips as getPerformanceTips, index_getSeoChallenges as getSeoChallenges, index_getTotalFrameworkChecks as getTotalFrameworkChecks, index_loadRecipe as loadRecipe };
5699
+ export { type index_DetectionResult as DetectionResult, type index_Evidence as Evidence, type index_Framework as Framework, type index_FrameworkCheck as FrameworkCheck, type index_FrameworkInfo as FrameworkInfo, type index_FrameworkRecipe as FrameworkRecipe, index_SCORE_FLOOR as SCORE_FLOOR, index_SIGNALS as SIGNALS, index_SUPPORTED_FRAMEWORKS as SUPPORTED_FRAMEWORKS, type index_Signal as Signal, index_WEIGHT as WEIGHT, detectFramework$1 as detectFramework, index_detectFromEvidence as detectFromEvidence, index_detectFromHeaders as detectFromHeaders, index_detectFromHtml as detectFromHtml, index_detectFromPackageJson as detectFromPackageJson, index_embedRecipe as embedRecipe, index_getFrameworkChecks as getFrameworkChecks, index_getFrameworkDisplayName as getFrameworkDisplayName, index_getFrameworkIssues as getFrameworkIssues, index_getFrameworkSuggestions as getFrameworkSuggestions, index_getFrameworkSummary as getFrameworkSummary, index_getMigrationPaths as getMigrationPaths, index_getPerformanceTips as getPerformanceTips, index_getSeoChallenges as getSeoChallenges, index_getTotalFrameworkChecks as getTotalFrameworkChecks, index_loadRecipe as loadRecipe };
5619
5700
  }
5620
5701
 
5621
- 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 DeterministicFixInput, type DeterministicFixes, 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 KeywordLLM, 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, analyzeDOMStructure, analyzeFeaturedSnippetPotential, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeKeywordDensity, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeOnPage, analyzePagination, analyzePerformance, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, assessReplacement, buildDeterministicFixes, buildFrameworkGuidance, 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, describeConcerns, detectDuplicates, 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, findAppRoot, 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, keywordLLM, listFiles, loadAgent, loadAgentByName, mergePages, openAIKeywordLLM, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseJsonReply, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };
5702
+ 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 DeterministicFixInput, type DeterministicFixes, 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 KeywordLLM, 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, analyzeDOMStructure, analyzeFeaturedSnippetPotential, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeKeywordDensity, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeOnPage, analyzePagination, analyzePerformance, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, assessReplacement, buildDeterministicFixes, buildFrameworkGuidance, 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, describeConcerns, detectDuplicates, 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, findAppRoot, 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, keywordLLM, listFiles, loadAgent, loadAgentByName, mergePages, openAIKeywordLLM, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseJsonReply, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, servedDir, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };
package/dist/index.d.ts CHANGED
@@ -3031,20 +3031,6 @@ declare function buildDeterministicFixes(input: DeterministicFixInput): Determin
3031
3031
  */
3032
3032
  declare function findAppRoot(files: string[]): string;
3033
3033
 
3034
- interface ReplacementConcern {
3035
- /** Machine-readable, for logs and the PR body. */
3036
- code: 'shrunk' | 'lost_closing_tag' | 'lost_script' | 'lost_stylesheet' | 'lost_verification' | 'lost_import' | 'invalid_json' | 'invalid_xml' | 'invalid_json_ld' | 'fewer_sitemap_urls' | 'lastmod_moved_backwards';
3037
- detail: string;
3038
- }
3039
- /**
3040
- * Everything wrong with replacing `original` with `replacement` at `path`. Empty means safe
3041
- * to commit. `original` is null for a file being created, where there is nothing to lose and
3042
- * only the content's own validity matters.
3043
- */
3044
- declare function assessReplacement(path: string, original: string | null, replacement: string): ReplacementConcern[];
3045
- /** One line naming why a file was dropped, for a log line or a PR body. */
3046
- declare function describeConcerns(concerns: ReplacementConcern[]): string;
3047
-
3048
3034
  /**
3049
3035
  * Framework Detection
3050
3036
  *
@@ -3056,7 +3042,7 @@ declare function describeConcerns(concerns: ReplacementConcern[]): string;
3056
3042
  *
3057
3043
  * Supports 25+ frameworks across JavaScript, Ruby, Python, PHP, Java, C#, Go, and Elixir.
3058
3044
  */
3059
- type Framework = 'react' | 'nextjs' | 'vue' | 'nuxt' | 'angular' | 'svelte' | 'sveltekit' | 'astro' | 'remix' | 'gatsby' | 'solidjs' | 'qwik' | 'fresh' | 'rails' | 'django' | 'flask' | 'fastapi' | 'laravel' | 'symfony' | 'wordpress' | 'spring' | 'aspnet' | 'go' | 'phoenix' | 'htmx' | 'hotwire' | 'hugo' | 'jekyll' | 'eleventy' | 'pelican' | 'unknown';
3045
+ type Framework = 'react' | 'nextjs' | 'vue' | 'nuxt' | 'angular' | 'svelte' | 'sveltekit' | 'astro' | 'remix' | 'gatsby' | 'solidjs' | 'qwik' | 'fresh' | 'rails' | 'django' | 'flask' | 'fastapi' | 'laravel' | 'symfony' | 'wordpress' | 'spring' | 'aspnet' | 'go' | 'phoenix' | 'htmx' | 'hotwire' | 'hugo' | 'jekyll' | 'eleventy' | 'pelican' | 'sphinx' | 'docusaurus' | 'unknown';
3060
3046
  type Language = 'javascript' | 'typescript' | 'ruby' | 'python' | 'php' | 'java' | 'csharp' | 'go' | 'elixir' | 'rust' | 'unknown';
3061
3047
  interface FrameworkInfo {
3062
3048
  framework: Framework;
@@ -3108,6 +3094,30 @@ declare function detectFramework$1(options: {
3108
3094
  */
3109
3095
  declare function getFrameworkDisplayName(framework: Framework): string;
3110
3096
 
3097
+ /**
3098
+ * Where to write a file that must be served at the site root.
3099
+ *
3100
+ * @param framework what detection identified, or 'unknown'
3101
+ * @param files every path in the repository
3102
+ * @param appRoot the app's directory, with a trailing slash, or ''
3103
+ * @returns a path prefix relative to appRoot: 'public/', 'static/', or '' for the app root
3104
+ */
3105
+ declare function servedDir(framework: Framework | undefined, files: string[], appRoot?: string): string;
3106
+
3107
+ interface ReplacementConcern {
3108
+ /** Machine-readable, for logs and the PR body. */
3109
+ code: 'shrunk' | 'lost_closing_tag' | 'lost_script' | 'lost_stylesheet' | 'lost_verification' | 'lost_import' | 'invalid_json' | 'invalid_xml' | 'invalid_json_ld' | 'fewer_sitemap_urls' | 'lastmod_moved_backwards';
3110
+ detail: string;
3111
+ }
3112
+ /**
3113
+ * Everything wrong with replacing `original` with `replacement` at `path`. Empty means safe
3114
+ * to commit. `original` is null for a file being created, where there is nothing to lose and
3115
+ * only the content's own validity matters.
3116
+ */
3117
+ declare function assessReplacement(path: string, original: string | null, replacement: string): ReplacementConcern[];
3118
+ /** One line naming why a file was dropped, for a log line or a PR body. */
3119
+ declare function describeConcerns(concerns: ReplacementConcern[]): string;
3120
+
3111
3121
  /**
3112
3122
  * Framework-Specific SEO Suggestion Engine
3113
3123
  *
@@ -5567,6 +5577,70 @@ declare namespace index$1 {
5567
5577
  export { type index$1_AIAccessResult as AIAccessResult, index$1_AI_CRAWLERS_INFO as AI_CRAWLERS_INFO, type index$1_AnchorTextStats as AnchorTextStats, type index$1_CitationResult as CitationResult, type index$1_ComprehensiveSEOResult as ComprehensiveSEOResult, type index$1_ContentStructureResult as ContentStructureResult, type index$1_ContentWidthAnalysis as ContentWidthAnalysis, type index$1_CoreWebVitalsEstimate as CoreWebVitalsEstimate, type index$1_EntityResult as EntityResult, type index$1_FontSizeAnalysis as FontSizeAnalysis, type index$1_GEOAnalysisResult as GEOAnalysisResult, type index$1_ImageAnalysisResult as ImageAnalysisResult, type index$1_ImageInfo as ImageInfo, type index$1_InternalLinkingResult as InternalLinkingResult, type index$1_LLMSignalResult as LLMSignalResult, type index$1_LinkInfo as LinkInfo, type index$1_MobileSEOResult as MobileSEOResult, type index$1_MobileSpecificAnalysis as MobileSpecificAnalysis, type index$1_SchemaItem as SchemaItem, type index$1_SecurityHeadersResult as SecurityHeadersResult, type index$1_StructuredDataResult as StructuredDataResult, type index$1_TouchTargetAnalysis as TouchTargetAnalysis, type index$1_ViewportAnalysis as ViewportAnalysis, index$1_analyzeCitationReadiness as analyzeCitationReadiness, index$1_analyzeComprehensive as analyzeComprehensive, index$1_analyzeContentStructure as analyzeContentStructure, index$1_analyzeCoreWebVitals as analyzeCoreWebVitals, index$1_analyzeEntityExtraction as analyzeEntityExtraction, index$1_analyzeGEO as analyzeGEO, index$1_analyzeImages as analyzeImages, index$1_analyzeInternalLinking as analyzeInternalLinking, index$1_analyzeMobileSEO as analyzeMobileSEO, index$1_analyzeRobotsTxtForAI as analyzeRobotsTxtForAI, index$1_analyzeSecurityHeaders as analyzeSecurityHeaders, index$1_analyzeStructuredData as analyzeStructuredData, index$1_calculateLLMSignals as calculateLLMSignals, index$1_detectRenderingMode as detectRenderingMode, index$1_generateAIFriendlyRobotsTxt as generateAIFriendlyRobotsTxt, index$1_generateResponsiveImage as generateResponsiveImage, index$1_generateSchemaTemplate as generateSchemaTemplate, index$1_generateSecurityHeaders as generateSecurityHeaders, index$1_suggestInternalLinks as suggestInternalLinks };
5568
5578
  }
5569
5579
 
5580
+ /**
5581
+ * DECISIVE: only this framework's build output or runtime emits it. A single one settles it.
5582
+ * STRONG: this framework's own attribute or cookie conventions; two make a confident answer.
5583
+ * WEAK: consistent with the framework, also consistent with others. Never decides alone.
5584
+ */
5585
+ declare const WEIGHT: {
5586
+ readonly DECISIVE: 100;
5587
+ readonly STRONG: 45;
5588
+ readonly WEAK: 15;
5589
+ };
5590
+ /**
5591
+ * Below this, the evidence is not worth a claim.
5592
+ *
5593
+ * Set to one STRONG signal: a framework's own convention (a Thymeleaf attribute, a
5594
+ * laravel_session cookie, a Vite entry bundle mounting into #root) is a real answer, reported
5595
+ * at medium confidence. Two WEAK signals total 30 and still fall short, which is what stops
5596
+ * solidjs.com's `<div id="app">` from being called Vue.
5597
+ */
5598
+ declare const SCORE_FLOOR = 45;
5599
+ interface Signal {
5600
+ framework: Framework;
5601
+ language: Language;
5602
+ weight: number;
5603
+ /** Named so a wrong answer can be traced to the rule that caused it. */
5604
+ name: string;
5605
+ html?: RegExp;
5606
+ /** Matched against `${name}: ${value}` for every response header, lowercased. */
5607
+ header?: RegExp;
5608
+ /**
5609
+ * Every pattern must match the HTML. For evidence that only means something in
5610
+ * combination: a Vite entry bundle says "built with Vite", and an empty `#root` says "some
5611
+ * library mounts here" - together they say React, and neither says it alone.
5612
+ */
5613
+ allHtml?: RegExp[];
5614
+ }
5615
+ declare const SIGNALS: Signal[];
5616
+ interface Evidence {
5617
+ framework: Framework;
5618
+ language: Language;
5619
+ score: number;
5620
+ /** Signal names that fired, so any answer can be explained. */
5621
+ matched: string[];
5622
+ }
5623
+ interface DetectionResult {
5624
+ framework: Framework;
5625
+ language: Language;
5626
+ confidence: 'high' | 'medium' | 'low';
5627
+ score: number;
5628
+ matched: string[];
5629
+ /** Runners-up, for debugging a wrong answer. */
5630
+ alternatives: Evidence[];
5631
+ }
5632
+ /**
5633
+ * The framework a response is built with, from all the evidence at once.
5634
+ *
5635
+ * Meta-frameworks beat the libraries they are built on without needing a rule to say so: a
5636
+ * Next.js page carries a decisive `/_next/static/` and at most weak React markers, so Next.js
5637
+ * wins on score. That is why nothing here encodes "nextjs outranks react".
5638
+ */
5639
+ declare function detectFromEvidence(input: {
5640
+ html?: string;
5641
+ headers?: Record<string, string>;
5642
+ }): DetectionResult;
5643
+
5570
5644
  /**
5571
5645
  * Framework Detection and SEO Recipes
5572
5646
  *
@@ -5595,11 +5669,18 @@ declare namespace index$1 {
5595
5669
 
5596
5670
  declare const SUPPORTED_FRAMEWORKS: readonly ["angular", "astro", "django", "laravel", "nextjs", "nuxt", "rails", "react", "sveltekit", "vue", "wordpress"];
5597
5671
 
5672
+ type index_DetectionResult = DetectionResult;
5673
+ type index_Evidence = Evidence;
5598
5674
  type index_Framework = Framework;
5599
5675
  type index_FrameworkCheck = FrameworkCheck;
5600
5676
  type index_FrameworkInfo = FrameworkInfo;
5601
5677
  type index_FrameworkRecipe = FrameworkRecipe;
5678
+ declare const index_SCORE_FLOOR: typeof SCORE_FLOOR;
5679
+ declare const index_SIGNALS: typeof SIGNALS;
5602
5680
  declare const index_SUPPORTED_FRAMEWORKS: typeof SUPPORTED_FRAMEWORKS;
5681
+ type index_Signal = Signal;
5682
+ declare const index_WEIGHT: typeof WEIGHT;
5683
+ declare const index_detectFromEvidence: typeof detectFromEvidence;
5603
5684
  declare const index_detectFromHeaders: typeof detectFromHeaders;
5604
5685
  declare const index_detectFromHtml: typeof detectFromHtml;
5605
5686
  declare const index_detectFromPackageJson: typeof detectFromPackageJson;
@@ -5615,7 +5696,7 @@ declare const index_getSeoChallenges: typeof getSeoChallenges;
5615
5696
  declare const index_getTotalFrameworkChecks: typeof getTotalFrameworkChecks;
5616
5697
  declare const index_loadRecipe: typeof loadRecipe;
5617
5698
  declare namespace index {
5618
- export { type index_Framework as Framework, type index_FrameworkCheck as FrameworkCheck, type index_FrameworkInfo as FrameworkInfo, type index_FrameworkRecipe as FrameworkRecipe, index_SUPPORTED_FRAMEWORKS as SUPPORTED_FRAMEWORKS, detectFramework$1 as detectFramework, index_detectFromHeaders as detectFromHeaders, index_detectFromHtml as detectFromHtml, index_detectFromPackageJson as detectFromPackageJson, index_embedRecipe as embedRecipe, index_getFrameworkChecks as getFrameworkChecks, index_getFrameworkDisplayName as getFrameworkDisplayName, index_getFrameworkIssues as getFrameworkIssues, index_getFrameworkSuggestions as getFrameworkSuggestions, index_getFrameworkSummary as getFrameworkSummary, index_getMigrationPaths as getMigrationPaths, index_getPerformanceTips as getPerformanceTips, index_getSeoChallenges as getSeoChallenges, index_getTotalFrameworkChecks as getTotalFrameworkChecks, index_loadRecipe as loadRecipe };
5699
+ export { type index_DetectionResult as DetectionResult, type index_Evidence as Evidence, type index_Framework as Framework, type index_FrameworkCheck as FrameworkCheck, type index_FrameworkInfo as FrameworkInfo, type index_FrameworkRecipe as FrameworkRecipe, index_SCORE_FLOOR as SCORE_FLOOR, index_SIGNALS as SIGNALS, index_SUPPORTED_FRAMEWORKS as SUPPORTED_FRAMEWORKS, type index_Signal as Signal, index_WEIGHT as WEIGHT, detectFramework$1 as detectFramework, index_detectFromEvidence as detectFromEvidence, index_detectFromHeaders as detectFromHeaders, index_detectFromHtml as detectFromHtml, index_detectFromPackageJson as detectFromPackageJson, index_embedRecipe as embedRecipe, index_getFrameworkChecks as getFrameworkChecks, index_getFrameworkDisplayName as getFrameworkDisplayName, index_getFrameworkIssues as getFrameworkIssues, index_getFrameworkSuggestions as getFrameworkSuggestions, index_getFrameworkSummary as getFrameworkSummary, index_getMigrationPaths as getMigrationPaths, index_getPerformanceTips as getPerformanceTips, index_getSeoChallenges as getSeoChallenges, index_getTotalFrameworkChecks as getTotalFrameworkChecks, index_loadRecipe as loadRecipe };
5619
5700
  }
5620
5701
 
5621
- 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 DeterministicFixInput, type DeterministicFixes, 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 KeywordLLM, 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, analyzeDOMStructure, analyzeFeaturedSnippetPotential, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeKeywordDensity, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeOnPage, analyzePagination, analyzePerformance, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, assessReplacement, buildDeterministicFixes, buildFrameworkGuidance, 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, describeConcerns, detectDuplicates, 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, findAppRoot, 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, keywordLLM, listFiles, loadAgent, loadAgentByName, mergePages, openAIKeywordLLM, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseJsonReply, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };
5702
+ 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 DeterministicFixInput, type DeterministicFixes, 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 KeywordLLM, 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, analyzeDOMStructure, analyzeFeaturedSnippetPotential, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeKeywordDensity, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeOnPage, analyzePagination, analyzePerformance, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, assessReplacement, buildDeterministicFixes, buildFrameworkGuidance, 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, describeConcerns, detectDuplicates, 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, findAppRoot, 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, keywordLLM, listFiles, loadAgent, loadAgentByName, mergePages, openAIKeywordLLM, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseJsonReply, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, servedDir, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };