feat: add Serply search provider - #507
Open
googio wants to merge 1 commit into
Open
Conversation
|
All contributors have signed the CLA ✍️ ✅ |
Author
|
I have read the CLA Document and I hereby sign the CLA |
googio
force-pushed
the
feat/serply-search
branch
from
August 28, 2026 12:24
3919ed5 to
9b476b4
Compare
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.
I have read the CONTRIBUTING.md file.
YES
What kind of change does this PR introduce?
Feature: a new app connector, proposed in #506.
What is the current behavior?
There is no search/SERP connector in the app catalog, so agents that need live Google search results cannot use a workspace-managed key through the gateway.
Closes #506
What is the new behavior?
Adds a Serply connector following the existing Datadog pattern:
packages/api/src/apps/serply.ts: app definition with anapi_keyconnection method (singleapiKeyfield)packages/api/src/apps/app-permissions/serply.ts: one read-only tool group covering web search, news, scholar, and video results onapi.serply.io(all four endpoint paths verified against the live API)apps/gateway/src/apps.rs:AppProviderentry usingAuthStrategy::Nonepluscredential_headersto inject the stored key as a rawX-Api-Keyheader, the same mechanism the Datadog provider uses forDD-API-KEY, so no new gateway auth strategy is needed. Four unit tests mirror the Datadog ones (host match, no auth header injected, credential header mapping, no false positives onserply.io/www.serply.io)app-categories.tsSerply is fully optional: nothing changes for workspaces that do not connect it.
Checks run locally per CONTRIBUTING:
pnpm buildpassespnpm checkpasses (includescargo clippy,cargo fmt --check, tsc, prettier, and the vitest suite)cargo testinapps/gateway: 799 passed, including the 4 new Serply testsAdditional context
API docs: https://serply.io/docs
Disclosure: I work with Serply. Happy to adjust scope, naming, or drop this entirely if it is not a direction you want for the project.