open-index/open-npm huggingface dataset:
npm package: @horuzhenko/protocol
Description: Общие типы и схемы валидации для MCP Guacamole
Latest version: 6.0.10

# @horuzhenko/protocol

Общие типы и схемы валидации для MCP Guacamole проекта.

## Установка

```bash
pnpm add @horuzhenko/protocol
```

## Использование

### Типы TypeScript

```typescript
import { ConnectParams, SessionInfo, MouseMove } from '@horuzhenko/protocol';

const connectParams: ConnectParams = {
  auth: {
    baseUrl: 'https://guacamole.example.com',
    token: 'your-auth-token'
  },
  display: {
    width: 1920,
    height: 1080,
    dpi: 96
  }
};
```

### Схемы валидации Zod

```typescript
import { ConnectParamsSchema, MouseMoveSchema } from '@horuzhenko/protocol';

// Валидация данных
try {
  const validatedParams = ConnectParamsSchema.parse(userInput);
  console.log('Параметры валидны:', validatedParams);
} catch (error) {
  console.error('Ошибка валидации:', error);
}
```

## Доступные типы

- `SessionId` - Идентификатор сессии
- `ConnectParams` - Параметры подключения к Guacamole
- `SessionInfo` - Информация о сессии
- `MouseMove` - Движение мыши
- `MouseClick` - Клик мыши
- `Scroll` - Прокрутка
- `KeyCombo` - Комбинация клавиш
- `TypeText` - Ввод текста
- `Screenshot` - Скриншот
- `ClipboardSet` - Установка буфера обмена
- `ClipboardGet` - Получение буфера обмена

## Схемы валидации

Для каждого типа доступна соответствующая схема Zod с суффиксом `Schema`:

- `ConnectParamsSchema`
- `SessionInfoSchema`
- `MouseMoveSchema`
- `MouseClickSchema`
- `ScrollSchema`
- `KeyComboSchema`
- `TypeTextSchema`
- `ScreenshotSchema`
- `ClipboardSetSchema`
- `ClipboardGetSchema`

## Разработка

```bash
# Сборка
pnpm build

# Тесты
pnpm test

# Разработка с автоперезагрузкой
pnpm dev
```