(activation taskRoleActivation)
| 567 | } |
| 568 | |
| 569 | func taskRoleProfileFingerprint(activation taskRoleActivation) string { |
| 570 | if activation.Profile == nil { |
| 571 | return "" |
| 572 | } |
| 573 | profile := activation.Profile |
| 574 | parts := []string{ |
| 575 | strings.TrimSpace(activation.Provider), |
| 576 | strings.TrimSpace(activation.Model), |
| 577 | string(profile.Sandbox.Mode.Normalize()), |
| 578 | strings.TrimSpace(profile.Sandbox.SandboxRef), |
| 579 | string(profile.Runtime.Mode.Normalize()), |
| 580 | strings.Join(uniqueNonEmptyStrings(profile.Worker.RequiredCapabilities), "\x1f"), |
| 581 | } |
| 582 | sum := sha256.Sum256([]byte(strings.Join(parts, "\x00"))) |
| 583 | return hex.EncodeToString(sum[:8]) |
| 584 | } |
| 585 | |
| 586 | func taskRolePromptOverlay(activation taskRoleActivation) string { |
| 587 | title := firstNonEmpty(activation.Title, activation.TaskID) |
no test coverage detected