Skip to content

feat(agent): add Requesty as an LLM provider#1786

Open
Thibault Jaigu (Thibaultjaigu) wants to merge 1 commit into
browseros-ai:mainfrom
Thibaultjaigu:feat/requesty-provider
Open

feat(agent): add Requesty as an LLM provider#1786
Thibault Jaigu (Thibaultjaigu) wants to merge 1 commit into
browseros-ai:mainfrom
Thibaultjaigu:feat/requesty-provider

Conversation

@Thibaultjaigu

Copy link
Copy Markdown

Adds Requesty as an LLM provider, mirroring the existing OpenRouter provider. Requesty is an OpenAI-compatible LLM gateway that uses the same provider/model naming convention as OpenRouter (e.g. openai/gpt-4o-mini, anthropic/claude-sonnet-4-5).

Requesty is wired on the generic OpenAI-compatible path (createOpenAICompatible + a dedicated compatible-fetch), not the OpenRouter SDK, since it carries no OpenRouter-specific provider-routing bits.

Changes:

  • apps/server/src/lib/requesty-fetch.tscreateRequestyCompatibleFetch() mirroring openrouter-fetch.ts: extracts detailed upstream errors and throws APICallError so the AI SDK's retry logic handles Requesty's transient 502s.
  • apps/server/src/agent/provider-factory.ts and apps/server/src/lib/clients/llm/provider.ts — register the requesty provider (base URL https://router.requesty.ai/v1, apiKey, HTTP-Referer / X-Title attribution headers).
  • packages/shared/src/constants/urls.tsREQUESTY_API URL constant; packages/shared/src/schemas/llm.tsREQUESTY added to LLM_PROVIDERS, the enum type, and the zod enum.
  • apps/app/lib/llm-providers/* — provider type, template (base URL, app.requesty.ai/api-keys, docs.requesty.ai), form-schema enum, and an icon fallback (the pinned icon set has no Requesty glyph).
  • Server and eval READMEs — Requesty added to the provider lists.

Testing: @browseros/server typecheck passes (exit 0); none of the edited files produce type errors. Live-verified: a chat/completions call to https://router.requesty.ai/v1 with openai/gpt-4o-mini and the attribution headers returned successfully.

Notes:

  • The models.dev catalog (models-dev-data.json) is generated from an upstream that does not list Requesty, so it is intentionally not edited here.
  • The pre-existing @browseros/app typecheck errors are missing generated GraphQL modules (@/generated/graphql/*), unrelated to this change.
  • I understand a CLA may be required — happy to sign it.

Docs: https://requesty.ai · https://docs.requesty.ai · https://app.requesty.ai/api-keys · https://app.requesty.ai/router/list

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.

Requesty is an OpenAI-compatible LLM gateway that uses the same provider/model
naming convention as OpenRouter, so this mirrors the existing OpenRouter provider
on the generic OpenAI-compatible path (createOpenAICompatible + a dedicated fetch),
not the openrouter SDK.

- apps/server/src/lib/requesty-fetch.ts: createRequestyCompatibleFetch mirroring
  openrouter-fetch.ts (APICallError extraction, SDK-default retryable handling for
  Requesty's transient 502s)
- provider-factory.ts + clients/llm/provider.ts: register requesty (baseURL
  https://router.requesty.ai/v1, apiKey, HTTP-Referer/X-Title headers)
- packages/shared: REQUESTY_API url constant + REQUESTY in the LLM_PROVIDERS schema
- apps/app: provider type, template (base URL, api-keys/docs links), form-schema enum,
  icon fallback
- server + eval READMEs: Requesty added to the provider lists

Verified: @browseros/server typecheck passes; live chat/completions to
router.requesty.ai succeeds. The models.dev catalog is generated from an upstream
that does not list Requesty, so it is intentionally not edited here.

Signed-off-by: Thibault Jaigu <thibault.jaigu@gmail.com>
@greptile-apps

greptile-apps Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

PR author is not in the allowed authors list.

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Before we can merge this PR, we need you to sign our Contributor License Agreement.

To sign the CLA, please add a comment to this PR with the following text:

I have read the CLA Document and I hereby sign the CLA

You only need to sign once. After signing, this check will pass automatically.


Troubleshooting
  • Already signed but still failing? Comment recheck to trigger a re-verification.
  • Signed with a different email? Make sure your commit email matches your GitHub account email, or add your commit email to your GitHub account.
- - - I have read the CLA Document and I hereby sign the CLA - - - You can retrigger this bot by commenting **recheck** in this Pull Request. Posted by the **CLA Assistant Lite bot**.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant