Релизы SourceCraft CLI

Текущая версия

Версия 0.0.111 (14.10.26)

  • Исправлена автоматическая передача выбранной в CLI модели при запуске OpenCode через src code -- run. Аргументы после разделителя -- в команде OpenCode обрабатываются как текст запроса и не влияют на выбор модели.
  • Исправлено подключение к существующему серверу OpenCode 2 при запуске через src code -- run --attach <адрес_сервера>.

Предыдущие релизы

Версия 0.0.110 (09.10.26)

  • Уточнена обработка ошибок при проверке аутентификации. Если сервер отклонил токен, в текстовом выводе команды предлагается повторно выполнить вход, а при использовании SOURCECRAFT_TOKEN поясняется приоритет этой переменной над сохраненными учетными данными и входом через браузер. Ошибки доступа и сервера теперь выводятся с HTTP-кодом ответа.
  • В каталоге моделей OpenCode добавлено отображение моделей, доступных по запросу, с пометкой [By request]. До получения доступа такие модели не выбираются автоматически, а при попытке их использовать предлагается запросить доступ в Cloud Center.

Версия 0.0.109 (08.10.26)

  • Для команды src release upload добавлен параметр --upload-timeout, который задает максимальное время передачи файла и получения полного ответа сервера. Значение должно быть положительным, по умолчанию — 10 минут (10m0s).

  • Добавлена аутентификация с помощью авторизованного ключа сервисного аккаунта Yandex Identity and Access Management. Этот способ аутентификации доступен только через переменные окружения:

    • SOURCECRAFT_SA_KEY_FILE — путь к JSON-файлу с ключом;
    • SOURCECRAFT_SA_KEY_JSON — содержимое JSON-файла с ключом, без кодирования в Base64.

    Приоритет непустых переменных, от высшего к низшему: SOURCECRAFT_TOKEN, SOURCECRAFT_SA_KEY_JSON, SOURCECRAFT_SA_KEY_FILE. Если выбранный ключ некорректен, CLI завершает операцию с ошибкой без перехода к другим учетным данным. CLI не сохраняет ключ и путь к нему. API-ключи для этого способа аутентификации не поддерживаются.

  • При аутентификации сервисного аккаунта команды src auth status, src auth login и src auth setup проверяют выбранный источник без сохранения настроек аутентификации. В интерактивной настройке по-прежнему доступны IAM и PAT. Параметры --reset-keys, --yes и --auto-open-browser команды src auth login для сервисных аккаунтов не поддерживаются.

  • При аутентификации сервисного аккаунта команда src auth logout очищает локальный кеш токенов, не удаляя ключ, не отзывая IAM-токены и не изменяя сохраненные настройки и учетные данные пользователя. Чтобы прекратить использование ключа, удалите переменные SOURCECRAFT_SA_KEY_JSON и SOURCECRAFT_SA_KEY_FILE из окружения. После этого CLI использует сохраненные учетные данные, если переменная SOURCECRAFT_TOKEN не задана или пуста.

  • Исправлено поведение CLI при отмене команды src auth setup: процесс завершается без последующего запуска проверки аутентификации.

Версия 0.0.108 (07.10.26)

  • Для команды src pr edit добавлен параметр --base (-B), который позволяет изменить целевую ветку предложения изменений.
  • Команда src update с параметром --json теперь только проверяет наличие обновлений и выводит версии в формате JSON. Добавлен параметр --saved, который позволяет получить результат последней проверки без обращения к серверу обновлений.
  • OpenCode обновлен до версии 1.4.28.

Версия 0.0.107 (01.10.26)

Для команды src code install добавлен параметр --force, который позволяет переустановить OpenCode из текущего канала обновлений. Настройки и данные аутентификации при этом сохраняются.

