package util import ( "encoding/json" "net/http" ) // WriteJSON writes a JSON response with the given status code. // This is a shared helper to avoid duplicate writeJSON functions // in openai, claude, and admin packages. func WriteJSON(w http.ResponseWriter, status int, payload any) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(status) _ = json.NewEncoder(w).Encode(payload) } // ToBool loosely converts an interface value to bool. func ToBool(v any) bool { if b, ok := v.(bool); ok { return b } return false } // IntFrom converts a JSON-decoded numeric value (float64, int, int64) to int. func IntFrom(v any) int { switch n := v.(type) { case float64: return int(n) case int: return n case int64: return int(n) default: return 0 } }