Skip to main content

select_extractor

Function select_extractor 

Source
pub fn select_extractor(backend: &str) -> Result<ExtractorSelection, String>
Expand description

Resolve an extraction backend name to what the caller must do about it.

§Why this exists, and why it is in the library rather than the binary

The selection used to live inside the daemon’s #[cfg(feature = "extractor-http")] block. That gate is what made OutlineExtractor unreachable from the MCP server (#1734): the extractor needs no dependency and is linked into every build, but the only code that could choose it was compiled away unless an unrelated HTTP feature was on. Two of the twenty published tools were dead by default as a result — remember_extracted refused outright, and entity answered found: false for every name, entity hubs being born only of extraction.

Living here rather than in main.rs also means the daemon and the tests exercise the same function: a test can select outline and drive the real server with the result, instead of proving a seam written for the test.

§Errors

A human-readable message naming the accepted forms, for an unknown backend.