(app_name: str)
| 116 | agents_base_path = (Path.cwd() / agents_dir).resolve() |
| 117 | |
| 118 | def _get_app_root(app_name: str) -> Path: |
| 119 | if app_name in ("", ".", ".."): |
| 120 | raise ValueError(f"Invalid app name: {app_name!r}") |
| 121 | if Path(app_name).name != app_name or "\\" in app_name: |
| 122 | raise ValueError(f"Invalid app name: {app_name!r}") |
| 123 | app_root = (agents_base_path / app_name).resolve() |
| 124 | if not app_root.is_relative_to(agents_base_path): |
| 125 | raise ValueError(f"Invalid app name: {app_name!r}") |
| 126 | return app_root |
| 127 | |
| 128 | def _normalize_relative_path(path: str) -> str: |
| 129 | return path.replace("\\", "/").lstrip("/") |
no test coverage detected