You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Добавлено в английскую и русскую части:
- 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-цепочек
Copy file name to clipboardExpand all lines: README.md
+36-10Lines changed: 36 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,6 +141,7 @@ The `nts_batch_tools` is not just a list of commands; it's a scripting engine fo
141
141
#### 3. 🔒 Enterprise Security & Sandboxing
142
142
***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.
143
143
***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.
144
145
***Strict Sandboxing:** All paths are normalized and pinned to the project root. Impossible to escape via `../../`.
145
146
***Infrastructure Protection:** Automatically blocks modification of `.git`, `.env`, and build configs unless explicitly allowed.
146
147
***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
176
177
#### 7. 🔄 Semantic Refactoring
177
178
The `nts_code_refactor` tool performs intelligent code transformations.
178
179
***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.
***Extract Method:** Pull code into a new method with proper parameters.
181
183
***Inline:** Replace method/variable with its body/value.
182
184
***Preview Mode:** Review diff before applying (`preview: true`).
183
185
***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`.
**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.
361
373
362
-
**Discipline role:**
374
+
**Discipline role:**
363
375
-`preview: true` shows **all affected files** before applying
364
376
- Semantic rename updates ALL references, not just text matches
365
377
- Atomic: entire refactoring succeeds or fails together
378
+
-**Returns tokens** for all modified files — enables `refactor → edit` chains in batches
366
379
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.
368
381
369
382
---
370
383
@@ -672,6 +685,7 @@ NTS меняет микро-эффективность на макро-надё
672
685
#### 3. 🔒 Корпоративная безопасность и Песочница
673
686
***Оптимистичная блокировка (LATs):** Агент *обязан* прочитать файл и получить токен (`LAT:...`) перед правкой. Если файл изменился извне — токен сгорает, а внешнее изменение автоматически записывается в историю файла. Никаких состояний гонки (Race Conditions).
674
687
***Умная инвалидация токенов:** Токены отслеживают **CRC диапазона**, а не всего файла. Правки вне вашего диапазона не инвалидируют токен — только изменения конкретных строк, с которыми вы работаете, требуют перечитывания. Это радикально сокращает ненужные обновления токенов в больших файлах.
688
+
***Path Aliasing:** Токены сохраняют валидность после операций `move`/`rename`. Система отслеживает идентичность файла через алиасы путей с транзитивным разрешением — даже цепочки `A → B → C` сохраняют валидность токенов.
675
689
***Строгая песочница:** Все пути нормализуются и привязываются к корню проекта. Выход через `../../` невозможен.
676
690
***Защита инфраструктуры:** Блокировка изменений `.git`, `.env` и конфигов сборки (можно настроить).
***Extract Method:** Извлечение кода в метод с правильными параметрами.
712
727
***Inline:** Встраивание метода/переменной.
713
728
***Preview Mode:** Просмотр изменений перед применением (`preview: true`).
714
729
***Параллельный поиск ссылок:** И `nts_code_navigate`, и `nts_code_refactor` используют параллельное сканирование файлов с предварительной фильтрацией, ищут на глубину до 15 уровней для максимального покрытия.
730
+
***Интеграция с Batch:** Возвращает массив `affectedFiles` с токенами для каждого изменённого файла — позволяет строить цепочки `refactor → edit` в `nts_batch_tools`.
715
731
716
732
```json
717
733
{
@@ -722,6 +738,15 @@ NTS меняет микро-эффективность на макро-надё
@@ -804,10 +829,10 @@ NTS меняет микро-эффективность на макро-надё
804
829
805
830
**Роль в дисциплине:**
806
831
-`create` возвращает токен — новые файлы сразу готовы к редактированию
807
-
-`rename`/`move`**переносят токены** — система отслеживает идентичность файла при переименовании
832
+
-`rename`/`move`**переносят токены через path aliasing** — токены остаются валидными даже после перемещения файла (транзитивные цепочки `A → B → C` работают)
808
833
-`delete`**инвалидирует токены** — нельзя редактировать «призраков»
809
834
810
-
**Связь:** Работает с `nts_batch_tools` для атомарной реструктуризации.
835
+
**Связь:** Работает с `nts_batch_tools` для атомарной реструктуризации. Алиасы путей сохраняются на протяжении сессии.
**Зачем:** Переименование символов, генерация кода, извлечение методов — с автоматическим обновлением ссылок.
916
+
**Зачем:** Переименование символов, изменение сигнатур, генерация кода, извлечение методов — с автоматическим обновлением ссылок.
892
917
893
918
**Роль в дисциплине:**
894
919
-`preview: true` показывает **все затронутые файлы** до применения
895
920
- Семантическое переименование обновляет ВСЕ ссылки, а не просто текстовые совпадения
896
921
- Атомарность: весь рефакторинг успешен или отменён целиком
922
+
-**Возвращает токены** для всех изменённых файлов — позволяет строить цепочки `refactor → edit` в батчах
897
923
898
-
**Связь:** Использует tree-sitter для точности. Безопаснее ручного редактирования нескольких файлов.
924
+
**Связь:** Использует tree-sitter для точности. Интегрируется с `nts_batch_tools` через интерполяцию `{{step.affectedFiles[0].accessToken}}`. Безопаснее ручного редактирования нескольких файлов.
0 commit comments