///|
fn normalize_catalog(
catalog : Array[BookCatalogEntry],
) -> Array[BookCatalogEntry] {
catalog.map(normalize_catalog_entry)
}
///|
fn normalize_catalog_entry(entry : BookCatalogEntry) -> BookCatalogEntry {
if entry.workspace_root.contains("/workspace/") {
{ ..entry, workspace_root: default_workspace_root(entry.id) }
} else if !entry.workspace_root.has_prefix("/") {
{ ..entry, workspace_root: resolved_workspace_root(entry.workspace_root) }
} else {
entry
}
}