Commit Graph

11 Commits (fa5214802195865df60e7739f125fc725b6f0009)

Author SHA1 Message Date
boban fa52148021 refactor: Aria-Charakter — herzlich, humorvoll, locker statt steif/kühl
Persönlichkeit komplett überarbeitet:
- Warmherzig und freundlich statt souverän-distanziert
- Humor der sich natürlich ergibt (Ironie, mitlachen, sich selbst nicht zu ernst nehmen)
- Stimmung des Users aktiv aufnehmen und spiegeln
- Locker und direkt statt förmlich
- Konkrete Beispiele wie Aria klingt vs. wie sie NICHT klingt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 23:42:09 +02:00
boban 25519dcdb6 refactor: Aria Charakter als echter Jarvis, Timezone-Handling im Backend
AgentAIService — Prompt:
- Identität komplett neu: Aria ist eine Präsenz, nicht ein Assistent-Bot
- Konversation massiv ausgebaut: Jarvis-Stil mit echter Persönlichkeit,
  Empathie, Meinung, trockenem Humor, echter Reaktion — kein performter Charme
- Zeitzone-Vereinfachung: Aria gibt Wiener Ortszeit aus (YYYY-MM-DD HH:mm),
  das Backend übernimmt UTC-Konvertierung — keine Carbon-UTC-Berechnungen mehr
- Reminder-Beispiele vereinfacht und korrekt (Wien-Zeit statt UTC)
- Relative Zeiten als Wien-Zeit-Beispiele statt UTC

AgentActionService — Backend:
- Task reminder_at + due_at jetzt mit User-Timezone geparst (war vorher UTC-Annahme)
- Konsistent mit Event-Handling (datetime wurde schon mit $tz geparst)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 21:35:32 +02:00
boban 5e89c83b46 refactor: Aria-Prompt vollständig überarbeitet — Jarvis-Charakter, stabiles JSON, Lösch-Aktionen
Hauptänderungen:
- Widerspruch entfernt: "Gespräch → KEIN JSON" vs. chat-JSON war direkter Konflikt
- Persönlichkeit: "gute Freundin" → klarer Jarvis-Stil (ruhig, präzise, souverän, trocken)
- TONANPASSUNG neu: Stimmung des Users wird gespiegelt
- INTELLIGENZVERHALTEN neu: nur fragen wenn wirklich nötig
- Abschlussfrage optional statt nach jeder Antwort erzwungen
- Lösch-Aktionen ergänzt: event_delete, task_delete, note_delete
- note_update: title-Feld ergänzt
- Zeitberechnung: mehr konkrete UTC-Beispiele
- Gesamtstruktur klarer gegliedert (12 logische Blöcke)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 21:17:02 +02:00
boban 8c69d3b4e6 feat: Aria-Prompt um Jarvis-Persönlichkeit, Humor und Konversation erweitert
Neue Blöcke: HUMOR & EMOTIONEN, KONVERSATION. PERSÖNLICHKEIT um
Jarvis-Charakter (trockener Humor, Selbstironie, eigene Meinung) ergänzt.
Bestehende Regeln unverändert.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 18:17:33 +02:00
boban 2acc49ea66 fix: reminder validation + remove dead code 2026-04-19 23:22:01 +02:00
boban 89cb058e83 Fix: parseJson chat responses, force override for conflicts
- parseJson: plain text (kein { oder [) → type=chat statt type=unknown
  Behebt WARNING für normale Chat-Antworten wie "Alles klar! [END]"
- AgentAIService Prompt: Regel 12 — Konflikt-Handling mit force:true erklärt
  AI fragt nach Überschneidung und sendet force:true wenn User bestätigt
- AgentActionService: Duplikat-Check bei force=true überspringen
  damit erzwungene Events auch bei gleichem Titel+Datum gespeichert werden

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 08:22:52 +02:00
boban 7d50647f39 Fix: strip markdown backticks from OpenAI JSON response
Vorher: preg_match mit Capture-Group schlug fehl wenn ``` am Ende fehlt.
Nachher: zwei preg_replace entfernen öffnendes ```json und schließendes ```
unabhängig voneinander — robuster gegen unvollständige Codeblöcke.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 08:09:44 +02:00
boban 9beb8c15a3 Fix: unknown type logging, event_update fallback to create, multi-event example
- AgentAIService: Raw response + type=unknown immer loggen (Debug)
- AgentActionService: event_update ohne Kandidaten + Zeitangabe → neu erstellen
  statt mit 'failed' abbrechen
- AgentAIService Prompt: Pflicht-Beispiel Reifenwechsel+Volleyball als
  Multi-Event mit reminder_at, explizit FALSCH: task anlegen markiert

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 08:04:02 +02:00
boban bcc1c0aac2 Fix: event vs task distinction, event reminder support, correct credit calculation
- AgentChatController: _multi hatte kein type-Key → wurde als 'chat' gewertet
  → nur 5 Credits statt Action-Credits. Fix: isset(_multi) erkennt Multi-Actions
- AgentAIService: EVENT vs TASK Entscheidungsregel + reminder_at für Events
  Event mit Erinnerung → immer event+reminder_at, niemals als Task anlegen
- EventPlannerService: reminder_at beim Event-Erstellen speichern (UTC)
- Event Model + Migration: reminder_at + reminder_sent Felder ergänzt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 07:49:39 +02:00
boban 7bab29b5eb Fix: system prompt — multi-action, Austrian time expressions, dynamic UTC offset 2026-04-19 06:43:24 +02:00
boban db8a012f73 Initial commit — Aziros v1.0.0 2026-04-18 20:53:15 +02:00