| 15 | |
| 16 | @dataclass(frozen=True) |
| 17 | class TextNormalizationSnapshot: |
| 18 | state: str |
| 19 | message: str |
| 20 | error: str | None = None |
| 21 | ready: bool = False |
| 22 | available: bool = False |
| 23 | |
| 24 | @property |
| 25 | def failed(self) -> bool: |
| 26 | return self.state == "failed" |
| 27 | |
| 28 | |
| 29 | class WeTextProcessingManager: |