claude-runtime-config.js 956 B

1234567891011121314151617181920212223242526272829303132
  1. import { CLAUDE_MODELS } from '../../shared/modelConstants.js';
  2. function normalizeModelValue(value) {
  3. return typeof value === 'string' ? value.trim() : '';
  4. }
  5. function cloneOptions(options) {
  6. return options.map((option) => ({ ...option }));
  7. }
  8. export function getClaudeRuntimeModelConfig() {
  9. const builtInOptions = cloneOptions(CLAUDE_MODELS.OPTIONS);
  10. const configuredModel = normalizeModelValue(process.env.ANTHROPIC_MODEL);
  11. const hasConfiguredOption = configuredModel
  12. && builtInOptions.some((option) => option.value === configuredModel);
  13. if (configuredModel && !hasConfiguredOption) {
  14. builtInOptions.push({
  15. value: configuredModel,
  16. label: configuredModel,
  17. });
  18. }
  19. return {
  20. defaultModel: configuredModel || CLAUDE_MODELS.DEFAULT,
  21. availableModels: builtInOptions,
  22. };
  23. }
  24. export function getClaudeRuntimeModelValues() {
  25. return getClaudeRuntimeModelConfig().availableModels.map((option) => option.value);
  26. }