IsProcessedCallID reports whether a captured call_id has already been published. Agents re-send injected tool results in their conversation history, so the same call_id can be captured multiple times.
(sessionID, callID string)
| 279 | // published. Agents re-send injected tool results in their conversation |
| 280 | // history, so the same call_id can be captured multiple times. |
| 281 | func (m *Manager) IsProcessedCallID(sessionID, callID string) bool { |
| 282 | sess := m.Get(sessionID) |
| 283 | if sess == nil { |
| 284 | return false |
| 285 | } |
| 286 | sess.mu.Lock() |
| 287 | defer sess.mu.Unlock() |
| 288 | return sess.processedCallIDs[callID] |
| 289 | } |
| 290 | |
| 291 | // MarkProcessedCallID records a call_id as published so it won't be |
| 292 | // re-processed in subsequent request cycles. |