@forkpoint/agent-lighthouse-core 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +79 -5
- package/dist/index.d.ts +79 -5
- package/dist/index.js +699 -237
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +698 -237
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Dispatcher } from 'undici';
|
|
1
2
|
import { CheerioAPI } from 'cheerio';
|
|
2
3
|
import { z } from 'zod';
|
|
3
4
|
|
|
@@ -61,7 +62,44 @@ interface FetchResult {
|
|
|
61
62
|
* Use before fetching any URL extracted from scanned site content.
|
|
62
63
|
*/
|
|
63
64
|
declare function isSafeUrl(url: string): Promise<boolean>;
|
|
64
|
-
|
|
65
|
+
interface FetcherOptions {
|
|
66
|
+
/**
|
|
67
|
+
* undici dispatcher for every request this fetcher makes.
|
|
68
|
+
*
|
|
69
|
+
* Omitted, requests go through a shared `new Agent()` whose per-origin
|
|
70
|
+
* connection count is unlimited — right for a site owner scanning their own
|
|
71
|
+
* site, who wants the scan over quickly. A caller scanning origins that did
|
|
72
|
+
* not invite it passes a bounded agent (`new Agent({ connections: 2 })`) so
|
|
73
|
+
* one scan cannot open 28 sockets at once against a stranger's WAF.
|
|
74
|
+
*/
|
|
75
|
+
dispatcher?: Dispatcher;
|
|
76
|
+
/**
|
|
77
|
+
* How many requests this fetcher may have in flight at once.
|
|
78
|
+
*
|
|
79
|
+
* Omitted, there is no ceiling and every request is issued as it arrives.
|
|
80
|
+
*
|
|
81
|
+
* A bounded dispatcher alone is not enough for a caller that wants one, and
|
|
82
|
+
* the difference is what the clocks measure. `Agent({ connections: 2 })`
|
|
83
|
+
* accepts all 26 root-file requests the scan fires in one `Promise.all` and
|
|
84
|
+
* queues 24 of them inside undici — but the per-request deadline and the
|
|
85
|
+
* `ttfbMs` clock both start when `fetch()` is called, so an origin averaging
|
|
86
|
+
* 800 ms per file would have its tail requests time out on the scanner's own
|
|
87
|
+
* queue and be reported as unreachable. Waiting here instead holds a request
|
|
88
|
+
* outside both clocks until it can actually be issued, so what they measure
|
|
89
|
+
* is the origin.
|
|
90
|
+
*/
|
|
91
|
+
maxConcurrent?: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A dispatcher that opens at most `connections` sockets per origin.
|
|
95
|
+
*
|
|
96
|
+
* The scanner's own default has no such ceiling, and for a site owner scanning
|
|
97
|
+
* their own site that is the right trade. A caller scanning origins that did
|
|
98
|
+
* not invite it wants the ceiling, and this saves it from taking a direct
|
|
99
|
+
* dependency on undici to express one line of politeness.
|
|
100
|
+
*/
|
|
101
|
+
declare function boundedDispatcher(connections: number): Dispatcher;
|
|
102
|
+
declare function createFetcher(fetcherOptions?: FetcherOptions): {
|
|
65
103
|
fetch: (options: FetchOptions) => Promise<FetchResult>;
|
|
66
104
|
};
|
|
67
105
|
|
|
@@ -593,9 +631,12 @@ interface PlanOptions {
|
|
|
593
631
|
/**
|
|
594
632
|
* Skip audits whose `requires` the scan did not obtain.
|
|
595
633
|
*
|
|
596
|
-
*
|
|
597
|
-
*
|
|
598
|
-
*
|
|
634
|
+
* The orchestrator turns this on for every scan
|
|
635
|
+
* (`enforceEvidenceGate ?? true`), so an audit's `requires` decides what a
|
|
636
|
+
* blocked or client-rendered scan reports. It defaults to off in this option
|
|
637
|
+
* bag only so a caller planning audits directly gets the unfiltered set;
|
|
638
|
+
* passing `false` is the measurement escape hatch for comparing a gated run
|
|
639
|
+
* against an ungated one.
|
|
599
640
|
*/
|
|
600
641
|
enforceEvidence?: boolean;
|
|
601
642
|
}
|
|
@@ -720,6 +761,39 @@ interface ScanOptions {
|
|
|
720
761
|
* useful when measuring what the gate removes.
|
|
721
762
|
*/
|
|
722
763
|
enforceEvidenceGate?: boolean;
|
|
764
|
+
/**
|
|
765
|
+
* undici dispatcher for every request this scan makes.
|
|
766
|
+
*
|
|
767
|
+
* Omitted, the scan uses the fetcher's shared agent, which opens as many
|
|
768
|
+
* connections per origin as the scan asks for. A caller scanning origins that
|
|
769
|
+
* did not invite it — the nightly corpus job — passes a bounded agent so the
|
|
770
|
+
* ~28 root-file requests the scan issues at once do not arrive at a stranger's
|
|
771
|
+
* WAF as a burst.
|
|
772
|
+
*/
|
|
773
|
+
dispatcher?: Dispatcher;
|
|
774
|
+
/**
|
|
775
|
+
* How many requests this scan may have in flight at once.
|
|
776
|
+
*
|
|
777
|
+
* Omitted, the scan issues every request as it reaches the fetcher. A caller
|
|
778
|
+
* scanning origins that did not invite it sets this alongside `dispatcher`:
|
|
779
|
+
* the dispatcher bounds the sockets, and this bounds what is issued, so the
|
|
780
|
+
* requests the scan holds back wait outside the per-request deadline and
|
|
781
|
+
* outside `ttfbMs` instead of inside undici's queue. Without it a bounded
|
|
782
|
+
* scan reports its own queueing as the origin being slow or unreachable.
|
|
783
|
+
*/
|
|
784
|
+
maxConcurrent?: number;
|
|
785
|
+
/**
|
|
786
|
+
* A `robots.txt` response the caller already has, used instead of fetching
|
|
787
|
+
* it again.
|
|
788
|
+
*
|
|
789
|
+
* For a caller that must read `robots.txt` before it decides to scan at all.
|
|
790
|
+
* The nightly corpus job is one: it asks permission first, and without this
|
|
791
|
+
* every site it visits gets two requests for the one file its owner watches.
|
|
792
|
+
* It must be the response to `<baseUrl>/robots.txt` fetched with this
|
|
793
|
+
* scanner's own user agent — anything else and the scan judges a file it was
|
|
794
|
+
* not served.
|
|
795
|
+
*/
|
|
796
|
+
robotsTxt?: FetchResult;
|
|
723
797
|
}
|
|
724
798
|
declare function runScan(url: string, options?: ScanOptions): Promise<ScanReport>;
|
|
725
799
|
|
|
@@ -1516,4 +1590,4 @@ type AcpLinkType = (typeof ACP_LINK_TYPES)[number];
|
|
|
1516
1590
|
*/
|
|
1517
1591
|
declare function resolvePolicyLinks(ctx: CheckContext): Map<AcpLinkType, string>;
|
|
1518
1592
|
|
|
1519
|
-
export { ACP_LINK_TYPES, AI_CRAWLER_UAS, AUDIT_ID_PATTERN, type AcpLinkType, type AgentLighthouseConfig, Audit, type AuditGuidance, AuditGuidanceSchema, type AuditMeta, AuditMetaSchema, type AuditPlan, type AuditProgressEvent, type AuditRegistration, type AuditResult, AuditResultSchema, type AuditRunResult, type AuditTier, AuditTierSchema, type AuditTrace, type AuditTraceHandler, BASELINE_UA, type BlockClass, CATEGORY_IDS, CATEGORY_MASS, CATEGORY_NAMES, type CategoryConfig, type CategoryResult, type CheckContext, type CheckFn, type CheckPriority, CheckPrioritySchema, type CheckRecommendation, type CheckResult, CheckResultSchema, type CheckStatus, CheckStatusSchema, type CssRule, DEFAULT_SCAN_LIMIT, type DeprecationNotice, DeprecationNoticeSchema, type EvidenceGrade, EvidenceGradeSchema, type EvidenceKey, EvidenceKeySchema, type ExpectedKind, type FetchClass, type FetchOptions, type FetchResult, type FieldStatus, type FixEffort, FixEffortSchema, MAX_CONCURRENT_REQUESTS, MAX_PAGES_PER_SCAN, MAX_RESPONSE_BODY_BYTES, PAGE_TYPE_LABELS, PHASE_WEIGHTS, PRESETS, type PageContext, type PageCss, type PageJudgement, type PageOverride, type PageType, type PhaseId, type PresetName, type PresetOptions, type ProductFieldVerification, ProgressTracker, READINESS_WEIGHTS, REQUEST_TIMEOUT_MS, type ReadinessVitals, type RobotsFile, type RobotsGroup, type RobotsRule, SCANNER_USER_AGENT, SCAN_TIMEOUT_MS, SCORE_TIER_LABELS, type ScanConfig, type ScanEvent, type ScanEvidence, type ScanOptions, type ScanReport, type ScanValidity, type ScoreDisplayMode, ScoreDisplayModeSchema, type ScoreTier, type SitemapEntry, type SitemapTree, TAG_SCAN_ERROR, TAG_SKIPPED_NO_EVIDENCE, TAG_SKIPPED_PAGE_TYPE, type UaProbe, type WafProtection, allEvidenceMet, allJsonLdNodes, buildCategoryResult, buildScanEvidence, calculateCategoryScore, calculateOverallScore, classifyFetch, classifyResponse, collectPageCss, collectSitemapEntries, createFetcher, defaultConfig, defineConfig, detectPageType, detectWafProtection, evidenceUrl, extractDomain, extractForms, extractHeadLinks, extractHeadings, extractImages, extractInternalLinks, extractJsonLd, extractMarkdownLinks, extractMetaTags, extractNavLinks, extractProductFieldVerification, extractScripts, extractStylesheetUrls, filterConfig, flattenJsonLd, formatTrace, getMainContentText, getPreset, getRenderedText, getScoreTier, getTierColor, getTierLabel, getWordCount, groupsForBot, hasNamedGroup, isBlanketBlocked, isInformative, isPathAllowed, isPrivateIp, isRealFile, isSafeUrl, isW3CDateTime, joinUrl, judgePages, loadConfigFile, logger, matchesUserAgent, normalizeNewlines, normalizeUrl, outcomeOf, pagesOfType, parseCssRules, parseHtml, parseRobots, parseRobotsFile, planAudits, probeUaParity, resolvePolicyLinks, runAudits, runScan, sampleEntries, stripBom, topLevelJsonLd, traceFromCheck, weightForGrade };
|
|
1593
|
+
export { ACP_LINK_TYPES, AI_CRAWLER_UAS, AUDIT_ID_PATTERN, type AcpLinkType, type AgentLighthouseConfig, Audit, type AuditGuidance, AuditGuidanceSchema, type AuditMeta, AuditMetaSchema, type AuditPlan, type AuditProgressEvent, type AuditRegistration, type AuditResult, AuditResultSchema, type AuditRunResult, type AuditTier, AuditTierSchema, type AuditTrace, type AuditTraceHandler, BASELINE_UA, type BlockClass, CATEGORY_IDS, CATEGORY_MASS, CATEGORY_NAMES, type CategoryConfig, type CategoryResult, type CheckContext, type CheckFn, type CheckPriority, CheckPrioritySchema, type CheckRecommendation, type CheckResult, CheckResultSchema, type CheckStatus, CheckStatusSchema, type CssRule, DEFAULT_SCAN_LIMIT, type DeprecationNotice, DeprecationNoticeSchema, type EvidenceGrade, EvidenceGradeSchema, type EvidenceKey, EvidenceKeySchema, type ExpectedKind, type FetchClass, type FetchOptions, type FetchResult, type FetcherOptions, type FieldStatus, type FixEffort, FixEffortSchema, MAX_CONCURRENT_REQUESTS, MAX_PAGES_PER_SCAN, MAX_RESPONSE_BODY_BYTES, PAGE_TYPE_LABELS, PHASE_WEIGHTS, PRESETS, type PageContext, type PageCss, type PageJudgement, type PageOverride, type PageType, type PhaseId, type PresetName, type PresetOptions, type ProductFieldVerification, ProgressTracker, READINESS_WEIGHTS, REQUEST_TIMEOUT_MS, type ReadinessVitals, type RobotsFile, type RobotsGroup, type RobotsRule, SCANNER_USER_AGENT, SCAN_TIMEOUT_MS, SCORE_TIER_LABELS, type ScanConfig, type ScanEvent, type ScanEvidence, type ScanOptions, type ScanReport, type ScanValidity, type ScoreDisplayMode, ScoreDisplayModeSchema, type ScoreTier, type SitemapEntry, type SitemapTree, TAG_SCAN_ERROR, TAG_SKIPPED_NO_EVIDENCE, TAG_SKIPPED_PAGE_TYPE, type UaProbe, type WafProtection, allEvidenceMet, allJsonLdNodes, boundedDispatcher, buildCategoryResult, buildScanEvidence, calculateCategoryScore, calculateOverallScore, classifyFetch, classifyResponse, collectPageCss, collectSitemapEntries, createFetcher, defaultConfig, defineConfig, detectPageType, detectWafProtection, evidenceUrl, extractDomain, extractForms, extractHeadLinks, extractHeadings, extractImages, extractInternalLinks, extractJsonLd, extractMarkdownLinks, extractMetaTags, extractNavLinks, extractProductFieldVerification, extractScripts, extractStylesheetUrls, filterConfig, flattenJsonLd, formatTrace, getMainContentText, getPreset, getRenderedText, getScoreTier, getTierColor, getTierLabel, getWordCount, groupsForBot, hasNamedGroup, isBlanketBlocked, isInformative, isPathAllowed, isPrivateIp, isRealFile, isSafeUrl, isW3CDateTime, joinUrl, judgePages, loadConfigFile, logger, matchesUserAgent, normalizeNewlines, normalizeUrl, outcomeOf, pagesOfType, parseCssRules, parseHtml, parseRobots, parseRobotsFile, planAudits, probeUaParity, resolvePolicyLinks, runAudits, runScan, sampleEntries, stripBom, topLevelJsonLd, traceFromCheck, weightForGrade };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Dispatcher } from 'undici';
|
|
1
2
|
import { CheerioAPI } from 'cheerio';
|
|
2
3
|
import { z } from 'zod';
|
|
3
4
|
|
|
@@ -61,7 +62,44 @@ interface FetchResult {
|
|
|
61
62
|
* Use before fetching any URL extracted from scanned site content.
|
|
62
63
|
*/
|
|
63
64
|
declare function isSafeUrl(url: string): Promise<boolean>;
|
|
64
|
-
|
|
65
|
+
interface FetcherOptions {
|
|
66
|
+
/**
|
|
67
|
+
* undici dispatcher for every request this fetcher makes.
|
|
68
|
+
*
|
|
69
|
+
* Omitted, requests go through a shared `new Agent()` whose per-origin
|
|
70
|
+
* connection count is unlimited — right for a site owner scanning their own
|
|
71
|
+
* site, who wants the scan over quickly. A caller scanning origins that did
|
|
72
|
+
* not invite it passes a bounded agent (`new Agent({ connections: 2 })`) so
|
|
73
|
+
* one scan cannot open 28 sockets at once against a stranger's WAF.
|
|
74
|
+
*/
|
|
75
|
+
dispatcher?: Dispatcher;
|
|
76
|
+
/**
|
|
77
|
+
* How many requests this fetcher may have in flight at once.
|
|
78
|
+
*
|
|
79
|
+
* Omitted, there is no ceiling and every request is issued as it arrives.
|
|
80
|
+
*
|
|
81
|
+
* A bounded dispatcher alone is not enough for a caller that wants one, and
|
|
82
|
+
* the difference is what the clocks measure. `Agent({ connections: 2 })`
|
|
83
|
+
* accepts all 26 root-file requests the scan fires in one `Promise.all` and
|
|
84
|
+
* queues 24 of them inside undici — but the per-request deadline and the
|
|
85
|
+
* `ttfbMs` clock both start when `fetch()` is called, so an origin averaging
|
|
86
|
+
* 800 ms per file would have its tail requests time out on the scanner's own
|
|
87
|
+
* queue and be reported as unreachable. Waiting here instead holds a request
|
|
88
|
+
* outside both clocks until it can actually be issued, so what they measure
|
|
89
|
+
* is the origin.
|
|
90
|
+
*/
|
|
91
|
+
maxConcurrent?: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A dispatcher that opens at most `connections` sockets per origin.
|
|
95
|
+
*
|
|
96
|
+
* The scanner's own default has no such ceiling, and for a site owner scanning
|
|
97
|
+
* their own site that is the right trade. A caller scanning origins that did
|
|
98
|
+
* not invite it wants the ceiling, and this saves it from taking a direct
|
|
99
|
+
* dependency on undici to express one line of politeness.
|
|
100
|
+
*/
|
|
101
|
+
declare function boundedDispatcher(connections: number): Dispatcher;
|
|
102
|
+
declare function createFetcher(fetcherOptions?: FetcherOptions): {
|
|
65
103
|
fetch: (options: FetchOptions) => Promise<FetchResult>;
|
|
66
104
|
};
|
|
67
105
|
|
|
@@ -593,9 +631,12 @@ interface PlanOptions {
|
|
|
593
631
|
/**
|
|
594
632
|
* Skip audits whose `requires` the scan did not obtain.
|
|
595
633
|
*
|
|
596
|
-
*
|
|
597
|
-
*
|
|
598
|
-
*
|
|
634
|
+
* The orchestrator turns this on for every scan
|
|
635
|
+
* (`enforceEvidenceGate ?? true`), so an audit's `requires` decides what a
|
|
636
|
+
* blocked or client-rendered scan reports. It defaults to off in this option
|
|
637
|
+
* bag only so a caller planning audits directly gets the unfiltered set;
|
|
638
|
+
* passing `false` is the measurement escape hatch for comparing a gated run
|
|
639
|
+
* against an ungated one.
|
|
599
640
|
*/
|
|
600
641
|
enforceEvidence?: boolean;
|
|
601
642
|
}
|
|
@@ -720,6 +761,39 @@ interface ScanOptions {
|
|
|
720
761
|
* useful when measuring what the gate removes.
|
|
721
762
|
*/
|
|
722
763
|
enforceEvidenceGate?: boolean;
|
|
764
|
+
/**
|
|
765
|
+
* undici dispatcher for every request this scan makes.
|
|
766
|
+
*
|
|
767
|
+
* Omitted, the scan uses the fetcher's shared agent, which opens as many
|
|
768
|
+
* connections per origin as the scan asks for. A caller scanning origins that
|
|
769
|
+
* did not invite it — the nightly corpus job — passes a bounded agent so the
|
|
770
|
+
* ~28 root-file requests the scan issues at once do not arrive at a stranger's
|
|
771
|
+
* WAF as a burst.
|
|
772
|
+
*/
|
|
773
|
+
dispatcher?: Dispatcher;
|
|
774
|
+
/**
|
|
775
|
+
* How many requests this scan may have in flight at once.
|
|
776
|
+
*
|
|
777
|
+
* Omitted, the scan issues every request as it reaches the fetcher. A caller
|
|
778
|
+
* scanning origins that did not invite it sets this alongside `dispatcher`:
|
|
779
|
+
* the dispatcher bounds the sockets, and this bounds what is issued, so the
|
|
780
|
+
* requests the scan holds back wait outside the per-request deadline and
|
|
781
|
+
* outside `ttfbMs` instead of inside undici's queue. Without it a bounded
|
|
782
|
+
* scan reports its own queueing as the origin being slow or unreachable.
|
|
783
|
+
*/
|
|
784
|
+
maxConcurrent?: number;
|
|
785
|
+
/**
|
|
786
|
+
* A `robots.txt` response the caller already has, used instead of fetching
|
|
787
|
+
* it again.
|
|
788
|
+
*
|
|
789
|
+
* For a caller that must read `robots.txt` before it decides to scan at all.
|
|
790
|
+
* The nightly corpus job is one: it asks permission first, and without this
|
|
791
|
+
* every site it visits gets two requests for the one file its owner watches.
|
|
792
|
+
* It must be the response to `<baseUrl>/robots.txt` fetched with this
|
|
793
|
+
* scanner's own user agent — anything else and the scan judges a file it was
|
|
794
|
+
* not served.
|
|
795
|
+
*/
|
|
796
|
+
robotsTxt?: FetchResult;
|
|
723
797
|
}
|
|
724
798
|
declare function runScan(url: string, options?: ScanOptions): Promise<ScanReport>;
|
|
725
799
|
|
|
@@ -1516,4 +1590,4 @@ type AcpLinkType = (typeof ACP_LINK_TYPES)[number];
|
|
|
1516
1590
|
*/
|
|
1517
1591
|
declare function resolvePolicyLinks(ctx: CheckContext): Map<AcpLinkType, string>;
|
|
1518
1592
|
|
|
1519
|
-
export { ACP_LINK_TYPES, AI_CRAWLER_UAS, AUDIT_ID_PATTERN, type AcpLinkType, type AgentLighthouseConfig, Audit, type AuditGuidance, AuditGuidanceSchema, type AuditMeta, AuditMetaSchema, type AuditPlan, type AuditProgressEvent, type AuditRegistration, type AuditResult, AuditResultSchema, type AuditRunResult, type AuditTier, AuditTierSchema, type AuditTrace, type AuditTraceHandler, BASELINE_UA, type BlockClass, CATEGORY_IDS, CATEGORY_MASS, CATEGORY_NAMES, type CategoryConfig, type CategoryResult, type CheckContext, type CheckFn, type CheckPriority, CheckPrioritySchema, type CheckRecommendation, type CheckResult, CheckResultSchema, type CheckStatus, CheckStatusSchema, type CssRule, DEFAULT_SCAN_LIMIT, type DeprecationNotice, DeprecationNoticeSchema, type EvidenceGrade, EvidenceGradeSchema, type EvidenceKey, EvidenceKeySchema, type ExpectedKind, type FetchClass, type FetchOptions, type FetchResult, type FieldStatus, type FixEffort, FixEffortSchema, MAX_CONCURRENT_REQUESTS, MAX_PAGES_PER_SCAN, MAX_RESPONSE_BODY_BYTES, PAGE_TYPE_LABELS, PHASE_WEIGHTS, PRESETS, type PageContext, type PageCss, type PageJudgement, type PageOverride, type PageType, type PhaseId, type PresetName, type PresetOptions, type ProductFieldVerification, ProgressTracker, READINESS_WEIGHTS, REQUEST_TIMEOUT_MS, type ReadinessVitals, type RobotsFile, type RobotsGroup, type RobotsRule, SCANNER_USER_AGENT, SCAN_TIMEOUT_MS, SCORE_TIER_LABELS, type ScanConfig, type ScanEvent, type ScanEvidence, type ScanOptions, type ScanReport, type ScanValidity, type ScoreDisplayMode, ScoreDisplayModeSchema, type ScoreTier, type SitemapEntry, type SitemapTree, TAG_SCAN_ERROR, TAG_SKIPPED_NO_EVIDENCE, TAG_SKIPPED_PAGE_TYPE, type UaProbe, type WafProtection, allEvidenceMet, allJsonLdNodes, buildCategoryResult, buildScanEvidence, calculateCategoryScore, calculateOverallScore, classifyFetch, classifyResponse, collectPageCss, collectSitemapEntries, createFetcher, defaultConfig, defineConfig, detectPageType, detectWafProtection, evidenceUrl, extractDomain, extractForms, extractHeadLinks, extractHeadings, extractImages, extractInternalLinks, extractJsonLd, extractMarkdownLinks, extractMetaTags, extractNavLinks, extractProductFieldVerification, extractScripts, extractStylesheetUrls, filterConfig, flattenJsonLd, formatTrace, getMainContentText, getPreset, getRenderedText, getScoreTier, getTierColor, getTierLabel, getWordCount, groupsForBot, hasNamedGroup, isBlanketBlocked, isInformative, isPathAllowed, isPrivateIp, isRealFile, isSafeUrl, isW3CDateTime, joinUrl, judgePages, loadConfigFile, logger, matchesUserAgent, normalizeNewlines, normalizeUrl, outcomeOf, pagesOfType, parseCssRules, parseHtml, parseRobots, parseRobotsFile, planAudits, probeUaParity, resolvePolicyLinks, runAudits, runScan, sampleEntries, stripBom, topLevelJsonLd, traceFromCheck, weightForGrade };
|
|
1593
|
+
export { ACP_LINK_TYPES, AI_CRAWLER_UAS, AUDIT_ID_PATTERN, type AcpLinkType, type AgentLighthouseConfig, Audit, type AuditGuidance, AuditGuidanceSchema, type AuditMeta, AuditMetaSchema, type AuditPlan, type AuditProgressEvent, type AuditRegistration, type AuditResult, AuditResultSchema, type AuditRunResult, type AuditTier, AuditTierSchema, type AuditTrace, type AuditTraceHandler, BASELINE_UA, type BlockClass, CATEGORY_IDS, CATEGORY_MASS, CATEGORY_NAMES, type CategoryConfig, type CategoryResult, type CheckContext, type CheckFn, type CheckPriority, CheckPrioritySchema, type CheckRecommendation, type CheckResult, CheckResultSchema, type CheckStatus, CheckStatusSchema, type CssRule, DEFAULT_SCAN_LIMIT, type DeprecationNotice, DeprecationNoticeSchema, type EvidenceGrade, EvidenceGradeSchema, type EvidenceKey, EvidenceKeySchema, type ExpectedKind, type FetchClass, type FetchOptions, type FetchResult, type FetcherOptions, type FieldStatus, type FixEffort, FixEffortSchema, MAX_CONCURRENT_REQUESTS, MAX_PAGES_PER_SCAN, MAX_RESPONSE_BODY_BYTES, PAGE_TYPE_LABELS, PHASE_WEIGHTS, PRESETS, type PageContext, type PageCss, type PageJudgement, type PageOverride, type PageType, type PhaseId, type PresetName, type PresetOptions, type ProductFieldVerification, ProgressTracker, READINESS_WEIGHTS, REQUEST_TIMEOUT_MS, type ReadinessVitals, type RobotsFile, type RobotsGroup, type RobotsRule, SCANNER_USER_AGENT, SCAN_TIMEOUT_MS, SCORE_TIER_LABELS, type ScanConfig, type ScanEvent, type ScanEvidence, type ScanOptions, type ScanReport, type ScanValidity, type ScoreDisplayMode, ScoreDisplayModeSchema, type ScoreTier, type SitemapEntry, type SitemapTree, TAG_SCAN_ERROR, TAG_SKIPPED_NO_EVIDENCE, TAG_SKIPPED_PAGE_TYPE, type UaProbe, type WafProtection, allEvidenceMet, allJsonLdNodes, boundedDispatcher, buildCategoryResult, buildScanEvidence, calculateCategoryScore, calculateOverallScore, classifyFetch, classifyResponse, collectPageCss, collectSitemapEntries, createFetcher, defaultConfig, defineConfig, detectPageType, detectWafProtection, evidenceUrl, extractDomain, extractForms, extractHeadLinks, extractHeadings, extractImages, extractInternalLinks, extractJsonLd, extractMarkdownLinks, extractMetaTags, extractNavLinks, extractProductFieldVerification, extractScripts, extractStylesheetUrls, filterConfig, flattenJsonLd, formatTrace, getMainContentText, getPreset, getRenderedText, getScoreTier, getTierColor, getTierLabel, getWordCount, groupsForBot, hasNamedGroup, isBlanketBlocked, isInformative, isPathAllowed, isPrivateIp, isRealFile, isSafeUrl, isW3CDateTime, joinUrl, judgePages, loadConfigFile, logger, matchesUserAgent, normalizeNewlines, normalizeUrl, outcomeOf, pagesOfType, parseCssRules, parseHtml, parseRobots, parseRobotsFile, planAudits, probeUaParity, resolvePolicyLinks, runAudits, runScan, sampleEntries, stripBom, topLevelJsonLd, traceFromCheck, weightForGrade };
|