feat: use managed model capabilities for reasoning and image input

This commit is contained in:
2026-09-12 21:37:18 +08:00
parent e7701d1f2c
commit 26cbb29aa9
29 changed files with 652 additions and 271 deletions

View File

@@ -114,6 +114,8 @@ function isPublicError(value: unknown): value is CodingRuntimePublicError {
&& typeof record.recoverable === 'boolean';
}
import { parseManagedReasoningChoice } from './managed-model-capabilities';
function isModelState(value: unknown): boolean {
const record = asRecord(value);
if (!record || !['resolved', 'required'].includes(String(record.modelResolution))) return false;
@@ -125,6 +127,7 @@ function isModelState(value: unknown): boolean {
&& isNonEmptyString(model.accountId)
&& isNonEmptyString(model.modelId)
&& THINKING_LEVELS.has(String(model.thinkingLevel))
&& (model.reasoningChoice === undefined || parseManagedReasoningChoice(model.reasoningChoice) !== null)
&& (record.availableThinkingLevels === undefined
|| (Array.isArray(record.availableThinkingLevels)
&& record.availableThinkingLevels.length > 0