"""Data models for shell-speak.""" from dataclasses import dataclass, field from datetime import datetime @dataclass class CommandPattern: """A pattern for matching natural language to shell commands.""" name: str tool: str description: str patterns: list[str] template: str explanation: str = "" examples: list[str] = field(default_factory=list) @dataclass class CommandMatch: """A match between natural language and a shell command.""" pattern: CommandPattern confidence: float matched_query: str command: str explanation: str @dataclass class HistoryEntry: """An entry in the command history.""" query: str command: str tool: str timestamp: datetime explanation: str = "" @dataclass class Correction: """A user correction for a query.""" original_query: str corrected_command: str tool: str timestamp: datetime explanation: str = ""