#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
模块名称：id_generator.py
模块描述：唯一 ID 生成器

作者：czj
创建日期：2026-07-09
最后修改：2026-07-09
"""

import uuid
from typing import Optional


def generate_id(prefix: str = "") -> str:
    """
    生成唯一 ID

    使用 UUID 生成全局唯一标识符，可选前缀用于区分资源类型。

    Args:
        prefix (str): ID 前缀，如 "module", "case", "exec" 等

    Returns:
        str: 生成并返回唯一 ID

    Example:
        >>> generate_id("module")
        'module_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d'
        >>> generate_id()
        'a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d'
    """
    # 使用 UUID4 生成随机 ID，去掉连字符
    unique_id = uuid.uuid4().hex

    if prefix:
        return f"{prefix}_{unique_id}"
    return unique_id