Result of a skill edit operation. Attributes: skill_dir: Final skill directory location. content_diff: Combined unified diff (git diff format) covering all modified files, for lineage recording. content_snapshot: Full directory snapshot ``{relative_path: cont
| 87 | |
| 88 | @dataclass |
| 89 | class SkillEditResult: |
| 90 | """Result of a skill edit operation. |
| 91 | |
| 92 | Attributes: |
| 93 | skill_dir: Final skill directory location. |
| 94 | content_diff: Combined unified diff (git diff format) covering all |
| 95 | modified files, for lineage recording. |
| 96 | content_snapshot: Full directory snapshot ``{relative_path: content}``, |
| 97 | for lineage recording. |
| 98 | error: Non-None means the operation failed. |
| 99 | """ |
| 100 | skill_dir: Path = field(default_factory=lambda: Path(".")) |
| 101 | content_diff: str = "" |
| 102 | content_snapshot: Dict[str, str] = field(default_factory=dict) |
| 103 | error: Optional[str] = None |
| 104 | |
| 105 | @property |
| 106 | def ok(self) -> bool: |
| 107 | return self.error is None |
| 108 | |
| 109 | |
| 110 | class PatchError(RuntimeError): |
no outgoing calls
no test coverage detected