feat: M5 AI — scheduled replies, summarizer, TTS engine (#61 #66 #67) #178

Closed
charles wants to merge 4 commits from feat/61-66-67-m5-ai into main
Owner

Changements

  • crates/fractal-ai/src/scheduled.rs

    • ScheduledReply + ScheduleStatus — réponses programmées avec is_due/seconds_remaining
    • ScheduledReplyStore — store in-memory avec schedule/cancel/due_replies/mark_sent
    • 4 tests unitaires
  • crates/fractal-ai/src/summary.rs

    • SummaryMessage, SummarizeRequest — requête de résumé (truncate 200 msgs, build_prompt)
    • SummaryStatus, ConversationSummarizerVm — VM du résumeur
    • 3 tests unitaires
  • crates/fractal-ai/src/tts.rs

    • TtsEngine trait (async_trait, Send+Sync) — synthèse vocale
    • PiperEngine, EspeakEngine — backends stub
    • VoiceToVoiceState — machine à états voix-à-voix
    • 4 tests (dont 2 async tokio)

Closes #61
Closes #66
Closes #67

## Changements - `crates/fractal-ai/src/scheduled.rs` - `ScheduledReply` + `ScheduleStatus` — réponses programmées avec is_due/seconds_remaining - `ScheduledReplyStore` — store in-memory avec schedule/cancel/due_replies/mark_sent - 4 tests unitaires - `crates/fractal-ai/src/summary.rs` - `SummaryMessage`, `SummarizeRequest` — requête de résumé (truncate 200 msgs, build_prompt) - `SummaryStatus`, `ConversationSummarizerVm` — VM du résumeur - 3 tests unitaires - `crates/fractal-ai/src/tts.rs` - `TtsEngine` trait (async_trait, Send+Sync) — synthèse vocale - `PiperEngine`, `EspeakEngine` — backends stub - `VoiceToVoiceState` — machine à états voix-à-voix - 4 tests (dont 2 async tokio) Closes #61 Closes #66 Closes #67
charles closed this pull request 2026-04-06 02:41:27 +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.