| 94 | |
| 95 | @dataclass(frozen=True, slots=True) |
| 96 | class WorkloadHints: |
| 97 | is_agentic: bool = False |
| 98 | is_coding: bool = False |
| 99 | needs_structured_output: bool = False |
| 100 | |
| 101 | def tags(self) -> tuple[str, ...]: |
| 102 | labels: list[str] = [] |
| 103 | if self.is_agentic: |
| 104 | labels.append("agentic") |
| 105 | if self.is_coding: |
| 106 | labels.append("coding") |
| 107 | if self.needs_structured_output: |
| 108 | labels.append("structured-output") |
| 109 | return tuple(labels) |
| 110 | |
| 111 | |
| 112 | @dataclass(frozen=True, slots=True) |
no outgoing calls