Class: HTM::MCP::SyncGroupTool

Inherits:
FastMcp::Tool
  • Object
show all
Defined in:
lib/htm/mcp/group_tools.rb

Overview

Tool: Force sync all group members

Instance Method Summary collapse

Instance Method Details

#call(group_name:) ⇒ Object



369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
# File 'lib/htm/mcp/group_tools.rb', line 369

def call(group_name:)
  Session.logger&.info "SyncGroupTool called: group=#{group_name.inspect}"

  group = GroupSession.get_group(group_name)
  unless group
    return { success: false, error: "Group '#{group_name}' not found in this session" }.to_json
  end

  result = group.sync_all

  Session.logger&.info "SyncGroupTool complete: synced #{result[:synced_nodes]} nodes to #{result[:members_updated]} members"

  {
    success:         true,
    group_name:      group_name,
    synced_nodes:    result[:synced_nodes],
    members_updated: result[:members_updated],
    in_sync:         group.in_sync?,
    message:         "Synced #{result[:synced_nodes]} nodes to #{result[:members_updated]} members"
  }.to_json
end