UNPKG

@sirmrmarty/n8n-nodes-tmux-orchestrator

Version:

n8n nodes for orchestrating Claude AI agents through tmux sessions

63 lines (62 loc) 2.17 kB
export interface AuthenticationCredentials { userId: string; apiKey: string; sessionToken?: string; permissions: string[]; expiresAt: number; } export interface AuthenticationResult { authenticated: boolean; authorized: boolean; userId?: string; permissions?: string[]; reason?: string; sessionToken?: string; } export interface OperationContext { operation: string; resourceId?: string; requesterId?: string; timestamp: number; metadata?: Record<string, any>; } export declare class AuthenticationLayer { private static readonly SESSION_DURATION; private static readonly API_KEY_LENGTH; private static readonly SESSION_TOKEN_LENGTH; private static readonly MAX_SESSIONS_PER_USER; private static readonly AUTH_CACHE_DURATION; private static activeSessions; private static authCache; private static readonly CRITICAL_OPERATIONS; private static readonly OPERATION_PERMISSIONS; static generateApiKey(): string; private static generateSessionToken; static createUserCredentials(userId: string, permissions: string[]): Promise<{ apiKey: string; userId: string; permissions: string[]; }>; static authenticateUser(userId: string, apiKey: string): Promise<AuthenticationResult>; static authenticateSession(sessionToken: string): AuthenticationResult; static authorizeOperation(operation: string, userPermissions: string[]): { authorized: boolean; reason?: string; }; static authenticateAndAuthorize(operation: string, credentials: { userId?: string; apiKey?: string; sessionToken?: string; }, context?: OperationContext): Promise<AuthenticationResult>; private static logOperation; private static cleanupUserSessions; static revokeSession(sessionToken: string): Promise<boolean>; static revokeUserSessions(userId: string): Promise<number>; static getSessionStats(): { activeSessions: number; uniqueUsers: number; expiringSoon: number; }; static initialize(): Promise<void>; private static performPeriodicCleanup; }