Spaces:
Build error
Build error
| import { openHands } from "./open-hands-axios"; | |
| export interface ApiKey { | |
| id: string; | |
| name: string; | |
| prefix: string; | |
| created_at: string; | |
| last_used_at: string | null; | |
| } | |
| export interface CreateApiKeyResponse { | |
| id: string; | |
| name: string; | |
| key: string; // Full key, only returned once upon creation | |
| prefix: string; | |
| created_at: string; | |
| } | |
| class ApiKeysClient { | |
| /** | |
| * Get all API keys for the current user | |
| */ | |
| static async getApiKeys(): Promise<ApiKey[]> { | |
| const { data } = await openHands.get<unknown>("/api/keys"); | |
| // Ensure we always return an array, even if the API returns something else | |
| return Array.isArray(data) ? (data as ApiKey[]) : []; | |
| } | |
| /** | |
| * Create a new API key | |
| * @param name - A descriptive name for the API key | |
| */ | |
| static async createApiKey(name: string): Promise<CreateApiKeyResponse> { | |
| const { data } = await openHands.post<CreateApiKeyResponse>("/api/keys", { | |
| name, | |
| }); | |
| return data; | |
| } | |
| /** | |
| * Delete an API key | |
| * @param id - The ID of the API key to delete | |
| */ | |
| static async deleteApiKey(id: string): Promise<void> { | |
| await openHands.delete(`/api/keys/${id}`); | |
| } | |
| } | |
| export default ApiKeysClient; | |