```python
def apply_edit_script(original: str, script: list) -> str:
    if not isinstance(original, str):
        raise ValueError("Original must be a string")
    
    result = []
    original_idx = 0
    
    for op, count in script:
        if op == "copy":
            if not isinstance(count, int) or count <= 0:
                raise ValueError("Copy count must be a positive integer")
            for _ in range(count):
                if original_idx >= len(original):
                    raise ValueError("Script stops before the original is used up")
                result.append(original[original_idx])
                original_idx += 1
        elif op == "skip":
            if not isinstance(count, int) or count <= 0:
                raise ValueError("Skip count must be a positive integer")
            original_idx += count
        elif op == "insert":
            if not isinstance(count, int) or count <= 0:
                raise ValueError("Insert count must be a positive integer")
            if not isinstance(count, int) or not count:
                raise ValueError("Insert text must be a non-empty string")
            result.extend(count * list(count))
        else:
            raise ValueError(f"Unknown op: {op}")
    
    return ''.join(result)
```