Skip to content

Подключение в 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.