UNPKG

dynamic-interaction

Version:

Dynamic interaction 动态交互mcp,用于cursor、windsurf、trae 等 AI 智能编辑器 Agent 运行时交互使用

91 lines (90 loc) 2.37 kB
"use strict"; /** * WebSocket消息类型定义 * 支持通知模式和交互模式的消息协议 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidMessage = isValidMessage; exports.isNotificationMessage = isNotificationMessage; exports.isSessionRequestMessage = isSessionRequestMessage; exports.isUserFeedbackMessage = isUserFeedbackMessage; exports.createNotificationMessage = createNotificationMessage; exports.createSessionRequestMessage = createSessionRequestMessage; exports.createErrorMessage = createErrorMessage; const session_1 = require("./session"); /** * 消息验证函数 */ function isValidMessage(message) { return (typeof message === 'object' && message !== null && typeof message.type === 'string' && message.type.length > 0); } /** * 检查是否为通知消息 */ function isNotificationMessage(message) { return message.type === 'notification'; } /** * 检查是否为会话请求消息 */ function isSessionRequestMessage(message) { return message.type === 'session_request'; } /** * 检查是否为用户反馈消息 */ function isUserFeedbackMessage(message) { return message.type === 'user_feedback'; } /** * 创建通知消息的工厂函数 */ function createNotificationMessage(notificationId, summary, projectDirectory) { return { type: 'notification', data: { notificationId, summary, projectDirectory, mode: session_1.SessionMode.NOTIFICATION, createdAt: Date.now(), }, timestamp: Date.now(), }; } /** * 创建会话请求消息的工厂函数 */ function createSessionRequestMessage(sessionId, summary, projectDirectory, startTime, timeoutSeconds) { return { type: 'session_request', data: { sessionId, summary, projectDirectory, mode: session_1.SessionMode.INTERACTIVE, startTime, timeoutSeconds, }, sessionId, timestamp: Date.now(), }; } /** * 创建错误消息的工厂函数 */ function createErrorMessage(message, code, sessionId) { return { type: 'error', data: { message, code, sessionId, }, sessionId, timestamp: Date.now(), }; }