Skip to content

Add chat domain: models, service interfaces, and in-memory implementations#29

Closed
Copilot wants to merge 1 commit intocopilot/create-chat-conceptfrom
copilot/start-implementation
Closed

Add chat domain: models, service interfaces, and in-memory implementations#29
Copilot wants to merge 1 commit intocopilot/create-chat-conceptfrom
copilot/start-implementation

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 21, 2026

Introduces a chat package implementing a Slack-inspired messaging concept with participants, chats, and messages — all backed by in-memory stores.

Models

  • Participantid, name, avatarUrl, role
  • Chatid, participantIds, messageIds, timestampCreated, metadata, lastSeenMessageIds
  • Messageid, chatId, authorId, content, timestampSent
  • PaginationOptionspage + size for message listing

Service interfaces + in-memory implementations

Interface Implementation
ParticipantService InMemoryParticipantService
ChatManagementService InMemoryChatManagementService
MessagingService InMemoryMessagingService

All stores use ConcurrentHashMap with UUID-assigned IDs. Services are wired as Spring @Service beans.

Participant alice = participantService.createParticipant("Alice", "https://…/alice.png", "admin");
Chat chat = chatManagementService.createChat(List.of(alice));

Message msg = new Message(null, null, alice.getId(), "Hello!", LocalDateTime.now());
messagingService.sendMessage(chat.getId(), msg);

List<Message> messages = messagingService.getMessages(chat.getId(), new PaginationOptions(0, 20));

Tests

30 @SpringBootTest integration tests across all three service implementations covering happy paths, pagination, and error cases.

Slack-inspired chat design

Original prompt

start implementation

The user has attached the following files from their workspace:

  • src/main/java/dev/rebelcraft/ai/spawn/chat/Participant.java
  • slack.png

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Start implementation for chat participant functionality Add chat domain: models, service interfaces, and in-memory implementations Feb 21, 2026
Copilot AI requested a review from teggr February 21, 2026 17:25
@teggr teggr closed this Feb 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants