Skip to main content

lib/jido/chat/x/transport.ex

defmodule Jido.Chat.X.Transport do
  @moduledoc "Transport contract for X Direct Message API calls."

  @callback send_dm(String.t(), String.t(), keyword()) :: {:ok, map()} | {:error, term()}
  @callback send_conversation_message(String.t(), String.t(), keyword()) ::
              {:ok, map()} | {:error, term()}
  @callback delete_dm_event(String.t(), keyword()) :: :ok | {:error, term()}
  @callback fetch_dm_event(String.t(), keyword()) :: {:ok, map()} | {:error, term()}
  @callback fetch_conversation_messages(String.t(), keyword()) ::
              {:ok, list(map()) | map()} | {:error, term()}
end