feat(providers): add Requesty provider to TS and Python SDKs - #1150
feat(providers): add Requesty provider to TS and Python SDKs#1150Thibaultjaigu wants to merge 1 commit into
Conversation
Add a dedicated "requesty" provider mirroring the existing OpenRouter provider in both the TypeScript and Python SDKs. Requesty is an OpenAI-compatible LLM router, so it reuses the same request/response transforms and Bearer auth as OpenRouter. - Base URL: https://router.requesty.ai/v1/chat/completions - Env var: REQUESTY_API_KEY - Model naming: requesty/{provider}/{model} (e.g. requesty/openai/gpt-4o-mini) Registered in both provider registries, added to the guard/redact provider test matrices, and documented in the providers docs table and the TypeScript README. Signed-off-by: Thibault Jaigu <thibault.jaigu@gmail.com>
|
@Thibaultjaigu is attempting to deploy a commit to the Superagent Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 2b9f9a6. Configure here.
| "groq": groq_provider, | ||
| "fireworks": fireworks_provider, | ||
| "openrouter": openrouter_provider, | ||
| "requesty": requesty_provider, |
There was a problem hiding this comment.
Requesty skips structured output
Medium Severity
Registering requesty enables models like requesty/openai/gpt-4o-mini in guard() and redact(), but _supports_structured_output / supportsStructuredOutput only special-case openrouter, not requesty. Those flows therefore omit JSON schema response_format for Requesty where the same nested model would use structured output via OpenRouter.
Reviewed by Cursor Bugbot for commit 2b9f9a6. Configure here.
There was a problem hiding this comment.
@Thibaultjaigu could you have a look at this and I will have it merged.
homanp
left a comment
There was a problem hiding this comment.
@Thibaultjaigu Thanks for adding this. Could please check the bugbot comment?


Summary
Adds a dedicated
requestyprovider to both the TypeScript and Python SDKs, mirroring the existing OpenRouter provider.Requesty (https://requesty.ai, docs: https://docs.requesty.ai) is an OpenAI-compatible LLM router. Because it uses the same OpenAI Chat Completions wire format and
Bearerauth as OpenRouter, the new provider reuses the same request/response transforms.Details
https://router.requesty.ai/v1/chat/completionsREQUESTY_API_KEYrequesty/{provider}/{model}(e.g.requesty/openai/gpt-4o-mini), same nested convention OpenRouter uses sinceparseModel/parse_modelsplit on the first/.Changes
sdk/typescript/src/providers/requesty.ts— new provider (mirror ofopenrouter.ts)sdk/typescript/src/providers/index.ts— registeredrequestyin the provider registrysdk/python/src/safety_agent/providers/requesty.py— new provider (mirror ofopenrouter.py)sdk/python/src/safety_agent/providers/__init__.py— registeredrequestyin the provider registryrequesty/openai/gpt-4o-minito the guard/redact provider test matrices in both SDKsdocs/content/docs/sdk/providers.mdx(table, env setup, usage example, text-only note) and the TypeScript README provider tableTesting
TypeScript (Node 24):
npm run build(tsc) — cleannpx vitest run— 153 tests pass (guard/redact matrices include the newrequesty/...model)Python (3.12 venv, editable install):
pytest— 165 tests passruff checkon touched files — no new findingsLive endpoint check through the actual provider code path (Python
call_provider("requesty/openai/gpt-4o-mini", ...)againsthttps://router.requesty.ai/v1) returned a successful completion, confirming base URL, auth header, model naming, and the request/response transforms all work end to end.I work at Requesty. This mirrors the existing OpenRouter provider as closely as possible. Happy to adjust or close it if it's not a fit.
Note
Low Risk
Additive provider registration and documentation; no changes to auth, guard defaults, or shared call paths beyond a new registry entry.
Overview
Adds Requesty as a first-class LLM provider in the TypeScript and Python SDKs, following the same pattern as OpenRouter (OpenAI Chat Completions wire format,
Bearerauth, nestedrequesty/{provider}/{model}names).New
requestymodules register in each SDK’s provider registry (REQUESTY_API_KEY, base URLhttps://router.requesty.ai/v1/chat/completions). guard and redact provider test matrices includerequesty/openai/gpt-4o-mini. Docs (providers.mdx, TypeScript README) cover the provider table, env setup, usage example, and text-only (no vision) note.Reviewed by Cursor Bugbot for commit 2b9f9a6. Configure here.