Commit 6f75013
feat(D-G6/D-G7/D-G9): settings delta + TTS context seam + usage metrics
D-G6 — sparse mid-call settings delta (Pipecat ServiceSettings parity):
- SttSettingsDelta {model/language/encoding/sample_rate/punctuation/extra}
(None = not in delta) + merge_into returning the CHANGED-field set (a
field equal to the current value is not a change — no spurious
reconnects).
- BaseSTT::apply_settings_delta — merge + reconnect decision standardized
in the base: reconnect ONLY when a connection-relevant field
(model/language/encoding/sample_rate) changed; non-connection knobs store
via set_config_only without touching the transport. extra overflow rides
opaque and is never connection-relevant.
Pins: merge-only-given + changed-set, equal-value no-op, non-connection 0
reconnects, connection field exactly 1 reconnect, extra roundtrip.
D-G7 — standardized TTS audio-context seam:
- BaseTTS::on_audio_context_interrupted (default delegates to clear(); WS
context-aware providers can override to cancel the specific server-side
context) + on_audio_context_completed (default no-op) — all 36 providers
express the hook through the base, zero changes to speak() sites.
- The barge-in path (VoiceManager::clear_tts) now calls the seam.
Pins: default-interrupted ≡ clear() behavior, completed default no-op.
D-G9 — provider usage metrics:
- waav_tts_chars_total{provider} bumped at the VoiceManager speak choke
point (covers every provider).
- waav_llm_tokens_total{provider,kind} for prompt/completion/cache_read/
cache_creation/reasoning — kinds emitted ONLY when the wire usage object
carried them (details objects parsed); exported at both response sites
(sync + streaming) with a stable AdapterKind::as_str label.
Pins: chars accumulate by text length; kinds split; unreported kinds absent.
Floor: 6101/0 lib (all features) + default-features check + clippy clean.
Live: Deepgram Aura TTS 4 voices green (speak path with chars counter).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 982ba0b commit 6f75013
6 files changed
Lines changed: 351 additions & 3 deletions
File tree
- gateway/src/core
- llm
- metrics
- stt
- tts
- voice_manager
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
49 | 60 | | |
50 | 61 | | |
51 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
404 | 404 | | |
405 | 405 | | |
406 | 406 | | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
407 | 429 | | |
408 | 430 | | |
409 | 431 | | |
| |||
882 | 904 | | |
883 | 905 | | |
884 | 906 | | |
885 | | - | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
886 | 913 | | |
887 | 914 | | |
888 | 915 | | |
| |||
971 | 998 | | |
972 | 999 | | |
973 | 1000 | | |
974 | | - | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
975 | 1007 | | |
976 | 1008 | | |
977 | 1009 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
50 | 58 | | |
51 | 59 | | |
52 | 60 | | |
| |||
276 | 284 | | |
277 | 285 | | |
278 | 286 | | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
279 | 295 | | |
280 | 296 | | |
281 | 297 | | |
| |||
345 | 361 | | |
346 | 362 | | |
347 | 363 | | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
348 | 379 | | |
349 | 380 | | |
350 | 381 | | |
| |||
478 | 509 | | |
479 | 510 | | |
480 | 511 | | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
481 | 544 | | |
482 | 545 | | |
483 | 546 | | |
| |||
0 commit comments