بهروزرسانی: دریافت زندهٔ کاتالوگ مدلها و افورتهای استدلال پشتیبانیشده بر اساس اکانت انتخابی
This commit is contained in:
@@ -40,11 +40,14 @@ const EFFORT_LABELS: Record<ReasoningEffort, string> = {
|
||||
* model cannot think — the backend rejects a thinking config everywhere else.
|
||||
* Same marker rule as the agy adapter: thinking-capable ids contain one of
|
||||
* `thinking` / `gemini-3` / `gemini-2.5-pro` / `gemini-2.5-flash`, image
|
||||
* models are always excluded.
|
||||
* and claude models are excluded from explicit effort selection.
|
||||
*/
|
||||
export function effortsForModel(modelId: string): ReasoningEffort[] {
|
||||
const lower = modelId.toLowerCase();
|
||||
if (lower.includes("image")) return [];
|
||||
if (lower.includes("claude")) return [];
|
||||
if (lower.includes("gpt")) return ["medium"];
|
||||
if (lower.includes("gemini-3.1-pro")) return ["low", "high"];
|
||||
const canThink =
|
||||
lower.includes("thinking") ||
|
||||
lower.includes("gemini-3") ||
|
||||
@@ -57,6 +60,16 @@ export function effortLabel(effort: string): string {
|
||||
return EFFORT_LABELS[effort as ReasoningEffort] ?? effort;
|
||||
}
|
||||
|
||||
/** A live model reported by an agy account's catalogue. */
|
||||
export interface AgyAccountModel {
|
||||
id: string;
|
||||
display_name: string;
|
||||
supports_thinking: boolean;
|
||||
supported_efforts: ReasoningEffort[];
|
||||
default_effort?: ReasoningEffort | null;
|
||||
supports_images?: boolean;
|
||||
}
|
||||
|
||||
/** Rotation-pool lifecycle of one agy account. */
|
||||
export type AgyAccountStatus = "active" | "cooldown" | "error";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user