feat(ai/stt): résumé IA de conversation + mode Voice-to-Voice STT→agent→TTS (#60 #61 #66) [DOUBLON de #174] #165

Closed
charles wants to merge 3 commits from feat/60-61-66-ai-summary-voice into main
Owner

Résumé

  • #61SummaryEngine trait async + ConversationSummary (titre, body, action items) + SummaryViewModel (Idle/Loading/Ready/Error)
  • #60 — Issue méta couverte par #61 + #66
  • #66VoicePipelineViewModel : machine d'état STT→agent→TTS avec états Recording/Transcribing/Sending/WaitingAgent/Synthesizing/Playing, mode continu, label HUD

Changements

  • crates/fractal-ai/src/summary.rsSummaryEngine, ConversationSummary, SummaryRequest, SummaryViewModel
  • crates/fractal-stt/src/voice_pipeline.rsVoicePipelineViewModel, VoicePipelineState, VoicePipelineConfig

Plan de test

  • cargo check -p fractal-ai -p fractal-stt passe
  • SummaryViewModel::on_ready(summary) → state Ready
  • VoicePipelineViewModel lifecycle complet : Idle→Recording→Transcribing→Sending→WaitingAgent→Synthesizing→Playing→Idle (test pipeline_lifecycle)
  • Mode continu : on_playback_done() repart en Recording si continuous = true

Closes #60, closes #61, closes #66

## Résumé - **#61** — `SummaryEngine` trait async + `ConversationSummary` (titre, body, action items) + `SummaryViewModel` (Idle/Loading/Ready/Error) - **#60** — Issue méta couverte par #61 + #66 - **#66** — `VoicePipelineViewModel` : machine d'état STT→agent→TTS avec états Recording/Transcribing/Sending/WaitingAgent/Synthesizing/Playing, mode continu, label HUD ## Changements - `crates/fractal-ai/src/summary.rs` — `SummaryEngine`, `ConversationSummary`, `SummaryRequest`, `SummaryViewModel` - `crates/fractal-stt/src/voice_pipeline.rs` — `VoicePipelineViewModel`, `VoicePipelineState`, `VoicePipelineConfig` ## Plan de test - [ ] `cargo check -p fractal-ai -p fractal-stt` passe - [ ] `SummaryViewModel::on_ready(summary)` → state `Ready` - [ ] `VoicePipelineViewModel` lifecycle complet : Idle→Recording→Transcribing→Sending→WaitingAgent→Synthesizing→Playing→Idle (test `pipeline_lifecycle`) - [ ] Mode continu : `on_playback_done()` repart en `Recording` si `continuous = true` Closes #60, closes #61, closes #66
feat(stt): VoicePipeline STT→agent→TTS pour mode Voice-to-Voice (#66)
Some checks are pending
CI / cargo check (pull_request) Waiting to run
CI / cargo test (pull_request) Blocked by required conditions
CI / clippy + rustfmt (pull_request) Waiting to run
868cbdf3c2
fix(merge): update lib.rs to include all modules from main (#150)
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
4c8528c544
charles changed title from feat(ai/stt): résumé IA de conversation + mode Voice-to-Voice STT→agent→TTS (#60 #61 #66) to feat(ai/stt): résumé IA de conversation + mode Voice-to-Voice STT→agent→TTS (#60 #61 #66) [DOUBLON de #174] 2026-04-06 02:37:57 +00:00
charles closed this pull request 2026-04-06 02:37:57 +00:00
Some checks are pending
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
qa
Required

Pull request closed

Sign in to join this conversation.
No description provided.