(refs []skills.SkillDefinitionRef)
| 1444 | } |
| 1445 | |
| 1446 | func SkillShadowEntryPayloadsFromRefs(refs []skills.SkillDefinitionRef) []contract.SkillShadowEntryPayload { |
| 1447 | if len(refs) == 0 { |
| 1448 | return nil |
| 1449 | } |
| 1450 | payloads := make([]contract.SkillShadowEntryPayload, 0, len(refs)) |
| 1451 | for _, ref := range refs { |
| 1452 | payloads = append(payloads, contract.SkillShadowEntryPayload{ |
| 1453 | Path: strings.TrimSpace(ref.Path), |
| 1454 | Tier: skillPrecedenceTierFromSourceLabel(ref.Source), |
| 1455 | ResolvedToWinner: false, |
| 1456 | DetectedAt: skillShadowDetectedAt(ref.DetectedAt), |
| 1457 | }) |
| 1458 | } |
| 1459 | return payloads |
| 1460 | } |
| 1461 | |
| 1462 | func skillPrecedenceTierFromSourceLabel(source string) string { |
| 1463 | trimmed := strings.TrimSpace(source) |
no test coverage detected