Coverage for src / harnessutils / utils / ids.py: 100%
6 statements
« prev ^ index » next coverage.py v7.13.2, created at 2026-02-12 22:40 -0600
« prev ^ index » next coverage.py v7.13.2, created at 2026-02-12 22:40 -0600
1"""Time-ordered ID generation utilities."""
3import secrets
4import time
7def generate_id(prefix: str) -> str:
8 """Generate a time-ordered unique ID.
10 Format: {prefix}_{timestamp}_{random}
12 Args:
13 prefix: Type prefix (e.g., "msg", "conv", "part")
15 Returns:
16 Unique ID string
18 Example:
19 >>> generate_id("msg")
20 'msg_20260131_142305_abc123'
21 """
22 timestamp = time.strftime("%Y%m%d_%H%M%S")
23 random_suffix = secrets.token_hex(3)
24 return f"{prefix}_{timestamp}_{random_suffix}"