```python
def index_map(labels: list) -> dict:
    """
    Given a list of labels, return a mapping from each label to every position it holds.
    The positions are counted from zero and given in increasing order.
    A label appearing once still gets a list.
    
    Parameters:
    labels (list): A list of labels (strings).
    
    Returns:
    dict: A dictionary with labels as keys and lists of positions as values.
    """
    index_mapping = {}
    for index, label in enumerate(labels):
        if label not in index_mapping:
            index_mapping[label] = [index]
        else:
            index_mapping[label].append(index)
    return index_mapping
```