Source only: no wheel and no container image are published. Build the image from
the Dockerfile in this repo, or install from the tag.
Highlights
- Every dispatch parameter declares an
enum.convert'stoand the
actiononoptimizeandprotectpublish their legal values in
tools/list, so a caller validates before sending instead of learning the
spelling by burning a call. - A wrong-typed argument stays inside the response contract. It used to
escape as a raw pydantic dump, complete with a link to pydantic.dev — the
fleet's envelope replaced by a stack trace pointing at someone else's website. - An argument this server does not take is refused by name, with the
arguments it does take listed. - Five descriptions that were not true were corrected:
read_pagepromised
links it did not return,finddid not mention its snippets,optimizedid
not documentlinearize,protectdid not name its real actions, andocr
demanded a page range it did not need. - A complete answer now carries a completeness flag, so a caller can tell a
whole result from a truncated one.
447 tests on Ubuntu, macOS and Windows. All 13 tools implemented and deployed.