From 658d4b6e64bb6faa38746ca43521f5a4404e0a26 Mon Sep 17 00:00:00 2001 From: Thomas Fransolet Date: Thu, 13 Aug 2026 13:14:17 +0200 Subject: [PATCH] manager_api_new : AiChatRequest.isAutoTriggered MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Miroir du champ ajouté côté serveur, édité à la main comme le reste du client — le générateur n'est pas relancé. Le client est partagé avec mymuseum-visitapp et tablet-app par dépendance locale, donc vérifié ici aussi : flutter build web vert. Co-Authored-By: Claude Opus 5 --- manager_api_new/lib/model/ai_chat_request.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/manager_api_new/lib/model/ai_chat_request.dart b/manager_api_new/lib/model/ai_chat_request.dart index 5f1fd79..0b01b00 100644 --- a/manager_api_new/lib/model/ai_chat_request.dart +++ b/manager_api_new/lib/model/ai_chat_request.dart @@ -20,6 +20,7 @@ class AiChatRequest { this.language, this.history = const [], this.isVoice = false, + this.isAutoTriggered = false, }); String? message; @@ -43,6 +44,10 @@ class AiChatRequest { /// true = interaction vocale (lunettes) — prompt audio-friendly, pas de navigation 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 bool operator ==(Object other) => identical(this, other) || @@ -101,6 +106,7 @@ class AiChatRequest { json[r'history'] = null; } json[r'isVoice'] = this.isVoice ?? false; + json[r'isAutoTriggered'] = this.isAutoTriggered ?? false; return json; }