dynamic-interaction
Version:
Dynamic interaction 动态交互mcp,用于cursor、windsurf、trae 等 AI 智能编辑器 Agent 运行时交互使用
53 lines (52 loc) • 1.32 kB
JavaScript
"use strict";
/**
* 会话上下文
* 定义会话的数据结构和状态
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.SessionContextBuilder = void 0;
class SessionContextBuilder {
context = {};
setId(id) {
this.context.id = id;
return this;
}
setWebSocket(ws) {
this.context.ws = ws;
return this;
}
setRequest(request) {
this.context.request = request;
return this;
}
setStartTime(startTime) {
this.context.startTime = startTime;
return this;
}
setTimeout(timeout) {
this.context.timeout = timeout;
return this;
}
setMode(mode) {
this.context.mode = mode;
return this;
}
setMetadata(metadata) {
this.context.metadata = metadata;
return this;
}
build() {
const required = ['id', 'ws', 'request', 'startTime', 'timeout', 'mode'];
for (const field of required) {
if (!(field in this.context)) {
throw new Error(`Missing required field: ${field}`);
}
}
return {
...this.context,
timeoutId: null,
metadata: this.context.metadata || {}
};
}
}
exports.SessionContextBuilder = SessionContextBuilder;