Class: Llmemory::MCP::Tools::MemorySkillReport

Inherits:
MCP::Tool
  • Object
show all
Defined in:
lib/llmemory/mcp/tools/memory_skill_report.rb

Class Method Summary collapse

Class Method Details

.call(user_id:, skill_id:, success:, server_context: nil) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/llmemory/mcp/tools/memory_skill_report.rb', line 19

def call(user_id:, skill_id:, success:, server_context: nil)
  memory = Llmemory::LongTerm::Procedural::Memory.new(user_id: user_id)
  skill = memory.report_outcome(skill_id, success: success == true)
  if skill.nil?
    return ::MCP::Tool::Response.new([{ type: "text", text: "Skill not found: #{skill_id}" }], error: true)
  end

  text = "Outcome recorded for #{skill.name} (#{skill_id}): success #{skill.success_count} / failure #{skill.failure_count} (rate #{format('%.2f', skill.success_rate)})"
  ::MCP::Tool::Response.new([{ type: "text", text: text }])
rescue => e
  ::MCP::Tool::Response.new([{ type: "text", text: "Error reporting outcome: #{e.message}" }], error: true)
end