10 Commits
Author SHA1 Message Date
ldm0 43271abe7e docs(fetch): correct default timeout 2026-08-22 18:33:16 +08:00
ldm0 8441f9a7d8 feat(cli): split response waits into literal and regex modes 2026-08-22 03:20:24 +08:00
BibekPathak cf78d14909 fix(cli): error on invalid --wait-response-body regex 2026-08-21 19:38:13 +08:00
ldm0 2ae43dcc63 fix(docs): slimmer webfetch skill 2026-08-21 03:42:02 +08:00
Athul Nambiar 777ae9af36 fix(cli): enforce --obey-robots against robots.txt
`--obey-robots` parsed into `FetchConfig` and stopped there. Its only
consumer was the network trace, which reported the flag's own value back
out; no robots.txt was ever fetched or honored. The webfetch skill
meanwhile told agents to enable it for crawl workloads, so a crawl could
report that it obeyed robots.txt while ignoring it.

Add `moli-robots`, a dependency-light RFC 9309 parser and matcher:

- group parsing, including merged repeat groups and `User-agent` runs;
- user-agent selection by specificity with `*` as the fallback group;
- `Allow`/`Disallow` with `*` and `$`, longest match winning and `Allow`
  taking ties;
- percent-encoding normalization so a pattern and a request target
  compare in one space;
- the RFC 9309 section 2.3.1 response rules, where 4xx publishes no rules
  and 5xx or a transport failure disallows the origin.

Wire it into `moli fetch`. The check runs before the browser starts, so a
refused URL costs one robots.txt request and the target is never
contacted.

Scope is the top-level navigation. Subresource and protocol-server
navigations run through NavigationEngine, whose redirect, service-worker,
and CDP paths need a design decision of their own; `moli serve
--obey-robots` now warns that it is not enforced instead of appearing to
work.

Fixes #79
2026-08-21 02:34:26 +08:00
ldm0 94dbba2f28 docs(skills): document full-page screenshots 2026-08-18 00:35:51 +08:00
ldm0 be85a67d54 refactor(cli): remove help and version subcommands 2026-08-17 01:23:02 +08:00
ldm0 ce7fa9cd17 feat: implement Web Bot Auth signing 2026-08-16 15:19:40 +08:00
ldm0 515df47845 refactor(cli): remove unused WPT and web bot auth options 2026-08-16 02:58:13 +08:00
ldm0 5d2231d516 Add Moli skills and release installers 2026-08-14 02:22:38 +08:00