Тема
Подключение в Gateway
Gateway ставит одну зависимость и получает судью, словари и правила перевода. Новая версия контракта не требует правок кода Gateway — только обновления пакета (конституция, принцип VII).
ts
import { ERROR_SIDES, contractLock } from "@digital-shift/mcp-contract";
import { validateToolList, validateResult, planTranslation, resolveSide } from "@digital-shift/mcp-contract/check";- Сторона ошибки назначается по таблице
error_sidesиз слепка, а не по коду Gateway. Значениеside, пришедшее от бизнеса, перезаписывается. - Перевод версий применяется только к механическим разломам и только по правилам
translationsиз слепка. Разрыв цепочки — ошибкаtool_outdated_for_agent. - Отсечение аргументов (правило, не схема): если схема входа, объявленная бизнесом в
tools/list, запрещает дополнительные поля, Gateway перед пересылкой убирает аргументы, которых в ней нет. Так добавление необязательных аргументов в контракт не ломает бизнес со строгой схемой. При открытой схеме бизнеса ничего не убирается. Имена отброшенных полей пишутся в трассу вызова. - Предел размера ответа — 32000 символов сериализованного
structuredContent; превышение фиксируется какresult_too_large.