manager_api_new : AiChatRequest.conversationId

Le champ existait côté serveur depuis le début mais manquait dans le client
généré — c'est ce qui expliquait que personne ne l'envoyait, et donc qu'aucune
question ne soit reliée à la suivante en base.

Édité à la main, générateur non relancé. flutter build web vert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Thomas Fransolet 2026-08-13 13:39:33 +02:00
parent 658d4b6e64
commit 04e73a8832

View File

@ -18,6 +18,7 @@ class AiChatRequest {
this.appType, this.appType,
this.configurationId, this.configurationId,
this.language, this.language,
this.conversationId,
this.history = const [], this.history = const [],
this.isVoice = false, this.isVoice = false,
this.isAutoTriggered = false, this.isAutoTriggered = false,
@ -39,6 +40,11 @@ class AiChatRequest {
String? language; String? language;
/// GUID de session généré par le client, stable sur une conversation.
/// Seul lien entre deux tours côté serveur : sans lui, `AiController` en génère
/// un par appel et chaque question devient une conversation isolée en base.
String? conversationId;
List<AiChatMessage>? history; List<AiChatMessage>? history;
/// true = interaction vocale (lunettes) prompt audio-friendly, pas de navigation /// true = interaction vocale (lunettes) prompt audio-friendly, pas de navigation
@ -105,6 +111,11 @@ class AiChatRequest {
} else { } else {
json[r'history'] = null; json[r'history'] = null;
} }
if (this.conversationId != null) {
json[r'conversationId'] = this.conversationId;
} else {
json[r'conversationId'] = null;
}
json[r'isVoice'] = this.isVoice ?? false; json[r'isVoice'] = this.isVoice ?? false;
json[r'isAutoTriggered'] = this.isAutoTriggered ?? false; json[r'isAutoTriggered'] = this.isAutoTriggered ?? false;
return json; return json;