Class: Kodo::Tools::DismissReminder

Inherits:
RubyLLM::Tool
  • Object
show all
Extended by:
PromptContributor
Defined in:
lib/kodo/tools/dismiss_reminder.rb

Instance Method Summary collapse

Methods included from PromptContributor

capability_name, capability_primary, disabled_guidance, enabled_guidance

Constructor Details

#initialize(reminders:, audit:) ⇒ DismissReminder

Returns a new instance of DismissReminder.



16
17
18
19
20
# File 'lib/kodo/tools/dismiss_reminder.rb', line 16

def initialize(reminders:, audit:)
  super()
  @reminders = reminders
  @audit = audit
end

Instance Method Details

#execute(id:) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/kodo/tools/dismiss_reminder.rb', line 22

def execute(id:)
  reminder = @reminders.dismiss(id)

  if reminder
    @audit.log(
      event: "reminder_dismissed",
      detail: "id:#{id} content:#{reminder['content']&.slice(0, 60)}"
    )
    "Dismissed reminder: #{reminder['content']}"
  else
    "No active reminder found with id: #{id}"
  end
end

#name ⇒ Object



36
37
38
# File 'lib/kodo/tools/dismiss_reminder.rb', line 36

def name
  "dismiss_reminder"
end