FOnline Engine
Current master GitHub
Документация Docs/ru/reference/ai-control-protocol/wire.md

Wire-контракт AiControl

Сгенерированный справочник. Не редактируйте его напрямую. Измените BuildTools/AiControlProtocol.json, затем запустите python BuildTools/docs_ai_control_protocol.py --write.

Обзор Wire-контракт Методы Команды и события Безопасность Интеграция и проверка Канонический JSON Руководство
Стабильный ID Правило Требование Обоснование Источник
ai-control-protocol.wire.tcp-stream Поток байтов TCP Bridge принимает явно настроенный TCP endpoint; клиенты не должны предполагать наличие discovery, TLS, HTTP или WebSocket framing. Общие проектные реализации являются локальными каналами инструментов, а не протоколом интернет-сервиса. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.wire.ndjson Один объект JSON в строке Каждый запрос и ответ является одним объектом JSON, завершённым LF; peers обрабатывают строки в порядке соединения. Строчный framing допускает потоковую обработку, удобен для инспекции и используется обоими проверенными проектными bridges. BuildTools/ai_control_client.py
ai-control-protocol.wire.utf8 Кодировка UTF-8 Строки JSON кодируются и декодируются как строгий UTF-8; неверные данные получают parse error или приводят к закрытию соединения. Проектные наблюдения и payload действий могут содержать локализованный текст. BuildTools/ai_control_client.py
ai-control-protocol.wire.line-limit Ограниченный размер строки JSON payload запроса или ответа не превышает 1 МиБ до LF; слишком большой ввод отклоняется, а соединение может быть закрыто. Даже локальному каналу автоматизации нужны детерминированные пределы памяти. BuildTools/ai_control_client.py
ai-control-protocol.wire.request-envelope Конверт запроса Объект запроса содержит jsonrpc=2.0, выбранный вызывающей стороной id, непустую строку method и объект params. Небольшой конверт по форме JSON-RPC даёт корреляцию, не заявляя полную спецификацию JSON-RPC. BuildTools/ai_control_client.py
ai-control-protocol.wire.response-envelope Конверт ответа Ответ повторяет jsonrpc=2.0 и id запроса, затем содержит ровно одно из result или error; error содержит целочисленный code и строковый message. Строгая корреляция не позволяет одному шагу автоматизации получить результат другого шага. BuildTools/ai_control_client.py
ai-control-protocol.wire.sequential-connection Последовательная обработка запросов Клиент отправляет запрос и получает соответствующий ответ до повторного использования соединения; клиенты не должны требовать multiplexing или нескольких одновременных запросов. Контракт остаётся реализуемым одним проектным listener и не создаёт скрытых гонок порядка. BuildTools/ai_control_client.py

Коды ошибок

Стабильный ID Код Имя Применение Источник
ai-control-protocol.error.parse -32700 Ошибка разбора Отклоняет неверный UTF-8 JSON. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.error.invalid-request -32600 Некорректный запрос Отклоняет не-объект, неверный конверт, отсутствующий method или слишком большой запрос. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.error.method-not-found -32601 Метод не найден Отклоняет неизвестный метод протокола. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.error.invalid-params -32602 Некорректные параметры Отклоняет отсутствующий тип команды или структурно неверные параметры метода. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.error.unauthorized -32001 Нет авторизации Если token настроен, отклоняет все методы, кроме auth, пока соединение не авторизовано. Examples/AiControlSample/ai_control_sample.py
ai-control-protocol.error.queue-full -32002 Очередь команд заполнена Отклоняет act, когда в ограниченной проектной очереди команд нет места. Examples/AiControlSample/ai_control_sample.py
Введите запрос.