pub trait RootResolver {
// Required method
fn resolve_package_root(&self, pkg: &PackageSpec) -> FileResult<ImmutPath>;
// Provided methods
fn path_for_id(&self, file_id: TypstFileId) -> FileResult<PathResolution> { ... }
fn resolve_root(
&self,
file_id: TypstFileId,
) -> FileResult<Option<ImmutPath>> { ... }
}