ai-roles: нет серверной валидации модели роли + дрейф enum драйверов #52

Closed
opened 2026-06-21 00:23:41 +03:00 by Ghost · 0 comments

Найдено при написании тестов (хвост PR #49).

chatModel у роли — свободная строка MaxLength(200) в apps/server/src/core/ai-chat/roles/dto/agent-role.dto.ts; невалидная модель принимается на create/update и падает только в рантайме как provider-ошибка/503. Плюс клиентский enum драйверов в apps/client/src/features/workspace/components/settings/components/ai-agent-role-form.tsx захардкожен и может разойтись с серверным AI_DRIVERS (apps/server/src/integrations/ai/ai.types.ts).

Предложение: серверный allow-list моделей (или хотя бы валидация драйвера + формата id), shared-константа драйверов или contract-тест, ловящий дрейф клиент↔сервер.

Найдено при написании тестов (хвост PR #49). `chatModel` у роли — свободная строка `MaxLength(200)` в `apps/server/src/core/ai-chat/roles/dto/agent-role.dto.ts`; невалидная модель принимается на create/update и падает только в рантайме как provider-ошибка/503. Плюс клиентский enum драйверов в `apps/client/src/features/workspace/components/settings/components/ai-agent-role-form.tsx` захардкожен и может разойтись с серверным `AI_DRIVERS` (`apps/server/src/integrations/ai/ai.types.ts`). **Предложение:** серверный allow-list моделей (или хотя бы валидация драйвера + формата id), shared-константа драйверов или contract-тест, ловящий дрейф клиент↔сервер.
Ghost added the bugsecurity labels 2026-06-21 02:27:19 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: vvzvlad/gitmost#52