feat(#383): Streaming AI responses via Matrix message edits
Some checks failed
ci/woodpecker/push/api Pipeline failed
Some checks failed
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>
This commit is contained in:
@@ -269,6 +269,18 @@ export class MatrixService implements IChatProvider {
|
||||
return this.connected;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying MatrixClient instance.
|
||||
*
|
||||
* Used by MatrixStreamingService for low-level operations
|
||||
* (message edits, typing indicators) that require direct client access.
|
||||
*
|
||||
* @returns The MatrixClient instance, or null if not connected
|
||||
*/
|
||||
getClient(): MatrixClient | null {
|
||||
return this.client;
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a message to a room
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user