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.

28 lines 4.34 kB
export class PlainTextFormatter { fileExtension = '.log'; format(entry) { const ts = entry.timestamp.replace('T', ' ').replace('Z', ''); const level = entry.level.toUpperCase(); const corrId = entry.correlationId ? ` [${entry.correlationId}]` : ''; let output = `[${ts}] [${level}] [${entry.source}]${corrId} ${entry.message}\n`; if (entry.error) { output += ` ${entry.error.name}: ${entry.error.message}\n`; if (entry.error.stack) { for (const line of entry.error.stack.split('\n')) { output += ` ${line}\n`; } } } if (entry.data) { for (const [key, value] of Object.entries(entry.data)) { const formatted = typeof value === 'object' && value !== null ? JSON.stringify(value) : String(value); output += ` ${key}: ${formatted}\n`; } } output += '\n'; return output; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxhaW5UZXh0Rm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xvZ2dpbmcvZm9ybWF0dGVycy9QbGFpblRleHRGb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixhQUFhLEdBQUcsTUFBTSxDQUFDO0lBRWhDLE1BQU0sQ0FBQyxLQUFzQjtRQUMzQixNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEUsSUFBSSxNQUFNLEdBQUcsSUFBSSxFQUFFLE1BQU0sS0FBSyxNQUFNLEtBQUssQ0FBQyxNQUFNLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQztRQUVoRixJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzVELElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdEIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDakQsTUFBTSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUM7Z0JBQzFCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELE1BQU0sU0FBUyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSTtvQkFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO29CQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsQixNQUFNLElBQUksS0FBSyxHQUFHLEtBQUssU0FBUyxJQUFJLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLElBQUksSUFBSSxDQUFDO1FBQ2YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJTG9nRm9ybWF0dGVyLCBVbmlmaWVkTG9nRW50cnkgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBQbGFpblRleHRGb3JtYXR0ZXIgaW1wbGVtZW50cyBJTG9nRm9ybWF0dGVyIHtcbiAgcmVhZG9ubHkgZmlsZUV4dGVuc2lvbiA9ICcubG9nJztcblxuICBmb3JtYXQoZW50cnk6IFVuaWZpZWRMb2dFbnRyeSk6IHN0cmluZyB7XG4gICAgY29uc3QgdHMgPSBlbnRyeS50aW1lc3RhbXAucmVwbGFjZSgnVCcsICcgJykucmVwbGFjZSgnWicsICcnKTtcbiAgICBjb25zdCBsZXZlbCA9IGVudHJ5LmxldmVsLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgY29ycklkID0gZW50cnkuY29ycmVsYXRpb25JZCA/IGAgWyR7ZW50cnkuY29ycmVsYXRpb25JZH1dYCA6ICcnO1xuICAgIGxldCBvdXRwdXQgPSBgWyR7dHN9XSBbJHtsZXZlbH1dIFske2VudHJ5LnNvdXJjZX1dJHtjb3JySWR9ICR7ZW50cnkubWVzc2FnZX1cXG5gO1xuXG4gICAgaWYgKGVudHJ5LmVycm9yKSB7XG4gICAgICBvdXRwdXQgKz0gYCAgJHtlbnRyeS5lcnJvci5uYW1lfTogJHtlbnRyeS5lcnJvci5tZXNzYWdlfVxcbmA7XG4gICAgICBpZiAoZW50cnkuZXJyb3Iuc3RhY2spIHtcbiAgICAgICAgZm9yIChjb25zdCBsaW5lIG9mIGVudHJ5LmVycm9yLnN0YWNrLnNwbGl0KCdcXG4nKSkge1xuICAgICAgICAgIG91dHB1dCArPSBgICAke2xpbmV9XFxuYDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlbnRyeS5kYXRhKSB7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhlbnRyeS5kYXRhKSkge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsXG4gICAgICAgICAgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSlcbiAgICAgICAgICA6IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIG91dHB1dCArPSBgICAke2tleX06ICR7Zm9ybWF0dGVkfVxcbmA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgb3V0cHV0ICs9ICdcXG4nO1xuICAgIHJldHVybiBvdXRwdXQ7XG4gIH1cbn1cbiJdfQ==