| 51 | |
| 52 | @classmethod |
| 53 | def from_dict(cls, data: Dict) -> "ErrorPattern": |
| 54 | pattern = cls( |
| 55 | error_type=data["error_type"], |
| 56 | error_message=data["error_message"], |
| 57 | fix=data.get("fix", ""), |
| 58 | success=data.get("success", False), |
| 59 | context=data.get("context", {}), |
| 60 | ) |
| 61 | pattern.created_at = data.get("created_at", pattern.created_at) |
| 62 | pattern.times_seen = data.get("times_seen", 1) |
| 63 | pattern.times_fixed = data.get("times_fixed", 0) |
| 64 | return pattern |
| 65 | |
| 66 | def similarity_score(self, other: "ErrorPattern") -> float: |
| 67 | """Calculate similarity to another error pattern.""" |