Class: TrakFlow::Mcp::Tools::WorkflowSummarize

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/trak_flow/mcp/tools/workflow_summarize.rb

Instance Method Summary collapse

Methods inherited from BaseTool

with_database

Instance Method Details

#call(id:, summary:) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/trak_flow/mcp/tools/workflow_summarize.rb', line 15

def call(id:, summary:)
  self.class.with_database do |db|
    workflow = db.find_task!(id)

    workflow.notes = "#{workflow.notes}\n\n[Summary]\n#{summary}".strip
    workflow.close!(reason: "summarized")
    db.update_task(workflow)

    db.child_tasks(id).each do |child|
      child.close!(reason: "workflow summarized")
      db.update_task(child)
    end

    workflow.to_h
  end
end