Merge pull request #3744 from Arcadi4/dev
Allow "max" option for "reasoningEffort" field in config schema
This commit is contained in:
@@ -130,7 +130,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -196,7 +197,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -399,7 +401,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -480,7 +483,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -546,7 +550,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -749,7 +754,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -830,7 +836,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -896,7 +903,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -1099,7 +1107,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -1180,7 +1189,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -1246,7 +1256,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -1449,7 +1460,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -1533,7 +1545,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -1599,7 +1612,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -1802,7 +1816,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -1883,7 +1898,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -1949,7 +1965,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -2152,7 +2169,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -2233,7 +2251,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -2299,7 +2318,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -2502,7 +2522,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -2583,7 +2604,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -2649,7 +2671,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -2852,7 +2875,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -2933,7 +2957,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -2999,7 +3024,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -3202,7 +3228,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -3283,7 +3310,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -3349,7 +3377,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -3552,7 +3581,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -3633,7 +3663,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -3699,7 +3730,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -3902,7 +3934,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -3983,7 +4016,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -4049,7 +4083,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -4252,7 +4287,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -4333,7 +4369,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -4399,7 +4436,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -4602,7 +4640,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -4683,7 +4722,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -4749,7 +4789,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -4952,7 +4993,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
@@ -5044,7 +5086,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -5110,7 +5153,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"temperature": {
|
"temperature": {
|
||||||
@@ -5199,7 +5243,8 @@
|
|||||||
"low",
|
"low",
|
||||||
"medium",
|
"medium",
|
||||||
"high",
|
"high",
|
||||||
"xhigh"
|
"xhigh",
|
||||||
|
"max"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"textVerbosity": {
|
"textVerbosity": {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export const AgentOverrideConfigSchema = z.object({
|
|||||||
})
|
})
|
||||||
.optional(),
|
.optional(),
|
||||||
/** Reasoning effort level (OpenAI). Overrides category and default settings. */
|
/** Reasoning effort level (OpenAI). Overrides category and default settings. */
|
||||||
reasoningEffort: z.enum(["none", "minimal", "low", "medium", "high", "xhigh"]).optional(),
|
reasoningEffort: z.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]).optional(),
|
||||||
/** Text verbosity level. */
|
/** Text verbosity level. */
|
||||||
textVerbosity: z.enum(["low", "medium", "high"]).optional(),
|
textVerbosity: z.enum(["low", "medium", "high"]).optional(),
|
||||||
/** Provider-specific options. Passed directly to OpenCode SDK. */
|
/** Provider-specific options. Passed directly to OpenCode SDK. */
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const CategoryConfigSchema = z.object({
|
|||||||
budgetTokens: z.number().optional(),
|
budgetTokens: z.number().optional(),
|
||||||
})
|
})
|
||||||
.optional(),
|
.optional(),
|
||||||
reasoningEffort: z.enum(["none", "minimal", "low", "medium", "high", "xhigh"]).optional(),
|
reasoningEffort: z.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]).optional(),
|
||||||
textVerbosity: z.enum(["low", "medium", "high"]).optional(),
|
textVerbosity: z.enum(["low", "medium", "high"]).optional(),
|
||||||
tools: z.record(z.string(), z.boolean()).optional(),
|
tools: z.record(z.string(), z.boolean()).optional(),
|
||||||
prompt_append: z.string().optional(),
|
prompt_append: z.string().optional(),
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { z } from "zod"
|
|||||||
export const FallbackModelObjectSchema = z.object({
|
export const FallbackModelObjectSchema = z.object({
|
||||||
model: z.string(),
|
model: z.string(),
|
||||||
variant: z.string().optional(),
|
variant: z.string().optional(),
|
||||||
reasoningEffort: z.enum(["none", "minimal", "low", "medium", "high", "xhigh"]).optional(),
|
reasoningEffort: z.enum(["none", "minimal", "low", "medium", "high", "xhigh", "max"]).optional(),
|
||||||
temperature: z.number().min(0).max(2).optional(),
|
temperature: z.number().min(0).max(2).optional(),
|
||||||
top_p: z.number().min(0).max(1).optional(),
|
top_p: z.number().min(0).max(1).optional(),
|
||||||
maxTokens: z.number().optional(),
|
maxTokens: z.number().optional(),
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ export const HEURISTIC_MODEL_FAMILY_REGISTRY: ReadonlyArray<HeuristicModelFamily
|
|||||||
family: "gpt-5",
|
family: "gpt-5",
|
||||||
includes: ["gpt-5"],
|
includes: ["gpt-5"],
|
||||||
variants: ["low", "medium", "high", "xhigh"],
|
variants: ["low", "medium", "high", "xhigh"],
|
||||||
reasoningEfforts: ["none", "minimal", "low", "medium", "high", "xhigh"],
|
reasoningEfforts: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
family: "gpt-legacy",
|
family: "gpt-legacy",
|
||||||
|
|||||||
@@ -32,10 +32,10 @@ export type ModelSettingsCompatibilityChange = {
|
|||||||
from: string
|
from: string
|
||||||
to?: string
|
to?: string
|
||||||
reason:
|
reason:
|
||||||
| "unsupported-by-model-family"
|
| "unsupported-by-model-family"
|
||||||
| "unknown-model-family"
|
| "unknown-model-family"
|
||||||
| "unsupported-by-model-metadata"
|
| "unsupported-by-model-metadata"
|
||||||
| "max-output-limit"
|
| "max-output-limit"
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ModelSettingsCompatibilityResult = {
|
export type ModelSettingsCompatibilityResult = {
|
||||||
@@ -49,7 +49,7 @@ export type ModelSettingsCompatibilityResult = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const VARIANT_LADDER = ["low", "medium", "high", "xhigh", "max"]
|
const VARIANT_LADDER = ["low", "medium", "high", "xhigh", "max"]
|
||||||
const REASONING_LADDER = ["none", "minimal", "low", "medium", "high", "xhigh"]
|
const REASONING_LADDER = ["none", "minimal", "low", "medium", "high", "xhigh", "max"]
|
||||||
|
|
||||||
function downgradeWithinLadder(value: string, allowed: string[], ladder: string[]): string | undefined {
|
function downgradeWithinLadder(value: string, allowed: string[], ladder: string[]): string | undefined {
|
||||||
const requestedIndex = ladder.indexOf(value)
|
const requestedIndex = ladder.indexOf(value)
|
||||||
|
|||||||
Reference in New Issue
Block a user