Compare commits

..

No commits in common. "04e73a8832e27aa7e46a8fff978da1f679aca7bf" and "cf60c098c43f5850444b84ace21c731c365847ed" have entirely different histories.

View File

@ -18,10 +18,8 @@ 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,
}); });
String? message; String? message;
@ -40,20 +38,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
bool? isVoice; bool? isVoice;
/// true = tour déclenché par le système (mode proactif), pas demandé par le visiteur.
/// Le backend compte les jetons mais ne journalise pas la question : elle n'en est pas une.
bool? isAutoTriggered;
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
@ -111,13 +100,7 @@ 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;
return json; return json;
} }