UNPKG

@dollhousemcp/mcp-server

Version:

DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.

15 lines 2.15 kB
import { EventEmitter } from 'events'; /** * Lightweight pub/sub helper for persona-related state transitions. * Acts as the central hub that services can observe to stay in sync. */ export class StateChangeNotifier extends EventEmitter { notifyPersonaChange(event) { this.emit('state-change', event); this.emit(`state-change:${event.type}`, event); } async dispose() { this.removeAllListeners(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGVDaGFuZ2VOb3RpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9TdGF0ZUNoYW5nZU5vdGlmaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFjdEM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7SUFDbkQsbUJBQW1CLENBQUMsS0FBOEI7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XG5cbmV4cG9ydCB0eXBlIFBlcnNvbmFTdGF0ZUNoYW5nZVR5cGUgPVxuICB8ICdwZXJzb25hLWFjdGl2YXRlZCdcbiAgfCAncGVyc29uYS1kZWFjdGl2YXRlZCdcbiAgfCAndXNlci1jaGFuZ2VkJztcblxuZXhwb3J0IGludGVyZmFjZSBQZXJzb25hU3RhdGVDaGFuZ2VFdmVudCB7XG4gIHR5cGU6IFBlcnNvbmFTdGF0ZUNoYW5nZVR5cGU7XG4gIHByZXZpb3VzVmFsdWU6IHN0cmluZyB8IG51bGw7XG4gIG5ld1ZhbHVlOiBzdHJpbmcgfCBudWxsO1xuICB0aW1lc3RhbXA6IERhdGU7XG59XG5cbi8qKlxuICogTGlnaHR3ZWlnaHQgcHViL3N1YiBoZWxwZXIgZm9yIHBlcnNvbmEtcmVsYXRlZCBzdGF0ZSB0cmFuc2l0aW9ucy5cbiAqIEFjdHMgYXMgdGhlIGNlbnRyYWwgaHViIHRoYXQgc2VydmljZXMgY2FuIG9ic2VydmUgdG8gc3RheSBpbiBzeW5jLlxuICovXG5leHBvcnQgY2xhc3MgU3RhdGVDaGFuZ2VOb3RpZmllciBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIG5vdGlmeVBlcnNvbmFDaGFuZ2UoZXZlbnQ6IFBlcnNvbmFTdGF0ZUNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5lbWl0KCdzdGF0ZS1jaGFuZ2UnLCBldmVudCk7XG4gICAgdGhpcy5lbWl0KGBzdGF0ZS1jaGFuZ2U6JHtldmVudC50eXBlfWAsIGV2ZW50KTtcbiAgfVxuXG4gIGFzeW5jIGRpc3Bvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcbiAgfVxufVxuIl19