---
type: JS Module
title: tool-pins-refresh.mjs
resource: npm/scripts/tool-pins-refresh.mjs
docgen:
  crc: f2d4811a
  model: openai-codex/gpt-5.4-mini
  score: 80
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Оновлює `scripts/lib/tool-pins.json` свіжими релізами закріплених CLI-тулів для `ensure-tool.mjs` і `Linux/Windows-fallback install-шляху`, а також ставить нову дату піна. Використовується як ручний refresh, коли `tool-pins-freshness.test.mjs` червоніє через піни старші за 30 днів, коли у закріпленому тулі відома вразливість або баг, або коли потрібно оновити закріплені версії до актуальних. Для кожного тула з реєстру `TOOLS` бере останній реліз через `fetchLatestVersion` і переписує `tool-pins.json` із новими версіями та сьогоднішнім `pinnedAt`; друкує diff лише для змінених тулів.

## Поведінка

1. Перевіряє, чи доступний `curl`, бо без нього оновлення піна не виконується.
2. Зчитує поточний стан `tool-pins.json` як джерело правди для закріплених версій і дати піна.
3. Для кожного закріпленого CLI-тула отримує актуальну версію з upstream-релізів через мережу.
4. Порівнює нову версію з уже закріпленою і фіксує лише ті позиції, де є зміна.
5. Перезаписує `tool-pins.json` новим набором версій і сьогоднішньою датою піна.
6. Показує короткий звіт про зміни: якщо версії не змінилися, окремо повідомляє, що оновилася лише дата піна; якщо зміни є, перелічує, які тули оновилися.
7. Не торкається звичайного install-потоку: мережеве оновлення версій виконується тільки цим скриптом, а штатне встановлення працює лише з уже закріпленими значеннями.

## Гарантії поведінки

- (специфічних машинно-виведених гарантій немає)