Версия 0.0.105 (22.09.26)

  • Добавлена команда src paths для просмотра путей, по которым CLI хранит свои файлы.
  • Для команды src auth login добавлены параметры:
    • --reset-keys — замена общих ключей IAM и сброс связанных с ними сессий в текущем бэкенде перед входом. Сброс затрагивает сессии IAM в разных окружениях;
    • --yes — подтверждение сброса ключей без запроса.
  • Каталог моделей теперь обновляется при каждом запуске OpenCode. Время ожидания загрузки — три секунды. Если загрузить каталог не удалось, используется кешированная версия. Параметр --refresh-models удален из команд src code, src do, src codereview, src prdescription и src skill.
  • В командах src pr удален параметр --pull-request-id. Чтобы указать предложение изменений, используйте его номер — значение поля slug в выводе src pr list --json. Команда src pr get также позволяет указать имя исходной ветки, например src pr get feature-branch.
  • OpenCode обновлен до версии 1.4.25.

Версия 0.0.103 (15.09.26)

  • Добавлена ветка команд src appsec для работы с результатами проверок безопасности репозитория:
    • src appsec defect <id> — просмотр группы дефектов по номеру в интерфейсе и доступных для нее статусов;
    • src appsec defect list — просмотр групп дефектов последнего сканирования с фильтрацией по типу анализатора, статусу, уровню критичности, имени правила и пути к файлу;
    • src appsec defect set-status — изменение статуса одной или нескольких групп дефектов с возможностью добавить комментарий;
    • src appsec defect comment — просмотр комментариев и истории событий группы дефектов;
    • src appsec defect comment add, src appsec defect comment edit и src appsec defect comment delete — добавление комментариев, редактирование и удаление собственных комментариев.
  • Для команд src code, src do, src codereview, src prdescription и src skill добавлен параметр --refresh-models, который позволяет немедленно обновить каталог моделей, не дожидаясь истечения пятиминутного срока кеширования. Каталог проверяется при запуске OpenCode.
  • Для команды src pr add-comment добавлена возможность комментировать отдельные строки или диапазоны строк в файлах предложения изменений. Для этого доступны параметры:
    • --path — путь к файлу относительно корня репозитория;
    • --line — начальная строка комментария, нумерация начинается с единицы;
    • --end-line — конечная строка комментария, по умолчанию совпадает с --line;
    • --side — сторона сравнения (target или source).
  • Команда src update теперь проверяет наличие обновлений CLI и установленных компонентов OpenCode. Параметр --auto позволяет установить доступные обновления без подтверждения.

Версия 0.0.99 (19.08.26)

  • В списке моделей оставлена модель default, модель legacy удалена. Имена ds, ds-alt и default-cc сохранены в качестве алиасов default, поэтому менять существующие настройки и значения параметра --model не требуется.
  • Команды src code, src do, src codereview, src prdescription и src skill автоматически передают актуальную модель при запуске OpenCode, даже если указаны дополнительные аргументы OpenCode. При явном указании модели с помощью параметра -m или --model используется выбранная модель.
  • Время ожидания ответа модели увеличено с пяти до десяти минут.
  • Запросы к ИИ из задач CI отмечаются номером задачи из переменной SOURCECRAFT_AI_JOB_ID. Это позволяет определить, какая задача израсходовала нейрокредиты. Изменить значение этой переменной извне нельзя.
  • Обновлены встроенные настройки OpenCode. Они применятся автоматически при следующем запуске.

