-
Notifications
You must be signed in to change notification settings - Fork 71
Expand file tree
/
Copy pathcfg.go
More file actions
91 lines (76 loc) · 1.65 KB
/
cfg.go
File metadata and controls
91 lines (76 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package cfg
import (
"os"
"github.com/joho/godotenv"
)
type Cfg struct {
OpenAIBaseURL string
OpenAIAPIKey string
InferenceBaseURL string
InferenceAPIKey string
JwtSigningKey string
MiniMaxBaseURL string
MiniMaxAPIKey string
MongoURI string
XtraMCPURI string
MCPServerURL string
}
var cfg *Cfg
func GetCfg() *Cfg {
_ = godotenv.Load()
cfg = &Cfg{
OpenAIBaseURL: openAIBaseURL(),
OpenAIAPIKey: os.Getenv("OPENAI_API_KEY"),
InferenceBaseURL: inferenceBaseURL(),
InferenceAPIKey: os.Getenv("INFERENCE_API_KEY"),
JwtSigningKey: os.Getenv("JWT_SIGNING_KEY"),
MiniMaxBaseURL: miniMaxBaseURL(),
MiniMaxAPIKey: os.Getenv("MINIMAX_API_KEY"),
MongoURI: mongoURI(),
XtraMCPURI: xtraMCPURI(),
MCPServerURL: mcpServerURL(),
}
return cfg
}
func openAIBaseURL() string {
val := os.Getenv("OPENAI_BASE_URL")
if val != "" {
return val
}
return "https://api.openai.com/v1"
}
func inferenceBaseURL() string {
val := os.Getenv("INFERENCE_BASE_URL")
if val != "" {
return val
}
return "https://inference.paperdebugger.workers.dev"
}
func xtraMCPURI() string {
val := os.Getenv("XTRAMCP_URI")
if val != "" {
return val
}
return "http://paperdebugger-xtramcp-server:8080/mcp"
}
func mongoURI() string {
val := os.Getenv("PD_MONGO_URI")
if val != "" {
return val
}
return "mongodb://localhost:27017"
}
func miniMaxBaseURL() string {
val := os.Getenv("MINIMAX_BASE_URL")
if val != "" {
return val
}
return "https://api.minimax.io/v1"
}
func mcpServerURL() string {
val := os.Getenv("MCP_SERVER_URL")
if val != "" {
return val
}
return "http://paperdebugger-mcp-server:8000"
}