[{"data":1,"prerenderedAt":692},["ShallowReactive",2],{"docs-navigation":3,"docs-page:\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-engine":293,"docs-surround:\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-engine":687},[4],{"title":5,"path":6,"stem":7,"children":8,"page":33},"Docs","\u002Fdocs","docs",[9,182,274],{"title":10,"icon":11,"path":12,"stem":13,"children":14},"Документация","i-lucide-book-open","\u002Fdocs\u002Fguide","docs\u002F1.guide\u002Findex",[15,17,34,65,121,131,152],{"title":16,"path":12,"stem":13},"Обзор",{"title":18,"icon":19,"path":20,"stem":21,"children":22,"page":33},"Основы","i-lucide-compass","\u002Fdocs\u002Fguide\u002Fbasics","docs\u002F1.guide\u002F1.basics",[23,28],{"title":24,"path":25,"stem":26,"order":27},"Основные понятия и модель","\u002Fdocs\u002Fguide\u002Fbasics\u002Fconcepts","docs\u002F1.guide\u002F1.basics\u002F1.concepts",2,{"title":29,"path":30,"stem":31,"order":32},"Быстрый старт","\u002Fdocs\u002Fguide\u002Fbasics\u002Fgetting-started","docs\u002F1.guide\u002F1.basics\u002F2.getting-started",3,false,{"title":35,"icon":36,"path":37,"stem":38,"children":39,"page":33},"Установка и обслуживание","i-lucide-server-cog","\u002Fdocs\u002Fguide\u002Foperations","docs\u002F1.guide\u002F2.operations",[40,45,50,55,60],{"title":41,"path":42,"stem":43,"order":44},"Архитектура","\u002Fdocs\u002Fguide\u002Foperations\u002Farchitecture","docs\u002F1.guide\u002F2.operations\u002F1.architecture",6,{"title":46,"path":47,"stem":48,"order":49},"Развёртывание и эксплуатация","\u002Fdocs\u002Fguide\u002Foperations\u002Fdeployment","docs\u002F1.guide\u002F2.operations\u002F2.deployment",7,{"title":51,"path":52,"stem":53,"order":54},"Безопасность и контроль данных","\u002Fdocs\u002Fguide\u002Foperations\u002Fsecurity","docs\u002F1.guide\u002F2.operations\u002F3.security",8,{"title":56,"path":57,"stem":58,"order":59},"Наблюдаемость и разбор инцидентов","\u002Fdocs\u002Fguide\u002Foperations\u002Fobservability","docs\u002F1.guide\u002F2.operations\u002F4.observability",9,{"title":61,"path":62,"stem":63,"order":64},"Администрирование","\u002Fdocs\u002Fguide\u002Foperations\u002Fadministration","docs\u002F1.guide\u002F2.operations\u002F5.administration",10,{"title":66,"icon":67,"path":68,"stem":69,"children":70},"Сервисы","i-lucide-boxes","\u002Fdocs\u002Fguide\u002Fservices","docs\u002F1.guide\u002F3.services\u002Findex",[71,73,77,81,85,89,93,97,101,105,109,113,117],{"title":72,"path":68,"stem":69},"Каталог сервисов",{"title":74,"path":75,"stem":76},"api","\u002Fdocs\u002Fguide\u002Fservices\u002Fapi","docs\u002F1.guide\u002F3.services\u002F01.api",{"title":78,"path":79,"stem":80},"auth-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fauth-service","docs\u002F1.guide\u002F3.services\u002F02.auth-service",{"title":82,"path":83,"stem":84},"runtime-engine","\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-engine","docs\u002F1.guide\u002F3.services\u002F03.runtime-engine",{"title":86,"path":87,"stem":88},"runtime-control-plane","\u002Fdocs\u002Fguide\u002Fservices\u002Fruntime-control-plane","docs\u002F1.guide\u002F3.services\u002F04.runtime-control-plane",{"title":90,"path":91,"stem":92},"executor","\u002Fdocs\u002Fguide\u002Fservices\u002Fexecutor","docs\u002F1.guide\u002F3.services\u002F05.executor",{"title":94,"path":95,"stem":96},"secret-manager","\u002Fdocs\u002Fguide\u002Fservices\u002Fsecret-manager","docs\u002F1.guide\u002F3.services\u002F06.secret-manager",{"title":98,"path":99,"stem":100},"plugin-manager","\u002Fdocs\u002Fguide\u002Fservices\u002Fplugin-manager","docs\u002F1.guide\u002F3.services\u002F07.plugin-manager",{"title":102,"path":103,"stem":104},"scheduler","\u002Fdocs\u002Fguide\u002Fservices\u002Fscheduler","docs\u002F1.guide\u002F3.services\u002F08.scheduler",{"title":106,"path":107,"stem":108},"preset-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fpreset-service","docs\u002F1.guide\u002F3.services\u002F09.preset-service",{"title":110,"path":111,"stem":112},"file-service","\u002Fdocs\u002Fguide\u002Fservices\u002Ffile-service","docs\u002F1.guide\u002F3.services\u002F10.file-service",{"title":114,"path":115,"stem":116},"flow-agent","\u002Fdocs\u002Fguide\u002Fservices\u002Fflow-agent","docs\u002F1.guide\u002F3.services\u002F11.flow-agent",{"title":118,"path":119,"stem":120},"search-service","\u002Fdocs\u002Fguide\u002Fservices\u002Fsearch-service","docs\u002F1.guide\u002F3.services\u002F12.search-service",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":33},"Справочник","i-lucide-list","\u002Fdocs\u002Fguide\u002Freference","docs\u002F1.guide\u002F4.reference",[127],{"title":128,"path":129,"stem":130},"Конфигурация, CLI и коды ошибок","\u002Fdocs\u002Fguide\u002Freference\u002Fconfig","docs\u002F1.guide\u002F4.reference\u002F1.config",{"title":132,"icon":133,"path":134,"stem":135,"children":136,"page":33},"О продукте","i-lucide-target","\u002Fdocs\u002Fguide\u002Fproduct","docs\u002F1.guide\u002F5.product",[137,142,147],{"title":138,"path":139,"stem":140,"order":141},"Оценка и выбор","\u002Fdocs\u002Fguide\u002Fproduct\u002Fevaluation","docs\u002F1.guide\u002F5.product\u002F1.evaluation",13,{"title":143,"path":144,"stem":145,"order":146},"О проекте и поддержка","\u002Fdocs\u002Fguide\u002Fproduct\u002Fabout","docs\u002F1.guide\u002F5.product\u002F2.about",14,{"title":148,"path":149,"stem":150,"order":151},"Roadmap","\u002Fdocs\u002Fguide\u002Fproduct\u002Froadmap","docs\u002F1.guide\u002F5.product\u002F3.roadmap",15,{"title":153,"icon":154,"path":155,"stem":156,"children":157,"page":33},"Cookbook","i-lucide-chef-hat","\u002Fdocs\u002Fguide\u002Fcookbook","docs\u002F1.guide\u002F6.cookbook",[158,162,166,170,174,178],{"title":159,"path":160,"stem":161},"Развернуть Conveyor","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fdeploy","docs\u002F1.guide\u002F6.cookbook\u002F1.deploy",{"title":163,"path":164,"stem":165},"Создать рабочее пространство","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fcreate-workspace","docs\u002F1.guide\u002F6.cookbook\u002F2.create-workspace",{"title":167,"path":168,"stem":169},"Создать процесс","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fcreate-process","docs\u002F1.guide\u002F6.cookbook\u002F3.create-process",{"title":171,"path":172,"stem":173},"Управление плагинами","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fmanage-plugins","docs\u002F1.guide\u002F6.cookbook\u002F4.manage-plugins",{"title":175,"path":176,"stem":177},"Процесс как MCP","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fpublish-process-mcp","docs\u002F1.guide\u002F6.cookbook\u002F5.publish-process-mcp",{"title":179,"path":180,"stem":181},"Сгенерировать процесс генераатором","\u002Fdocs\u002Fguide\u002Fcookbook\u002Fflow-generator","docs\u002F1.guide\u002F6.cookbook\u002F6.flow-generator",{"title":183,"icon":184,"path":185,"stem":186,"children":187},"Работа с Conveyor","i-lucide-workflow","\u002Fdocs\u002Fusage","docs\u002F2.usage\u002Findex",[188,189,193,197,201,266,270],{"title":183,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"Регистрация и аутентификация","\u002Fdocs\u002Fusage\u002Fauth","docs\u002F2.usage\u002F1.auth",{"title":194,"path":195,"stem":196},"Возможности и ограничения","\u002Fdocs\u002Fusage\u002Fcapabilities","docs\u002F2.usage\u002F2.capabilities",{"title":198,"path":199,"stem":200},"Концепция распределённого исполнения","\u002Fdocs\u002Fusage\u002Fdistributed-execution","docs\u002F2.usage\u002F3.distributed-execution",{"title":202,"icon":203,"path":204,"stem":205,"children":206},"Интерфейс редактора","i-lucide-layout-dashboard","\u002Fdocs\u002Fusage\u002Feditor","docs\u002F2.usage\u002F4.editor\u002Findex",[207,208,212,230,234,238,242,246,250,254,258,262],{"title":202,"path":204,"stem":205},{"title":209,"path":210,"stem":211},"Настройки интерфейса","\u002Fdocs\u002Fusage\u002Feditor\u002Fsettings","docs\u002F2.usage\u002F4.editor\u002F01.settings",{"title":213,"icon":184,"path":214,"stem":215,"children":216},"Процессы","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002Findex",[217,218,222,226],{"title":213,"path":214,"stem":215},{"title":219,"path":220,"stem":221},"Настройки","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fsettings","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F1.settings",{"title":223,"path":224,"stem":225},"История Запусков и логи","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fhistory-logs","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F2.history-logs",{"title":227,"path":228,"stem":229},"Сохранение, запуск и отладка","\u002Fdocs\u002Fusage\u002Feditor\u002Fprocesses\u002Fsave-run-debug","docs\u002F2.usage\u002F4.editor\u002F02.processes\u002F3.save-run-debug",{"title":231,"path":232,"stem":233},"Библиотека","\u002Fdocs\u002Fusage\u002Feditor\u002Flibrary","docs\u002F2.usage\u002F4.editor\u002F03.library",{"title":235,"path":236,"stem":237},"Воркспейсы","\u002Fdocs\u002Fusage\u002Feditor\u002Fworkspaces","docs\u002F2.usage\u002F4.editor\u002F04.workspaces",{"title":239,"path":240,"stem":241},"Секреты","\u002Fdocs\u002Fusage\u002Feditor\u002Fsecrets","docs\u002F2.usage\u002F4.editor\u002F05.secrets",{"title":243,"path":244,"stem":245},"Плагины","\u002Fdocs\u002Fusage\u002Feditor\u002Fplugins","docs\u002F2.usage\u002F4.editor\u002F06.plugins",{"title":247,"path":248,"stem":249},"Шаблоны","\u002Fdocs\u002Fusage\u002Feditor\u002Ftemplates","docs\u002F2.usage\u002F4.editor\u002F07.templates",{"title":251,"path":252,"stem":253},"Консоль логов","\u002Fdocs\u002Fusage\u002Feditor\u002Flog-console","docs\u002F2.usage\u002F4.editor\u002F08.log-console",{"title":255,"path":256,"stem":257},"Подтверждения шагов","\u002Fdocs\u002Fusage\u002Feditor\u002Fstep-confirmations","docs\u002F2.usage\u002F4.editor\u002F09.step-confirmations",{"title":259,"path":260,"stem":261},"Внешние инструменты","\u002Fdocs\u002Fusage\u002Feditor\u002Fexternal-tools","docs\u002F2.usage\u002F4.editor\u002F10.external-tools",{"title":263,"path":264,"stem":265},"Работа с аккаунтом","\u002Fdocs\u002Fusage\u002Feditor\u002Faccount","docs\u002F2.usage\u002F4.editor\u002F11.account",{"title":267,"path":268,"stem":269},"Работа с API","\u002Fdocs\u002Fusage\u002Fapi","docs\u002F2.usage\u002F5.api",{"title":271,"path":272,"stem":273},"MCP: платформа как сервер","\u002Fdocs\u002Fusage\u002Fmcp","docs\u002F2.usage\u002F6.mcp",{"title":243,"icon":275,"path":276,"stem":277,"children":278},"i-lucide-blocks","\u002Fdocs\u002Fplugins","docs\u002F3.plugins\u002Findex",[279,281,285,289],{"title":280,"path":276,"stem":277},"Плагины и интеграции",{"title":282,"path":283,"stem":284},"Разработка плагина (SDK)","\u002Fdocs\u002Fplugins\u002Fdevelop","docs\u002F3.plugins\u002F1.develop",{"title":286,"path":287,"stem":288},"Подключение и интеграции","\u002Fdocs\u002Fplugins\u002Fconnect","docs\u002F3.plugins\u002F2.connect",{"title":290,"path":291,"stem":292},"API и MCP","\u002Fdocs\u002Fplugins\u002Fapi","docs\u002F3.plugins\u002F3.api",{"id":294,"title":82,"body":295,"description":681,"extension":682,"meta":683,"navigation":684,"path":83,"seo":685,"stem":84,"__hash__":686},"docs\u002Fdocs\u002F1.guide\u002F3.services\u002F03.runtime-engine.md",{"type":296,"value":297,"toc":672},"minimark",[298,309,318,323,326,330,355,359,370,374,385,389,653,657],[299,300,301,304,305,308],"p",{},[302,303,82],"strong",{}," — ядро исполнения: продвигает граф процесса по шагам, выбирает транспорт для каждого узла и диспетчеризует задачи. Работает ",[302,306,307],{},"только по TCP RPC"," от control-plane, без собственного HTTP-сервера.",[310,311,312],"blockquote",{},[299,313,314,317],{},[302,315,316],{},"На какие вопросы отвечает раздел:"," Кто продвигает процесс по шагам? Как настраиваются ретраи диспетчеризации? С кем общается engine?",[319,320,322],"h2",{"id":321},"цель","Цель",[299,324,325],{},"Надёжно выполнить граф процесса: определить готовые шаги, отправить их исполнителям и обработать результаты.",[319,327,329],{"id":328},"задачи","Задачи",[331,332,333,341,349,352],"ul",{},[334,335,336,337,340],"li",{},"оркестрация ",[302,338,339],{},"Запуска",", ack\u002Fresult шагов;",[334,342,343,344,348],{},"выбор транспорта по типу узла (",[345,346,347],"code",{},"nodeType → TransportConfig",");",[334,350,351],{},"диспетчеризация задач в очереди с ретраями;",[334,353,354],{},"чтение каталога плагинов из Postgres для резолва транспорта (без записи).",[319,356,358],{"id":357},"требования","Требования",[331,360,361,364,367],{},[334,362,363],{},"PostgreSQL и Redis (BullMQ);",[334,365,366],{},"runtime-control-plane (TCP RPC в обе стороны);",[334,368,369],{},"secret-manager (резолв секретов), file-service (файлы по diagram\u002Frun).",[319,371,373],{"id":372},"ограничения","Ограничения",[331,375,376,379,382],{},[334,377,378],{},"только TCP RPC от control-plane: ack\u002Fresult шагов принимает ingress, не сам engine.",[334,380,381],{},"каталог плагинов ведёт plugin-manager (engine читает его для резолва транспорта).",[334,383,384],{},"бизнес-логика и retry внутри шага — в узлах\u002Fплагинах.",[319,386,388],{"id":387},"настройки-и-переменные-окружения","Настройки и переменные окружения",[390,391,392,411],"table",{},[393,394,395],"thead",{},[396,397,398,402,405,408],"tr",{},[399,400,401],"th",{},"Переменная",[399,403,404],{},"Зачем",[399,406,407],{},"На что влияет",[399,409,410],{},"По умолчанию",[412,413,414,433,454,472,496,514,530,548,566,584,602,620],"tbody",{},[396,415,416,422,425,428],{},[417,418,419],"td",{},[345,420,421],{},"RUNTIME_ENGINE_RPC_TCP_PORT",[417,423,424],{},"Порт TCP RPC движка",[417,426,427],{},"Приём RPC от control-plane",[417,429,430],{},[345,431,432],{},"3000",[396,434,435,440,443,449],{},[417,436,437],{},[345,438,439],{},"CONTROL_PLANE_TCP_CONNECT",[417,441,442],{},"Адрес control-plane (TCP)",[417,444,445,448],{},[345,446,447],{},"can_dispatch",", dispatch ingress",[417,450,451],{},[345,452,453],{},"runtime-control-plane:3001",[396,455,456,461,464,467],{},[417,457,458],{},[345,459,460],{},"CONTROL_PLANE_HTTP_BASE_URL",[417,462,463],{},"HTTP control-plane",[417,465,466],{},"Совместимость\u002Fвнутренние вызовы",[417,468,469],{},[345,470,471],{},"http:\u002F\u002Fruntime-control-plane:3000",[396,473,474,479,485,491],{},[417,475,476],{},[345,477,478],{},"DISPATCH_MAX_ATTEMPTS",[417,480,481,482],{},"Макс. попыток ",[345,483,484],{},"sendToExecutor",[417,486,487,488],{},"Сколько раз ретраить диспетчеризацию до ",[345,489,490],{},"failed",[417,492,493],{},[345,494,495],{},"5",[396,497,498,503,506,509],{},[417,499,500],{},[345,501,502],{},"DISPATCH_RETRY_BASE_MS",[417,504,505],{},"База backoff",[417,507,508],{},"Задержка между ретраями диспетчеризации",[417,510,511],{},[345,512,513],{},"300",[396,515,516,521,524,527],{},[417,517,518],{},[345,519,520],{},"PLUGIN_CONTROL_PLANE_KEY",[417,522,523],{},"Ключ control-plane",[417,525,526],{},"Доступ к внутренним маршрутам",[417,528,529],{},"—",[396,531,532,537,540,543],{},[417,533,534],{},[345,535,536],{},"PLUGIN_CONTROL_PLANE_ALLOW_CIDRS",[417,538,539],{},"Allowlist CIDR",[417,541,542],{},"Кто может обращаться к ingress",[417,544,545],{},[345,546,547],{},"0.0.0.0\u002F0",[396,549,550,555,558,561],{},[417,551,552],{},[345,553,554],{},"API_BASE_URL",[417,556,557],{},"Адрес api",[417,559,560],{},"Загрузка файлов движком",[417,562,563],{},[345,564,565],{},"http:\u002F\u002Fapi:3000",[396,567,568,573,576,579],{},[417,569,570],{},[345,571,572],{},"SECRETS_TCP_CONNECT",[417,574,575],{},"Адрес secret-manager",[417,577,578],{},"Резолв секретов при подготовке шага",[417,580,581],{},[345,582,583],{},"secret-manager:3000",[396,585,586,591,594,597],{},[417,587,588],{},[345,589,590],{},"FILE_SERVICE_BASE_URL",[417,592,593],{},"Адрес file-service",[417,595,596],{},"Файлы по diagram\u002Frun",[417,598,599],{},[345,600,601],{},"http:\u002F\u002Ffile-service:3000",[396,603,604,609,612,615],{},[417,605,606],{},[345,607,608],{},"SEARCH_SERVICE_TCP_CONNECT",[417,610,611],{},"Адрес search-service",[417,613,614],{},"Поиск\u002Fиндексация (опц.)",[417,616,617],{},[345,618,619],{},"search-service:3000",[396,621,622,634,637,644],{},[417,623,624,627,628,627,631],{},[345,625,626],{},"DATABASE_URL"," \u002F ",[345,629,630],{},"REDIS_HOST",[345,632,633],{},"REDIS_PORT",[417,635,636],{},"БД и очереди",[417,638,639,640,643],{},"Состояние ",[302,641,642],{},"Запусков"," и задачи",[417,645,646,647,627,650],{},"— \u002F ",[345,648,649],{},"redis",[345,651,652],{},"6379",[319,654,656],{"id":655},"дальше","Дальше",[331,658,659,667],{},[334,660,661,664,665],{},[662,663,86],"a",{"href":87}," · ",[662,666,90],{"href":91},[334,668,669,671],{},[662,670,198],{"href":199},".",{"title":673,"searchDepth":27,"depth":27,"links":674},"",[675,676,677,678,679,680],{"id":321,"depth":27,"text":322},{"id":328,"depth":27,"text":329},{"id":357,"depth":27,"text":358},{"id":372,"depth":27,"text":373},{"id":387,"depth":27,"text":388},{"id":655,"depth":27,"text":656},"Оркестратор выполнения процессов Conveyor — продвижение графа по шагам, выбор транспорта и диспетчеризация задач.","md",{},true,{"title":82,"description":681},"FbEr4jBX_I9NiaHTV39UdDDhyOcKlxsSqIEuAaRkdjI",[688,690],{"title":78,"path":79,"stem":80,"description":689,"children":-1},"Аутентификация Conveyor — выпуск JWT, WebAuthn (passkeys), подтверждение email и отправка писем.",{"title":86,"path":87,"stem":88,"description":691,"children":-1},"Внутренний ingress Conveyor — приём ack\u002Fresult от исполнителей, policy dispatch и прокси метрик движка.",1782081968818]