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
|