Skip to content

Commit 29cbb70

Browse files
committed
Актуализация README.md: batch integration, path aliasing, change_signature
Добавлено в английскую и русскую части: - nts_code_refactor: интеграция с batch tools через affectedFiles с токенами - nts_code_refactor: операция change_signature для изменения параметров методов - Path Aliasing: токены сохраняются при move/rename с транзитивным разрешением - nts_file_manage: описание path aliasing для операций rename/move - Примеры JSON-ответов с affectedFiles для batch-цепочек
1 parent af15d5a commit 29cbb70

1 file changed

Lines changed: 36 additions & 10 deletions

File tree

README.md

Lines changed: 36 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ The `nts_batch_tools` is not just a list of commands; it's a scripting engine fo
141141
#### 3. 🔒 Enterprise Security & Sandboxing
142142
* **Optimistic Locking (LATs):** Agents *must* read a file to get a token (`LAT:...`) before editing. If the file changes externally, the token expires and the external change is automatically recorded in file history. No more race conditions.
143143
* **Smart Token Invalidation:** Tokens track **Range CRC** instead of file CRC. Edits outside your token's range don't invalidate it — only changes to the specific lines you're working on trigger re-read. This dramatically reduces unnecessary token refreshes in large files.
144+
* **Path Aliasing:** Tokens remain valid after `move`/`rename` operations. The system tracks file identity through path aliases with transitive resolution — even chains like `A → B → C` preserve token validity.
144145
* **Strict Sandboxing:** All paths are normalized and pinned to the project root. Impossible to escape via `../../`.
145146
* **Infrastructure Protection:** Automatically blocks modification of `.git`, `.env`, and build configs unless explicitly allowed.
146147
* **OOM Protection:** Prevents reading massive files (>10MB) that would crash the context window.
@@ -176,11 +177,13 @@ The `nts_code_navigate` tool provides IDE-like code intelligence powered by Tree
176177
#### 7. 🔄 Semantic Refactoring
177178
The `nts_code_refactor` tool performs intelligent code transformations.
178179
* **Rename:** Updates ALL references across the entire project automatically.
180+
* **Change Signature:** Add, remove, rename, retype, or reorder method parameters with automatic call site updates.
179181
* **Generate:** Create getters, setters, constructors, builders, toString, equals/hashCode.
180182
* **Extract Method:** Pull code into a new method with proper parameters.
181183
* **Inline:** Replace method/variable with its body/value.
182184
* **Preview Mode:** Review diff before applying (`preview: true`).
183185
* **Parallel Reference Search:** Both `nts_code_navigate` and `nts_code_refactor` use parallel file scanning with pre-filtering, searching up to 15 levels deep for maximum coverage.
186+
* **Batch Integration:** Returns `affectedFiles` array with tokens for each modified file — enables chaining like `refactor → edit` in `nts_batch_tools`.
184187

185188
```json
186189
{
@@ -191,6 +194,15 @@ The `nts_code_refactor` tool performs intelligent code transformations.
191194
"preview": true
192195
}
193196
```
197+
**Response includes tokens for batch chaining:**
198+
```json
199+
{
200+
"affectedFiles": [
201+
{ "path": "src/User.java", "accessToken": "LAT:...", "crc32c": "A1B2C3D4", "lineCount": 50 },
202+
{ "path": "src/UserService.java", "accessToken": "LAT:...", "crc32c": "E5F6G7H8", "lineCount": 120 }
203+
]
204+
}
205+
```
194206

195207
---
196208

@@ -271,12 +283,12 @@ Each file is separated in output with its own TOKEN. Errors in one file don't af
271283

272284
**Why it exists:** Create, delete, move, rename files and directories.
273285

274-
**Discipline role:**
286+
**Discipline role:**
275287
- `create` returns a token — new files are immediately editable
276-
- `rename`/`move` **transfers tokens**the system tracks file identity across renames
288+
- `rename`/`move` **transfers tokens via path aliasing**tokens remain valid even after the file is moved (transitive chains like `A → B → C` work)
277289
- `delete` **invalidates tokens** — no editing ghosts
278290

279-
**Connection:** Works with `nts_batch_tools` for atomic multi-file restructuring.
291+
**Connection:** Works with `nts_batch_tools` for atomic multi-file restructuring. Path aliases persist across the session.
280292

281293
---
282294

@@ -357,14 +369,15 @@ checkpoint("before-risky-refactor")
357369

358370
#### 🔧 `nts_code_refactor` — Intelligent Transformation
359371

360-
**Why it exists:** Rename symbols, generate code, extract methods — with automatic reference updates.
372+
**Why it exists:** Rename symbols, change signatures, generate code, extract methods — with automatic reference updates.
361373

362-
**Discipline role:**
374+
**Discipline role:**
363375
- `preview: true` shows **all affected files** before applying
364376
- Semantic rename updates ALL references, not just text matches
365377
- Atomic: entire refactoring succeeds or fails together
378+
- **Returns tokens** for all modified files — enables `refactor → edit` chains in batches
366379

367-
**Connection:** Uses tree-sitter for precision. Safer than manual multi-file editing.
380+
**Connection:** Uses tree-sitter for precision. Integrates with `nts_batch_tools` via `{{step.affectedFiles[0].accessToken}}` interpolation. Safer than manual multi-file editing.
368381

