| 3717 | } |
| 3718 | |
| 3719 | func runBootRecoveryMetadata(run Run, recovery RunBootRecovery) json.RawMessage { |
| 3720 | payload, err := marshalTaskEventPayload(map[string]string{ |
| 3721 | "reason": normalizedBootRecoveryReason(recovery.Reason), |
| 3722 | "previous_status": string(run.Status.Normalize()), |
| 3723 | "session_id": strings.TrimSpace(run.SessionID), |
| 3724 | "session_state": strings.TrimSpace(recovery.SessionState), |
| 3725 | "classification": strings.TrimSpace(recovery.Classification), |
| 3726 | "detail": strings.TrimSpace(recovery.Detail), |
| 3727 | }) |
| 3728 | if err != nil { |
| 3729 | return nil |
| 3730 | } |
| 3731 | return payload |
| 3732 | } |
| 3733 | |
| 3734 | func normalizedBootRecoveryReason(reason string) string { |
| 3735 | trimmed := strings.TrimSpace(reason) |