vibe-cli-tool
Version:
VibeCLI v1.9 - 模板商店生态,智能部署生成,多语言支持,交互式学习系统,企业级Web全栈应用CLI工具
131 lines • 3.16 kB
TypeScript
import { EventEmitter } from 'events';
export interface Session {
id: string;
protocolVersion: string;
clientInfo: {
name: string;
version: string;
};
capabilities: any;
createdAt: string;
lastActivity: string;
initialized: boolean;
currentTasks: Map<string, TaskState>;
eventHistory: SSEEvent[];
connectionStatus: 'active' | 'disconnected' | 'reconnecting';
}
export interface TaskState {
id: string;
type: string;
status: 'pending' | 'running' | 'completed' | 'failed';
progress: number;
startTime: string;
lastUpdate: string;
result?: any;
error?: string;
checkpoints: TaskCheckpoint[];
}
export interface TaskCheckpoint {
id: string;
timestamp: string;
progress: number;
phase: string;
data: any;
}
export interface SSEEvent {
id: string;
type: string;
data: any;
timestamp: string;
sessionId: string;
}
export interface ReconnectionResult {
success: boolean;
missedEvents: SSEEvent[];
currentTasks: TaskState[];
resumeInstructions: string[];
}
export declare class SessionManager extends EventEmitter {
private sessions;
private eventHistory;
private taskStates;
private maxEventHistory;
private sessionTimeout;
private cleanupInterval;
constructor();
/**
* 创建新会话
*/
createSession(sessionId: string, initParams: any): Session;
/**
* 获取会话
*/
getSession(sessionId: string): Session | null;
/**
* 更新会话活动时间
*/
updateSessionActivity(sessionId: string): void;
/**
* 标记会话已初始化
*/
markSessionInitialized(sessionId: string): void;
/**
* 检查会话是否有效
*/
isValidSession(sessionId: string): boolean;
/**
* 记录SSE事件
*/
recordEvent(sessionId: string, event: Omit<SSEEvent, 'timestamp' | 'sessionId'>): void;
/**
* 处理断线重连
*/
handleReconnection(sessionId: string, lastEventId?: string): ReconnectionResult;
/**
* 获取丢失的事件
*/
private getMissedEvents;
/**
* 创建任务状态
*/
createTask(sessionId: string, taskId: string, taskType: string): TaskState;
/**
* 更新任务进度
*/
updateTaskProgress(taskId: string, progress: number, phase: string, data?: any): void;
/**
* 完成任务
*/
completeTask(taskId: string, result: any): void;
/**
* 任务失败
*/
failTask(taskId: string, error: string): void;
/**
* 生成恢复指令
*/
private generateResumeInstructions;
/**
* 清理过期会话
*/
private cleanupExpiredSessions;
/**
* 启动清理定时器
*/
private startCleanupTimer;
/**
* 停止会话管理器
*/
stop(): void;
/**
* 获取会话统计信息
*/
getStats(): {
totalSessions: number;
activeSessions: number;
totalTasks: number;
runningTasks: number;
totalEvents: number;
};
}
//# sourceMappingURL=session-manager.d.ts.map