Class: OmnifocusMcp::Tools::Definitions::BatchAddItemsTool

Inherits:
FastMcp::Tool
  • Object
show all
Extended by:
OperationFactory
Defined in:
lib/omnifocus_mcp/tools/definitions/batch_add_items_tool.rb

Overview

‘FastMcp::Tool` for `batch_add_items`.

Instance Method Summary collapse

Methods included from OperationFactory

default_operation_factory, extended, operation_factory, operation_factory=

Instance Method Details

#call(**args) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
# File 'lib/omnifocus_mcp/tools/definitions/batch_add_items_tool.rb', line 65

def call(**args)
  McpEnvelope.safely("processing batch operation") do
    items = Array(args[:items]).map { |item| Params::BatchAddItemParams.from_mcp(item) }
    result = operation.call(items)

    result.fold(
      on_ok: ->(per_item) { success_reply(per_item, items) },
      on_error: ->(error) { failure_reply(error) }
    )
  end
end