fix: Restore all files lost during destructive rebase
A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.
This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).
Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
60
backend/frontend/modules/alerts.py
Normal file
60
backend/frontend/modules/alerts.py
Normal file
@@ -0,0 +1,60 @@
|
||||
"""
|
||||
BreakPilot Studio - Alerts Agent Modul
|
||||
|
||||
Dieses Modul bietet:
|
||||
- Google Alerts Monitoring Inbox
|
||||
- Topic Management (RSS Feeds, Email Parsing)
|
||||
- Rule Builder (regelbasierte Filterung)
|
||||
- Relevance Profile Editor
|
||||
- Alert Actions (Email, Webhook, Slack)
|
||||
|
||||
Zielgruppe: Schulverwaltung, Marketing, PR-Teams
|
||||
Design-Prinzip: Einheitliche Inbox fuer alle Alerts mit AI-gestuetzter Relevanzpruefung
|
||||
|
||||
Die CSS, HTML und JS sind in separate Module ausgelagert:
|
||||
- alerts_css.py
|
||||
- alerts_html.py
|
||||
- alerts_js.py
|
||||
"""
|
||||
|
||||
from .alerts_css import get_alerts_css
|
||||
from .alerts_html import get_alerts_html
|
||||
from .alerts_js import get_alerts_js
|
||||
|
||||
|
||||
class AlertsModule:
|
||||
"""Alerts Agent Modul mit Inbox, Topics und Rules."""
|
||||
|
||||
name = "alerts"
|
||||
display_name = "Alerts Agent"
|
||||
icon = "notification"
|
||||
|
||||
@staticmethod
|
||||
def get_css() -> str:
|
||||
return get_alerts_css()
|
||||
|
||||
@staticmethod
|
||||
def get_html() -> str:
|
||||
return get_alerts_html()
|
||||
|
||||
@staticmethod
|
||||
def get_js() -> str:
|
||||
return get_alerts_js()
|
||||
|
||||
@staticmethod
|
||||
def render() -> dict:
|
||||
"""Rendert das komplette Modul."""
|
||||
return {
|
||||
"css": AlertsModule.get_css(),
|
||||
"html": AlertsModule.get_html(),
|
||||
"js": AlertsModule.get_js(),
|
||||
}
|
||||
|
||||
|
||||
# Legacy exports für Rückwärtskompatibilität
|
||||
__all__ = [
|
||||
"AlertsModule",
|
||||
"get_alerts_css",
|
||||
"get_alerts_html",
|
||||
"get_alerts_js",
|
||||
]
|
||||
Reference in New Issue
Block a user