p64
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# RetrieX Patch 64 - Frontend Chat Messages Config
|
||||
|
||||
## Ziel
|
||||
|
||||
p64 erweitert den mit p63 eingeführten `chat-messages.yaml`-Schnitt auf die sichtbaren Frontend-Chattexte in `public/index.html` und `public/assets/js/base.js`.
|
||||
|
||||
Ziel ist, dass die im Browser sichtbaren Chat-UI-, Loader-, Status- und Stream-Fallback-Texte nicht mehr hart in HTML/JavaScript gepflegt werden müssen, sondern zentral über `config/retriex/chat-messages.yaml` konfigurierbar sind.
|
||||
|
||||
## Änderungen
|
||||
|
||||
- `config/retriex/chat-messages.yaml`
|
||||
- neuer Bereich `frontend`
|
||||
- UI-Texte für Titel, Header, Buttons, Placeholder, Footer und Optionen
|
||||
- Assistant-Hinweise wie Loader, Abbruch- und History-Cleared-Meldung
|
||||
- Frontend-Stream-Fallback-Meldungen
|
||||
- Run-Meta-Statuslabels
|
||||
- Live-Shopdaten-Chip-Label
|
||||
- konfigurierbare Marker für No-Concrete-Shop-Response-Erkennung
|
||||
|
||||
- `src/Config/ChatMessagesConfig.php`
|
||||
- `getFrontendMessages()` ergänzt
|
||||
- Validation um Frontend-Message-Pfade erweitert
|
||||
- List-Validation für konfigurierbare Guard-Marker ergänzt
|
||||
|
||||
- `src/Controller/ChatMessagesController.php`
|
||||
- neuer JSON-Endpunkt `/chat-messages/frontend`
|
||||
- liefert den `frontend`-Teil aus `chat-messages.yaml` an das Browser-Frontend
|
||||
- no-store/no-cache Header gesetzt
|
||||
|
||||
- `public/assets/js/base.js`
|
||||
- lädt Chat-Frontend-Messages beim Start aus `/chat-messages/frontend`
|
||||
- wendet UI-Texte über `data-chat-message-*` Attribute an
|
||||
- ersetzt sichtbare Loader-/Stream-/Status-/Abbruch-/History-Texte durch YAML-Werte
|
||||
- No-Concrete-Shop-Response-Marker kommen aus YAML statt aus JS-Stringliteralen
|
||||
|
||||
- `public/index.html`
|
||||
- sichtbare harte UI-Texte entfernt
|
||||
- stattdessen `data-chat-message-text`, `data-chat-message-placeholder` und `data-chat-message-aria-label`
|
||||
- Dokumenttitel wird durch `base.js` aus YAML gesetzt
|
||||
|
||||
## Bewusste Nicht-Ziele
|
||||
|
||||
- p64 verschiebt die bereits YAML-basierten Agent-/Production-UI-Blöcke aus `agent.yaml` noch nicht nach `chat-messages.yaml`.
|
||||
- p64 ändert keine RAG-, Shop-, Prompt-, Retrieval- oder Scoring-Logik.
|
||||
- Technische Protokollwerte wie SSE-Eventnamen, Job-Statuswerte, Storage Keys, CSS-Klassen und Debug-/Console-Meldungen bleiben im Code.
|
||||
|
||||
## Checks
|
||||
|
||||
Lokal geprüft:
|
||||
|
||||
```bash
|
||||
php -l src/Config/ChatMessagesConfig.php
|
||||
php -l src/Controller/ChatMessagesController.php
|
||||
php -l src/Controller/AskSseController.php
|
||||
node --check public/assets/js/base.js
|
||||
python3 - <<'PY'
|
||||
import yaml
|
||||
for path in ['config/retriex/chat-messages.yaml', 'config/services.yaml']:
|
||||
with open(path, 'r', encoding='utf-8') as f:
|
||||
yaml.safe_load(f)
|
||||
print(f'YAML OK: {path}')
|
||||
PY
|
||||
```
|
||||
|
||||
Nicht ausführbar im entpackten ZIP ohne `vendor/`:
|
||||
|
||||
```bash
|
||||
php bin/console mto:agent:config:validate
|
||||
```
|
||||
|
||||
Fehler:
|
||||
|
||||
```text
|
||||
Dependencies are missing. Try running "composer install".
|
||||
```
|
||||
|
||||
## Empfohlene manuelle Regression
|
||||
|
||||
Nach Einspielen im echten Projekt mit Vendor-Abhängigkeiten:
|
||||
|
||||
```bash
|
||||
bin/console mto:agent:config:validate
|
||||
bin/console mto:agent:regression:test
|
||||
bin/console mto:agent:config:audit-source --details
|
||||
bin/console mto:agent:config:audit-patterns --details
|
||||
```
|
||||
|
||||
Browser-Check:
|
||||
|
||||
1. Startseite öffnen.
|
||||
2. Prüfen, ob Titel, Header, Buttons, Placeholder und Footer korrekt erscheinen.
|
||||
3. Eine normale Anfrage senden und Loader/Statuskarten prüfen.
|
||||
4. Stream abbrechen und Abbruchmeldung prüfen.
|
||||
5. Chat löschen und History-Cleared-Meldung prüfen.
|
||||
6. Einen Stream-/Reconnect-Fehlerfall prüfen, falls reproduzierbar.
|
||||
|
||||
## Folgearbeit
|
||||
|
||||
Falls wirklich alle chat-sichtbaren Texte in exakt einer Datei liegen sollen, sollte ein späterer Patch die bereits YAML-konfigurierten Agent-UI-Bereiche aus `agent.yaml` nach `chat-messages.yaml` verschieben und die Getter in `AgentRunnerConfig` sauber delegieren oder auf eine Message-spezifische Config-Fassade umstellen.
|
||||
Reference in New Issue
Block a user