Jido.Chat.Slack.SocketModeWorker (Jido Chat Slack v1.0.0)

Copy Markdown View Source

Bridge-ingress worker for Slack Socket Mode envelopes.

The worker opens a Socket Mode connection, acknowledges envelopes, and emits the inner payloads through sink_mfa using :payload ingress so the runtime can reuse the adapter's existing event normalization.

Summary

Functions

Returns a specification to start this module under a supervisor.

Starts a Slack Socket Mode worker.

Types

sink_mfa()

@type sink_mfa() :: {module(), atom(), [term()]}

state()

@type state() :: %{
  bridge_id: String.t(),
  sink_mfa: sink_mfa(),
  sink_opts: keyword(),
  app_token: String.t(),
  open_client: module(),
  open_client_opts: keyword(),
  socket_client: module(),
  socket_client_opts: keyword(),
  response_builder: term(),
  reconnect_interval_ms: pos_integer(),
  max_backoff_ms: pos_integer(),
  backoff_ms: pos_integer(),
  path_prefix: String.t(),
  socket: term() | nil,
  socket_monitor_ref: reference() | nil,
  reconnect_timer_ref: reference() | nil
}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(opts)

@spec start_link(keyword()) :: GenServer.on_start()

Starts a Slack Socket Mode worker.