import { CLAUDE_MODELS } from '../../shared/modelConstants.js';
function normalizeModelValue(value) {
return typeof value === 'string' ? value.trim() : '';
}
function cloneOptions(options) {
return options.map((option) => ({ ...option }));
}
export function getClaudeRuntimeModelConfig() {
const builtInOptions = cloneOptions(CLAUDE_MODELS.OPTIONS);
const configuredModel = normalizeModelValue(process.env.ANTHROPIC_MODEL);
const hasConfiguredOption = configuredModel
&& builtInOptions.some((option) => option.value === configuredModel);
if (configuredModel && !hasConfiguredOption) {
builtInOptions.push({
value: configuredModel,
label: configuredModel,
});
}
return {
defaultModel: configuredModel || CLAUDE_MODELS.DEFAULT,
availableModels: builtInOptions,
};
}
export function getClaudeRuntimeModelValues() {
return getClaudeRuntimeModelConfig().availableModels.map((option) => option.value);
}