Class: Agent::Channels::Email

Inherits:
Silas::Channel
  • Object
show all
Defined in:
lib/generators/silas/install/templates/channel_email.rb

Overview

Email channel: outbound delivery for sessions started from email. Inbound routing is via Action Mailbox (route mail to Silas::AgentMailbox in your app/mailboxes/application_mailbox.rb). Delete this file to disable email.

Instance Method Summary collapse

Instance Method Details

#deliver_answer(session:, text:) ⇒ Object



5
6
7
8
9
10
# File 'lib/generators/silas/install/templates/channel_email.rb', line 5

def deliver_answer(session:, text:)
  email = session.["email"] || {}
  Silas::ChannelMailer.answer(
    to: email["from"], subject: "Re: #{email['subject']}", text: text
  ).deliver_later
end

#deliver_approval(session:, invocation:) ⇒ Object



12
13
14
15
16
17
# File 'lib/generators/silas/install/templates/channel_email.rb', line 12

def deliver_approval(session:, invocation:)
  email = session.["email"] || {}
  Silas::ChannelMailer.approval(
    to: email["from"], subject: "Approval needed: #{invocation.tool_name}", invocation: invocation
  ).deliver_later
end