Packages

Elixir-native LangChain, LangGraph, and DeepAgents for traceable LLM apps: OTP workflows, tools, memory, human-in-the-loop, streaming, custom clients/adapters, minimal deps, and WeaveScope tracing.

Current section

Files

Jump to
beam_weaver lib beam_weaver graph messages_reducer.ex
Raw

lib/beam_weaver/graph/messages_reducer.ex

defmodule BeamWeaver.Graph.MessagesReducer do
@moduledoc """
DeepAgents messages delta reducer.
This is a thin DeepAgents-facing wrapper over `BeamWeaver.Graph.Messages`.
It shares BeamWeaver's graph channel implementation with DeepAgents-facing
code.
"""
alias BeamWeaver.Graph.Messages
@spec delta_reducer(list(), list()) :: list()
defdelegate delta_reducer(state, writes), to: Messages
@spec remove(String.t()) :: Messages.Remove.t()
defdelegate remove(id), to: Messages
@spec remove_all() :: Messages.Remove.t()
defdelegate remove_all(), to: Messages
end