slackconnector

package
v0.0.50 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2026 License: MIT Imports: 23 Imported by: 0

Documentation

Overview

Package slackconnector bridges Slack events into rocketclaw.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Connector

type Connector struct {
	// contains filtered or unexported fields
}

Connector bridges Slack DM events into the shared rocketclaw bus.

func New

func New(cfg *config.SlackConfig, publisher protocol.OutboundPublisher, threadRouter protocol.PrimaryTextRouter, oneOffCronjobs oneOffCronjobRunner, sideAsk sideAskHost, logger *slog.Logger) *Connector

New constructs a Slack connector.

func (*Connector) AbortResponse

func (c *Connector) AbortResponse(msg *protocol.OutboundMessage)

AbortResponse releases Slack state after final response delivery cannot recover.

func (*Connector) ActivateEnqueue

func (c *Connector) ActivateEnqueue(ctx context.Context, item *protocol.ThreadQueueItem, inbound *protocol.InboundMessage) error

ActivateEnqueue posts the 📨 consume card, then thinking and answer placeholders.

func (*Connector) AskUserQuestion

AskUserQuestion posts one in-message Slack question and waits for the human answer.

func (*Connector) CleanupExternalMCPRelay

func (c *Connector) CleanupExternalMCPRelay(ctx context.Context, replyTarget *protocol.SlackReplyTarget)

CleanupExternalMCPRelay removes a failed new-conversation relay and its placeholders.

func (*Connector) CleanupPendingReplyPlaceholder

func (c *Connector) CleanupPendingReplyPlaceholder(ctx context.Context, replyTarget *protocol.SlackReplyTarget)

CleanupPendingReplyPlaceholder removes a relay placeholder that no response turn claimed.

func (*Connector) DiscardPendingSteers

func (c *Connector) DiscardPendingSteers(ctx context.Context, steers []protocol.PendingSteer)

DiscardPendingSteers drops uninjected Slack Steers with the interruption reaction.

func (*Connector) DrainSteers

func (c *Connector) DrainSteers(ctx context.Context, conversationID string) []string

DrainSteers injects waiting Slack Steers into the current turn.

func (*Connector) HandleBroadcast

func (c *Connector) HandleBroadcast(ctx context.Context, broadcast *protocol.Broadcast) protocol.BroadcastAcknowledgement

HandleBroadcast delivers live output and connector-specific relays to Slack.

func (*Connector) RestorePendingSteers

func (c *Connector) RestorePendingSteers(conversationID string, steers []protocol.PendingSteer)

RestorePendingSteers loads persisted Slack Steers onto the connector before a recovered turn can drain.

func (*Connector) SendCronjobChannelThread

func (c *Connector) SendCronjobChannelThread(ctx context.Context, channelID, relativePath, agent, ranAt, text string, attachments []protocol.OutboundAttachment) error

SendCronjobChannelThread posts one scheduled cronjob result in a new Slack channel thread.

func (*Connector) SendExternalMCPRelay

func (c *Connector) SendExternalMCPRelay(ctx context.Context, channelID, threadTS string, relay *protocol.ExternalMCPRelay) (*protocol.SlackReplyTarget, error)

SendExternalMCPRelay mirrors one external MCP request into a Slack root or thread.

func (*Connector) SendResponse

func (c *Connector) SendResponse(ctx context.Context, msg *protocol.OutboundMessage) error

SendResponse posts or updates a streamed response message in Slack.

func (*Connector) SetPendingSteersSink

func (c *Connector) SetPendingSteersSink(sink protocol.PendingSteersSink)

SetPendingSteersSink copies live pending Slack Steers onto the active-turn row.

func (*Connector) Start

func (c *Connector) Start(ctx context.Context) error

Start authenticates with Slack and begins consuming protocol.

func (*Connector) StartNewThreadRoot

StartNewThreadRoot posts the root message for a model-created Slack conversation.

func (*Connector) Stop

func (c *Connector) Stop(context.Context) error

Stop stops Slack socket intake while leaving response delivery usable.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL