Repository navigation
feat(ai): add Requesty provider #747
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: v2
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -46,6 +46,8 @@ export function getOpenAiCompatibleThinkingFormat( | |
| // OrcaRouter translates effort itself; upstream model-name fallbacks send incompatible native fields. | ||
| // Omit effort when off: the gateway does not document a portable "none" value across upstreams. | ||
| if (config.id === "orcarouter") return thinkingState === "enabled" ? "reasoning-effort" : null; | ||
| // Requesty also maps reasoning_effort per upstream, so the same rule applies. | ||
| if (config.id === "requesty") return thinkingState === "enabled" ? "reasoning-effort" : null; | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [P2] Distinguish explicitly disabled thinking from gateway defaults For Requesty, Unlike the OrcaRouter assumption in the preceding comment, Requesty documents Please preserve the distinction between unspecified (omit the parameter) and explicitly disabled (send the documented minimum/disable value), and cover the effective outgoing request, including the SDK route if applicable. The current test expecting |
||
|
|
||
| const normalizedModel = model.toLowerCase(); | ||
| if (config.type === "ollama") return "ollama-think"; | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[P2] Respect explicit false capability metadata
Starting from
inferCapabilitiesFromId(id)adds capabilities before reading Requesty's metadata, and the subsequent checks only append capabilities when a field istrue. As a result, an explicitfalsenever removes a capability inferred from the model name. For example, the public managed catalog reportssupports_vision: falseforgpt-5-mini@eu, but this parser still marks it as vision-capable, allowing the app to send unsupported image inputs.A synthetic chat model named
mock-gpt-5-text-onlywith allsupports_*fields set tofalseis parsed as["text", "vision", "reasoning", "tools", "web"]instead of["text"].Please prioritize explicit boolean metadata and use name-based inference only when the relevant metadata is absent. Also ensure default-model capability enrichment does not reintroduce capabilities explicitly denied by the catalog. Add a regression case where the model name matches a heuristic but the corresponding metadata is false.