Skip to content

v0.3.26

Choose a tag to compare

@smixs smixs released this 17 Aug 12:28
· 53 commits to main since this release
  • 🛒 Плагины по имени из Marketplace - iva plugin add trace находит плагин в списке .agents/plugins/marketplace.json (конвенция Codex: строка-путь или local | url | git-subdir, npm и policy пропускаются вслух) и ставит его тем же путём, что папку или git-URL. iva plugin marketplace add | remove | list ведут свои списки, iva plugin list --available показывает, что ещё не стоит; список по умолчанию - smixs/iva-plugins. Список кэшируется в data/marketplace-cache/, без сети берётся кэш с пометкой «может быть устаревшим». Только https://, ssh:// и git@host: - file:// и локальные пути из чужого списка не принимаются; git плагинов не ждёт пароль в терминале. Имя в двух списках - отказ с подсказкой add <имя>@<список>.
  • 🧱 Код плагина собирается в версию - плагин с eve Extension под sh.iva/ теперь строится по рельсам обновления: копия в версию, npm ci, eve extension build тем же eve, что запускает Иву, mount со своим namespace, проверка старта, переключение, рестарт. Конфиг плагина читается из data/custom/plugins/<имя>.config.json на старте, не зашивается в сборку. Сборка не удалась при add | update | enable - установка откатывается, работающая версия не тронута; при iva update - версия собирается без этого плагина, он выключается, приходит один Alert с командой, что делать. iva doctor говорит, собран ли код каждого плагина в текущую версию. Проверено на живом eve 0.30.8, не только на заглушках.
  • 🔎 iva trace читает журнал хода - iva trace tail показывает события живьём (--since N - последние N строк), iva trace show - последние 20 ходов, iva trace show <turn_12 | tg:<чат>:<сообщение> | id сессии | last> - один ход с шагами, инструментами и субагентом (--full без обрезки, --json сырые строки), iva trace open печатает адрес вьюера и готовую команду ssh-туннеля. Управляющие символы из содержимого в терминал не попадают. В контракте docs/trace.md уточнено, как собирать ночные ходы: внутри одной сессии ходы делит turn_N, строка без ключа хода принадлежит последнему открытому ходу сессии.