Aleph
Gateway RPCMethods Reference

group_chat.*

Group chat and multi-party conversation RPC methods

Group chat methods manage a multi-agent group-chat session — a shared conversation in which several agents (and the user) take turns under per-agent attribution.

The durable per-team chat thread shown in the panel's three-panel group-chat window uses the teams.chat.* methods (teams.chat.send, teams.chat.thread, teams.chat.history) — see teams.*. The group_chat.* methods below are the lower-level multi-agent group-chat session primitive that those team threads build on.

Methods

group_chat.start

Start a new group-chat session over a set of agents.

Request:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "group_chat.start",
  "params": {
    "agents": ["planner", "coder", "reviewer"],
    "topic": "Plan the v2 migration"
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "session_id": "gc-1",
    "agents": ["planner", "coder", "reviewer"],
    "created_at": "2024-01-15T10:30:00Z"
  }
}

group_chat.continue

Advance the session with a new message and let the agents respond in turn.

Request:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "group_chat.continue",
  "params": {
    "session_id": "gc-1",
    "message": "What do you think about this approach?"
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "messages": [
      { "agent_id": "planner", "display_name": "Planner", "text": "This looks solid. I suggest..." },
      { "agent_id": "coder", "display_name": "Coder", "text": "Implementation-wise, we could..." }
    ]
  }
}

group_chat.mention

Address a specific agent (or everyone) in the session — the panel's @ roster auto-complete maps to this. Use @all to address all participants.

Request:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "group_chat.mention",
  "params": {
    "session_id": "gc-1",
    "mention": "coder",
    "message": "Can you sketch the schema change?"
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "messages": [
      { "agent_id": "coder", "display_name": "Coder", "text": "Here's the migration outline..." }
    ]
  }
}

group_chat.history

Get the message history for a session (powers the attribution-bubble replay).

Request:

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "group_chat.history",
  "params": {
    "session_id": "gc-1",
    "limit": 50
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 4,
  "result": {
    "messages": [
      { "agent_id": "user", "display_name": "You", "text": "Plan the v2 migration" },
      { "agent_id": "planner", "display_name": "Planner", "text": "This looks solid. I suggest..." }
    ]
  }
}

group_chat.list

List active group-chat sessions.

Request:

{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "group_chat.list",
  "params": {}
}

group_chat.end

End a group-chat session.

Request:

{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "group_chat.end",
  "params": {
    "session_id": "gc-1"
  }
}

See Also

On this page