```python
def wire_value(value):
    if isinstance(value, str):
        return wire_text(value)
    elif isinstance(value, int):
        if value < 0:
            raise ValueError("Negative numbers are not supported.")
        return f"n{value};"
    elif isinstance(value, list):
        return f"[{wire_list(value)}]"
    else:
        raise ValueError(f"Unsupported type: {type(value).__name__}")

def wire_text(text: str):
    if not isinstance(text, str):
        raise ValueError("Input must be a string.")
    if "\n" in text:
        raise ValueError("Text containing newline is not supported.")
    return f"s{len(text)}:{text}"

def wire_list(lst):
    return ";".join(wire_value(item) for item in lst)
```