Expand description
Cross-source orchestrators that compose multiple Source impls into
a single user-facing operation.
Slice 2 of the doiget roadmap promotes fetch_paper and
batch_fetch from doiget-cli into this module so the MCP server
(doiget-mcp) and the CLI share one source of truth for the per-ref
orchestration. The CLI’s commands::fetch::fetch_one is now a thin
wrapper that delegates here and adds the human-facing stderr print
line. Dry-run preview helpers live as fetch_paper_plan and
batch_fetch_plans.
Structs§
- Batch
Outcome - Outcome of a successful
batch_fetchcall. - Batch
Result Entry - Per-ref outcome carried inside
BatchOutcome::results. - Fetch
Paper Outcome - What
fetch_paperwrote to disk and how. - Metadata
Only Outcome - Outcome of a successful
metadata_onlycall.
Enums§
- PdfLeg
Status - Outcome of a successful
fetch_papercall.
Functions§
- batch_
fetch - Iterate over
refsthroughfetch_paper, collecting oneBatchResultEntryper ref. - batch_
fetch_ plans - Dry-run preview for a batch — one
FetchPlanper ref. Enforces the sameMAX_BATCH_REFScapbatch_fetchdoes. - fetch_
paper - Resolve a
Refto a PDF (or metadata-only fallback) and write it throughstore. - fetch_
paper_ plan - Build the dry-run preview (
FetchPlan) for a single ref without touching the network, store, or provenance log. Thin re-export ofcrate::dry_run::build_fetch_planunder the slice-2 naming the MCP tool surfaces use; kept here so the MCPdoiget_fetch_papertool method does not have to reach across two modules. - metadata_
only - Resolve a
Refto metadata WITHOUT triggering a publisher PDF fetch. - metadata_
only_ to_ store - Resolve a
Refto metadata and persist the metadata TOML to the store — thedocs/MCP_TOOLS.md§11doiget_metadata_onlySIDE EFFECT (#139). - resolve_
only - Resolve a
Refto metadata with no local persistence. - try_
fetch_ paper_ plan - Fallible sibling of
fetch_paper_plan— propagates an internal allowlist-contract drift as a typedFetchError::SourceSchemainstead of degrading to an emptycandidate_hostslist (issue #156 ②). Thin re-export ofcrate::dry_run::try_build_fetch_plan. Added alongside the infalliblefetch_paper_planrather than changing its signature, becausefetch_paper_planispuband called fromdoiget-mcp, which is out of scope for this batch.