(raw: &str)
| 120 | } |
| 121 | |
| 122 | pub fn categorize_skill(raw: &str) -> UsageCategory { |
| 123 | let normalized = raw.trim().to_ascii_lowercase(); |
| 124 | if normalized.starts_with("tracedecay:") { |
| 125 | UsageCategory::TraceDecayWorkflowSkill |
| 126 | } else if normalized.is_empty() { |
| 127 | UsageCategory::Other |
| 128 | } else { |
| 129 | UsageCategory::WorkflowSkill |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | pub fn infer_usage_events( |
| 134 | tool_names: Option<&str>, |
no test coverage detected