fix(agent): add TargetRef nil guards and ensureHistory for robustness

- Add nil checks for session.TargetRef in all four execute*Action
  handlers (Trader/Exchange/Model/Strategy) to prevent panic on
  corrupted sessions; bulk-delete and query actions are excluded
- Add ensureHistory() helper and call it in runPlannedAgentWithContextMode
  to prevent nil panic when history is not initialized

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
shinchan-zhai
2026-05-11 16:43:36 +08:00
parent 94844b7139
commit ca8bed4a58
3 changed files with 47 additions and 0 deletions

View File

@@ -2551,6 +2551,7 @@ func (a *Agent) runPlannedAgentWithContextMode(ctx context.Context, storeUserID
answer, _, err := a.driveActiveSession(ctx, storeUserID, userID, lang, text, session, onEvent)
return answer, err
}
a.ensureHistory()
a.history.Add(userID, "user", text)
if onEvent != nil {
onEvent(StreamEventPlanning, a.planningStatusText(lang))