@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.
69 lines • 8.82 kB
JavaScript
import { DefaultElementProvider } from '../../portfolio/DefaultElementProvider.js';
export class DefaultElementProviderCollector {
name = 'element-provider';
description = 'Buffer pool metrics from DefaultElementProvider.';
statsFn;
constructor(statsFn) {
this.statsFn = statsFn ?? DefaultElementProvider.getPerformanceStats.bind(DefaultElementProvider);
}
collect() {
try {
const stats = this.statsFn();
const bp = stats.bufferPool;
return [
{
type: 'counter',
name: 'portfolio.buffer_pool.hits_total',
source: 'DefaultElementProvider',
unit: 'count',
description: 'Total number of buffer pool hits.',
value: bp.hits,
},
{
type: 'counter',
name: 'portfolio.buffer_pool.misses_total',
source: 'DefaultElementProvider',
unit: 'count',
description: 'Total number of buffer pool misses.',
value: bp.misses,
},
{
type: 'counter',
name: 'portfolio.buffer_pool.created_total',
source: 'DefaultElementProvider',
unit: 'count',
description: 'Total number of buffers created (pool was empty).',
value: bp.created,
},
{
type: 'gauge',
name: 'portfolio.buffer_pool.hit_rate',
source: 'DefaultElementProvider',
unit: 'ratio',
description: 'Buffer pool hit rate (0–1).',
value: bp.hitRate,
},
{
type: 'gauge',
name: 'portfolio.buffer_pool.size_current',
source: 'DefaultElementProvider',
unit: 'count',
description: 'Current number of buffers held in the pool.',
value: bp.poolSize,
},
{
type: 'gauge',
name: 'portfolio.buffer_pool.size_max',
source: 'DefaultElementProvider',
unit: 'count',
description: 'Maximum configured buffer pool size.',
value: bp.maxPoolSize,
},
];
}
catch {
return [];
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEVsZW1lbnRQcm92aWRlckNvbGxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZXRyaWNzL2NvbGxlY3RvcnMvRGVmYXVsdEVsZW1lbnRQcm92aWRlckNvbGxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQWFuRixNQUFNLE9BQU8sK0JBQStCO0lBQ2pDLElBQUksR0FBRyxrQkFBa0IsQ0FBQztJQUMxQixXQUFXLEdBQUcsa0RBQWtELENBQUM7SUFFekQsT0FBTyxDQUF5QjtJQUVqRCxZQUFZLE9BQWdDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxJQUFJLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFFNUIsT0FBTztnQkFDTDtvQkFDRSxJQUFJLEVBQUUsU0FBa0I7b0JBQ3hCLElBQUksRUFBRSxrQ0FBa0M7b0JBQ3hDLE1BQU0sRUFBRSx3QkFBd0I7b0JBQ2hDLElBQUksRUFBRSxPQUFnQjtvQkFDdEIsV0FBVyxFQUFFLG1DQUFtQztvQkFDaEQsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJO2lCQUNmO2dCQUNEO29CQUNFLElBQUksRUFBRSxTQUFrQjtvQkFDeEIsSUFBSSxFQUFFLG9DQUFvQztvQkFDMUMsTUFBTSxFQUFFLHdCQUF3QjtvQkFDaEMsSUFBSSxFQUFFLE9BQWdCO29CQUN0QixXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU07aUJBQ2pCO2dCQUNEO29CQUNFLElBQUksRUFBRSxTQUFrQjtvQkFDeEIsSUFBSSxFQUFFLHFDQUFxQztvQkFDM0MsTUFBTSxFQUFFLHdCQUF3QjtvQkFDaEMsSUFBSSxFQUFFLE9BQWdCO29CQUN0QixXQUFXLEVBQUUsbURBQW1EO29CQUNoRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU87aUJBQ2xCO2dCQUNEO29CQUNFLElBQUksRUFBRSxPQUFnQjtvQkFDdEIsSUFBSSxFQUFFLGdDQUFnQztvQkFDdEMsTUFBTSxFQUFFLHdCQUF3QjtvQkFDaEMsSUFBSSxFQUFFLE9BQWdCO29CQUN0QixXQUFXLEVBQUUsNkJBQTZCO29CQUMxQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU87aUJBQ2xCO2dCQUNEO29CQUNFLElBQUksRUFBRSxPQUFnQjtvQkFDdEIsSUFBSSxFQUFFLG9DQUFvQztvQkFDMUMsTUFBTSxFQUFFLHdCQUF3QjtvQkFDaEMsSUFBSSxFQUFFLE9BQWdCO29CQUN0QixXQUFXLEVBQUUsNkNBQTZDO29CQUMxRCxLQUFLLEVBQUUsRUFBRSxDQUFDLFFBQVE7aUJBQ25CO2dCQUNEO29CQUNFLElBQUksRUFBRSxPQUFnQjtvQkFDdEIsSUFBSSxFQUFFLGdDQUFnQztvQkFDdEMsTUFBTSxFQUFFLHdCQUF3QjtvQkFDaEMsSUFBSSxFQUFFLE9BQWdCO29CQUN0QixXQUFXLEVBQUUsc0NBQXNDO29CQUNuRCxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVc7aUJBQ3RCO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbGxlY3RvciBmb3IgRGVmYXVsdEVsZW1lbnRQcm92aWRlciBidWZmZXIgcG9vbCBtZXRyaWNzLlxuICpcbiAqIFJlYWRzIGJ1ZmZlciBwb29sIHBlcmZvcm1hbmNlIHN0YXRzIHZpYSBhIGNvbmZpZ3VyYWJsZSBzdGF0cyBmdW5jdGlvblxuICogKGRlZmF1bHRzIHRvIGBEZWZhdWx0RWxlbWVudFByb3ZpZGVyLmdldFBlcmZvcm1hbmNlU3RhdHNgKSBhbmQgZXhwb3Nlc1xuICogaGl0L21pc3MvY3JlYXRlZCB0b3RhbHMsIGhpdCByYXRlLCBjdXJyZW50IHBvb2wgc2l6ZSwgYW5kIG1heCBwb29sIHNpemUuXG4gKi9cbmltcG9ydCB0eXBlIHsgSU1ldHJpY0NvbGxlY3RvciwgTWV0cmljRW50cnkgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBEZWZhdWx0RWxlbWVudFByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcG9ydGZvbGlvL0RlZmF1bHRFbGVtZW50UHJvdmlkZXIuanMnO1xuXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTdGF0cyB7XG4gIGJ1ZmZlclBvb2w6IHtcbiAgICBoaXRzOiBudW1iZXI7XG4gICAgbWlzc2VzOiBudW1iZXI7XG4gICAgY3JlYXRlZDogbnVtYmVyO1xuICAgIGhpdFJhdGU6IG51bWJlcjtcbiAgICBwb29sU2l6ZTogbnVtYmVyO1xuICAgIG1heFBvb2xTaXplOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0RWxlbWVudFByb3ZpZGVyQ29sbGVjdG9yIGltcGxlbWVudHMgSU1ldHJpY0NvbGxlY3RvciB7XG4gIHJlYWRvbmx5IG5hbWUgPSAnZWxlbWVudC1wcm92aWRlcic7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uID0gJ0J1ZmZlciBwb29sIG1ldHJpY3MgZnJvbSBEZWZhdWx0RWxlbWVudFByb3ZpZGVyLic7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0c0ZuOiAoKSA9PiBQZXJmb3JtYW5jZVN0YXRzO1xuXG4gIGNvbnN0cnVjdG9yKHN0YXRzRm4/OiAoKSA9PiBQZXJmb3JtYW5jZVN0YXRzKSB7XG4gICAgdGhpcy5zdGF0c0ZuID0gc3RhdHNGbiA/PyBEZWZhdWx0RWxlbWVudFByb3ZpZGVyLmdldFBlcmZvcm1hbmNlU3RhdHMuYmluZChEZWZhdWx0RWxlbWVudFByb3ZpZGVyKTtcbiAgfVxuXG4gIGNvbGxlY3QoKTogTWV0cmljRW50cnlbXSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXRzID0gdGhpcy5zdGF0c0ZuKCk7XG4gICAgICBjb25zdCBicCA9IHN0YXRzLmJ1ZmZlclBvb2w7XG5cbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnY291bnRlcicgYXMgY29uc3QsXG4gICAgICAgICAgbmFtZTogJ3BvcnRmb2xpby5idWZmZXJfcG9vbC5oaXRzX3RvdGFsJyxcbiAgICAgICAgICBzb3VyY2U6ICdEZWZhdWx0RWxlbWVudFByb3ZpZGVyJyxcbiAgICAgICAgICB1bml0OiAnY291bnQnIGFzIGNvbnN0LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVG90YWwgbnVtYmVyIG9mIGJ1ZmZlciBwb29sIGhpdHMuJyxcbiAgICAgICAgICB2YWx1ZTogYnAuaGl0cyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdjb3VudGVyJyBhcyBjb25zdCxcbiAgICAgICAgICBuYW1lOiAncG9ydGZvbGlvLmJ1ZmZlcl9wb29sLm1pc3Nlc190b3RhbCcsXG4gICAgICAgICAgc291cmNlOiAnRGVmYXVsdEVsZW1lbnRQcm92aWRlcicsXG4gICAgICAgICAgdW5pdDogJ2NvdW50JyBhcyBjb25zdCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIG51bWJlciBvZiBidWZmZXIgcG9vbCBtaXNzZXMuJyxcbiAgICAgICAgICB2YWx1ZTogYnAubWlzc2VzLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2NvdW50ZXInIGFzIGNvbnN0LFxuICAgICAgICAgIG5hbWU6ICdwb3J0Zm9saW8uYnVmZmVyX3Bvb2wuY3JlYXRlZF90b3RhbCcsXG4gICAgICAgICAgc291cmNlOiAnRGVmYXVsdEVsZW1lbnRQcm92aWRlcicsXG4gICAgICAgICAgdW5pdDogJ2NvdW50JyBhcyBjb25zdCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RvdGFsIG51bWJlciBvZiBidWZmZXJzIGNyZWF0ZWQgKHBvb2wgd2FzIGVtcHR5KS4nLFxuICAgICAgICAgIHZhbHVlOiBicC5jcmVhdGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2dhdWdlJyBhcyBjb25zdCxcbiAgICAgICAgICBuYW1lOiAncG9ydGZvbGlvLmJ1ZmZlcl9wb29sLmhpdF9yYXRlJyxcbiAgICAgICAgICBzb3VyY2U6ICdEZWZhdWx0RWxlbWVudFByb3ZpZGVyJyxcbiAgICAgICAgICB1bml0OiAncmF0aW8nIGFzIGNvbnN0LFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQnVmZmVyIHBvb2wgaGl0IHJhdGUgKDDigJMxKS4nLFxuICAgICAgICAgIHZhbHVlOiBicC5oaXRSYXRlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2dhdWdlJyBhcyBjb25zdCxcbiAgICAgICAgICBuYW1lOiAncG9ydGZvbGlvLmJ1ZmZlcl9wb29sLnNpemVfY3VycmVudCcsXG4gICAgICAgICAgc291cmNlOiAnRGVmYXVsdEVsZW1lbnRQcm92aWRlcicsXG4gICAgICAgICAgdW5pdDogJ2NvdW50JyBhcyBjb25zdCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0N1cnJlbnQgbnVtYmVyIG9mIGJ1ZmZlcnMgaGVsZCBpbiB0aGUgcG9vbC4nLFxuICAgICAgICAgIHZhbHVlOiBicC5wb29sU2l6ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdnYXVnZScgYXMgY29uc3QsXG4gICAgICAgICAgbmFtZTogJ3BvcnRmb2xpby5idWZmZXJfcG9vbC5zaXplX21heCcsXG4gICAgICAgICAgc291cmNlOiAnRGVmYXVsdEVsZW1lbnRQcm92aWRlcicsXG4gICAgICAgICAgdW5pdDogJ2NvdW50JyBhcyBjb25zdCxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ01heGltdW0gY29uZmlndXJlZCBidWZmZXIgcG9vbCBzaXplLicsXG4gICAgICAgICAgdmFsdWU6IGJwLm1heFBvb2xTaXplLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==