Class: Agent::Channels::Slack

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

Overview

Slack channel: outbound delivery for sessions started from Slack. Inbound and approval-button handling live in Silas's mounted engine (Silas::Engine). Requires credentials.silas.slack.signing_secret,bot_token. Delete this file to disable the Slack channel.

Instance Method Summary collapse

Instance Method Details

#deliver_answer(session:, text:) ⇒ Object



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

def deliver_answer(session:, text:)
  slack = session.["slack"] || {}
  Silas::Slack.post_message(channel: slack["channel"], thread_ts: slack["thread_ts"], text: text)
end

#deliver_approval(session:, invocation:) ⇒ Object



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

def deliver_approval(session:, invocation:)
  slack = session.["slack"] || {}
  Silas::Slack.post_message(
    channel: slack["channel"], thread_ts: slack["thread_ts"],
    text: "Approval needed: #{invocation.tool_name}",
    blocks: Silas::Slack.approval_blocks(invocation)
  )
end