Add automatic ChunkID generation for messages in Send method

- Implemented logic to auto-generate ChunkID for messages when not provided, enhancing message tracking.
- Utilized IDGenerator if available; otherwise, fallback to message.GenerateNanoID for unique identification.
- Improved message handling consistency by ensuring ChunkID is always set for non-event messages.
This commit is contained in:
Max 2025-11-30 15:28:09 +08:00
parent 6c295db8d5
commit 4e8508649e

View file

@ -39,6 +39,15 @@ func (ctx *Context) Send(msg *message.Message) error {
}
}
// === Auto-generate ChunkID (always) ===
if msg.ChunkID == "" && !isEventMessage {
if ctx.IDGenerator != nil {
msg.ChunkID = ctx.IDGenerator.GenerateChunkID()
} else {
msg.ChunkID = message.GenerateNanoID()
}
}
// === Non-delta operations: New message logic ===
if !msg.Delta && !isEventMessage {
// Auto-set ThreadID for non-root Stack (nested agent calls)