Skip to content

agentjido/jido_chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jido.Chat

jido_chat is the core Chat SDK-style surface for Jido.Chat adapters.

Experimental Status

This package is experimental and pre-1.0. APIs and behavior will change. Jido.Chat is an Elixir implementation aligned to the Vercel Chat SDK (chat-sdk.dev/docs).

It provides:

  • Jido.Chat (pure struct + function bot loop)
  • typed normalized payloads (Incoming, Message, SentMessage, Response, EventEnvelope)
  • typed handles (Thread, ChannelRef)
  • canonical adapter behavior (Jido.Chat.Adapter)

Installation

def deps do
  [
    {:jido_chat, github: "agentjido/jido_chat", branch: "main"}
  ]
end

Canonical Adapter Interface

Jido.Chat.Adapter is the canonical contract for new integrations. Jido.Chat.ChannelRef and Jido.Chat.Thread are the typed handles for room and thread operations. Adapters can expose native rich posting through post_message/3, which receives the full typed Jido.Chat.PostPayload including attachments. send_file/3 remains the low-level upload hook used by the core fallback path for older adapters.

Usage (Core Loop)

chat =
  Jido.Chat.new(
    user_name: "jido",
    adapters: %{telegram: Jido.Chat.Telegram.Adapter}
  )
  |> Jido.Chat.on_new_mention(fn thread, incoming ->
    Jido.Chat.Thread.post(thread, "hi #{incoming.display_name || "there"}")
  end)

Parity Matrix

Adapter/core parity status is tracked in:

  • ../PARITY_MATRIX.md

About

SDK-first chat core for Jido (models, content blocks, capabilities, adapter contracts).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages