dschlueter
1816a26734
feat: Notruf-Eskalation per SMS/Anruf (provider-agnostischer Webhook)
Zweiter Benachrichtigungskanal neben der E-Mail: bei einem Notruf geht
zusätzlich ein JSON-POST an EMERGENCY_WEBHOOK_URL mit Kanälen (sms,call),
Kontakt-Telefonnummern und fertigen SMS-/Anruf-Texten. Den konkreten
Gateway (Twilio, seven.io, sipgate, eigener Dienst) verdrahtet der
Empfänger dahinter — kein Provider-Lock-in im Code.
- config: EMERGENCY_WEBHOOK_URL aktiviert + _TOKEN (Bearer), _CONTACT_PHONE
(CSV/E.164), _WEBHOOK_CHANNELS (default sms,call)
- emergency.py: async httpx-POST (best effort), Telefon-Auflösung analog
zur E-Mail (Pref emergency_phones > Default), notified = email OR webhook;
Hinweise kanal-neutral formuliert; Response um webhook_sent + channels ergänzt
- Tests: Webhook-Versand inkl. Payload/Bearer-Header + "ohne URL kein POST"
- Doku: §10 + Env-Var-Tabelle aktualisiert (zwei Kanäle, Payload-Format)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-06-25 10:17:49 +02:00 |
| .. |
|
api
|
feat(3c): OpenRouter-Modelle live & selbst-aktualisierend statt erfunden
|
2026-06-25 05:01:05 +02:00 |
|
audio
|
feat: Barge-in/Turn-Manager und VAD-Aeusserungserkennung (#4 Ausbau)
|
2026-06-17 05:06:58 +02:00 |
|
core
|
feat(P3): Diktat in Fremdsprache → Übersetzung in die Zielsprache
|
2026-06-25 03:30:37 +02:00 |
|
pipeline
|
feat(tts): Emojis/Markdown beim Vorlesen entfernen + Autostart/GPU-Doku
|
2026-06-20 18:25:45 +02:00 |
|
providers
|
fix: audioop-DeprecationWarning beim Resampling unterdrücken
|
2026-06-25 00:52:25 +02:00 |
|
safety
|
feat: Notruf-Eskalation per SMS/Anruf (provider-agnostischer Webhook)
|
2026-06-25 10:17:49 +02:00 |
|
utils
|
Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament
|
2026-06-17 01:48:56 +02:00 |
|
web
|
feat(3c): OpenRouter-Modelle live & selbst-aktualisierend statt erfunden
|
2026-06-25 05:01:05 +02:00 |
|
__init__.py
|
Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament
|
2026-06-17 01:48:56 +02:00 |
|
admin_llm.py
|
fix(admin): Phase 0 — Log & Restart reparieren, Status auf Wahrheit
|
2026-06-25 02:27:18 +02:00 |
|
audit.py
|
feat(admin): Audit-Logging schreibender Admin-Aktionen — Plan-Schritt 5
|
2026-06-20 18:50:55 +02:00 |
|
auth.py
|
feat(2-Schritt2): Login-Link + persistentes is_admin-Flag pro Nutzer
|
2026-06-25 04:33:33 +02:00 |
|
config.py
|
feat: Notruf-Eskalation per SMS/Anruf (provider-agnostischer Webhook)
|
2026-06-25 10:17:49 +02:00 |
|
dependencies.py
|
feat(2a): Erlaubte Sprachen pro Nutzer (Admin-Vorgabe)
|
2026-06-25 04:06:09 +02:00 |
|
errors.py
|
Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament
|
2026-06-17 01:48:56 +02:00 |
|
main.py
|
feat(2-Schritt3): nginx-Cutover — App per Token-Link, Admin hinter Authelia
|
2026-06-25 04:45:11 +02:00 |
|
metrics.py
|
feat: Resilienz (Fallback-Ketten) und Metriken (#5)
|
2026-06-17 05:19:07 +02:00 |
|
quota.py
|
feat(admin): Phase 3 — Laufzeit-Konfiguration ohne Server-Neustart
|
2026-06-19 01:39:36 +02:00 |
|
runtime_config.py
|
feat(1a): Flex-Sprachmodus vollständig entfernen
|
2026-06-25 02:51:17 +02:00 |
|
schemas.py
|
feat(2-Schritt2): Login-Link + persistentes is_admin-Flag pro Nutzer
|
2026-06-25 04:33:33 +02:00 |
|
store.py
|
feat(2-Schritt2): Login-Link + persistentes is_admin-Flag pro Nutzer
|
2026-06-25 04:33:33 +02:00 |