(command: str)
| 186 | |
| 187 | |
| 188 | def _try_extract_cd(command: str) -> Path | None: |
| 189 | stripped = command.strip() |
| 190 | if not stripped.startswith("cd "): |
| 191 | return None |
| 192 | try: |
| 193 | parts = shlex.split(stripped, posix=True) |
| 194 | except ValueError: |
| 195 | return None |
| 196 | if len(parts) >= 2 and parts[0] == "cd": |
| 197 | return Path(parts[1]) |
| 198 | return None |
| 199 | |
| 200 | |
| 201 | def _bash_check_permissions( |