Commit Graph

9 Commits

Author SHA1 Message Date
James fde1f740e1 chore: auto-commit uncommitted changes 2026-03-18 06:02:11 -04:00
James 057f596c5f chore: auto-commit uncommitted changes 2026-03-11 00:01:24 -04:00
James 84b2265cca chore: auto-commit uncommitted changes 2026-03-08 06:01:55 -04:00
James 3472519cdc feat: 1:1 DM rooms for human↔agent and agent↔agent
- Add Room field to Message struct; carried through all routes
- Group room (default): existing broadcast behavior unchanged
- DM rooms (dm:James, dm:Mira, dm:Hans): messages route only to
  that agent, replies stay in the DM room
- Agent↔agent DM: dm:Hans-James format; dmTarget() resolves peer
- UI: replace agent-bar with room-bar tab strip at top
  - # group tab + one DM tab per agent ( James,  Mira, 🔧 Hans)
  - Client-side room filtering: only show messages for active room
  - Unread dot on inactive room tabs when new messages arrive
  - Thinking indicator per room
- /api/send: accepts room field for agent-to-agent DMs
- Screenshots already supported (image_url); works in all rooms
2026-03-08 04:55:33 -04:00
James 9184080682 fix: all messages route to main session on all agents
All three agents (James/Mira on forge, Hans on Zurich) now use
session="main" for both direct and group messages. This lands
agentchat in each agent's primary thread — same context as
webchat/Telegram.

Previous v1.1 used "agentchat"/"agentchat-direct" sessions which
were isolated silos. Session "main" routes to agent:main:main on
whichever OC gateway is called, including Hans on Zurich.
2026-03-08 04:48:30 -04:00
James 9ff3c8cde9 fix: broadcast messages use agentchat session, not main
When a human sends a group message (with or without name-mentions),
agents were being dispatched with direct=true, routing to the 'main'
session. This conflicts with active webchat/Telegram sessions on the
same agent, causing silent timeouts (context deadline exceeded).

Fix: broadcast/name-mention dispatches now use direct=false, which
routes to the 'agentchat' session. Only explicit To-field 1:1 messages
still use direct=true -> main session.

Identified from agentchat logs 2026-03-08. Issue: James messages
dropping when webchat session was active.
2026-03-08 04:30:53 -04:00
James 27fb5ac215 feat: 1:1 routing fix + screenshot support
- Fix routing: direct messages now use 'agentchat-direct' session instead
  of 'main', preventing conflicts with active webchat sessions
- Add POST /api/upload endpoint for image uploads (10MB limit, png/jpg/gif/webp)
- Serve /uploads/ statically
- Pass images to agent via OpenAI multipart content (image_url type)
- UI: image preview bar above compose (attach button + Ctrl+V paste)
- UI: inline image display in chat bubbles with lightbox on click
- UI: '→ AgentName' badge on 1:1 messages
- Add github.com/google/uuid dependency for unique filenames
2026-03-08 04:30:00 -04:00
James bd003240a7 Add README with current architecture and status
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 04:18:13 -04:00
James a0cc49f4c9 agentchat: group chat for humans and AI agents
Go server with WebSocket UI, OpenClaw gateway integration,
persistent sessions, name-based routing, and cross-agent forwarding.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 04:17:02 -04:00