Возможности
- Система островов — вынесены
IslandиIslandFollowUpContentViewв общий пакет@craft-agent/uiкак переиспользуемые примитивы для аннотаций и расширения встроенного контента (7c4ba6af, 2432b421, 4397b284) - Пресет провайдера Minimax — добавлен Minimax как встроенный пресет LLM-подключения с предварительно настроенным базовым URL и списком моделей (36cf45d5)
- Пресет провайдера Kimi (Coding) — добавлен Kimi Coding от Moonshot как встроенный пресет LLM-подключения (c59d9d8d)
- Региональные пресеты OpenAI — добавлены региональные пресеты API-эндпоинтов OpenAI EU (
api.openai.eu) и US (api.openai.us) (bfc2be3c) - Уровень мышления по умолчанию на уровне приложения — уровень мышления (off / think / max) теперь можно задать как приложение по умолчанию, который сохраняется между сессиями и перезапусками приложения; переопределения на уровне workspace имеют приоритет (f5593fb1, 7c0f2659)
- Локальный режим сборки — новый флаг сборки
CRAFT_DEV_RUNTIMEразрешает SDK и перехватчики из монорепозитория во время разработки с fallback на bun с учётом платформы; добавлены скриптыelectron:dist:dev:{mac,win,linux}(506f2b02)
Улучшения
- Отложенные проверки SDK — проверка Anthropic SDK и валидация во время выполнения теперь откладываются с загрузки приложения на создание сессии (
strict: falseпри загрузке,strict: trueпри начале сессии), что позволяет приложению открывать окна даже если SDK/перехватчик/Bun ещё недоступны (cc70ce76) - Поэтапный поток проверки типов — pre-commit hook теперь запускает целевую проверку типов только для пакетов, затронутых изменёнными файлами, вместо полной проверки типов монорепозитория (538b12f4)
- Темизация уведомлений — текст описания и кнопка закрытия Sonner toast теперь используют активные токены темы вместо жёстко заданных цветов (59cfeab4, caea757f)
- Усиление создания веток — строгая семантика SDK-форка для новых веток; preflight-запрос с проверкой на непробельные символы предотвращает ошибки
invalid_requestот Anthropic при ветвленных сессиях (9a2f5ed2)
Исправления
- Неправильная классификация ошибки Google OAuth —
access_deniedпри нажатии пользователем Cancel отображался как «приложение заблокировано администратором»; исправлена логика (||→&&), чтобы специальное сообщение появлялось только если описание ошибки Google упоминает проверку. Исправляет (частично) - Игнорирование локальных значков статуса — локальные имена файлов значков статуса не обнаруживались из-за отсутствия сканирования директории; также добавлена поддержка
.webpв шаблоне имён файлов значков. Исправляет (f40d2e41, 0ffee7f6, c11819ef) - Маршрутизация провайдера Pi — пользовательские эндпоинты теперь корректно разрешают поле
piAuthProviderвместо необходимости выбора пресета. Исправляет (f40d2e41) - Сессия всё ещё доступна после удаления — удаление сессии теперь отзывает ссылку на просмотр через DELETE-запрос с таймаутом 5 секунд, предотвращая публичный доступ к удалённым сессиям. Исправляет (15e4830e, c11819ef)
- @упоминание автодополнения ломается после пробела — поиск файлов теперь использует поиск по подпоследовательности вместо префиксного поиска, так что
app compкорректно соответствуетapp/components/.... Исправляет (c939d930) - drift bun.lock в CI — обновлён
bun.lockи зафиксирована версия bun в CI для предотвращения сбоев--frozen-lockfile. Исправляет (9e9cebd2, 15e4830e) - Баннер транспорта налезает на TopBar — кнопка Retry в баннере переподключения скрывалась за кнопкой помощи TopBar; исправлено, подняв смещение TopBar 48px на общий родительский контейнер (71abeda4)
- Директория сессии Pi на Windows — файлы сессии создавались в неправильной директории на Windows из-за проблемы с разделителем путей (d3e83985)
- Подпуть OAuth для Copilot — исправлен неправильный путь обратного вызова OAuth для потоков аутентификации Pi-based copilot (430c6f3d)
- Диагностика ошибок подключения — режим client-only теперь логируется при запуске; сообщения об ошибках подключения включают URL сервера для упрощённой отладки (ff7cf0b8)
Особая благодарность @dragonguy0888, @chouch0u, @DocplannerLech, @thomaszdxsn и @ImLukeF за их PR, и @jonzhan, @Novtopro, @lloydwu, @alexzadeh, @galaxyboyleo и @minak-collab за сообщения об ошибках, решённых в этом выпуске.