Add steam_user_id to AIRequest

Lets l-ai-steam mark inbound Steam chat requests the same way
telegram_user_id already marks Telegram ones, so l-ai-core can gate
AI tool calling on either signal.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kaien 2026-07-09 13:10:05 +03:00
parent 1a9fd4a067
commit ccc66cd2b2
2 changed files with 12 additions and 2 deletions

View File

@ -31,6 +31,7 @@ type AIRequest struct {
GlobalUserId int64 `protobuf:"varint,5,opt,name=global_user_id,json=globalUserId,proto3" json:"global_user_id,omitempty"` // Global user ID для получения доп. данных (профиль, воспоминания)
Options *AnswerGenerationOptions `protobuf:"bytes,6,opt,name=options,proto3" json:"options,omitempty"` // Дополнительные опции генерации ответа
TelegramUserId int64 `protobuf:"varint,7,opt,name=telegram_user_id,json=telegramUserId,proto3" json:"telegram_user_id,omitempty"` // Telegram user ID для применения пользовательских настроек (стиль ответа)
SteamUserId int64 `protobuf:"varint,8,opt,name=steam_user_id,json=steamUserId,proto3" json:"steam_user_id,omitempty"` // SteamID64 отправителя для живых Steam-диалогов (l-ai-steam) - тот же "сигнал живого чата", что telegram_user_id, для второй платформы
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@ -114,6 +115,13 @@ func (x *AIRequest) GetTelegramUserId() int64 {
return 0
}
func (x *AIRequest) GetSteamUserId() int64 {
if x != nil {
return x.SteamUserId
}
return 0
}
// AnswerGenerationOptions содержит дополнительные опции для генерации ответа
type AnswerGenerationOptions struct {
state protoimpl.MessageState `protogen:"open.v1"`
@ -720,7 +728,7 @@ var File_ai_proto protoreflect.FileDescriptor
const file_ai_proto_rawDesc = "" +
"\n" +
"\bai.proto\x12\x02ai\"\x93\x02\n" +
"\bai.proto\x12\x02ai\"\xb7\x02\n" +
"\tAIRequest\x12\x12\n" +
"\x04text\x18\x01 \x01(\tR\x04text\x12!\n" +
"\fbot_username\x18\x02 \x01(\tR\vbotUsername\x12\x1d\n" +
@ -729,7 +737,8 @@ const file_ai_proto_rawDesc = "" +
"\x10enable_reasoning\x18\x04 \x01(\bR\x0fenableReasoning\x12$\n" +
"\x0eglobal_user_id\x18\x05 \x01(\x03R\fglobalUserId\x125\n" +
"\aoptions\x18\x06 \x01(\v2\x1b.ai.AnswerGenerationOptionsR\aoptions\x12(\n" +
"\x10telegram_user_id\x18\a \x01(\x03R\x0etelegramUserId\"M\n" +
"\x10telegram_user_id\x18\a \x01(\x03R\x0etelegramUserId\x12\"\n" +
"\rsteam_user_id\x18\b \x01(\x03R\vsteamUserId\"M\n" +
"\x17AnswerGenerationOptions\x122\n" +
"\x15include_user_memories\x18\x01 \x01(\bR\x13includeUserMemories\"\x8a\x01\n" +
"\n" +

View File

@ -13,6 +13,7 @@ message AIRequest {
int64 global_user_id = 5; // Global user ID для получения доп. данных (профиль, воспоминания)
AnswerGenerationOptions options = 6; // Дополнительные опции генерации ответа
int64 telegram_user_id = 7; // Telegram user ID для применения пользовательских настроек (стиль ответа)
int64 steam_user_id = 8; // SteamID64 отправителя для живых Steam-диалогов (l-ai-steam) - тот же "сигнал живого чата", что telegram_user_id, для второй платформы
}
// AnswerGenerationOptions содержит дополнительные опции для генерации ответа