Add SerpBase Google search modes - #46
Merged
Merged
Conversation
Support Google organic search with existing SerpBase credentials through the library, CLI, and Pi provider registry. Use direct HTTP because there is no suitable standalone TypeScript SDK. Preserve page-relative ranks and SERP context without fetching additional pages. Classify business-status failures even on HTTP 200 and propagate cancellation through the shared runtime. Cover native options, wire requests, CLI configuration, and failures, and wire the live CI secret.
mavam
had a problem deploying
to
Live provider tests
September 10, 2026 09:00 — with
GitHub Actions
Failure
Keep Google search, images, news, videos, maps, and place details behind web_search. Maps detail inputs are feature IDs from maps results, not dummy queries or a new harness tool. Validate native controls by mode and drop incompatible inherited defaults when switching modes. Connect provider guidance to tool descriptions and surface media URLs, feature IDs, and place information in text output. Cover every endpoint with wire tests and the Maps follow-up through Pi. Handle the navigation-logo and ambiguous video-time artifacts observed in live API responses without inventing dates or durations.
mavam
had a problem deploying
to
Live provider tests
September 10, 2026 11:02 — with
GitHub Actions
Failure
The generic Node.js documentation query legitimately returns no places. Use a geographic business query when testing SerpBase Maps so the live check exercises place results rather than failing on an empty search.
Use a 120-second provider default across SerpBase search modes instead of cutting off slower news and maps responses at 30 seconds. Explicit request and execution settings still take precedence, and other providers retain their existing deadlines. Test the actual cancellation deadlines and precedence with fake timers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🔍 Problem
🛠️ Solution
searchcapability and oneweb_searchtool:search,images,news,videos,maps, andmaps-detail.queries, without dummy queries or additional tools.💬 Review
web_searchis registered and follow a feature ID from model-visible Maps output into Maps Detail.8f3a302, using the environment-scopedSERPBASE_API_KEY. Latest local news/maps retries with the longer default returned upstream1503: service unavailable, rather than a client timeout.✅ Closes #45