feat: SttExtension pour l'EventBus (#9) #115
No reviewers
Labels
No labels
module:M0-setup
module:M1-stt
module:M1-stt
module:M2-ai
module:M2-ai
module:M3-rich
module:M3-rich
module:M4-bridge
module:M4-bridge
module:M5-bonus
module:M5-bonus
module:setup
priority:high
priority:high
priority:low
priority:low
priority:medium
priority:medium
type:chore
type:chore
type:feature
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/my-fractal!115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/9-stt-extension"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Résumé
event_id: StringàEventContextdansfractal-ext— clé stable pour le cache SQLite et référence dans les jobs STTSttExtensiondansfractal-stt/src/extension.rspour implémenter le traitExtensiondefractal-extfractal-stt/src/lib.rspour exporterSttExtensionetTranscriptionJobDétail de l'implémentation
SttExtension:id()→"fractal-stt",name()→"Speech-to-Text"on_init(): appelleengine.health_check(), loginfosiReady,warnsurModelMissingouUnavailableon_sync_event(): filtre lesm.room.messagede msgtypem.audio/m.voice; en mode auto, dispatche unTranscriptionJobviampsc::Sender::try_send(fire-and-forget, ne bloque jamais le handler)message_decorations(): en mode manuel, retourne unMessageDecoration::InlineWidget(fractal-stt:transcript-button) pour permettre à l'UI d'afficher un bouton "Transcrire"TranscriptionJob: contientevent_id,AudioData(placeholder MXC),TranscribeOptions.Plan de test
cargo test -p fractal-stt— 5 tests unitaires dansextension::tests:is_audio_event_detects_m_audiois_audio_event_detects_m_voiceis_audio_event_ignores_m_textis_audio_event_ignores_non_message_eventsextract_mxc_url_workscargo test -p fractal-ext— vérifier que les usages existants deEventContextcompilent avec le nouveau champevent_idSttExtension::new(engine, false, tx), appeleron_init()et vérifier le log warning si le moteur est indisponibleEventContextavecevent_type = "m.room.message"etmsgtype = "m.audio", vérifier que leTranscriptionJobest reçu côtérxmessage_decorations()et vérifier le retourInlineWidget { widget_id: "fractal-stt:transcript-button", … }Closes #9
Pull request closed