seo 0.2.6 → 0.2.7
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/README.md +1 -1
- package/dist/cli.js +2 -2
- package/dist/{dist-Xkhuyn70.js → dist-B6UxI6sc.js} +1 -1
- package/dist/{dist-PRmi6cXV.js → dist-C0LWlNAw.js} +66 -66
- package/dist/dist-C0LWlNAw.js.map +1 -0
- package/dist/index.d.ts +41 -9
- package/dist/index.js +72 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +72 -5
- package/dist/mcp.js.map +1 -1
- package/dist/{package-B9-D646K.js → package-BI-bLeV4.js} +2 -2
- package/dist/{package-B9-D646K.js.map → package-BI-bLeV4.js.map} +1 -1
- package/package.json +2 -3
- package/dist/dist-PRmi6cXV.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
import { Headers, RequestInit as RequestInit$1, fetch as fetch$1 } from "undici";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
import
|
|
4
|
+
import Libsql from "libsql";
|
|
5
5
|
import pino from "pino";
|
|
6
6
|
//#region packages/core/src/ga4/client.d.ts
|
|
7
7
|
interface Ga4ReportRequest {
|
|
@@ -20158,6 +20158,41 @@ declare function saveClient(input: ClientProfileInput): ClientProfile;
|
|
|
20158
20158
|
declare function deleteClient(idOrName: string): boolean;
|
|
20159
20159
|
declare function setDefaultClient(idOrName: string): ClientProfile;
|
|
20160
20160
|
//#endregion
|
|
20161
|
+
//#region packages/core/src/storage/sqlite.d.ts
|
|
20162
|
+
type TransactionFunction = (...params: never[]) => unknown;
|
|
20163
|
+
declare class Statement {
|
|
20164
|
+
private readonly statement;
|
|
20165
|
+
constructor(statement: Libsql.Statement);
|
|
20166
|
+
run(...params: unknown[]): SqliteDatabase.RunResult;
|
|
20167
|
+
get(...params: unknown[]): unknown;
|
|
20168
|
+
all(...params: unknown[]): unknown[];
|
|
20169
|
+
}
|
|
20170
|
+
declare class SqliteDatabase {
|
|
20171
|
+
private readonly database;
|
|
20172
|
+
constructor(filename: string | Buffer);
|
|
20173
|
+
prepare(source: string): Statement;
|
|
20174
|
+
transaction<F extends TransactionFunction>(fn: F): Libsql.Transaction<F>;
|
|
20175
|
+
exec(source: string): this;
|
|
20176
|
+
pragma(source: string): unknown;
|
|
20177
|
+
close(): this;
|
|
20178
|
+
}
|
|
20179
|
+
declare namespace SqliteDatabase {
|
|
20180
|
+
type Database = SqliteDatabase;
|
|
20181
|
+
type RunResult = {
|
|
20182
|
+
changes: number;
|
|
20183
|
+
lastInsertRowid: number | bigint;
|
|
20184
|
+
};
|
|
20185
|
+
}
|
|
20186
|
+
//#endregion
|
|
20187
|
+
//#region packages/core/src/storage/database.d.ts
|
|
20188
|
+
declare function getDb(): SqliteDatabase.Database;
|
|
20189
|
+
declare function checkDatabaseReadiness(): {
|
|
20190
|
+
dbPath: string;
|
|
20191
|
+
};
|
|
20192
|
+
declare function hashKey(parts: unknown[]): string;
|
|
20193
|
+
declare function getCacheStats(): CacheStats;
|
|
20194
|
+
declare function clearCache(provider?: 'gsc' | 'google-analytics' | 'semrush' | 'http', olderThanMs?: number): number;
|
|
20195
|
+
//#endregion
|
|
20161
20196
|
//#region packages/core/src/doctor.d.ts
|
|
20162
20197
|
type DoctorCheck = {
|
|
20163
20198
|
id: string;
|
|
@@ -20166,7 +20201,10 @@ type DoctorCheck = {
|
|
|
20166
20201
|
detail: string;
|
|
20167
20202
|
fix?: string;
|
|
20168
20203
|
};
|
|
20169
|
-
|
|
20204
|
+
type DoctorDependencies = {
|
|
20205
|
+
checkDatabase?: typeof checkDatabaseReadiness;
|
|
20206
|
+
};
|
|
20207
|
+
declare function runDoctor(dependencies?: DoctorDependencies): Promise<{
|
|
20170
20208
|
ok: boolean;
|
|
20171
20209
|
generatedAt: string;
|
|
20172
20210
|
checks: DoctorCheck[];
|
|
@@ -20505,12 +20543,6 @@ declare function getPrivacySnapshot(): Array<{
|
|
|
20505
20543
|
sizeBytes: number;
|
|
20506
20544
|
}>;
|
|
20507
20545
|
//#endregion
|
|
20508
|
-
//#region packages/core/src/storage/database.d.ts
|
|
20509
|
-
declare function getDb(): Database.Database;
|
|
20510
|
-
declare function hashKey(parts: unknown[]): string;
|
|
20511
|
-
declare function getCacheStats(): CacheStats;
|
|
20512
|
-
declare function clearCache(provider?: 'gsc' | 'google-analytics' | 'semrush' | 'http', olderThanMs?: number): number;
|
|
20513
|
-
//#endregion
|
|
20514
20546
|
//#region packages/core/src/storage/ledger.d.ts
|
|
20515
20547
|
declare class SessionLedger {
|
|
20516
20548
|
private readonly entries;
|
|
@@ -20603,5 +20635,5 @@ declare function isoDate(daysAgo?: number): string;
|
|
|
20603
20635
|
//#region packages/core/src/version.d.ts
|
|
20604
20636
|
declare const SEO_VERSION: string;
|
|
20605
20637
|
//#endregion
|
|
20606
|
-
export { AI_REFERRAL_SOURCES, AI_REFERRAL_SOURCES_VERSION, AI_SEARCH_SCORECARD_METHODOLOGY_ID, AI_SEARCH_SCORECARD_METHODOLOGY_VERSION, AUDIT_PAGE_RULE_IDS, AffectedUrl, AffectedUrlFilters, AffectedUrlResult, AffectedUrlSelection, type AgentDiscoveryDataStatus, AgentReadinessCheck, AgentReadinessCheckStatus, type AgentReadinessProfile, AgentReadinessReport, AgentReadinessSection, type AgentRepresentationResponse, type AgentSkillObservation, AiReadinessReport, type AiReferralDataSource, type AiReferralMetrics, type AiReferralQueryEvidence, type AiReferralReport, type AiReferralSourceDefinition, AiSearchScorecard, AnalyticsMetricDelta, AnalyticsTestMetrics, type AnalyzeCannibalRowsInput, type AnalyzeDecayInput, type AnalyzeQuickWinsInput, type AnalyzeSecondPageInput, type AnalyzeStrikingDistanceInput, AppConfig, AuditPageDependencies, AuditPageReport, AuthorizedGoogleClient, BROWSER_USER_AGENT, BacklinkProvider, BoundedSitemapInventory, BrandTermCandidate, CANNIBAL_MAXIMUM_DOMINANT_SHARE, CANNIBAL_MINIMUM_PAGE_SHARE, CRAWL_REPORT_STORAGE_VERSION, CRAWL_SKIP_REASONS, CTR_DEFAULT_LIMIT, CTR_DEFAULT_MIN_IMPRESSIONS, CTR_MAX_LIMIT, CTR_MAX_MIN_IMPRESSIONS, CacheStats, type CannibalAnalysis, CannibalDependencies, type CannibalItem, type CannibalPage, type CannibalReport, CannibalReportInput, type CannibalSelection, type CannibalSuppression, type CannibalSuppressionReason, ChangeMeasurement, ChangeMeasurementAttempt, ChangeRow, ChangeScope, ClientProfile, ClientProfileInput, CommunityIntent, CommunityIntentClassification, CommunityIntentReport, ContentExtractionDiagnostics, ContentExtractor, ContentGroup, ContentGroupDimension, ContentGroupMatchType, ContentGroupRow, ContentOptimizationIntent, ContentOptimizationReport, CoverageField, type CrawlAgentDiscovery, CrawlAiBotAccess, CrawlAiResourceSignal, CrawlAiSignals, CrawlAnalyticsDataSource, CrawlConfig, CrawlConfigInput, CrawlDataSourceStatus, CrawlDataSourceWindow, CrawlDiffItem, CrawlDiffRecommendation, CrawlDiffReport, CrawlExternalLinkVerification, CrawlFetchRateConfig, CrawlImplementationQueueInput, CrawlImplementationQueueItem, CrawlImplementationQueueOutput, CrawlIssue, CrawlIssueGroup, CrawlLinkGraph, CrawlMode, CrawlOneResult, CrawlOutputFormat, CrawlPageRow, CrawlPageSnapshot, CrawlReport, CrawlReportDataSources, CrawlReportMeta, CrawlReportStorageEnvelope, CrawlReportStoreAdapter, CrawlReportSummary, CrawlRequestObservation, CrawlResponseObservation, CrawlRun, CrawlRunRow, CrawlRunStats, CrawlSearchDataSource, type CrawlSiteDependencies, CrawlSitemapDiscovery, CrawlSkipImpact, CrawlSkipReason, CrawlSkipReasonCount, CrawlSkippedUrlsByImpact, CrawlSnapshotDiffReport, CrawlSnapshotIssueChange, CrawlSnapshotPageChange, CrawlStatusEvent, CrawlStatusHandler, CrawlStatusPhase, CredentialsProvider, CreditUsage, CsvFile, CsvRow, CsvValue, type CtrUnderperformer, CtrUnderperformerDependencies, type CtrUnderperformerSelection, DataForSeoProvider, type DecayAnalysis, type DecayComparison, type DecayDiagnosis, type DecayGroup, type DecayItem, type DecayMetrics, type DecayReport, type DecaySelection, type DecaySignal, DecayingDependencies, DecayingReportInput, DiagnosePropertyDependencies, DiagnosePropertyReport, DiagnosisDataStatus, DiagnosisPriority, DoctorCheck, DueIndexSelection, DueIndexUrl, EffectiveSnippetControl, EntityReadinessCheck, EntityReadinessReport, ExternalLinkCheck, ExternalLinkCheckAttempt, ExternalLinkCheckState, ExtractedLinkLocation, ExtractedPage, FetchPageDependencies, type FetchPageOptions, type FetchRateControls, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, Ga4AccountSummary, Ga4DataStream, Ga4PropertySummary, Ga4ReportRequest, Ga4RunReportResult, Ga4WebStreamCandidate, Ga4WebStreamMatch, GenerateLlmsTxtOptions, GeneratedLlmsTxt, GeoGap, GeoGapFilters, GeoGapResult, type GoogleAccessTokenClient, GoogleRichResultAssessment, GoogleRichResultAssessmentSelection, GoogleRichResultAssessmentStatus, GscRow, HttpProfile, INTERNAL_LINK_LEXICAL_TARGET_LIMIT, INTERNAL_LINK_MATCH_EVIDENCE_LIMIT, IndexCoverageBoundedSection, IndexCoverageCandidateItem, IndexCoverageControlReason, IndexCoverageControlledItem, IndexCoverageCrawlInput, IndexCoverageInput, IndexCoverageInventoryItem, IndexCoveragePlan, IndexCoveragePlanInput, IndexCoverageReport, IndexCoverageReportDependencies, IndexCoverageReportInput, IndexCoverageSearchConsoleInput, IndexCoverageSearchVisibilityItem, IndexCoverageSignalsReport, IndexCoverageSitemapInput, IndexCoverageSourceCompleteness, IndexCoverageSourceEvidence, IndexCoverageSourceMembership, IndexCoverageTemplateReview, IndexMonitorPropertyRun, IndexMonitorReport, IndexPlanProperty, IndexPlanSuggestion, IndexPropertyUrlAllocation, IndexWatchChange, IndexWatchChangeKind, IndexWatchDependencies, IndexWatchIssueCode, IndexWatchItem, IndexWatchPrevious, IndexWatchReport, IndexWatchRow, IndexWatchStore, type InternalLinkCandidate, type InternalLinkMatchKind, type InternalLinkOpportunity, type InternalLinkQueryMatch, InternalLinksAnalysis, InternalLinksAnalysisInput, InternalLinksDependencies, InternalLinksInput, type InternalLinksReport, type InternalLinksSelection, type InternalLinksWarning, type JavaScriptRenderingInput, type JavaScriptRenderingMode, JsonFileStorageAdapter, KeywordDataProvider, KeywordOverview, KeywordRow, LatestCrawlSummaryRow, LighthouseFailureCode, LinkRecoverItem, LinkRecoverReport, LinkRecoverSummary, LlmsAuditIssue, LlmsAuditReport, type LlmsTxtLinkObservation, LocalCredentialsProvider, type MarkdownAlternateObservation, type MarkdownQualityObservation, MeasureChangeDependencies, MetricDelta, MonitoringStatusCheck, MonitoringStatusReport, NarrativeSection, type OAuthClientConfig, OKF_DEFAULT_CONCEPTS, OKF_MAX_CONCEPTS, OkfBundle, OkfExplainReport, OkfFile, OkfValidationIssue, OkfValidationReport, OpportunityBenchmarkRow, PageFetchDiagnostics, PageFetchResult, type PageOpportunityAnalysis, type PageOpportunityAnalysisInput, type PageOpportunityBenchmark, PageOpportunityInput, type PageOpportunityItem, PageOpportunityReport, type PageOpportunitySelection, type PageOpportunityType, type PageOpportunityVerification, type PageRenderer, PageSearchMetrics, PageTopQuery, PartialDiagnosisReason, PerformanceAuditReport, PerformanceFieldData, PerformanceFieldMetric, PerformanceMetric, PerformanceRating, PositionBenchmark, Presentation, PresentationChart, PresentationScalar, PresentationTable, PresentationTableColumn, PriorityQueueItem, ProgressReporter, ProviderOpts, ProviderResult, PseoAuditInput, type PseoAuditReport, type PseoAuditTemplate, type PseoCrawlSample, type PseoCrawlTechnicalStatus, PseoDependencies, type PseoEntityFit, type PseoIndexStatus, type PseoInspectionSample, type PseoPageRow, type PseoQueryCoverage, type PseoQueryPageRow, PseoTemplateCluster, type PseoTemplateMetrics, PseoTemplateShape, QueryCluster, type QueryClusterPage, type QueryClusterRow, QueryContentClassification, QueryContentCoverage, QueryContentSignal, QueryFieldCoverage, type QuickWinAnalysis, type QuickWinGroup, type QuickWinItem, type QuickWinSelection, type QuickWinTemplateRecommendation, QuickWinsDependencies, QuickWinsInput, REPORT_BASELINE_MAX_AGE_MS, REPORT_BASELINE_MAX_DEPTH, REPORT_BASELINE_MAX_PAGES, ReadinessCheck, ReadinessSection, ReadinessStatus, Recommendation, RedirectTraceIssue, RedirectTraceReport, RedirectTraceStep, RenderingDocumentDifference, RenderingDocumentField, RenderingDocumentSnapshot, ReportNarrative, ResolveTechnicalBaselineInput, RobotsDirective, RuleCategory, RuleId, RuleInfo, RuleRecommendation, RuleSeverity, SCORECARD_CHECK_WEIGHTS, SCORECARD_STATUS_CREDIT, SEO_VERSION, SERP_TITLE_REFERENCE_WIDTH_PX, SERP_TITLE_WIDTH_PROFILE, ScorecardBand, ScorecardCheck, ScorecardCheckId, ScorecardObservation, ScorecardStatus, SearchAnalyticsRequest, SearchDateWindow, SearchPageBatch, SearchStatusIncident, SearchUpdate, type SecondPageAnalysis, SecondPageDependencies, SecondPageInput, type SecondPageItem, type SecondPageQuery, type SecondPageRecommendation, type SecondPageReport, type SecondPageSelection, type SegmentDimension, SegmentImpactDependencies, SegmentImpactInput, type SegmentImpactItem, type SegmentImpactReport, type SegmentImpactSelection, type SegmentPeriodEvidence, type SegmentRange, SemrushProvider, SeoChange, SeoCliPathOptions, SeoCliPaths, SeoError, SeoErrorCode, SeoToAiQueryReport, SerpProvider, ServiceAccountAccessTokenClient, ServiceAccountConfig, ServiceAccountStatus, SessionLedger, SitemapDocument, SitemapFetchResult, SitemapInvalidLoc, SitemapLastmodObservation, SkippedDiagnosisSection, SnippetControlEvidence, StorageAdapter, StoredTokens, type StrikingDistanceAnalysis, type StrikingDistanceAnalysisGroup, type StrikingDistanceAnalysisItem, StrikingDistanceDependencies, StrikingDistanceInput, StrikingDistanceItem, StrikingDistanceReport, TELEMETRY_AGENTS, TELEMETRY_ENDPOINT, TELEMETRY_ERROR_CATEGORIES, TELEMETRY_EVENTS, TELEMETRY_NOTICE, TELEMETRY_REPORTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_TIMEOUT_MS, TechnicalBaseline, TechnicalBaselineDependencies, TechnicalBaselineStatus, TelemetryAgent, TelemetryDisableReason, TelemetryErrorCategory, TelemetryEvent, TelemetryOptions, TelemetryPayload, TelemetryReport, TelemetryState, TelemetryStatus, TemplateAwareReport, TestMetrics, TitleWidthEstimate, TokenStorageMode, TokenStorageStatus, TopFix, TopFixFilters, TrafficAnomaly, TrafficAnomalyCoverage, TrafficAnomalyReport, type UnmatchedSegment, UpdateConfounder, UpdateCorrelationReport, UrlInspectionRequest, UrlInspectionResult, WorkflowAction, WorkflowReport, WorkflowStep, affectedUrls, agentReadiness, aiPromptsForQuery, aiReadiness, aiReferralSourceForValue, aiReferralsReport, aiSearchScorecard, allocateIndexUrlsToProperties, analyticsConnectionsSchema, analyzeAiReferralRows, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertUrlMatchesGscProperty, attachCrawlRecommendations, auditCrawlPages, auditCrawlRequests, auditLlmsTxt, auditPage, authStatus, boundedSitemapInventory, buildOkfBundle, buildPseoAuditReportFromRows, buildTelemetryPayload, cannibalReport, changeMeasurementCsvRows, classifyCommunityIntent, clearCache, clientProfileSchema, clusterPseoTemplates, clusterQueryRows, collectAgentDiscovery, combineRobotsValues, communityIntentReport, compareCrawlPages, compareCrawlReports, compareSegmentRows, configSchema, contentCoverageRecommendation, contentCoverageType, contentOptimizationFromPageOpportunities, contentOptimizationReport, countLabel, crawlConfigHash, crawlConfigSchema, crawlDefinitionId, crawlDiff, crawlFixToQueueItem, crawlImplementationQueueWorkflow, crawlIssueGroupSchema, crawlIssueSchema, crawlOne, crawlPageSnapshotSchema, crawlReportSchema, crawlReportStore, crawlReportSummarySchema, crawlRequestObservationSchema, crawlRunId, crawlSite, crawlSkipImpact, crawlSkipReasonCountsFromRecord, crawlTopFixSchema, crawlerJsonSchemas, crawlerRuleCategorySchema, crawlerRuleIdSchema, crawlerRuleInfoSchema, crawlerRuleRecommendationSchema, crawlerRuleSeveritySchema, crawlerSchemas, createAuthorizedClient, createContentGroup, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, ensureSeoCliDirs, entityReadiness, estimateSerpTitleWidth, expectedCtrForPosition, explainOkfValidation, explainRule, fetchCruxFieldData, fetchPage, fetchSearchStatusIncidents, fetchSitemapUrls, fileSize, finalGscDateRange, findOverlappingSearchUpdates, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, generateLlmsTxt, geoGaps, geoGapsReport, getAuthModeStatus, getCacheStats, getChange, getClient, getClientConfig, getContentGroup, getDb, getKeywordProvider, getPreviousRun, getPrivacySnapshot, getRepeatedLinkRecoverUrls, getRunPages, getSeoCliPaths, getServiceAccountConfig, getServiceAccountStatus, getTelemetryStatus, getTokenStorageStatus, googleAnalyticsPropertyId, groupCrawlIssues, hasMetaRobotsDirective, hasRule, hasXRobotsDirective, hashKey, indexCoveragePlan, indexCoverageSignals, indexMonitor, indexWatch, inferPseoTemplate, inferTemplateMovement, initializeTelemetry, insertCrawlRun, insertLinkRecoverRun, inspectUrl, internalLinksReport, interpretUpdateCorrelation, isBrandQuery, isCompatibleTechnicalBaseline, isCurrentTechnicalBaseline, isEntityEvidenceSchemaType, isSiteIdentitySchemaType, isSkippableReportError, isTelemetryCi, isTelemetryReport, isoDate, isoWeek, latestCrawlReport, latestCrawlSummaries, latestFinalGscDate, latestIndexWatchSummary, latestLinkRecoverSummary, linkRecover, linkRecoverRecommendation, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLoadedCrawlReport, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, parseOlderThan, parsePseoPath, performanceAudit, performanceReportIsCacheable, planDueIndexUrls, planIndexCoverageFromUrls, plural, propertyMatchesUrl, providerPreferenceSchema, pseoAuditOptions, pseoAuditReport, pseoCsvFiles, pseoIndexStatus, pseoPresentation, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, readConfig, readOauthClient, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, renderCrawlCsv, renderCrawlHtml, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderPseoMarkdown, renderWorkflowMarkdown, reportNarrative, reportPresentation, requestHeaders, resolveSegmentRanges, resolveSeoCliPaths, resolveTechnicalBaseline, reviewObservations, roundedPosition, runDoctor, runGa4Report, saveClient, saveCrawlReport, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, sessionSourceInListFilter, setDefaultClient, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, strikingDistance, summarizeCrawlReport, pageTechnicalSignals as technicalPageSignals, technicalWatchWorkflow, telemetryErrorCategory, templateForUrl, toSeoError, tokenSchema, topCrawlRecommendations, topFixes, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, unavailableSegmentImpactReport, unicodeTokens, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateOkfFiles, verifyQueryContent, workflowPresentation, writeConfig, writeOauthClient, writeTokens, xRobotsDirectives };
|
|
20638
|
+
export { AI_REFERRAL_SOURCES, AI_REFERRAL_SOURCES_VERSION, AI_SEARCH_SCORECARD_METHODOLOGY_ID, AI_SEARCH_SCORECARD_METHODOLOGY_VERSION, AUDIT_PAGE_RULE_IDS, AffectedUrl, AffectedUrlFilters, AffectedUrlResult, AffectedUrlSelection, type AgentDiscoveryDataStatus, AgentReadinessCheck, AgentReadinessCheckStatus, type AgentReadinessProfile, AgentReadinessReport, AgentReadinessSection, type AgentRepresentationResponse, type AgentSkillObservation, AiReadinessReport, type AiReferralDataSource, type AiReferralMetrics, type AiReferralQueryEvidence, type AiReferralReport, type AiReferralSourceDefinition, AiSearchScorecard, AnalyticsMetricDelta, AnalyticsTestMetrics, type AnalyzeCannibalRowsInput, type AnalyzeDecayInput, type AnalyzeQuickWinsInput, type AnalyzeSecondPageInput, type AnalyzeStrikingDistanceInput, AppConfig, AuditPageDependencies, AuditPageReport, AuthorizedGoogleClient, BROWSER_USER_AGENT, BacklinkProvider, BoundedSitemapInventory, BrandTermCandidate, CANNIBAL_MAXIMUM_DOMINANT_SHARE, CANNIBAL_MINIMUM_PAGE_SHARE, CRAWL_REPORT_STORAGE_VERSION, CRAWL_SKIP_REASONS, CTR_DEFAULT_LIMIT, CTR_DEFAULT_MIN_IMPRESSIONS, CTR_MAX_LIMIT, CTR_MAX_MIN_IMPRESSIONS, CacheStats, type CannibalAnalysis, CannibalDependencies, type CannibalItem, type CannibalPage, type CannibalReport, CannibalReportInput, type CannibalSelection, type CannibalSuppression, type CannibalSuppressionReason, ChangeMeasurement, ChangeMeasurementAttempt, ChangeRow, ChangeScope, ClientProfile, ClientProfileInput, CommunityIntent, CommunityIntentClassification, CommunityIntentReport, ContentExtractionDiagnostics, ContentExtractor, ContentGroup, ContentGroupDimension, ContentGroupMatchType, ContentGroupRow, ContentOptimizationIntent, ContentOptimizationReport, CoverageField, type CrawlAgentDiscovery, CrawlAiBotAccess, CrawlAiResourceSignal, CrawlAiSignals, CrawlAnalyticsDataSource, CrawlConfig, CrawlConfigInput, CrawlDataSourceStatus, CrawlDataSourceWindow, CrawlDiffItem, CrawlDiffRecommendation, CrawlDiffReport, CrawlExternalLinkVerification, CrawlFetchRateConfig, CrawlImplementationQueueInput, CrawlImplementationQueueItem, CrawlImplementationQueueOutput, CrawlIssue, CrawlIssueGroup, CrawlLinkGraph, CrawlMode, CrawlOneResult, CrawlOutputFormat, CrawlPageRow, CrawlPageSnapshot, CrawlReport, CrawlReportDataSources, CrawlReportMeta, CrawlReportStorageEnvelope, CrawlReportStoreAdapter, CrawlReportSummary, CrawlRequestObservation, CrawlResponseObservation, CrawlRun, CrawlRunRow, CrawlRunStats, CrawlSearchDataSource, type CrawlSiteDependencies, CrawlSitemapDiscovery, CrawlSkipImpact, CrawlSkipReason, CrawlSkipReasonCount, CrawlSkippedUrlsByImpact, CrawlSnapshotDiffReport, CrawlSnapshotIssueChange, CrawlSnapshotPageChange, CrawlStatusEvent, CrawlStatusHandler, CrawlStatusPhase, CredentialsProvider, CreditUsage, CsvFile, CsvRow, CsvValue, type CtrUnderperformer, CtrUnderperformerDependencies, type CtrUnderperformerSelection, DataForSeoProvider, type DecayAnalysis, type DecayComparison, type DecayDiagnosis, type DecayGroup, type DecayItem, type DecayMetrics, type DecayReport, type DecaySelection, type DecaySignal, DecayingDependencies, DecayingReportInput, DiagnosePropertyDependencies, DiagnosePropertyReport, DiagnosisDataStatus, DiagnosisPriority, DoctorCheck, DueIndexSelection, DueIndexUrl, EffectiveSnippetControl, EntityReadinessCheck, EntityReadinessReport, ExternalLinkCheck, ExternalLinkCheckAttempt, ExternalLinkCheckState, ExtractedLinkLocation, ExtractedPage, FetchPageDependencies, type FetchPageOptions, type FetchRateControls, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, Ga4AccountSummary, Ga4DataStream, Ga4PropertySummary, Ga4ReportRequest, Ga4RunReportResult, Ga4WebStreamCandidate, Ga4WebStreamMatch, GenerateLlmsTxtOptions, GeneratedLlmsTxt, GeoGap, GeoGapFilters, GeoGapResult, type GoogleAccessTokenClient, GoogleRichResultAssessment, GoogleRichResultAssessmentSelection, GoogleRichResultAssessmentStatus, GscRow, HttpProfile, INTERNAL_LINK_LEXICAL_TARGET_LIMIT, INTERNAL_LINK_MATCH_EVIDENCE_LIMIT, IndexCoverageBoundedSection, IndexCoverageCandidateItem, IndexCoverageControlReason, IndexCoverageControlledItem, IndexCoverageCrawlInput, IndexCoverageInput, IndexCoverageInventoryItem, IndexCoveragePlan, IndexCoveragePlanInput, IndexCoverageReport, IndexCoverageReportDependencies, IndexCoverageReportInput, IndexCoverageSearchConsoleInput, IndexCoverageSearchVisibilityItem, IndexCoverageSignalsReport, IndexCoverageSitemapInput, IndexCoverageSourceCompleteness, IndexCoverageSourceEvidence, IndexCoverageSourceMembership, IndexCoverageTemplateReview, IndexMonitorPropertyRun, IndexMonitorReport, IndexPlanProperty, IndexPlanSuggestion, IndexPropertyUrlAllocation, IndexWatchChange, IndexWatchChangeKind, IndexWatchDependencies, IndexWatchIssueCode, IndexWatchItem, IndexWatchPrevious, IndexWatchReport, IndexWatchRow, IndexWatchStore, type InternalLinkCandidate, type InternalLinkMatchKind, type InternalLinkOpportunity, type InternalLinkQueryMatch, InternalLinksAnalysis, InternalLinksAnalysisInput, InternalLinksDependencies, InternalLinksInput, type InternalLinksReport, type InternalLinksSelection, type InternalLinksWarning, type JavaScriptRenderingInput, type JavaScriptRenderingMode, JsonFileStorageAdapter, KeywordDataProvider, KeywordOverview, KeywordRow, LatestCrawlSummaryRow, LighthouseFailureCode, LinkRecoverItem, LinkRecoverReport, LinkRecoverSummary, LlmsAuditIssue, LlmsAuditReport, type LlmsTxtLinkObservation, LocalCredentialsProvider, type MarkdownAlternateObservation, type MarkdownQualityObservation, MeasureChangeDependencies, MetricDelta, MonitoringStatusCheck, MonitoringStatusReport, NarrativeSection, type OAuthClientConfig, OKF_DEFAULT_CONCEPTS, OKF_MAX_CONCEPTS, OkfBundle, OkfExplainReport, OkfFile, OkfValidationIssue, OkfValidationReport, OpportunityBenchmarkRow, PageFetchDiagnostics, PageFetchResult, type PageOpportunityAnalysis, type PageOpportunityAnalysisInput, type PageOpportunityBenchmark, PageOpportunityInput, type PageOpportunityItem, PageOpportunityReport, type PageOpportunitySelection, type PageOpportunityType, type PageOpportunityVerification, type PageRenderer, PageSearchMetrics, PageTopQuery, PartialDiagnosisReason, PerformanceAuditReport, PerformanceFieldData, PerformanceFieldMetric, PerformanceMetric, PerformanceRating, PositionBenchmark, Presentation, PresentationChart, PresentationScalar, PresentationTable, PresentationTableColumn, PriorityQueueItem, ProgressReporter, ProviderOpts, ProviderResult, PseoAuditInput, type PseoAuditReport, type PseoAuditTemplate, type PseoCrawlSample, type PseoCrawlTechnicalStatus, PseoDependencies, type PseoEntityFit, type PseoIndexStatus, type PseoInspectionSample, type PseoPageRow, type PseoQueryCoverage, type PseoQueryPageRow, PseoTemplateCluster, type PseoTemplateMetrics, PseoTemplateShape, QueryCluster, type QueryClusterPage, type QueryClusterRow, QueryContentClassification, QueryContentCoverage, QueryContentSignal, QueryFieldCoverage, type QuickWinAnalysis, type QuickWinGroup, type QuickWinItem, type QuickWinSelection, type QuickWinTemplateRecommendation, QuickWinsDependencies, QuickWinsInput, REPORT_BASELINE_MAX_AGE_MS, REPORT_BASELINE_MAX_DEPTH, REPORT_BASELINE_MAX_PAGES, ReadinessCheck, ReadinessSection, ReadinessStatus, Recommendation, RedirectTraceIssue, RedirectTraceReport, RedirectTraceStep, RenderingDocumentDifference, RenderingDocumentField, RenderingDocumentSnapshot, ReportNarrative, ResolveTechnicalBaselineInput, RobotsDirective, RuleCategory, RuleId, RuleInfo, RuleRecommendation, RuleSeverity, SCORECARD_CHECK_WEIGHTS, SCORECARD_STATUS_CREDIT, SEO_VERSION, SERP_TITLE_REFERENCE_WIDTH_PX, SERP_TITLE_WIDTH_PROFILE, ScorecardBand, ScorecardCheck, ScorecardCheckId, ScorecardObservation, ScorecardStatus, SearchAnalyticsRequest, SearchDateWindow, SearchPageBatch, SearchStatusIncident, SearchUpdate, type SecondPageAnalysis, SecondPageDependencies, SecondPageInput, type SecondPageItem, type SecondPageQuery, type SecondPageRecommendation, type SecondPageReport, type SecondPageSelection, type SegmentDimension, SegmentImpactDependencies, SegmentImpactInput, type SegmentImpactItem, type SegmentImpactReport, type SegmentImpactSelection, type SegmentPeriodEvidence, type SegmentRange, SemrushProvider, SeoChange, SeoCliPathOptions, SeoCliPaths, SeoError, SeoErrorCode, SeoToAiQueryReport, SerpProvider, ServiceAccountAccessTokenClient, ServiceAccountConfig, ServiceAccountStatus, SessionLedger, SitemapDocument, SitemapFetchResult, SitemapInvalidLoc, SitemapLastmodObservation, SkippedDiagnosisSection, SnippetControlEvidence, StorageAdapter, StoredTokens, type StrikingDistanceAnalysis, type StrikingDistanceAnalysisGroup, type StrikingDistanceAnalysisItem, StrikingDistanceDependencies, StrikingDistanceInput, StrikingDistanceItem, StrikingDistanceReport, TELEMETRY_AGENTS, TELEMETRY_ENDPOINT, TELEMETRY_ERROR_CATEGORIES, TELEMETRY_EVENTS, TELEMETRY_NOTICE, TELEMETRY_REPORTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_TIMEOUT_MS, TechnicalBaseline, TechnicalBaselineDependencies, TechnicalBaselineStatus, TelemetryAgent, TelemetryDisableReason, TelemetryErrorCategory, TelemetryEvent, TelemetryOptions, TelemetryPayload, TelemetryReport, TelemetryState, TelemetryStatus, TemplateAwareReport, TestMetrics, TitleWidthEstimate, TokenStorageMode, TokenStorageStatus, TopFix, TopFixFilters, TrafficAnomaly, TrafficAnomalyCoverage, TrafficAnomalyReport, type UnmatchedSegment, UpdateConfounder, UpdateCorrelationReport, UrlInspectionRequest, UrlInspectionResult, WorkflowAction, WorkflowReport, WorkflowStep, affectedUrls, agentReadiness, aiPromptsForQuery, aiReadiness, aiReferralSourceForValue, aiReferralsReport, aiSearchScorecard, allocateIndexUrlsToProperties, analyticsConnectionsSchema, analyzeAiReferralRows, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertUrlMatchesGscProperty, attachCrawlRecommendations, auditCrawlPages, auditCrawlRequests, auditLlmsTxt, auditPage, authStatus, boundedSitemapInventory, buildOkfBundle, buildPseoAuditReportFromRows, buildTelemetryPayload, cannibalReport, changeMeasurementCsvRows, checkDatabaseReadiness, classifyCommunityIntent, clearCache, clientProfileSchema, clusterPseoTemplates, clusterQueryRows, collectAgentDiscovery, combineRobotsValues, communityIntentReport, compareCrawlPages, compareCrawlReports, compareSegmentRows, configSchema, contentCoverageRecommendation, contentCoverageType, contentOptimizationFromPageOpportunities, contentOptimizationReport, countLabel, crawlConfigHash, crawlConfigSchema, crawlDefinitionId, crawlDiff, crawlFixToQueueItem, crawlImplementationQueueWorkflow, crawlIssueGroupSchema, crawlIssueSchema, crawlOne, crawlPageSnapshotSchema, crawlReportSchema, crawlReportStore, crawlReportSummarySchema, crawlRequestObservationSchema, crawlRunId, crawlSite, crawlSkipImpact, crawlSkipReasonCountsFromRecord, crawlTopFixSchema, crawlerJsonSchemas, crawlerRuleCategorySchema, crawlerRuleIdSchema, crawlerRuleInfoSchema, crawlerRuleRecommendationSchema, crawlerRuleSeveritySchema, crawlerSchemas, createAuthorizedClient, createContentGroup, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, ensureSeoCliDirs, entityReadiness, estimateSerpTitleWidth, expectedCtrForPosition, explainOkfValidation, explainRule, fetchCruxFieldData, fetchPage, fetchSearchStatusIncidents, fetchSitemapUrls, fileSize, finalGscDateRange, findOverlappingSearchUpdates, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, generateLlmsTxt, geoGaps, geoGapsReport, getAuthModeStatus, getCacheStats, getChange, getClient, getClientConfig, getContentGroup, getDb, getKeywordProvider, getPreviousRun, getPrivacySnapshot, getRepeatedLinkRecoverUrls, getRunPages, getSeoCliPaths, getServiceAccountConfig, getServiceAccountStatus, getTelemetryStatus, getTokenStorageStatus, googleAnalyticsPropertyId, groupCrawlIssues, hasMetaRobotsDirective, hasRule, hasXRobotsDirective, hashKey, indexCoveragePlan, indexCoverageSignals, indexMonitor, indexWatch, inferPseoTemplate, inferTemplateMovement, initializeTelemetry, insertCrawlRun, insertLinkRecoverRun, inspectUrl, internalLinksReport, interpretUpdateCorrelation, isBrandQuery, isCompatibleTechnicalBaseline, isCurrentTechnicalBaseline, isEntityEvidenceSchemaType, isSiteIdentitySchemaType, isSkippableReportError, isTelemetryCi, isTelemetryReport, isoDate, isoWeek, latestCrawlReport, latestCrawlSummaries, latestFinalGscDate, latestIndexWatchSummary, latestLinkRecoverSummary, linkRecover, linkRecoverRecommendation, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLoadedCrawlReport, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, parseOlderThan, parsePseoPath, performanceAudit, performanceReportIsCacheable, planDueIndexUrls, planIndexCoverageFromUrls, plural, propertyMatchesUrl, providerPreferenceSchema, pseoAuditOptions, pseoAuditReport, pseoCsvFiles, pseoIndexStatus, pseoPresentation, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, readConfig, readOauthClient, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, renderCrawlCsv, renderCrawlHtml, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderPseoMarkdown, renderWorkflowMarkdown, reportNarrative, reportPresentation, requestHeaders, resolveSegmentRanges, resolveSeoCliPaths, resolveTechnicalBaseline, reviewObservations, roundedPosition, runDoctor, runGa4Report, saveClient, saveCrawlReport, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, sessionSourceInListFilter, setDefaultClient, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, strikingDistance, summarizeCrawlReport, pageTechnicalSignals as technicalPageSignals, technicalWatchWorkflow, telemetryErrorCategory, templateForUrl, toSeoError, tokenSchema, topCrawlRecommendations, topFixes, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, unavailableSegmentImpactReport, unicodeTokens, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateOkfFiles, verifyQueryContent, workflowPresentation, writeConfig, writeOauthClient, writeTokens, xRobotsDirectives };
|
|
20607
20639
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __seoCreateRequire } from 'node:module'; const require = __seoCreateRequire(import.meta.url);
|
|
2
|
-
import { n as load, t as version } from "./package-
|
|
2
|
+
import { n as load, t as version } from "./package-BI-bLeV4.js";
|
|
3
3
|
import { Headers, fetch as fetch$1 } from "undici";
|
|
4
4
|
import { chmodSync, createWriteStream, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { arch, homedir, platform } from "node:os";
|
|
@@ -9,7 +9,7 @@ import lockfile from "proper-lockfile";
|
|
|
9
9
|
import crypto, { createHash, randomUUID, sign } from "node:crypto";
|
|
10
10
|
import http from "node:http";
|
|
11
11
|
import open from "open";
|
|
12
|
-
import
|
|
12
|
+
import Libsql from "libsql";
|
|
13
13
|
import { Readability } from "@mozilla/readability";
|
|
14
14
|
import Defuddle from "defuddle";
|
|
15
15
|
import { parseHTML } from "linkedom";
|
|
@@ -1076,6 +1076,52 @@ async function exchangeCode(input) {
|
|
|
1076
1076
|
return tokenResponse.json();
|
|
1077
1077
|
}
|
|
1078
1078
|
//#endregion
|
|
1079
|
+
//#region packages/core/src/storage/sqlite.ts
|
|
1080
|
+
function withoutDriverMetadata(row) {
|
|
1081
|
+
if (!row || typeof row !== "object" || Array.isArray(row)) return row;
|
|
1082
|
+
const { _metadata: _driverMetadata, ...data } = row;
|
|
1083
|
+
return data;
|
|
1084
|
+
}
|
|
1085
|
+
var Statement = class {
|
|
1086
|
+
statement;
|
|
1087
|
+
constructor(statement) {
|
|
1088
|
+
this.statement = statement;
|
|
1089
|
+
}
|
|
1090
|
+
run(...params) {
|
|
1091
|
+
return this.statement.run(...params);
|
|
1092
|
+
}
|
|
1093
|
+
get(...params) {
|
|
1094
|
+
return withoutDriverMetadata(this.statement.get(...params));
|
|
1095
|
+
}
|
|
1096
|
+
all(...params) {
|
|
1097
|
+
return this.statement.all(...params).map(withoutDriverMetadata);
|
|
1098
|
+
}
|
|
1099
|
+
};
|
|
1100
|
+
var SqliteDatabase = class {
|
|
1101
|
+
database;
|
|
1102
|
+
constructor(filename) {
|
|
1103
|
+
this.database = new Libsql(filename);
|
|
1104
|
+
}
|
|
1105
|
+
prepare(source) {
|
|
1106
|
+
return new Statement(this.database.prepare(source));
|
|
1107
|
+
}
|
|
1108
|
+
transaction(fn) {
|
|
1109
|
+
return this.database.transaction(fn);
|
|
1110
|
+
}
|
|
1111
|
+
exec(source) {
|
|
1112
|
+
this.database.exec(source);
|
|
1113
|
+
return this;
|
|
1114
|
+
}
|
|
1115
|
+
pragma(source) {
|
|
1116
|
+
const result = this.database.pragma(source);
|
|
1117
|
+
return Array.isArray(result) ? result.map(withoutDriverMetadata) : withoutDriverMetadata(result);
|
|
1118
|
+
}
|
|
1119
|
+
close() {
|
|
1120
|
+
this.database.close();
|
|
1121
|
+
return this;
|
|
1122
|
+
}
|
|
1123
|
+
};
|
|
1124
|
+
//#endregion
|
|
1079
1125
|
//#region packages/core/src/storage/database.ts
|
|
1080
1126
|
const CREATE_SQL = `
|
|
1081
1127
|
CREATE TABLE IF NOT EXISTS sites (
|
|
@@ -1359,10 +1405,14 @@ function getDb() {
|
|
|
1359
1405
|
recursive: true,
|
|
1360
1406
|
mode: 448
|
|
1361
1407
|
});
|
|
1362
|
-
db = new
|
|
1408
|
+
db = new SqliteDatabase(path);
|
|
1363
1409
|
initDb(db);
|
|
1364
1410
|
return db;
|
|
1365
1411
|
}
|
|
1412
|
+
function checkDatabaseReadiness() {
|
|
1413
|
+
if (getDb().prepare("SELECT 1 AS ready").get()?.ready !== 1) throw new Error("The local SQLite database did not return a readiness row.");
|
|
1414
|
+
return { dbPath: getSeoCliPaths().cacheDbFile };
|
|
1415
|
+
}
|
|
1366
1416
|
function hashKey(parts) {
|
|
1367
1417
|
const json = JSON.stringify(parts);
|
|
1368
1418
|
return Buffer.from(json).toString("base64url");
|
|
@@ -27753,7 +27803,7 @@ function setDefaultClient(idOrName) {
|
|
|
27753
27803
|
//#endregion
|
|
27754
27804
|
//#region packages/core/src/doctor.ts
|
|
27755
27805
|
const REQUIRED_SCOPES = ["https://www.googleapis.com/auth/webmasters.readonly", "https://www.googleapis.com/auth/analytics.readonly"];
|
|
27756
|
-
async function runDoctor() {
|
|
27806
|
+
async function runDoctor(dependencies = {}) {
|
|
27757
27807
|
const paths = getSeoCliPaths();
|
|
27758
27808
|
const config = readConfig();
|
|
27759
27809
|
const authMode = getAuthModeStatus();
|
|
@@ -27762,6 +27812,23 @@ async function runDoctor() {
|
|
|
27762
27812
|
const oauthClient = readOauthClient();
|
|
27763
27813
|
const tokenClientConfigured = tokens ? Boolean(getClientConfig(tokens.client_source)) : void 0;
|
|
27764
27814
|
const checks = [];
|
|
27815
|
+
try {
|
|
27816
|
+
const database = (dependencies.checkDatabase ?? checkDatabaseReadiness)();
|
|
27817
|
+
checks.push({
|
|
27818
|
+
id: "local-database",
|
|
27819
|
+
label: "Local database",
|
|
27820
|
+
status: "pass",
|
|
27821
|
+
detail: database.dbPath
|
|
27822
|
+
});
|
|
27823
|
+
} catch (error) {
|
|
27824
|
+
checks.push({
|
|
27825
|
+
id: "local-database",
|
|
27826
|
+
label: "Local database",
|
|
27827
|
+
status: "fail",
|
|
27828
|
+
detail: error instanceof Error ? error.message : "The local database could not be opened.",
|
|
27829
|
+
fix: "Upgrade or reinstall `seo`. If this still fails, report it at https://github.com/iannuttall/seo/issues."
|
|
27830
|
+
});
|
|
27831
|
+
}
|
|
27765
27832
|
checks.push({
|
|
27766
27833
|
id: "config-dir",
|
|
27767
27834
|
label: "Config directory",
|
|
@@ -28886,6 +28953,6 @@ function isoDate(daysAgo = 0) {
|
|
|
28886
28953
|
return date.toISOString().slice(0, 10);
|
|
28887
28954
|
}
|
|
28888
28955
|
//#endregion
|
|
28889
|
-
export { AI_REFERRAL_SOURCES, AI_REFERRAL_SOURCES_VERSION, AI_SEARCH_SCORECARD_METHODOLOGY_ID, AI_SEARCH_SCORECARD_METHODOLOGY_VERSION, AUDIT_PAGE_RULE_IDS, BROWSER_USER_AGENT, CANNIBAL_MAXIMUM_DOMINANT_SHARE, CANNIBAL_MINIMUM_PAGE_SHARE, CRAWL_REPORT_STORAGE_VERSION, CRAWL_SKIP_REASONS, CTR_DEFAULT_LIMIT, CTR_DEFAULT_MIN_IMPRESSIONS, CTR_MAX_LIMIT, CTR_MAX_MIN_IMPRESSIONS, DataForSeoProvider, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, INTERNAL_LINK_LEXICAL_TARGET_LIMIT, INTERNAL_LINK_MATCH_EVIDENCE_LIMIT, JsonFileStorageAdapter, LocalCredentialsProvider, OKF_DEFAULT_CONCEPTS, OKF_MAX_CONCEPTS, REPORT_BASELINE_MAX_AGE_MS, REPORT_BASELINE_MAX_DEPTH, REPORT_BASELINE_MAX_PAGES, SCORECARD_CHECK_WEIGHTS, SCORECARD_STATUS_CREDIT, SEO_VERSION, SERP_TITLE_REFERENCE_WIDTH_PX, SERP_TITLE_WIDTH_PROFILE, SemrushProvider, SeoError, ServiceAccountAccessTokenClient, SessionLedger, TELEMETRY_AGENTS, TELEMETRY_ENDPOINT, TELEMETRY_ERROR_CATEGORIES, TELEMETRY_EVENTS, TELEMETRY_NOTICE, TELEMETRY_REPORTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_TIMEOUT_MS, affectedUrls, agentReadiness, aiPromptsForQuery, aiReadiness, aiReferralSourceForValue, aiReferralsReport, aiSearchScorecard, allocateIndexUrlsToProperties, analyticsConnectionsSchema, analyzeAiReferralRows, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertUrlMatchesGscProperty, attachCrawlRecommendations, auditCrawlPages, auditCrawlRequests, auditLlmsTxt, auditPage, authStatus, boundedSitemapInventory, buildOkfBundle, buildPseoAuditReportFromRows, buildTelemetryPayload, cannibalReport, changeMeasurementCsvRows, classifyCommunityIntent, clearCache, clientProfileSchema, clusterPseoTemplates, clusterQueryRows, collectAgentDiscovery, combineRobotsValues, communityIntentReport, compareCrawlPages, compareCrawlReports, compareSegmentRows, configSchema, contentCoverageRecommendation, contentCoverageType, contentOptimizationFromPageOpportunities, contentOptimizationReport, countLabel, crawlConfigHash, crawlConfigSchema, crawlDefinitionId, crawlDiff, crawlFixToQueueItem, crawlImplementationQueueWorkflow, crawlIssueGroupSchema, crawlIssueSchema, crawlOne, crawlPageSnapshotSchema, crawlReportSchema, crawlReportStore, crawlReportSummarySchema, crawlRequestObservationSchema, crawlRunId, crawlSite, crawlSkipImpact, crawlSkipReasonCountsFromRecord, crawlTopFixSchema, crawlerJsonSchemas, crawlerRuleCategorySchema, crawlerRuleIdSchema, crawlerRuleInfoSchema, crawlerRuleRecommendationSchema, crawlerRuleSeveritySchema, crawlerSchemas, createAuthorizedClient, createContentGroup, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, ensureSeoCliDirs, entityReadiness, estimateSerpTitleWidth, expectedCtrForPosition, explainOkfValidation, explainRule, fetchCruxFieldData, fetchPage, fetchSearchStatusIncidents, fetchSitemapUrls, fileSize, finalGscDateRange, findOverlappingSearchUpdates, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, generateLlmsTxt, geoGaps, geoGapsReport, getAuthModeStatus, getCacheStats, getChange, getClient, getClientConfig, getContentGroup, getDb, getKeywordProvider, getPreviousRun, getPrivacySnapshot, getRepeatedLinkRecoverUrls, getRunPages, getSeoCliPaths, getServiceAccountConfig, getServiceAccountStatus, getTelemetryStatus, getTokenStorageStatus, googleAnalyticsPropertyId, groupCrawlIssues, hasMetaRobotsDirective, hasRule, hasXRobotsDirective, hashKey, indexCoveragePlan, indexCoverageSignals, indexMonitor, indexWatch, inferPseoTemplate, inferTemplateMovement, initializeTelemetry, insertCrawlRun, insertLinkRecoverRun, inspectUrl, internalLinksReport, interpretUpdateCorrelation, isBrandQuery, isCompatibleTechnicalBaseline, isCurrentTechnicalBaseline, isEntityEvidenceSchemaType, isSiteIdentitySchemaType, isSkippableReportError, isTelemetryCi, isTelemetryReport, isoDate, isoWeek, latestCrawlReport, latestCrawlSummaries, latestFinalGscDate, latestIndexWatchSummary, latestLinkRecoverSummary, linkRecover, linkRecoverRecommendation, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLoadedCrawlReport, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, parseOlderThan, parsePseoPath, performanceAudit, performanceReportIsCacheable, planDueIndexUrls, planIndexCoverageFromUrls, plural, propertyMatchesUrl, providerPreferenceSchema, pseoAuditOptions, pseoAuditReport, pseoCsvFiles, pseoIndexStatus, pseoPresentation, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, readConfig, readOauthClient, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, renderCrawlCsv, renderCrawlHtml, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderPseoMarkdown, renderWorkflowMarkdown, reportNarrative, reportPresentation, requestHeaders, resolveSegmentRanges, resolveSeoCliPaths, resolveTechnicalBaseline, reviewObservations, roundedPosition, runDoctor, runGa4Report, saveClient, saveCrawlReport, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, sessionSourceInListFilter, setDefaultClient, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, strikingDistance, summarizeCrawlReport, pageTechnicalSignals as technicalPageSignals, technicalWatchWorkflow, telemetryErrorCategory, templateForUrl, toSeoError, tokenSchema, topCrawlRecommendations, topFixes, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, unavailableSegmentImpactReport, unicodeTokens, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateOkfFiles, verifyQueryContent, workflowPresentation, writeConfig, writeOauthClient, writeTokens, xRobotsDirectives };
|
|
28956
|
+
export { AI_REFERRAL_SOURCES, AI_REFERRAL_SOURCES_VERSION, AI_SEARCH_SCORECARD_METHODOLOGY_ID, AI_SEARCH_SCORECARD_METHODOLOGY_VERSION, AUDIT_PAGE_RULE_IDS, BROWSER_USER_AGENT, CANNIBAL_MAXIMUM_DOMINANT_SHARE, CANNIBAL_MINIMUM_PAGE_SHARE, CRAWL_REPORT_STORAGE_VERSION, CRAWL_SKIP_REASONS, CTR_DEFAULT_LIMIT, CTR_DEFAULT_MIN_IMPRESSIONS, CTR_MAX_LIMIT, CTR_MAX_MIN_IMPRESSIONS, DataForSeoProvider, GSC_FINAL_DATA_LAG_DAYS, GSC_TIME_ZONE, INTERNAL_LINK_LEXICAL_TARGET_LIMIT, INTERNAL_LINK_MATCH_EVIDENCE_LIMIT, JsonFileStorageAdapter, LocalCredentialsProvider, OKF_DEFAULT_CONCEPTS, OKF_MAX_CONCEPTS, REPORT_BASELINE_MAX_AGE_MS, REPORT_BASELINE_MAX_DEPTH, REPORT_BASELINE_MAX_PAGES, SCORECARD_CHECK_WEIGHTS, SCORECARD_STATUS_CREDIT, SEO_VERSION, SERP_TITLE_REFERENCE_WIDTH_PX, SERP_TITLE_WIDTH_PROFILE, SemrushProvider, SeoError, ServiceAccountAccessTokenClient, SessionLedger, TELEMETRY_AGENTS, TELEMETRY_ENDPOINT, TELEMETRY_ERROR_CATEGORIES, TELEMETRY_EVENTS, TELEMETRY_NOTICE, TELEMETRY_REPORTS, TELEMETRY_SCHEMA_VERSION, TELEMETRY_TIMEOUT_MS, affectedUrls, agentReadiness, aiPromptsForQuery, aiReadiness, aiReferralSourceForValue, aiReferralsReport, aiSearchScorecard, allocateIndexUrlsToProperties, analyticsConnectionsSchema, analyzeAiReferralRows, analyzeCannibalRows, analyzeCtrUnderperformersFromRows, analyzeDecay, analyzeIndexCoverageSignals, analyzeInternalLinksFromRows, analyzePageOpportunitiesFromRows, analyzeQueryClustersFromRows, analyzeQuickWinsFromRows, analyzeSecondPageRows, analyzeSegmentRows, analyzeStrikingDistanceRows, analyzeTrafficAnomalyRows, assertUrlMatchesGscProperty, attachCrawlRecommendations, auditCrawlPages, auditCrawlRequests, auditLlmsTxt, auditPage, authStatus, boundedSitemapInventory, buildOkfBundle, buildPseoAuditReportFromRows, buildTelemetryPayload, cannibalReport, changeMeasurementCsvRows, checkDatabaseReadiness, classifyCommunityIntent, clearCache, clientProfileSchema, clusterPseoTemplates, clusterQueryRows, collectAgentDiscovery, combineRobotsValues, communityIntentReport, compareCrawlPages, compareCrawlReports, compareSegmentRows, configSchema, contentCoverageRecommendation, contentCoverageType, contentOptimizationFromPageOpportunities, contentOptimizationReport, countLabel, crawlConfigHash, crawlConfigSchema, crawlDefinitionId, crawlDiff, crawlFixToQueueItem, crawlImplementationQueueWorkflow, crawlIssueGroupSchema, crawlIssueSchema, crawlOne, crawlPageSnapshotSchema, crawlReportSchema, crawlReportStore, crawlReportSummarySchema, crawlRequestObservationSchema, crawlRunId, crawlSite, crawlSkipImpact, crawlSkipReasonCountsFromRecord, crawlTopFixSchema, crawlerJsonSchemas, crawlerRuleCategorySchema, crawlerRuleIdSchema, crawlerRuleInfoSchema, crawlerRuleRecommendationSchema, crawlerRuleSeveritySchema, crawlerSchemas, createAuthorizedClient, createContentGroup, createCrawlReport, createCtrBenchmarkContext, createGoogleAccessTokenClient, createLogger, createPageRenderer, ctrUnderperformersReport, decayClusterDrafts, decayComparisonRange, decayingReport, deleteChange, deleteClient, deleteContentGroup, deleteCrawlReport, deleteTokens, deriveBrandTerms, detectBrandTerms, detectTelemetryAgent, diagnoseCsvFiles, diagnoseProperty, diagnosePropertyWorkflow, effectiveRobotsDirectives, effectiveSnippetControl, ensureSeoCliDirs, entityReadiness, estimateSerpTitleWidth, expectedCtrForPosition, explainOkfValidation, explainRule, fetchCruxFieldData, fetchPage, fetchSearchStatusIncidents, fetchSitemapUrls, fileSize, finalGscDateRange, findOverlappingSearchUpdates, formatRelativeExpiry, ga4MatchReason, ga4PropertyIdFromName, ga4ReportQualityWarnings, ga4RequestCanUseCache, ga4RowsToObjects, generateLlmsTxt, geoGaps, geoGapsReport, getAuthModeStatus, getCacheStats, getChange, getClient, getClientConfig, getContentGroup, getDb, getKeywordProvider, getPreviousRun, getPrivacySnapshot, getRepeatedLinkRecoverUrls, getRunPages, getSeoCliPaths, getServiceAccountConfig, getServiceAccountStatus, getTelemetryStatus, getTokenStorageStatus, googleAnalyticsPropertyId, groupCrawlIssues, hasMetaRobotsDirective, hasRule, hasXRobotsDirective, hashKey, indexCoveragePlan, indexCoverageSignals, indexMonitor, indexWatch, inferPseoTemplate, inferTemplateMovement, initializeTelemetry, insertCrawlRun, insertLinkRecoverRun, inspectUrl, internalLinksReport, interpretUpdateCorrelation, isBrandQuery, isCompatibleTechnicalBaseline, isCurrentTechnicalBaseline, isEntityEvidenceSchemaType, isSiteIdentitySchemaType, isSkippableReportError, isTelemetryCi, isTelemetryReport, isoDate, isoWeek, latestCrawlReport, latestCrawlSummaries, latestFinalGscDate, latestIndexWatchSummary, latestLinkRecoverSummary, linkRecover, linkRecoverRecommendation, listChanges, listClients, listContentGroups, listCrawlReports, listGa4AccountSummaries, listGa4DataStreams, listRules, listSearchUpdates, listSites, loadCrawlReport, localCredentialsProvider, loginWithLoopback, makeRunId, matchGa4WebStreams, measureChange, measureCoverage, metaRobotsDirectives, migrateLegacyMacConfig, missingOAuthClientMessage, missingSharedClientLoginMessage, monitoringStatus, monthlyReport, monthlyReportWorkflow, narrativeCsvFiles, normalizeCrawlConfig, normalizeCrawlSkipReasonCounts, normalizeForCoverage, normalizeHttpUrl, normalizeJavaScriptRenderingMode, normalizeLoadedCrawlReport, okfConceptLimit, pageEvidenceRecommendation, pageOpportunitiesReport, parseOlderThan, parsePseoPath, performanceAudit, performanceReportIsCacheable, planDueIndexUrls, planIndexCoverageFromUrls, plural, propertyMatchesUrl, providerPreferenceSchema, pseoAuditOptions, pseoAuditReport, pseoCsvFiles, pseoIndexStatus, pseoPresentation, publicHttpFetch, queryClusterReport, queryClusterTokens, queryContentCoverageFromPage, queryContentFieldsFromPage, queryFieldCoverage, queryOpportunityRecommendation, queryPageMetrics, queryPageTopQuery, queryPagesMetrics, queryPagesMetricsBatch, queryPagesTopQueries, queryPagesTopQueriesBatch, querySearchAnalytics, quickWinsCsvRows, quickWinsReport, readConfig, readOauthClient, readTokens, recommendCrawlDiffItem, recommendationForRule, recordChange, redirectTrace, refreshAuthToken, refreshPrioritiesCsvFiles, refreshPrioritiesWorkflow, renderCrawlCsv, renderCrawlHtml, renderCrawlMarkdownTickets, renderCrawlPagesCsv, renderCrawlPretty, renderCsv, renderPresentationTablesMarkdown, renderPseoMarkdown, renderWorkflowMarkdown, reportNarrative, reportPresentation, requestHeaders, resolveSegmentRanges, resolveSeoCliPaths, resolveTechnicalBaseline, reviewObservations, roundedPosition, runDoctor, runGa4Report, saveClient, saveCrawlReport, secondPage, segmentComparisonRange, segmentImpact, segmentRangeDays, selectAffectedUrls, selectDueIndexUrls, seoErrorEnvelope, seoToAiQueryReport, sessionSourceInListFilter, setDefaultClient, setTelemetryEnabled, setTokenStorageMode, shiftIsoDate, shouldExcludeBrandQuery, siteSchema, sqliteCrawlReportStore, strikingDistance, summarizeCrawlReport, pageTechnicalSignals as technicalPageSignals, technicalWatchWorkflow, telemetryErrorCategory, templateForUrl, toSeoError, tokenSchema, topCrawlRecommendations, topFixes, trackTelemetryReportComplete, trackTelemetryReportFailed, trackTelemetryReportStart, trackTelemetrySetupComplete, trafficAnomaly, unavailableSegmentImpactReport, unicodeTokens, updateCorrelation, updatePostmortemCsvFiles, updatePostmortemWorkflow, validateOkfFiles, verifyQueryContent, workflowPresentation, writeConfig, writeOauthClient, writeTokens, xRobotsDirectives };
|
|
28890
28957
|
|
|
28891
28958
|
//# sourceMappingURL=index.js.map
|