@voyager-0x/agent-mcp
Version:
Voyager MCP Agent - A powerful Model Context Protocol agent
32 lines (27 loc) • 792 B
text/typescript
import Emittery from 'emittery';
type MessageItem = {
role: 'system' | 'user' | 'assistant';
content: string;
};
export class Session {
private _messageHistroyItems: MessageItem[] = [];
private emittery = new Emittery();
public emit: Emittery['emit'];
public on: Emittery['on'];
public off: Emittery['off'];
constructor() {
this.emit = this.emittery.emit.bind(this.emittery);
this.on = this.emittery.on.bind(this.emittery);
this.off = this.emittery.off.bind(this.emittery);
}
add(messages: MessageItem[] | MessageItem) {
Array.isArray(messages) || (messages = [messages]); // 确保是数组
this._messageHistroyItems.push(...messages);
}
reset() {
this._messageHistroyItems = [];
}
list() {
return this._messageHistroyItems;
}
}