boxlite-shared 0.5.11

Shared types and protocol definitions for BoxLite host-guest communication
Documentation
# boxlite-shared

Shared library containing common types and utilities used by both host-side runtime (`boxlite`) and guest agent (`guest`).

## Purpose

This crate provides truly shared code that is used by **both** sides:
- **Host side** - The BoxLite runtime running on the host machine
- **Guest side** - The agent running inside the VM

**Design principle**: Only include code here if it's genuinely used by both sides. Side-specific code stays in respective crates.

## Contents

### `channel.rs`
Shared channel configuration type:
- `ChannelConfig` - Enum representing TCP, Unix socket, or Vsock channels
- Used by host (to connect) and guest (to listen)
- Constructors: `tcp(port)`, `unix(socket_path)`, `vsock(port)`
- URI parsing: `from_uri()` supports `tcp://...`, `unix://...`, `vsock://...`

### `error.rs`
Common error types:
- `CoreError` - Error enum for shared error handling
- `Result<T>` - Type alias for `std::result::Result<T, CoreError>`

## Future Extensions

This crate can grow to include:
- **Protocol message types** - Shared request/response structures
- **Common utilities** - Path handling, ID generation, etc.
- **Shared configuration types** - Types used by both host and guest
- **Validation logic** - Shared validation rules

## What NOT to include

- **Host-only code** - Channel clients, VM management (stays in `boxlite/`)
- **Guest-only code** - Channel listeners, container execution (stays in `guest/`)
- **Platform-specific abstractions** - Unless truly used by both sides

## Current Status

Currently minimal, containing only common error types. Will grow organically as we identify more truly shared code.