Handles multiple output formats from LLMs:
"cluster_id: cell_type" format
"1. cell_type" numeric index format
Positional fallback (line index maps to cluster index)
parse_text_predictions(model_preds, all_clusters = NULL)Named list mapping cluster_id -> cell_type
Character vector of prediction lines from a model
Optional character vector of cluster IDs for positional fallback