UNPKG

permamind

Version:

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

55 lines (54 loc) 1.63 kB
export class ToolCommand { getMetadata() { return this.metadata; } getParametersSchema() { return this.parametersSchema; } toToolDefinition(context) { return { annotations: { openWorldHint: this.metadata.openWorldHint ?? false, readOnlyHint: this.metadata.readOnlyHint ?? true, title: this.metadata.title ?? this.metadata.name, }, description: this.metadata.description, execute: async (args) => { const result = await this.safeExecute(args, context); if (result.success) { return result.data; } else { throw new Error(result.error?.message || "Tool execution failed"); } }, name: this.metadata.name, parameters: this.parametersSchema, }; } createErrorResult(code, message, details) { return { error: { code, details, message, }, success: false, }; } createSuccessResult(data) { return { data, success: true, }; } async safeExecute(args, context) { try { const result = await this.execute(args, context); return this.createSuccessResult(result); } catch (error) { return this.createErrorResult("EXECUTION_ERROR", error instanceof Error ? error.message : "Unknown error occurred", error); } } }