UNPKG

permamind

Version:

An MCP server that provides an immortal memory layer for AI agents and clients

41 lines (40 loc) 1.11 kB
export class ToolFactory { config; tools = []; constructor(config) { this.config = config; } getCategoryDescription() { return this.config.categoryDescription; } getCategoryName() { return this.config.categoryName; } getContext() { return this.config.context; } getToolByName(name) { return this.getTools().find((tool) => tool.getMetadata().name === name); } getToolCount() { return this.getTools().length; } getTools() { if (this.tools.length === 0) { this.tools = this.createTools(); } return this.tools; } registerTools(registry) { if (this.tools.length === 0) { this.tools = this.createTools(); } registry.registerCategory(this.config.categoryName, this.config.categoryDescription, this.tools); } } export class BaseToolFactory extends ToolFactory { createTools() { const ToolClasses = this.getToolClasses(); return ToolClasses.map((ToolClass) => new ToolClass(this.config.context)); } }