tryaii-mcp-server
Version:
TryAII MCP Server - 15+ AI models with comparison, cost tracking, and collective intelligence
44 lines • 1.22 kB
TypeScript
import { UserApiKeyDocument } from '../models/UserApiKey.js';
export interface CreateApiKeyParams {
userId: string;
name: string;
permissions?: string[];
expiresAt?: Date;
}
export interface ApiKeyWithUsage {
keyId: string;
name: string;
keyPrefix: string;
permissions: string[];
isActive: boolean;
lastUsed?: Date;
usageStats: {
totalRequests: number;
totalCost: number;
lastResetDate: Date;
};
createdAt: Date;
expiresAt?: Date;
}
export interface AuthenticatedApiKey {
keyId: string;
userId: string;
permissions: string[];
keyDocument: UserApiKeyDocument;
}
export declare class UserApiKeyService {
/**
* Authenticate API key and return user info
*/
authenticateApiKey(apiKey: string): Promise<AuthenticatedApiKey | null>;
/**
* Record API key usage
*/
recordUsage(keyId: string, cost: number): Promise<void>;
/**
* Check if user has permission for specific action
*/
hasPermission(authenticatedKey: AuthenticatedApiKey, requiredPermission: string): boolean;
}
export declare const userApiKeyService: UserApiKeyService;
//# sourceMappingURL=userApiKeyService.d.ts.map