Class: OmnifocusMcp::Tools::Definitions::QueryOmnifocusTool
- Inherits:
-
FastMcp::Tool
- Object
- FastMcp::Tool
- OmnifocusMcp::Tools::Definitions::QueryOmnifocusTool
- Extended by:
- OperationFactory
- Defined in:
- lib/omnifocus_mcp/tools/definitions/query_omnifocus_tool.rb
Overview
‘FastMcp::Tool` for `query_omnifocus`.
Constant Summary collapse
- DATE_FILTER_FIELDS =
%i[due_within deferred_until planned_within due_on defer_on planned_on].freeze
Instance Method Summary collapse
Methods included from OperationFactory
default_operation_factory, extended, operation_factory, operation_factory=
Instance Method Details
#call(**args) ⇒ Object
155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/omnifocus_mcp/tools/definitions/query_omnifocus_tool.rb', line 155 def call(**args) McpEnvelope.safely("executing query") do params = resolve_date_filters(Params::QueryOmnifocusParams.from_mcp(args)) operation.call(params).fold( on_ok: lambda { |match| McpEnvelope::ToolReply.success(Presenters::QueryReply.format(args:, params:, match:)) }, on_error: ->(err) { McpEnvelope::ToolReply.failure(Presenters::QueryReply.failure(err)) } ) end end |