package lib import ( "log" "os" "strings" ) // Production paths - single source of truth const ( DBPathDefault = "/tank/inou/data/inou.db" KeyPathDefault = "/tank/inou/master.key" configFile = "/tank/inou/anthropic.env" ) // Init initializes all lib subsystems (crypto, database) with production defaults func Init() error { if err := CryptoInit(KeyPathDefault); err != nil { return err } return DBInit(DBPathDefault) } var ( GeminiKey string = "" AnthropicKey string = "" ) func ConfigInit() { data, err := os.ReadFile(configFile) if err != nil { log.Printf("Warning: %s not found: %v", configFile, err) return } for _, line := range strings.Split(string(data), "\n") { line = strings.TrimSpace(line) if line == "" || strings.HasPrefix(line, "#") { continue } parts := strings.SplitN(line, "=", 2) if len(parts) != 2 { continue } key := strings.TrimSpace(parts[0]) value := strings.TrimSpace(parts[1]) switch key { case "GEMINI_API_KEY": GeminiKey = value case "ANTHROPIC_API_KEY": AnthropicKey = value } } }