chatservice

This commit is contained in:
legop3
2026-04-29 13:45:19 -04:00
parent d7f34af66f
commit 40e55240e4
10 changed files with 575 additions and 567 deletions
@@ -0,0 +1,20 @@
// Chat Broadcast Pipeline
// Purpose: Publishes chat message and typing payloads to event bus while preserving in-memory history.
// Scope: Encapsulates chat fan-out side effects and recent-history accessors.
const { publishEvent } = require('../eventBus');
const { pushHistory, getRecentMessages } = require('./state');
function broadcastMessage(message) {
pushHistory(message);
publishEvent({ source: 'chat', type: 'chat:message', payload: message });
}
function broadcastTyping(payload) {
publishEvent({ source: 'chat', type: 'chat:typing', payload });
}
module.exports = {
broadcastMessage,
broadcastTyping,
getRecentMessages,
};