369382
---
370383

@@ -672,6 +685,7 @@ NTS меняет микро-эффективность на макро-надё
672685
#### 3. 🔒 Корпоративная безопасность и Песочница
673686
* **Оптимистичная блокировка (LATs):** Агент *обязан* прочитать файл и получить токен (`LAT:...`) перед правкой. Если файл изменился извне — токен сгорает, а внешнее изменение автоматически записывается в историю файла. Никаких состояний гонки (Race Conditions).
674687
* **Умная инвалидация токенов:** Токены отслеживают **CRC диапазона**, а не всего файла. Правки вне вашего диапазона не инвалидируют токен — только изменения конкретных строк, с которыми вы работаете, требуют перечитывания. Это радикально сокращает ненужные обновления токенов в больших файлах.
688+
* **Path Aliasing:** Токены сохраняют валидность после операций `move`/`rename`. Система отслеживает идентичность файла через алиасы путей с транзитивным разрешением — даже цепочки `A → B → C` сохраняют валидность токенов.
675689
* **Строгая песочница:** Все пути нормализуются и привязываются к корню проекта. Выход через `../../` невозможен.
676690
* **Защита инфраструктуры:** Блокировка изменений `.git`, `.env` и конфигов сборки (можно настроить).
677691
* **Защита от OOM:** Блокировка чтения гигантских файлов (>10MB), способных обрушить контекстное окно модели.
@@ -707,11 +721,13 @@ NTS меняет микро-эффективность на макро-надё
707721
#### 7. 🔄 Семантический рефакторинг
708722
Инструмент `nts_code_refactor` выполняет интеллектуальные преобразования кода.
709723
* **Rename:** Переименование с автоматическим обновлением ВСЕХ ссылок по проекту.
724+
* **Change Signature:** Добавление, удаление, переименование, изменение типа и порядка параметров с автообновлением вызовов.
710725
* **Generate:** Генерация getters, setters, конструкторов, builder, toString, equals/hashCode.
711726
* **Extract Method:** Извлечение кода в метод с правильными параметрами.
712727
* **Inline:** Встраивание метода/переменной.
713728
* **Preview Mode:** Просмотр изменений перед применением (`preview: true`).
714729
* **Параллельный поиск ссылок:** И `nts_code_navigate`, и `nts_code_refactor` используют параллельное сканирование файлов с предварительной фильтрацией, ищут на глубину до 15 уровней для максимального покрытия.
730+
* **Интеграция с Batch:** Возвращает массив `affectedFiles` с токенами для каждого изменённого файла — позволяет строить цепочки `refactor → edit` в `nts_batch_tools`.
715731

716732
```json
717733
{
@@ -722,6 +738,15 @@ NTS меняет микро-эффективность на макро-надё
722738
"preview": true
723739
}
724740
```
741+
**Ответ содержит токены для цепочек в batch:**
742+
```json
743+
{
744+
"affectedFiles": [
745+
{ "path": "src/User.java", "accessToken": "LAT:...", "crc32c": "A1B2C3D4", "lineCount": 50 },
746+
{ "path": "src/UserService.java", "accessToken": "LAT:...", "crc32c": "E5F6G7H8", "lineCount": 120 }
747+
]
748+
}
749+
```
725750

726751
---
727752

@@ -804,10 +829,10 @@ NTS меняет микро-эффективность на макро-надё
804829

805830
**Роль в дисциплине:**
806831
- `create` возвращает токен — новые файлы сразу готовы к редактированию
807-
- `rename`/`move` **переносят токены**система отслеживает идентичность файла при переименовании
832+
- `rename`/`move` **переносят токены через path aliasing**токены остаются валидными даже после перемещения файла (транзитивные цепочки `A → B → C` работают)
808833
- `delete` **инвалидирует токены** — нельзя редактировать «призраков»
809834

810-
**Связь:** Работает с `nts_batch_tools` для атомарной реструктуризации.
835+
**Связь:** Работает с `nts_batch_tools` для атомарной реструктуризации. Алиасы путей сохраняются на протяжении сессии.
811836

812837
---
813838

@@ -888,14 +913,15 @@ checkpoint("before-risky-refactor")
888913

889914
#### 🔧 `nts_code_refactor` — Интеллектуальная трансформация
890915

891-
**Зачем:** Переименование символов, генерация кода, извлечение методов — с автоматическим обновлением ссылок.
916+
**Зачем:** Переименование символов, изменение сигнатур, генерация кода, извлечение методов — с автоматическим обновлением ссылок.
892917

893918
**Роль в дисциплине:**
894919
- `preview: true` показывает **все затронутые файлы** до применения
895920
- Семантическое переименование обновляет ВСЕ ссылки, а не просто текстовые совпадения
896921
- Атомарность: весь рефакторинг успешен или отменён целиком
922+
- **Возвращает токены** для всех изменённых файлов — позволяет строить цепочки `refactor → edit` в батчах
897923

898-
**Связь:** Использует tree-sitter для точности. Безопаснее ручного редактирования нескольких файлов.
924+
**Связь:** Использует tree-sitter для точности. Интегрируется с `nts_batch_tools` через интерполяцию `{{step.affectedFiles[0].accessToken}}`. Безопаснее ручного редактирования нескольких файлов.
899925

900926
---
901927

0 commit comments

Comments
 (0)