featureApi.ts 895 B

12345678910111213141516171819202122232425
  1. const BASE_URL = import.meta.env.VITE_API_BASE_URL ?? 'http://127.0.0.1:8010';
  2. export interface FeatureFlags {
  3. enable_openclaw: boolean;
  4. enable_openclaw_client: boolean;
  5. enable_openclaw_web: boolean;
  6. openclaw_client_url: string;
  7. }
  8. export async function getFeatureFlags(): Promise<FeatureFlags> {
  9. try {
  10. const res = await fetch(`${BASE_URL}/api/auth/features`);
  11. if (!res.ok) throw new Error('fetch failed');
  12. const json = await res.json();
  13. const data = json.data ?? json;
  14. return {
  15. enable_openclaw: data.enable_openclaw ?? true,
  16. enable_openclaw_client: data.enable_openclaw_client ?? true,
  17. enable_openclaw_web: data.enable_openclaw_web ?? true,
  18. openclaw_client_url: data.openclaw_client_url ?? '',
  19. };
  20. } catch {
  21. return { enable_openclaw: true, enable_openclaw_client: true, enable_openclaw_web: true, openclaw_client_url: '' };
  22. }
  23. }