/ apps / echo_shared / lib / echo_shared.ex
echo_shared.ex
 1  defmodule EchoShared do
 2    @moduledoc """
 3    ECHO Shared - Common libraries for ECHO organizational agents.
 4  
 5    This library provides:
 6    - MCP protocol implementation (JSON-RPC 2.0)
 7    - PostgreSQL storage for organizational memory
 8    - Redis message bus for inter-agent communication
 9    - Database schemas (decisions, messages, memories)
10    - Base MCP server behavior
11  
12    ## Usage
13  
14    Each ECHO agent depends on this shared library:
15  
16        # In agent's mix.exs
17        {:echo_shared, path: "../shared"}
18  
19    ## Architecture
20  
21    - **MCP Protocol**: JSON-RPC 2.0 over stdio for Claude Desktop
22    - **Storage**: PostgreSQL with Ecto for persistence
23    - **Message Bus**: Redis pub/sub for real-time coordination
24    - **Schemas**: Shared data models across all agents
25    """
26  
27    @version Mix.Project.config()[:version]
28  
29    @doc """
30    Returns the version of ECHO Shared library.
31    """
32    def version, do: @version
33  end