validate.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { ApiConfiguration } from "../../../src/shared/api"
  2. export function validateApiConfiguration(apiConfiguration?: ApiConfiguration): string | undefined {
  3. if (apiConfiguration) {
  4. switch (apiConfiguration.apiProvider) {
  5. case "anthropic":
  6. if (!apiConfiguration.apiKey) {
  7. return "You must provide a valid API key or choose a different provider."
  8. }
  9. break
  10. case "bedrock":
  11. if (!apiConfiguration.awsAccessKey || !apiConfiguration.awsSecretKey || !apiConfiguration.awsRegion) {
  12. return "You must provide a valid AWS access key, secret key, and region."
  13. }
  14. break
  15. case "openrouter":
  16. if (!apiConfiguration.openRouterApiKey) {
  17. return "You must provide a valid API key or choose a different provider."
  18. }
  19. break
  20. }
  21. }
  22. return undefined
  23. }
  24. export function validateMaxRequestsPerTask(maxRequestsPerTask?: string): string | undefined {
  25. if (maxRequestsPerTask && maxRequestsPerTask.trim()) {
  26. const num = Number(maxRequestsPerTask)
  27. if (isNaN(num) || num < 3 || num > 100) {
  28. return "Maximum requests must be between 3 and 100"
  29. }
  30. }
  31. return undefined
  32. }