package memory import ( "strings" "git.yeij.top/AskaEth/Cyrene_v2/internal/runtime/model" ) // messageText returns the concatenated plain-text payload of a message. Image // parts are skipped; text parts are joined with a single space. It is the // shared text view used by the working-memory summary and the manual extractor. func messageText(m model.Message) string { var b strings.Builder for _, part := range m.Content { if part.Type != model.ContentTypeText { continue } if b.Len() > 0 { b.WriteByte(' ') } b.WriteString(part.Text) } return b.String() }