mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-21 06:12:17 +03:00
Integrate the Ollama hosted web search API (ollama.com/api/web_search) as a
new search provider, bringing the total to 11.
What:
- Register "ollama-search" in the search provider registry with POST to
ollama.com/api/web_search, Bearer auth, web-only, max 10 results
- Add credential fallback from ollama-cloud (same API key)
- Add request builder (query + max_results) and response normalizer
(maps {results: [{title, url, content}]} to SearchResult[] with
optional chaining and full_text content mapping)
- Wire into Zod validation, provider constants, and connection test config
- Add 4 integration tests through handleSearch covering builder, normalizer,
empty results, and missing results field edge cases
- Update registry and route listing tests (provider count 10→11)
Why:
Gives OmniRoute users another search backend option, reusing their existing
Ollama Cloud API key with no additional setup.
Testing:
- 4 new integration tests in search-handler-extended.test.ts using handleSearch
with mocked fetch
- 2 new assertions + count update in search-registry.test.ts
- Updated provider listing test in search-route.test.ts
- All 60 tests pass, no new ESLint or TypeScript errors