UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

94 lines 3.21 kB
export type UserRole = 'admin' | 'manager' | 'developer' | 'viewer' | 'guest'; export type Permission = 'task:create' | 'task:read' | 'task:update' | 'task:delete' | 'task:execute' | 'project:create' | 'project:read' | 'project:update' | 'project:delete' | 'agent:manage' | 'agent:assign' | 'agent:monitor' | 'system:admin' | 'system:config' | 'system:audit' | 'file:read' | 'file:write' | 'file:execute'; export interface AuthToken { id: string; userId: string; sessionId: string; token: string; refreshToken: string; issuedAt: Date; expiresAt: Date; lastUsed: Date; ipAddress?: string; userAgent?: string; permissions: Permission[]; role: UserRole; metadata?: Record<string, unknown>; } export interface UserSession { id: string; userId: string; role: UserRole; permissions: Permission[]; createdAt: Date; lastActivity: Date; expiresAt: Date; ipAddress?: string; userAgent?: string; isActive: boolean; metadata?: Record<string, unknown>; } export interface AuthenticationResult { success: boolean; token?: AuthToken; session?: UserSession; error?: string; requiresRefresh?: boolean; } export interface AuthorizationResult { authorized: boolean; reason?: string; requiredPermission?: Permission; userRole?: UserRole; userPermissions?: Permission[]; } export interface AuthenticationConfig { enabled: boolean; tokenSecret: string; tokenExpirationMs: number; refreshTokenExpirationMs: number; sessionTimeoutMs: number; maxConcurrentSessions: number; enableRoleBasedAccess: boolean; enableAuditLogging: boolean; requireSecureTokens: boolean; allowGuestAccess: boolean; } export declare class AuthenticationIntegration { private static instance; private config; private activeSessions; private activeTokens; private sessionCleanupTimer; private constructor(); static getInstance(config?: Partial<AuthenticationConfig>): AuthenticationIntegration; authenticate(userId: string, role: UserRole, context?: { ipAddress?: string; userAgent?: string; metadata?: Record<string, unknown>; }): Promise<AuthenticationResult>; validateToken(tokenString: string): Promise<AuthenticationResult>; refreshToken(refreshTokenString: string): Promise<AuthenticationResult>; authorize(sessionId: string, permission: Permission, resource?: { type: string; id?: string; }): Promise<AuthorizationResult>; logout(sessionId: string): Promise<boolean>; private createAuthToken; private getRolePermissions; private generateSessionId; private generateTokenId; private generateSecureToken; private generateSecureSecret; private startSessionCleanup; private cleanupExpiredSessions; getAuthenticationStatistics(): { activeSessions: number; activeTokens: number; sessionsByRole: Record<UserRole, number>; averageSessionDuration: number; }; shutdown(): Promise<void>; } export declare function getAuthenticationIntegration(): AuthenticationIntegration; //# sourceMappingURL=auth-integration.d.ts.map