93cd31435b
feat( #383 ): Streaming AI responses via Matrix message edits
...
ci/woodpecker/push/api Pipeline failed
- Add MatrixStreamingService with editMessage, setTypingIndicator, streamResponse
- Rate-limited edits (500ms) for incremental streaming output
- Typing indicator management during generation
- Graceful error handling and fallback for non-streaming scenarios
- Add optional editMessage to IChatProvider interface
- Add getClient() accessor to MatrixService for streaming service
- Register MatrixStreamingService in BridgeModule
- Tests: 20 tests pass
Refs #383
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 02:34:36 -06:00
5b5d3811d6
feat( #378 ): Install matrix-bot-sdk and create MatrixService skeleton
...
ci/woodpecker/push/api Pipeline failed
ci/woodpecker/push/orchestrator Pipeline failed
ci/woodpecker/push/web Pipeline failed
- Add matrix-bot-sdk dependency to @mosaic/api
- Create MatrixService implementing IChatProvider interface
- Support connect/disconnect, message sending, thread management
- Parse @mosaic and !mosaic command prefixes
- Delegate commands to StitcherService (same flow as Discord)
- Add comprehensive unit tests with mocked MatrixClient (31 tests)
- Add Matrix env vars to .env.example
Refs #378
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 02:04:39 -06:00