<!-- source-hash: 6ea14bfd05bc32d44e0bdda863e8da6c -->
Provides normalization and conversion utilities for tool types across the Flamingo platform. Handles various input formats (aliases, case variations) and converts them to canonical ToolType values used throughout the system.

## Key Components

- **`normalizeToolType()`** - Converts tool name variants to canonical ToolType, returns undefined for invalid inputs
- **`normalizeToolTypeWithFallback()`** - Same as above but defaults to 'SYSTEM' for invalid inputs
- **`toToolLabel()`** - Converts any tool name variant to its display label
- **`isValidToolType()`** - Validates if a string can be normalized to a valid ToolType
- **`getToolTypeAliases()`** - Returns all valid aliases for a given canonical ToolType
- **`getToolLabel()`** - Gets display label for a canonical ToolType
- **`toolAliasMap`** - Internal mapping of tool name variants to canonical types

## Usage Example

```typescript
import { 
  normalizeToolType, 
  normalizeToolTypeWithFallback, 
  toToolLabel,
  isValidToolType 
} from './tool-utils'

// Normalize various input formats
normalizeToolType('tactical')       // => 'TACTICAL_RMM'
normalizeToolType('FLEET-MDM')      // => 'FLEET_MDM'
normalizeToolType('unknown')        // => undefined

// With fallback to SYSTEM
normalizeToolTypeWithFallback('mesh')    // => 'MESHCENTRAL'
normalizeToolTypeWithFallback('invalid') // => 'SYSTEM'

// Convert to display labels
toToolLabel('tactical')    // => 'Tactical'
toToolLabel('fleet_mdm')   // => 'Fleet'

// Validation
isValidToolType('authentik')  // => true
isValidToolType('invalid')    // => false
```

The utility supports all major MSP tools including Tactical RMM, Fleet MDM, MeshCentral, Authentik, and OpenFrame components with comprehensive alias mapping for different naming conventions.