Версия 0.0.97 (07.08.26)

  • Добавлена команда src api для выполнения аутентифицированных запросов к REST API SourceCraft.

    Для отправки запроса поддерживаются:

    • выбор HTTP-метода (-X), методы по умолчанию: GET — для запросов без параметров, POST — для запросов с параметрами;
    • передача параметров (-f, -F);
    • передача заголовков (-H);
    • чтение тела запроса из файла (--input).

    Для обработки ответа поддерживаются:

    • форматирование вывода в JSON (--json, --json-compact) и с помощью шаблонов Go (-t, --template);
    • фильтрация ответа через jq (-q, --jq);
    • пагинация (--paginate, --slurp);
    • отладочный вывод сведений о запросе и ответе (-V, --verbose).
  • Добавлены команды для управления метками предложений изменений:

    • src pr labels — просмотр меток;
    • src pr add-label — добавление меток;
    • src pr remove-label — удаление меток.
  • Добавлена команда src run artifacts <run> <workflow> <task> <cube> для получения ссылок на артефакты, созданные в указанном кубике в рамках запуска CI. Для команды доступен алиас src run list-artifacts.

  • Восстановлены команды src issue link-pr, src issue unlink-pr и src issue linked-prs для управления связями между задачами и предложениями изменений.

  • Восстановлены команды src issue link-issue, src issue unlink-issue и src issue linked-issues для управления связями между задачами. Команды src issue add-link, src issue remove-link и src issue list-links сохранены как алиасы.

  • Для команды src auth login добавлен параметр --auto-open-browser, который позволяет автоматически открывать браузер при работе в неинтерактивном терминале.

  • В команде src repo create параметр --name объявлен устаревшим и игнорируется; максимальная длина описания репозитория ограничена 4096 символами.

  • В командах src issue create, src issue edit, src pr edit максимальная длина описания ограничена до 64 Кбайт.

  • Для команды src reference добавлен параметр --section, который позволяет ограничить создаваемый файл SKILL.md одной веткой команд, например issue или pr.

Версия 0.0.95 (13.07.26)

  • Для команд src auth login и src auth status добавлена поддержка параметров --json и --json-compact для вывода результата в формате JSON.
  • В команде src auth login исправлена проблема, из-за которой после нажатия комбинации клавиш Ctrl + C при вводе персонального токена доступа терминал не восстанавливал режим отображения вводимых символов.
  • Команда src git-credential get теперь корректно завершает работу при запросах к неподдерживаемым хостам и по протоколам, отличным от HTTPS. Это позволяет git корректно переходить к использованию следующего credential helper.

Версия 0.0.94 (08.06.26)

  • Переименованы команды управления связями между задачами:
    • src issue link-issue → src issue add-link;
    • src issue unlink-issue → src issue remove-link;
    • src issue linked-issues → src issue list-links.
  • Удалены команды управления связями предложений изменений с задачами:
    • src issue link-pr;
    • src issue unlink-pr;
    • src issue linked-prs.
  • Удалена ветка команд src config для управления экспериментальными возможностями.

Версия 0.0.92 (21.05.26)

  • Добавлена оценка потребления контекстного окна по категориям: системный промпт, инструменты, ИИ-навыки, история, файлы, например AGENTS.md, и MCP-серверы.

    Оценка потребления отображается в правом сайдбаре и вычисляется по последнему запросу, поэтому при старте новой сессии показатель Usage by category отсутствует.

  • Добавлены новые команды для связывания задач и предложений изменений:

    • Просмотр: src issue linked-issues, src issue linked-prs.
    • Управление: src link-pr, src unlink-pr, src link-issue, src unlink-issue.
  • Поддержаны логические условия для поиска по меткам, например:

    # Найти задачи с метками backend ИЛИ devops
    src issue list --label backend,devops
    
    # Найти задачи с метками devops И k8s
    src issue list --label="devops & k8s"
    
  • Исправлена проблема входа для новых учетных записей при авторизация через домен SourceCraft.

Версия 0.0.90 (23.04.26)

  • Чтобы избежать возможных сбоев в работе OpenCode, установленного независимо от SourceCraft, убрана возможность размещения OpenCode в стандартную директорию ~/.opencode/bin.
  • Исправлены ошибки в описании команд.

Версия 0.0.89 (22.04.26)

Улучшен алгоритм установки.

Версия 0.0.87 (22.04.26)

Выпущена первая публичная версия SourceCraft CLI.

Полезные ссылки