# l-ai-chat-proto Protobuf-контракты Live Chat (`l-ai-chat`). Репозиторий хранит и `.proto`, и сгенерированный Go-код (как остальные proto-модули проекта). ## Содержимое - `chat.proto` — единый контракт `ChatService` (topics, post/get/history, subscribe, acknowledge) + `Message`/`Topic` + enums `AuthorType`/`MessageSource`. - `chat.pb.go`, `chat_grpc.pb.go` — сгенерированный код, закоммичен. ## Регенерация Нужны `protoc` + `protoc-gen-go` + `protoc-gen-go-grpc` в PATH: ```bat generate_proto.bat ``` Сгенерированный код коммитится в этот репозиторий; сервисы подключают его как git submodule (см. `l-ai-chat/proto/l-ai-chat-proto`). ## Соглашения - `package chat`, `option go_package = "git.be.kaien.ru/l-ai/l-ai-chat-proto/proto"`. - Enum-значения префиксованы (`AUTHOR_TYPE_*`, `MESSAGE_SOURCE_*`) — избегаем C++-scoping коллизий. - История пагинируется по `sequence` (`before_sequence`/`after_sequence`), offset-пагинации нет.