UNPKG

@voyager-0x/agent-mcp

Version:

Voyager MCP Agent - A powerful Model Context Protocol agent

32 lines (27 loc) 792 B
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; } }