import {Meta} from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/ru/scripts/Classes/ApiTmp - Утилита временных файлов промптов AI'/>

# Класс ApiTmp

Класс `ApiTmp` представляет собой вспомогательную утилиту, предназначенную для управления временными файлами промптов на файловой системе в директории `./ai-tmp`. Он в основном используется ИИ-сервисами на базе CLI для записи больших объемов текста во временные файлы во избежание превышения лимитов длины аргументов терминала.

## Ключевые особенности

- **Безопасная буферизация на диске** — записывает большие блоки промптов на локальный диск во время генерации.
- **Уникальные идентификаторы** — автоматически увеличивает числовые идентификаторы файлов для предотвращения конфликтов параллельной записи.
- **Очистка данных** — предоставляет методы для мгновенного удаления каталога с временными файлами для освобождения дискового пространства.

## Инициализация

Класс `ApiTmp` может быть инициализирован напрямую.

```typescript
import { ApiTmp } from '@dxtmisha/scripts'

const tmp = new ApiTmp()
```

## Методы

### Управление файлами

#### `createFile`
Записывает содержимое промпта в уникально пронумерованный временный файл и возвращает отформатированную инструкцию со ссылкой для командной строки.

**Параметры:**
- `content: string` — Текстовое содержимое промпта для записи на диск.

**Возвращает:** `string` — Отформатированная строка ссылки на путь (например, `Please read the following file as it contains the prompt instructions: @./ai-tmp/Prompt-1.txt`).

```typescript
const promptReference = tmp.createFile('Привет, Claude, пожалуйста, сгенерируй стандартные миксины SCSS.')
```

#### `removeFile`
Полностью удаляет каталог временных файлов `./ai-tmp` с файловой системы.

**Возвращает:** `void`

```typescript
tmp.removeFile()
```

### Защищенные вспомогательные методы

- `getFileName(): string` — Генерирует уникальный инкрементируемый путь к файлу (например, `./ai-tmp/Prompt-1.txt`).
