Class: Llmemory::MCP::Tools::MemoryMineSkills

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

Class Method Summary collapse

Class Method Details

.call(user_id:, window: nil, outcomes: nil, auto_register: false, server_context: nil) ⇒ Object



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

def call(user_id:, window: nil, outcomes: nil, auto_register: false, server_context: nil)
  episodic = Llmemory::LongTerm::Episodic::Memory.new(user_id: user_id)
  procedural = Llmemory::LongTerm::Procedural::Memory.new(user_id: user_id)
  result = Llmemory::SkillMining::Miner.new(episodic: episodic, procedural: procedural).mine(
    window: (window || Llmemory::SkillMining::Miner::DEFAULT_WINDOW).to_i,
    outcomes: outcomes,
    auto_register: auto_register
  )

  ::MCP::Tool::Response.new([{ type: "text", text: format_result(user_id, result, auto_register) }])
rescue => e
  ::MCP::Tool::Response.new([{ type: "text", text: "Error mining skills: #{e.message}" }], error: true)
end