Documentation
¶
Overview ¶
Package slackconnector bridges Slack events into rocketclaw.
Index ¶
- type Connector
- func (c *Connector) AbortResponse(msg *protocol.OutboundMessage)
- func (c *Connector) ActivateEnqueue(ctx context.Context, item *protocol.ThreadQueueItem, ...) error
- func (c *Connector) AskUserQuestion(ctx context.Context, req *protocol.AskUserQuestionRequest) (protocol.AskUserQuestionAnswer, error)
- func (c *Connector) CleanupExternalMCPRelay(ctx context.Context, replyTarget *protocol.SlackReplyTarget)
- func (c *Connector) CleanupPendingReplyPlaceholder(ctx context.Context, replyTarget *protocol.SlackReplyTarget)
- func (c *Connector) DiscardPendingSteers(ctx context.Context, steers []protocol.PendingSteer)
- func (c *Connector) DrainSteers(ctx context.Context, conversationID string) []string
- func (c *Connector) HandleBroadcast(ctx context.Context, broadcast *protocol.Broadcast) protocol.BroadcastAcknowledgement
- func (c *Connector) RestorePendingSteers(conversationID string, steers []protocol.PendingSteer)
- func (c *Connector) SendCronjobChannelThread(ctx context.Context, channelID, relativePath, agent, ranAt, text string, ...) error
- func (c *Connector) SendExternalMCPRelay(ctx context.Context, channelID, threadTS string, ...) (*protocol.SlackReplyTarget, error)
- func (c *Connector) SendResponse(ctx context.Context, msg *protocol.OutboundMessage) error
- func (c *Connector) SetPendingSteersSink(sink protocol.PendingSteersSink)
- func (c *Connector) Start(ctx context.Context) error
- func (c *Connector) StartNewThreadRoot(ctx context.Context, req *protocol.StartNewThreadRequest) (protocol.StartNewThreadRootResult, error)
- func (c *Connector) Stop(context.Context) error
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 ¶
func (c *Connector) AskUserQuestion(ctx context.Context, req *protocol.AskUserQuestionRequest) (protocol.AskUserQuestionAnswer, error)
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 ¶
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 ¶
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) StartNewThreadRoot ¶
func (c *Connector) StartNewThreadRoot(ctx context.Context, req *protocol.StartNewThreadRequest) (protocol.StartNewThreadRootResult, error)
StartNewThreadRoot posts the root message for a model-created Slack conversation.