@rivi-software/agentic-seo-check 0.4.0 → 0.5.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/README.md +29 -5
- package/dist/cli.js +20 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/aeo/audit.d.ts +8 -0
- package/dist/core/aeo/audit.js +101 -17
- package/dist/core/aeo/audit.js.map +1 -1
- package/dist/core/aeo/bots.d.ts +48 -0
- package/dist/core/aeo/bots.js +151 -5
- package/dist/core/aeo/bots.js.map +1 -1
- package/dist/core/aeo/fixes.d.ts +38 -0
- package/dist/core/aeo/fixes.js +111 -0
- package/dist/core/aeo/fixes.js.map +1 -0
- package/dist/core/aeo/site-rules.d.ts +5 -0
- package/dist/core/aeo/site-rules.js +293 -10
- package/dist/core/aeo/site-rules.js.map +1 -1
- package/dist/core/audit.d.ts +8 -0
- package/dist/core/audit.js +144 -25
- package/dist/core/audit.js.map +1 -1
- package/dist/core/crawl.js +43 -4
- package/dist/core/crawl.js.map +1 -1
- package/dist/core/html/answer.d.ts +5 -2
- package/dist/core/html/answer.js +25 -7
- package/dist/core/html/answer.js.map +1 -1
- package/dist/core/html/dom.d.ts +13 -1
- package/dist/core/html/dom.js +30 -2
- package/dist/core/html/dom.js.map +1 -1
- package/dist/core/html/extract.js +122 -30
- package/dist/core/html/extract.js.map +1 -1
- package/dist/core/html/head.js +114 -19
- package/dist/core/html/head.js.map +1 -1
- package/dist/core/html/resources.js +15 -7
- package/dist/core/html/resources.js.map +1 -1
- package/dist/core/html/structured-data.js +21 -5
- package/dist/core/html/structured-data.js.map +1 -1
- package/dist/core/lighthouse.d.ts +2 -5
- package/dist/core/lighthouse.js +290 -5
- package/dist/core/lighthouse.js.map +1 -1
- package/dist/core/performance-fixes.d.ts +25 -0
- package/dist/core/performance-fixes.js +446 -0
- package/dist/core/performance-fixes.js.map +1 -0
- package/dist/core/performance-rules.js +56 -8
- package/dist/core/performance-rules.js.map +1 -1
- package/dist/core/recheck.d.ts +68 -0
- package/dist/core/recheck.js +247 -0
- package/dist/core/recheck.js.map +1 -0
- package/dist/core/render-fixes.d.ts +27 -0
- package/dist/core/render-fixes.js +164 -0
- package/dist/core/render-fixes.js.map +1 -0
- package/dist/core/render-rules.js +60 -21
- package/dist/core/render-rules.js.map +1 -1
- package/dist/core/report/markdown.js +68 -1
- package/dist/core/report/markdown.js.map +1 -1
- package/dist/core/robots.d.ts +5 -0
- package/dist/core/robots.js +8 -0
- package/dist/core/robots.js.map +1 -1
- package/dist/core/rules/aeo.js +339 -25
- package/dist/core/rules/aeo.js.map +1 -1
- package/dist/core/rules/canonical.js +107 -11
- package/dist/core/rules/canonical.js.map +1 -1
- package/dist/core/rules/content.js +65 -7
- package/dist/core/rules/content.js.map +1 -1
- package/dist/core/rules/document.js +73 -8
- package/dist/core/rules/document.js.map +1 -1
- package/dist/core/rules/fix.d.ts +55 -0
- package/dist/core/rules/fix.js +159 -0
- package/dist/core/rules/fix.js.map +1 -0
- package/dist/core/rules/head.js +81 -4
- package/dist/core/rules/head.js.map +1 -1
- package/dist/core/rules/headings.js +92 -9
- package/dist/core/rules/headings.js.map +1 -1
- package/dist/core/rules/hreflang.js +79 -9
- package/dist/core/rules/hreflang.js.map +1 -1
- package/dist/core/rules/images.js +49 -0
- package/dist/core/rules/images.js.map +1 -1
- package/dist/core/rules/index.d.ts +11 -0
- package/dist/core/rules/index.js +21 -1
- package/dist/core/rules/index.js.map +1 -1
- package/dist/core/rules/indexing.js +108 -1
- package/dist/core/rules/indexing.js.map +1 -1
- package/dist/core/rules/keyword.js +91 -1
- package/dist/core/rules/keyword.js.map +1 -1
- package/dist/core/rules/links.js +42 -0
- package/dist/core/rules/links.js.map +1 -1
- package/dist/core/rules/loading.js +54 -1
- package/dist/core/rules/loading.js.map +1 -1
- package/dist/core/rules/meta.js +36 -5
- package/dist/core/rules/meta.js.map +1 -1
- package/dist/core/rules/page-fixes.d.ts +39 -0
- package/dist/core/rules/page-fixes.js +107 -0
- package/dist/core/rules/page-fixes.js.map +1 -0
- package/dist/core/rules/quoted-tags.d.ts +23 -0
- package/dist/core/rules/quoted-tags.js +79 -0
- package/dist/core/rules/quoted-tags.js.map +1 -0
- package/dist/core/rules/response.js +71 -7
- package/dist/core/rules/response.js.map +1 -1
- package/dist/core/rules/rule.d.ts +17 -4
- package/dist/core/rules/rule.js +11 -2
- package/dist/core/rules/rule.js.map +1 -1
- package/dist/core/rules/social.js +101 -10
- package/dist/core/rules/social.js.map +1 -1
- package/dist/core/rules/structured-data-fixes.d.ts +33 -0
- package/dist/core/rules/structured-data-fixes.js +469 -0
- package/dist/core/rules/structured-data-fixes.js.map +1 -0
- package/dist/core/rules/structured-data-values.js +242 -31
- package/dist/core/rules/structured-data-values.js.map +1 -1
- package/dist/core/rules/structured-data.js +171 -4
- package/dist/core/rules/structured-data.js.map +1 -1
- package/dist/core/rules/title.js +39 -5
- package/dist/core/rules/title.js.map +1 -1
- package/dist/core/rules/urls.js +166 -0
- package/dist/core/rules/urls.js.map +1 -1
- package/dist/core/site-fixes.d.ts +111 -0
- package/dist/core/site-fixes.js +650 -0
- package/dist/core/site-fixes.js.map +1 -0
- package/dist/core/site-rules.js +474 -53
- package/dist/core/site-rules.js.map +1 -1
- package/dist/core/sitemap.d.ts +16 -0
- package/dist/core/sitemap.js +34 -0
- package/dist/core/sitemap.js.map +1 -1
- package/dist/core/types.d.ts +223 -3
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +16 -2
- package/dist/mcp.js.map +1 -1
- package/package.json +1 -1
- package/skills/seo-audit/SKILL.md +22 -5
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ agentic-seo-check is one core with two interfaces:
|
|
|
41
41
|
- **CLI** `agentic-seo-check` with JSON (default when piped) or Markdown output and CI-friendly exit codes.
|
|
42
42
|
- **MCP server** exposing six tools for Claude Code, Cursor, Codex and any other MCP client.
|
|
43
43
|
|
|
44
|
-
It audits **URLs** (production, staging, `localhost` dev servers), **static build output** (`dist/`, `out/`, `build/`) and **raw HTML**, and returns findings an agent can act on: a stable rule id, severity, what is wrong, the fix, a CSS selector for where it lives, and evidence with the current values.
|
|
44
|
+
It audits **URLs** (production, staging, `localhost` dev servers), **static build output** (`dist/`, `out/`, `build/`) and **raw HTML**, and returns findings an agent can act on: a stable rule id, severity, what is wrong, the fix, a CSS selector for where it lives, and evidence with the current values. Each finding carries the exact edits that fix it, quoting the code to replace, and an id, so an agent can re-check only the rules it fixed and see which findings are gone, still open or new.
|
|
45
45
|
|
|
46
46
|
Two audits share that core: the **SEO audit** (`audit`, `crawl`) for search engines, and the **AEO audit** (`aeo`, answer engine optimization) for AI answer engines such as ChatGPT search, Claude, Perplexity, Google AI Overviews and AI Mode, Copilot and Gemini. Each has its own rules and its own score, so adding one never changes the other.
|
|
47
47
|
|
|
@@ -110,6 +110,10 @@ cat page.html | agentic-seo-check audit - --base-url https://www.example.com/pag
|
|
|
110
110
|
# keyword focus, Lighthouse, Markdown report to a file
|
|
111
111
|
agentic-seo-check audit https://www.example.com/widgets --keyword "blue widgets" --lighthouse -o report.md
|
|
112
112
|
|
|
113
|
+
# fix, then re-check only the rules you fixed, compared with the first run
|
|
114
|
+
agentic-seo-check audit ./out --base-url https://www.example.com --format json -o before.json
|
|
115
|
+
agentic-seo-check audit ./out --base-url https://www.example.com --rule title.generic,img.alt-missing --baseline before.json
|
|
116
|
+
|
|
113
117
|
# CI: exit 1 when errors exist, smaller output
|
|
114
118
|
agentic-seo-check audit https://staging.example.com --crawl --fail-on error --compact --no-info
|
|
115
119
|
|
|
@@ -127,6 +131,8 @@ agentic-seo-check rules --rule canonical.multiple
|
|
|
127
131
|
|
|
128
132
|
`aeo` takes the same targets and output, crawl and request options as `audit`, plus `--ai-bots`; it has no `--keyword`, `--render`, `--lighthouse` or `--check-external`. With `--ai-bots`, the requests come from your machine with each bot's User-Agent, not from the bots' own IP ranges: a CDN that verifies bots may treat the real crawler differently, and the findings say so. Search crawlers and robots.txt-only tokens (Google-Extended, Applebot-Extended) are never impersonated.
|
|
129
133
|
|
|
134
|
+
`--rule` runs only the rules named (space- or comma-separated). `--baseline` reads an earlier audit's JSON and adds `baseline` to the result: the findings since fixed, still open and new. Re-check with the same target and options as the first run; a finding counts as fixed only when its rule ran again on its page, and the rest are counted as `notChecked`. A crawl or directory baseline needs `--page-detail full` (the CLI default), so its page findings have ids.
|
|
135
|
+
|
|
130
136
|
Exit codes: `0` success, `1` findings at or above `--fail-on`, `2` usage or runtime error. Progress goes to stderr, the report to stdout.
|
|
131
137
|
|
|
132
138
|
## MCP server
|
|
@@ -148,18 +154,20 @@ Or `claude mcp add agentic-seo-check -- npx -y @rivi-software/agentic-seo-check
|
|
|
148
154
|
|
|
149
155
|
| Tool | Purpose |
|
|
150
156
|
| --- | --- |
|
|
151
|
-
| `seo_audit_page` | Audit one URL or an HTML string. Options: `keyword`, `render`, `lighthouse`, `formFactor`, `includeInfo`, `disableRules`, `headers`, `format` (json/markdown), `detail` (compact/full). |
|
|
157
|
+
| `seo_audit_page` | Audit one URL or an HTML string. Options: `keyword`, `render`, `lighthouse`, `formFactor`, `includeInfo`, `disableRules`, `rules`, `baseline`, `headers`, `format` (json/markdown), `detail` (compact/full). |
|
|
152
158
|
| `seo_crawl_site` | Crawl and audit a site. Options: `maxPages`, `maxDepth`, `concurrency`, `delayMs`, `respectRobots`, `includeSubdomains`, `checkExternalLinks`, `includePatterns`, `excludePatterns`, `pageDetail`. |
|
|
153
159
|
| `seo_audit_directory` | Audit built HTML files in a directory. Options: `dir`, `baseUrl`, `maxPages`, `pageDetail`. |
|
|
154
160
|
| `seo_lighthouse` | Lighthouse performance + SEO + agentic-browsing for one URL. |
|
|
155
|
-
| `seo_aeo_audit` | AEO audit of one of `url` (with `crawl` for a site), `html` or `dir`. Options: `aiBots`, `baseUrl`, `maxPages`, `maxDepth`, `concurrency`, `respectRobots`, `includeSubdomains`, `pageDetail`, `includeInfo`, `disableRules`, `headers`, `format`, `detail`. |
|
|
161
|
+
| `seo_aeo_audit` | AEO audit of one of `url` (with `crawl` for a site), `html` or `dir`. Options: `aiBots`, `baseUrl`, `maxPages`, `maxDepth`, `concurrency`, `respectRobots`, `includeSubdomains`, `pageDetail`, `includeInfo`, `disableRules`, `rules`, `baseline`, `headers`, `format`, `detail`. |
|
|
156
162
|
| `seo_list_rules` | Rule reference, filter by `category` or `rule`. |
|
|
157
163
|
|
|
164
|
+
Every audit tool also takes `rules` (run only these rule ids) and `baseline` (the `id` of each finding of the earlier audit) for a re-check, like `--rule` and `--baseline`. For a crawl or directory, run both audits with `pageDetail: "full"` so page findings have ids.
|
|
165
|
+
|
|
158
166
|
All tools are read-only. Results are returned both as text (JSON or Markdown) and as `structuredContent`.
|
|
159
167
|
|
|
160
168
|
## Agent skill
|
|
161
169
|
|
|
162
|
-
`skills/seo-audit/SKILL.md` teaches an agent the audit
|
|
170
|
+
`skills/seo-audit/SKILL.md` teaches an agent the loop of audit, apply each finding's `fix`, then re-check the rules it fixed against the first run, how to map rule ids to framework code (Next.js, Astro, Nuxt, SvelteKit, Remix, TanStack Start), and the caveats (preview-host noindex, localhost limits). It also has the agent put the title, description or canonical the audit found next to the fixed one in its pull request, so a reviewer sees each mistake without opening the site. Copy it to `.claude/skills/seo-audit/` in a project or `~/.claude/skills/` to make it available; this repo links it under `.claude/skills/`.
|
|
163
171
|
|
|
164
172
|
## Output shape
|
|
165
173
|
|
|
@@ -178,9 +186,19 @@ All tools are read-only. Results are returned both as text (JSON or Markdown) an
|
|
|
178
186
|
"category": "meta",
|
|
179
187
|
"message": "Page has no meta description.",
|
|
180
188
|
"recommendation": "Add a unique meta description (about 70-160 characters) …",
|
|
189
|
+
"fix": [ // the exact edits that resolve this finding here; apply all of them
|
|
190
|
+
{
|
|
191
|
+
"in": "html", // html, http (status, headers, redirects), robots.txt, sitemap, llms.txt or asset
|
|
192
|
+
"action": "add", // add `code` at `at`; replace swaps `current` for `code`; remove deletes `current`
|
|
193
|
+
"at": "head",
|
|
194
|
+
"code": "<meta name=\"description\" content=\"{{page description}}\">",
|
|
195
|
+
"write": "A summary of this page in 70-160 characters …" // what goes in the {{…}} slot
|
|
196
|
+
}
|
|
197
|
+
],
|
|
181
198
|
"selector": "head > meta[name=\"description\"]",
|
|
199
|
+
"docs": "https://developers.google.com/search/docs/appearance/snippet",
|
|
182
200
|
"url": "https://www.example.com/",
|
|
183
|
-
"
|
|
201
|
+
"id": "meta-description.missing@1f2e3d4c" // stable across audits of this page
|
|
184
202
|
}
|
|
185
203
|
],
|
|
186
204
|
"response": { "status": 200, "finalUrl": "…", "redirectChain": [], "timeMs": 142, "headers": { "content-type": "text/html" } },
|
|
@@ -189,6 +207,12 @@ All tools are read-only. Results are returned both as text (JSON or Markdown) an
|
|
|
189
207
|
}
|
|
190
208
|
```
|
|
191
209
|
|
|
210
|
+
A fix's `current` is quoted from the HTML the server sent, so an agent can find it in the template that renders it; a quote cut short at 500 characters ends in `…`. Text in `{{` `}}` is a slot for words only the author can write, such as a title or alt text; everything else in `code` is exact. An `asset` replace at `whole file` (a script to split, an image to re-encode) has no `current`, a slot for `code`, and the measurement and target in `write`. The code is built from the page's own markup, so review an edit like any other change before you commit it.
|
|
211
|
+
|
|
212
|
+
A fix holds at most 10 edits; a finding about more elements (23 skipped heading levels, 40 images without alt text) lists the first 10, and a re-check shows what is left. A few findings have no fix because there is nothing on the site to change: `site.crawl-limit-reached` and `aeo.bot-probe-inconclusive` describe the audit, `structured-data.retired-type` says Google stopped showing a rich result whose markup answer engines still read, and `tool.*` findings are about this machine.
|
|
213
|
+
|
|
214
|
+
With `baseline`, the result has `"baseline": { "fixed": [{ "id", "rule", "url", "message" }], "open": [ids], "new": [ids], "notChecked": 3 }` just before the findings. A new id is a problem the earlier audit did not have in that form: one a fix caused, or what is left of a finding fixed in part (a JSON-LD object's other wrong value). An earlier finding counts as fixed only when this audit ran its rule on its page and does not report it, also not as an info finding that `--no-info` hides; a finding whose id is numbered (`~1`, for findings a rule cannot tell apart) is never called fixed, and one the earlier audit had under another number is open, not new.
|
|
215
|
+
|
|
192
216
|
Site audits add `crawl` stats, `robotsTxt`, `sitemaps`, `siteFindings`, `issues` (page findings rolled up per rule with example URLs) and `pages`.
|
|
193
217
|
|
|
194
218
|
An AEO audit has `kind: "aeo"` and its own score:
|
package/dist/cli.js
CHANGED
|
@@ -4,6 +4,7 @@ import { Command, InvalidArgumentError, Option } from "commander";
|
|
|
4
4
|
import { MAKER, MAKER_URL, REPOSITORY_URL } from "./brand.js";
|
|
5
5
|
import { auditAeoTarget, compactAeoAudit } from "./core/aeo/audit.js";
|
|
6
6
|
import { auditTarget, compactAudit } from "./core/audit.js";
|
|
7
|
+
import { baselineFromAudit } from "./core/recheck.js";
|
|
7
8
|
import { renderAeoMarkdown, renderMarkdown } from "./core/report/markdown.js";
|
|
8
9
|
import { ALL_RULES } from "./core/rules/index.js";
|
|
9
10
|
import { SEVERITY_RANK } from "./core/types.js";
|
|
@@ -66,6 +67,8 @@ const addAuditOptions = (cmd, mode) => {
|
|
|
66
67
|
.choices(["full", "summary"])
|
|
67
68
|
.default("full"))
|
|
68
69
|
.option("--disable <rule...>", "Rule ids to skip")
|
|
70
|
+
.option("--rule <id...>", "Run only these rule ids (space- or comma-separated): re-check the findings a fix was for")
|
|
71
|
+
.option("--baseline <file>", "Compare with an earlier audit saved as JSON: lists the findings since fixed, still open and new")
|
|
69
72
|
.option("--timeout <ms>", "Per-request timeout", intArg, 15_000)
|
|
70
73
|
.option("--user-agent <ua>", "Custom User-Agent header")
|
|
71
74
|
.option("-H, --header <header...>", 'Extra request header "Name: value" (repeatable)')
|
|
@@ -81,6 +84,21 @@ const formatOf = (opts) => {
|
|
|
81
84
|
}
|
|
82
85
|
return process.stdout.isTTY ? "md" : "json";
|
|
83
86
|
};
|
|
87
|
+
/** Rule ids from `--rule a b` and `--rule a,b`. */
|
|
88
|
+
const ruleIds = (values) => values
|
|
89
|
+
?.flatMap((v) => v.split(","))
|
|
90
|
+
.map((v) => v.trim())
|
|
91
|
+
.filter(Boolean);
|
|
92
|
+
/** The findings of the audit `--baseline` names. */
|
|
93
|
+
const readBaseline = async (file) => {
|
|
94
|
+
if (file === undefined) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const json = await fs.readFile(file, "utf-8").catch((error) => {
|
|
98
|
+
throw new Error(`Cannot read the baseline ${file}: ${error.message}`);
|
|
99
|
+
});
|
|
100
|
+
return baselineFromAudit(json);
|
|
101
|
+
};
|
|
84
102
|
/** `-H "Name: value"` flags as request headers. */
|
|
85
103
|
const parseHeaders = (values = []) => {
|
|
86
104
|
const headers = {};
|
|
@@ -124,6 +142,8 @@ const auditFor = async (target, opts, mode) => {
|
|
|
124
142
|
excludePatterns: opts.exclude,
|
|
125
143
|
includeInfo: opts.info,
|
|
126
144
|
disableRules: opts.disable,
|
|
145
|
+
onlyRules: ruleIds(opts.rule),
|
|
146
|
+
baseline: await readBaseline(opts.baseline),
|
|
127
147
|
pageDetail: opts.pageDetail,
|
|
128
148
|
fetch: {
|
|
129
149
|
timeoutMs: opts.timeout,
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,mBAAmB,CAAC;KACzB,WAAW,CACV,2LAA2L,CAC5L;KACA,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CACV,UAAU,EACV,aAAa,KAAK,KAAK,SAAS,uBAAuB,cAAc,EAAE,CACxE;KACA,kBAAkB,EAAE,CAAC;AAExB,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE;IACvC,uKAAuK;IACvK,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAErC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAKF,MAAM,eAAe,GAAG,CAAC,GAAY,EAAE,IAAU,EAAW,EAAE;IAC5D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,CACR,SAAS,EACT,uEAAuE,CACxE,CAAC;IACJ,CAAC;IAED,GAAG;SACA,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,CAAC;SAC/D,MAAM,CACL,iBAAiB,EACjB,uCAAuC,EACvC,MAAM,EACN,CAAC,CACF;SACA,MAAM,CAAC,mBAAmB,EAAE,kCAAkC,EAAE,MAAM,EAAE,CAAC,CAAC;SAC1E,MAAM,CAAC,cAAc,EAAE,mCAAmC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAE1E,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,CACR,WAAW,EACX,qFAAqF,CACtF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG;aACA,MAAM,CAAC,yBAAyB,EAAE,qCAAqC,CAAC;aACxE,MAAM,CACL,UAAU,EACV,6EAA6E,CAC9E;aACA,MAAM,CACL,cAAc,EACd,qEAAqE,CACtE;aACA,SAAS,CACR,IAAI,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;aAC9D,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aAC9B,OAAO,CAAC,QAAQ,CAAC,CACrB,CAAC;IACN,CAAC;IAED,GAAG;SACA,MAAM,CACL,kBAAkB,EAClB,+EAA+E,CAChF;SACA,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;SAClE,MAAM,CACL,sBAAsB,EACtB,4CAA4C,CAC7C,CAAC;IAEJ,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,CACR,kBAAkB,EAClB,iDAAiD,CAClD,CAAC;IACJ,CAAC;IAED,OAAO,GAAG;SACP,MAAM,CAAC,sBAAsB,EAAE,yCAAyC,CAAC;SACzE,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SACnE,SAAS,CACR,IAAI,MAAM,CACR,uBAAuB,EACvB,4DAA4D,CAC7D,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAC1B;SACA,MAAM,CAAC,kBAAkB,EAAE,8CAA8C,CAAC;SAC1E,SAAS,CACR,IAAI,MAAM,CACR,sBAAsB,EACtB,gEAAgE,CACjE;SACE,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;SAC7C,OAAO,CAAC,MAAM,CAAC,CACnB;SACA,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CACL,WAAW,EACX,2EAA2E,CAC5E;SACA,SAAS,CACR,IAAI,MAAM,CAAC,uBAAuB,EAAE,iCAAiC,CAAC;SACnE,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAC5B,OAAO,CAAC,MAAM,CAAC,CACnB;SACA,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;SACjD,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC;SAC/D,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;SACvD,MAAM,CACL,0BAA0B,EAC1B,iDAAiD,CAClD;SACA,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC,CAAC;AACjE,CAAC,CAAC;AAgCF,qGAAqG;AACrG,MAAM,QAAQ,GAAG,CAAC,IAAgB,EAAiB,EAAE;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAC,CAAC;AAEF,mDAAmD;AACnD,MAAM,YAAY,GAAG,CAAC,MAAM,GAAa,EAAE,EAAE,EAAE;IAC7C,MAAM,OAAO,GAAyC,EAAE,CAAC;IAEzD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,oBAAoB,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC3C,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAEzD,OAAO,CAAC,CAAgB,EAAQ,EAAE;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GACX,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;QAEnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,YAAY,CAAC,CAAC,KAAK,GAAG,OAAO,KAAK,CAAC,CAAC,OAAO,aAAa,CACzD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,mFAAmF;AACnF,MAAM,QAAQ,GAAG,KAAK,EACpB,MAAc,EACd,IAAgB,EAChB,IAAU,EAC4C,EAAE;IACxD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAuC;QAClD,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY;QACjC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,kBAAkB,EAAE,IAAI,CAAC,aAAa;QACtC,eAAe,EAAE,IAAI,CAAC,OAAO;QAC7B,eAAe,EAAE,IAAI,CAAC,OAAO;QAC7B,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,YAAY,EAAE,IAAI,CAAC,OAAO;QAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE;YACL,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAC3D;QACD,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC;KAClC,CAAC;IAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE9B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,IAAI,GAAG,GAAa,MAAM,cAAc,CAAC,MAAM,EAAE;YAC/C,GAAG,OAAO;YACV,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EACJ,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,GAAU,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EACJ,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KAC3E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EACpB,MAAc,EACd,IAAgB,EAChB,IAAU,EACK,EAAE;IACjB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE9D,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAI,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAW;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEtC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,4BAA4B,IAAI,CAAC,MAAM,eAAe,CAC9D,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,CACb,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CACP,UAAU,EACV,oEAAoE,CACrE;KACA,WAAW,CACV,+DAA+D,CAChE,EACH,OAAO,CACR,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAgB,EAAE,EAAE;IAClD,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,eAAe,CACb,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;KAC9B,WAAW,CAAC,6DAA6D,CAAC,EAC7E,OAAO,CACR,CAAC,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAgB,EAAE,EAAE;IAC/C,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,eAAe,CACb,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,QAAQ,CACP,UAAU,EACV,oEAAoE,CACrE;KACA,WAAW,CACV,uKAAuK,CACxK,EACH,KAAK,CACN,CAAC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAgB,EAAE,EAAE;IAClD,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;KACrD,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC;KACtC,SAAS,CACR,IAAI,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC;KACjD,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACvB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CACjD;KACA,MAAM,CACL,CAAC,IAAiE,EAAE,EAAE;IACpE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,CACrC,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC/D,CAAC;QAEF,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,yCAAyC;QACzC,2BAA2B;KAC5B,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAC9I,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CACV,sEAAsE,CACvE;KACA,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,IAAI,CAAC;IACH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACjF,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/core/aeo/audit.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ProgressEvent } from "../audit.js";
|
|
2
2
|
import type { FetchOptions } from "../fetch.js";
|
|
3
|
+
import type { Baseline } from "../recheck.js";
|
|
3
4
|
import type { AeoAudit } from "../types.js";
|
|
4
5
|
export interface AeoOptions {
|
|
5
6
|
/** Crawl the site from a URL target instead of auditing one page. */
|
|
@@ -20,6 +21,13 @@ export interface AeoOptions {
|
|
|
20
21
|
includeInfo?: boolean;
|
|
21
22
|
/** Rule ids to skip. */
|
|
22
23
|
disableRules?: string[];
|
|
24
|
+
/** Run only these rule ids: a re-check of the rules a fix was for. */
|
|
25
|
+
onlyRules?: string[];
|
|
26
|
+
/**
|
|
27
|
+
* The findings of an earlier AEO audit. The result then has `baseline`: the findings since
|
|
28
|
+
* fixed, still open and new.
|
|
29
|
+
*/
|
|
30
|
+
baseline?: Baseline;
|
|
23
31
|
/** Site audits: "summary" keeps page findings out of `findings`; they stay rolled up in `issues`. */
|
|
24
32
|
pageDetail?: "full" | "summary";
|
|
25
33
|
fetch?: FetchOptions;
|
package/dist/core/aeo/audit.js
CHANGED
|
@@ -4,8 +4,10 @@ import { DEFAULT_CRAWL, readStdin, resolveTarget, rollupIssues, trimFinding, } f
|
|
|
4
4
|
import { crawlSite } from "../crawl.js";
|
|
5
5
|
import { DEFAULT_USER_AGENT, fetchPage, toResponseInfo } from "../fetch.js";
|
|
6
6
|
import { extractPage } from "../html/extract.js";
|
|
7
|
+
import { assignIds, compareWithBaseline, insertBefore, recordUrls, ruleRanWith, } from "../recheck.js";
|
|
7
8
|
import { loadRobotsTxt } from "../robots.js";
|
|
8
|
-
import { AEO_PAGE_RULES, runPageRules, sortFindings } from "../rules/index.js";
|
|
9
|
+
import { AEO_PAGE_RULES, AEO_RULES, checkRuleIds, runPageRules, sortFindings, } from "../rules/index.js";
|
|
10
|
+
import { robotsDirectives } from "../rules/indexing.js";
|
|
9
11
|
import { pageScore, siteScore } from "../score.js";
|
|
10
12
|
import { scanDirectory } from "../static.js";
|
|
11
13
|
import { countFindings, DEFAULT_THRESHOLDS } from "../types.js";
|
|
@@ -130,19 +132,39 @@ const collectHtml = (html, url, target, source, options) => ({
|
|
|
130
132
|
llmsTxt: null,
|
|
131
133
|
live: false,
|
|
132
134
|
});
|
|
135
|
+
/**
|
|
136
|
+
* Findings the options leave in: not disabled, among `onlyRules`, and info only when asked for.
|
|
137
|
+
* The info findings left out go to `hidden`: still there, so a re-check never calls them fixed.
|
|
138
|
+
*/
|
|
139
|
+
const selected = (findings, options, hidden) => {
|
|
140
|
+
const disabled = new Set(options.disableRules);
|
|
141
|
+
const only = options.onlyRules ? new Set(options.onlyRules) : null;
|
|
142
|
+
const shown = [];
|
|
143
|
+
for (const f of findings) {
|
|
144
|
+
if (disabled.has(f.rule) || (only && !only.has(f.rule))) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
(options.includeInfo === false && f.severity === "info"
|
|
148
|
+
? hidden
|
|
149
|
+
: shown).push(f);
|
|
150
|
+
}
|
|
151
|
+
return shown;
|
|
152
|
+
};
|
|
133
153
|
const evaluatePage = (record, source, options) => {
|
|
134
|
-
|
|
154
|
+
const hidden = [];
|
|
155
|
+
const findings = selected(runPageRules({
|
|
135
156
|
page: record.page,
|
|
136
157
|
source,
|
|
137
158
|
response: record.response,
|
|
138
159
|
thresholds: DEFAULT_THRESHOLDS,
|
|
139
160
|
depth: record.depth,
|
|
140
|
-
}, {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
161
|
+
}, {
|
|
162
|
+
disable: new Set(options.disableRules),
|
|
163
|
+
only: options.onlyRules ? new Set(options.onlyRules) : undefined,
|
|
164
|
+
rules: AEO_PAGE_RULES,
|
|
165
|
+
}), options, hidden);
|
|
144
166
|
const counts = countFindings(findings);
|
|
145
|
-
return { record, findings, counts, score: pageScore(counts) };
|
|
167
|
+
return { record, findings, hidden, counts, score: pageScore(counts) };
|
|
146
168
|
};
|
|
147
169
|
/**
|
|
148
170
|
* Requests the start page as each AI bot and records the answers on `crawlers`. Returns why the
|
|
@@ -196,6 +218,55 @@ const pageEntry = (p) => {
|
|
|
196
218
|
summary: aeoPageSummary(p.record.page, p.record.response),
|
|
197
219
|
};
|
|
198
220
|
};
|
|
221
|
+
/** Fails on `onlyRules` that name no AEO rule, before any request goes out. */
|
|
222
|
+
const checkOptions = (options) => {
|
|
223
|
+
if (options.onlyRules) {
|
|
224
|
+
checkRuleIds(options.onlyRules, AEO_RULES, "AEO");
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* Gives every finding its id and, with `baseline`, compares them with the earlier audit's. Site
|
|
229
|
+
* rules ran when the target had a site to read robots.txt and llms.txt from.
|
|
230
|
+
*/
|
|
231
|
+
const recheck = (c, findings, hidden, options) => {
|
|
232
|
+
assignIds([...findings, ...hidden]);
|
|
233
|
+
if (!options.baseline) {
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
236
|
+
const site = c.robots !== null || c.llmsTxt !== null;
|
|
237
|
+
const active = new Set(site ? ["crawl"] : []);
|
|
238
|
+
if (options.aiBots) {
|
|
239
|
+
active.add("ai-bots");
|
|
240
|
+
}
|
|
241
|
+
return compareWithBaseline(findings, options.baseline, {
|
|
242
|
+
// robots.txt and llms.txt findings name those files, not a page.
|
|
243
|
+
urls: [
|
|
244
|
+
c.url,
|
|
245
|
+
c.target,
|
|
246
|
+
...recordUrls(c.records),
|
|
247
|
+
...(c.robots ? [c.robots.url] : []),
|
|
248
|
+
...(c.llmsTxt ? [c.llmsTxt.url] : []),
|
|
249
|
+
],
|
|
250
|
+
site,
|
|
251
|
+
hidden,
|
|
252
|
+
ruleRan: ruleRanWith({
|
|
253
|
+
onlyRules: options.onlyRules,
|
|
254
|
+
disableRules: options.disableRules,
|
|
255
|
+
active,
|
|
256
|
+
}, AEO_RULES),
|
|
257
|
+
});
|
|
258
|
+
};
|
|
259
|
+
/** A build's error page (404.html, 500.html, 404/index.html, _not-found.html): never a page to list. */
|
|
260
|
+
const ERROR_PAGE_FILE = /(?:^|[/\\])(?:[45]\d{2}|_?not-found|_error)(?:[/\\]index)?\.html?$/iu;
|
|
261
|
+
/**
|
|
262
|
+
* The pages an llms.txt fix may link to: those that answered below 400, are not set to noindex,
|
|
263
|
+
* and are not a build's error page. A crawl records the HTML of a 404 or 500 page too.
|
|
264
|
+
*/
|
|
265
|
+
const listablePages = (records) => records.flatMap((r) => (r.response?.status ?? 200) < 400 &&
|
|
266
|
+
!robotsDirectives(r.page, r.response).noindex &&
|
|
267
|
+
!(r.file && ERROR_PAGE_FILE.test(r.file))
|
|
268
|
+
? [{ url: r.url, title: r.page.title }]
|
|
269
|
+
: []);
|
|
199
270
|
const buildAudit = async (c, options) => {
|
|
200
271
|
const isSite = c.source === "crawl" || c.source === "directory";
|
|
201
272
|
const pages = c.records.map((r) => evaluatePage(r, c.pageSource, options));
|
|
@@ -206,18 +277,17 @@ const buildAudit = async (c, options) => {
|
|
|
206
277
|
const probeSkipped = options.aiBots
|
|
207
278
|
? await runProbe(c, start, crawlers, options)
|
|
208
279
|
: undefined;
|
|
209
|
-
const
|
|
210
|
-
|
|
280
|
+
const hiddenSite = [];
|
|
281
|
+
const siteFindings = selected(aeoSiteFindings({
|
|
211
282
|
crawlers,
|
|
212
283
|
llmsTxt: c.llmsTxt,
|
|
284
|
+
pages: listablePages(c.records),
|
|
213
285
|
pageCount: pages.length,
|
|
214
286
|
probeSkipped,
|
|
215
|
-
})
|
|
216
|
-
if (options.includeInfo === false) {
|
|
217
|
-
siteFindings = siteFindings.filter((f) => f.severity !== "info");
|
|
218
|
-
}
|
|
287
|
+
}), options, hiddenSite);
|
|
219
288
|
const pageFindings = pages.flatMap((p) => p.findings);
|
|
220
|
-
const
|
|
289
|
+
const comparison = recheck(c, [...siteFindings, ...pageFindings], [...hiddenSite, ...pages.flatMap((p) => p.hidden)], options);
|
|
290
|
+
let audit = {
|
|
221
291
|
schemaVersion: 1,
|
|
222
292
|
kind: "aeo",
|
|
223
293
|
target: c.target,
|
|
@@ -247,6 +317,9 @@ const buildAudit = async (c, options) => {
|
|
|
247
317
|
crawlers,
|
|
248
318
|
llmsTxt: c.llmsTxt,
|
|
249
319
|
};
|
|
320
|
+
if (comparison) {
|
|
321
|
+
audit = insertBefore(audit, "findings", "baseline", comparison);
|
|
322
|
+
}
|
|
250
323
|
if (isSite) {
|
|
251
324
|
audit.pages = pages
|
|
252
325
|
.toSorted((a, b) => a.record.depth - b.record.depth || a.score - b.score)
|
|
@@ -261,17 +334,28 @@ const buildAudit = async (c, options) => {
|
|
|
261
334
|
/** AEO audit of an HTML string. `url` is where the HTML would be served, for links and display. */
|
|
262
335
|
// oxlint-disable-next-line eslint/require-await -- public API: it returns a promise like the other audit functions, so a throw reaches callers as a rejection
|
|
263
336
|
export const auditAeoHtml = async (html, input = {}, options = {}) => {
|
|
337
|
+
checkOptions(options);
|
|
264
338
|
const url = input.url ?? options.baseUrl ?? "http://localhost/";
|
|
265
339
|
return buildAudit(collectHtml(html, url, input.target ?? url, "html", options), options);
|
|
266
340
|
};
|
|
267
341
|
/** AEO audit of one live page, with its site's robots.txt and llms.txt. */
|
|
268
|
-
export const auditAeoUrl = async (url, options = {}) =>
|
|
342
|
+
export const auditAeoUrl = async (url, options = {}) => {
|
|
343
|
+
checkOptions(options);
|
|
344
|
+
return buildAudit(await collectUrl(url, options), options);
|
|
345
|
+
};
|
|
269
346
|
/** AEO audit of a site, crawled from `startUrl`. */
|
|
270
|
-
export const auditAeoSite = async (startUrl, options = {}) =>
|
|
347
|
+
export const auditAeoSite = async (startUrl, options = {}) => {
|
|
348
|
+
checkOptions(options);
|
|
349
|
+
return buildAudit(await collectSite(startUrl, options), options);
|
|
350
|
+
};
|
|
271
351
|
/** AEO audit of a directory of built HTML, with the robots.txt and llms.txt in it. */
|
|
272
|
-
export const auditAeoDirectory = async (dir, options = {}) =>
|
|
352
|
+
export const auditAeoDirectory = async (dir, options = {}) => {
|
|
353
|
+
checkOptions(options);
|
|
354
|
+
return buildAudit(await collectDirectory(dir, options), options);
|
|
355
|
+
};
|
|
273
356
|
/** AEO audit of a URL (a crawl with `crawl`), a directory, an .html file, or "-" for stdin. */
|
|
274
357
|
export const auditAeoTarget = async (target, options = {}) => {
|
|
358
|
+
checkOptions(options);
|
|
275
359
|
if (target === "-" || options.stdinHtml !== undefined) {
|
|
276
360
|
const html = options.stdinHtml ?? (await readStdin());
|
|
277
361
|
return auditAeoHtml(html, { url: options.baseUrl, target: "stdin" }, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/core/aeo/audit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/core/aeo/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,cAAc,EACd,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAahE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAyDlD,MAAM,WAAW,GAAG,CAAC,OAAmB,EAAU,EAAE,CAClD,OAAO,CAAC,KAAK,EAAE,SAAS,IAAI,kBAAkB,CAAC;AAEjD,mEAAmE;AACnE,MAAM,UAAU,GAAG,KAAK,EAAE,OAAe,EAAE,OAAmB,EAAE,EAAE;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,YAAY,MAAM,mBAAmB,MAAM,WAAW;KAChE,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;QAC1D,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,KAAK,EACtB,GAAW,EACX,OAAmB,EACC,EAAE;IACtB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE;QACvC,GAAG,EAAE,GAAG,CAAC,QAAQ;QACjB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC,CAAC;IAEH,kGAAkG;IAClG,MAAM,IAAI,GACR,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvE,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,EAAE,GAAG,CAAC,QAAQ;QACjB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE;YACP;gBACE,GAAG,EAAE,GAAG,CAAC,QAAQ;gBACjB,YAAY,EAAE,GAAG;gBACjB,IAAI;gBACJ,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC;gBAC7B,KAAK,EAAE,CAAC;aACT;SACF;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI;QAC5B,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,IAAI;QACpC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;QAC9B,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACvB,GAAW,EACX,OAAmB,EACC,EAAE;IACtB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ;QACpD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ;QACpD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW;QAC7D,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO;QACjD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI;QAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,KAAK;QACrD,kBAAkB,EAAE,KAAK;QACzB,iGAAiG;QACjG,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,KAAK;QACjB,0JAA0J;QAC1J,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,0JAA0J;QAC1J,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE;QAC5D,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAE1E,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,EAAE,MAAM,CAAC,QAAQ;QACpB,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;QACrC,OAAO,EAAE,MAAM,WAAW,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;QAC1E,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,GAAW,EACX,OAAmB,EACC,EAAE;IACtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC;IAEvD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE;QACtC,OAAO;QACP,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,KAAK;QACrD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG;QACjC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS;KACpC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,GAAG;QACX,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,WAAW;QACnB,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;QACrC,OAAO,EAAE,MAAM,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;QACxC,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC,CAAC;AAEF,mFAAmF;AACnF,MAAM,WAAW,GAAG,CAClB,IAAY,EACZ,GAAW,EACX,MAAc,EACd,MAAuB,EACvB,OAAmB,EACR,EAAE,CAAC,CAAC;IACf,MAAM;IACN,GAAG;IACH,MAAM;IACN,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE;QACP;YACE,GAAG;YACH,YAAY,EAAE,GAAG;YACjB,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE;gBACtB,GAAG;gBACH,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;aAC7C,CAAC;YACF,KAAK,EAAE,CAAC;SACT;KACF;IACD,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,KAAK;CACZ,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,QAAQ,GAAG,CACf,QAAmB,EACnB,OAAmB,EACnB,MAAiB,EACN,EAAE;IACb,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,KAAK,GAAc,EAAE,CAAC;IAE5B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACxD,SAAS;QACX,CAAC;QAED,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;YACrD,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,KAAK,CACR,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,MAAkB,EAClB,MAAkB,EAClB,OAAmB,EACJ,EAAE;IACjB,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,MAAM,QAAQ,GAAG,QAAQ,CACvB,YAAY,CACV;QACE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,kBAAkB;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,EACD;QACE,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;QACtC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAChE,KAAK,EAAE,cAAc;KACtB,CACF,EACD,OAAO,EACP,MAAM,CACP,CAAC;IAEF,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,QAAQ,GAAG,KAAK,EACpB,CAAY,EACZ,KAAgC,EAChC,QAAgC,EAChC,OAAmB,EACU,EAAE;IAC/B,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;IAExC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,qEAAqE,CAAC;IAC/E,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACzE,OAAO,+BAA+B,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,4EAA4E,CAAC;IACvL,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,cAAc,QAAQ,CAAC,QAAQ,0BAA0B;KACnE,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1E,QAAQ,CAAC,aAAa,GAAG;QACvB,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC;QAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,QAAgC,EAChC,OAAqB,EACX,EAAE,CACZ,QAAQ;IACN,CAAC,CAAC,QAAQ,CAAC,IAAI;SACV,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CACnE;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC;AAET,MAAM,SAAS,GAAG,CAAC,CAAgB,EAAW,EAAE;IAC9C,wEAAwE;IACxE,MAAM,IAAI,GAAmC;QAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG;KACnC,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;KAC1D,CAAC;AACJ,CAAC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,YAAY,GAAG,CAAC,OAAmB,EAAQ,EAAE;IACjD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,GAAG,CACd,CAAY,EACZ,QAAmB,EACnB,MAAiB,EACjB,OAAmB,EACnB,EAAE;IACF,SAAS,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAEpC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAc,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE3D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;QACrD,iEAAiE;QACjE,IAAI,EAAE;YACJ,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,MAAM;YACR,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;YACxB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC;QACD,IAAI;QACJ,MAAM;QACN,OAAO,EAAE,WAAW,CAClB;YACE,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM;SACP,EACD,SAAS,CACV;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,wGAAwG;AACxG,MAAM,eAAe,GACnB,sEAAsE,CAAC;AAEzE;;;GAGG;AACH,MAAM,aAAa,GAAG,CACpB,OAAqB,EACoB,EAAE,CAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG;IACjC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO;IAC7C,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC,CAAC,EAAE,CACP,CAAC;AAEJ,MAAM,UAAU,GAAG,KAAK,EACtB,CAAY,EACZ,OAAmB,EACA,EAAE;IACrB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;IAChE,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM;QACvB,CAAC,CAAC,aAAa,CACX,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,UAAU,EACZ,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAC1B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAC5B;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM;QACjC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,UAAU,GAAc,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAG,QAAQ,CAC3B,eAAe,CAAC;QACd,QAAQ;QACR,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/B,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,YAAY;KACb,CAAC,EACF,OAAO,EACP,UAAU,CACX,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAG,OAAO,CACxB,CAAC,EACD,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,EAClC,CAAC,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAClD,OAAO,CACR,CAAC;IAEF,IAAI,KAAK,GAAa;QACpB,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;QACrC,MAAM,EAAE,aAAa,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC;QACzD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI;YACnC,qBAAqB,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACtD,iBAAiB,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAClD,mBAAmB,EAAE,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;YACtD,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,IAAI,IAAI;YACxD,eAAe,EAAE,QAAQ,EAAE,aAAa;gBACtC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClE,CAAC,CAAC,IAAI;YACR,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI;YAClC,IAAI,EAAE,KAAK;gBACT,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC1D,CAAC,CAAC,IAAI;SACT;QACD,QAAQ,EAAE,YAAY,CACpB,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YACxC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CACvC;QACD,QAAQ;QACR,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,KAAK,GAAG,KAAK;aAChB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACxE,GAAG,CAAC,SAAS,CAAC,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,YAAY,CACzB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG;YAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,mGAAmG;AACnG,8JAA8J;AAC9J,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,IAAY,EACZ,KAAK,GAAsC,EAAE,EAC7C,OAAO,GAAe,EAAE,EACL,EAAE;IACrB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC;IAEhE,OAAO,UAAU,CACf,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAC5D,OAAO,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,GAAW,EACX,OAAO,GAAe,EAAE,EACL,EAAE;IACrB,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,UAAU,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAgB,EAChB,OAAO,GAAe,EAAE,EACL,EAAE;IACrB,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,UAAU,CAAC,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,GAAW,EACX,OAAO,GAAe,EAAE,EACL,EAAE;IACrB,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,OAAO,UAAU,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,MAAc,EACd,OAAO,GAAwC,EAAE,EAC9B,EAAE;IACrB,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,IAAI,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC;QAEtD,OAAO,YAAY,CACjB,IAAI,EACJ,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EACzC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAE7C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,KAAK,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,KAAK;gBAClB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;gBACrC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,WAAW,EAAE,CAAC;YACjB,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC;YAEpD,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CACvC,CAAC,IAAI,CAAC;YAEP,OAAO,UAAU,CACf,WAAW,CACT,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,EACH,MAAM,EACN,MAAM,EACN,OAAO,CACR,EACD,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAe,EAAY,EAAE,CAAC,CAAC;IAC7D,GAAG,KAAK;IACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;IACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACtB,CAAC,CAAC;YACE,GAAG,KAAK,CAAC,QAAQ;YACjB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SAC1D;QACH,CAAC,CAAC,IAAI;IACR,OAAO,EAAE,KAAK,CAAC,OAAO;QACpB,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QACpE,CAAC,CAAC,IAAI;CACT,CAAC,CAAC"}
|
package/dist/core/aeo/bots.d.ts
CHANGED
|
@@ -19,6 +19,25 @@ export interface AiBot {
|
|
|
19
19
|
export declare const AI_BOTS: AiBot[];
|
|
20
20
|
/** The policy token of the shared AI training preference (draft-kelley-aipref-training-preference-signal). */
|
|
21
21
|
export declare const TRAINING_PREFERENCE_TOKEN = "__usage_ai-training";
|
|
22
|
+
/** A group's user-agent lines as the file writes them, with any comment or blank lines between. */
|
|
23
|
+
export interface AgentRun {
|
|
24
|
+
/** Each line as written, and the product token it names (null for a comment or blank line). */
|
|
25
|
+
lines: {
|
|
26
|
+
text: string;
|
|
27
|
+
token: string | null;
|
|
28
|
+
}[];
|
|
29
|
+
/** The file's line break, to quote the run as one piece. */
|
|
30
|
+
eol: string;
|
|
31
|
+
}
|
|
32
|
+
/** Where a Content-Signal line sits in robots.txt, for a fix that rewrites it. */
|
|
33
|
+
export interface SignalSource {
|
|
34
|
+
/** The line as written, without its comment. */
|
|
35
|
+
raw: string;
|
|
36
|
+
/** The first user-agent line of its group, as written. */
|
|
37
|
+
group: string | null;
|
|
38
|
+
}
|
|
39
|
+
/** The robots.txt line a Content-Signal entry was read from, when `contentSignals` read it. */
|
|
40
|
+
export declare const signalSourceOf: (signal: ContentSignal) => SignalSource | undefined;
|
|
22
41
|
/**
|
|
23
42
|
* Content-Signal lines: `Content-Signal: search=yes, ai-input=no` or, for one path,
|
|
24
43
|
* `Content-Signal: /blog/ ai-train=no`.
|
|
@@ -26,5 +45,34 @@ export declare const TRAINING_PREFERENCE_TOKEN = "__usage_ai-training";
|
|
|
26
45
|
export declare const contentSignals: (text: string) => ContentSignal[];
|
|
27
46
|
/** Signals in a Content-Signal line that the policy does not define, or values other than yes and no. */
|
|
28
47
|
export declare const invalidSignals: (signal: ContentSignal) => string[];
|
|
48
|
+
/**
|
|
49
|
+
* Whether a robots.txt path pattern matches `path` (path and query): `*` stands for any characters
|
|
50
|
+
* and a final `$` anchors the end. Both sides are percent-encoded as robots-parser encodes them.
|
|
51
|
+
* Each piece between stars is found with indexOf, left to right, so a pattern of many stars costs
|
|
52
|
+
* one pass over the path, never a backtracking search.
|
|
53
|
+
*/
|
|
54
|
+
export declare const pathMatches: (rawPattern: string, rawPath: string) => boolean;
|
|
55
|
+
/** A rule line of robots.txt, with the group it is in. */
|
|
56
|
+
export interface RobotsRuleLine {
|
|
57
|
+
/** The line as written, without its comment. */
|
|
58
|
+
raw: string;
|
|
59
|
+
/** The group's user-agent lines as written. */
|
|
60
|
+
agentLines: string[];
|
|
61
|
+
/** The group's user-agent lines as the file writes them, comments and blank lines between included. */
|
|
62
|
+
run: AgentRun;
|
|
63
|
+
/** The product tokens of the group's user agents, lower-cased. */
|
|
64
|
+
tokens: string[];
|
|
65
|
+
}
|
|
66
|
+
/** How robots.txt keeps one bot from the audited pages, for a fix that lets it in. */
|
|
67
|
+
export interface RobotsBlock {
|
|
68
|
+
/** The group the bot follows: its own, Googlebot's (Applebot without a group) or `User-agent: *`. */
|
|
69
|
+
group: "named" | "googlebot" | "wildcard";
|
|
70
|
+
/** Disallow lines of that group that match a page the bot is kept from. */
|
|
71
|
+
blocking: RobotsRuleLine[];
|
|
72
|
+
/** The Allow, Disallow and Content-Signal lines of that group, which a new group for the bot copies. */
|
|
73
|
+
rules: RobotsRuleLine[];
|
|
74
|
+
}
|
|
75
|
+
/** For each bot robots.txt keeps out, the lines that do it; set by `crawlerAccess`. */
|
|
76
|
+
export declare const robotsBlocksOf: (report: AiCrawlerReport) => ReadonlyMap<string, RobotsBlock> | undefined;
|
|
29
77
|
/** What robots.txt lets each AI bot do on the audited pages; `startUrl` is the page the summary describes. */
|
|
30
78
|
export declare const crawlerAccess: (robots: RobotsTxtInfo, text: string | null, startUrl: string, pageUrls: string[]) => AiCrawlerReport;
|