• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

semperai / amica-personas / 18257321905

05 Oct 2025 10:11AM UTC coverage: 19.184% (-0.8%) from 20.007%
18257321905

push

github

web-flow
Merge pull request #23 from kasumi-1/import-api

Add new API service with credit-based auth and monitoring

894 of 1155 branches covered (77.4%)

Branch coverage included in aggregate %.

0 of 1185 new or added lines in 15 files covered. (0.0%)

4589 of 27426 relevant lines covered (16.73%)

59.47 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/api/src/utils/envConfig.ts
NEW
1
import dotenv from "dotenv";
×
NEW
2
import { cleanEnv, host, num, port, str, testOnly } from "envalid";
×
3

NEW
4
dotenv.config();
×
5

NEW
6
export const env = cleanEnv(process.env, {
×
NEW
7
  NODE_ENV: str({
×
NEW
8
    devDefault: testOnly("test"),
×
NEW
9
    choices: ["development", "production", "test"],
×
NEW
10
  }),
×
NEW
11
  HOST: host({ default: "localhost" }),
×
NEW
12
  PORT: port({ default: 3000 }),
×
NEW
13
  CORS_ORIGIN: str({ devDefault: testOnly("http://localhost:3000") }),
×
NEW
14
  COMMON_RATE_LIMIT_MAX_REQUESTS: num({ default: 1000 }),
×
NEW
15
  COMMON_RATE_LIMIT_WINDOW_MS: num({ default: 1000 }),
×
NEW
16
  MAX_RETRIES: num({ default: 3 }),
×
NEW
17
  RETRY_DELAY: num({ default: 1000 }),
×
NEW
18
  CACHE_STALE_TIME: num({ default: 5 * 60 * 1000 }), // 5 minutes
×
NEW
19
  ANON_CREDITS_PER_DAY: num({ default: 1_000 }),
×
NEW
20
  FREE_CREDITS_PER_DAY: num({ default: 10_000 }),
×
NEW
21
  PRO_CREDITS_PER_DAY: num({ default: 100_000 }),
×
NEW
22
  CREDITS_PER_CHAT: num({ default: 1 }),
×
NEW
23
  CREDITS_PER_TTS: num({ default: 7 }),
×
NEW
24
  CREDITS_PER_STT: num({ default: 2 }),
×
NEW
25
  TIMEOUT_CHAT: num({ default: 3000 }),
×
NEW
26
  TIMEOUT_FISH: num({ default: 10000 }),
×
NEW
27
  TIMEOUT_WHISPER: num({ default: 5000 }),
×
NEW
28
  ANON_API_KEY: str({ default: "default" }),
×
NEW
29
  PGUSER: str(),
×
NEW
30
  PGPASSWORD: str(),
×
NEW
31
  PGDATABASE: str(),
×
NEW
32
  PGHOST: str(),
×
NEW
33
  PGPORT: str(),
×
NEW
34
  OPENAI_CHAT_API_KEY: str(),
×
NEW
35
  OPENAI_CHAT_URL: str(),
×
NEW
36
  OPENAI_CHAT_MODEL: str(),
×
NEW
37
  OPENAI_WHISPER_API_KEY: str(),
×
NEW
38
  OPENAI_WHISPER_URL: str(),
×
NEW
39
  OPENAI_WHISPER_MODEL: str(),
×
NEW
40
  FISH_API_KEY: str(),
×
NEW
41
  FISH_URL: str({ default: "https://api.fish.audio/v1/tts" }),
×
NEW
42
  FISH_MODEL: str({ default: "e58b0d7efca34eb38d5c4985e378abcb" }),
×
NEW
43
  LOG_LEVEL: str({ default: "info", choices: ["fatal", "error", "warn", "info", "debug", "trace"] }),
×
NEW
44
});
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc