25 lines
584 B
Go
25 lines
584 B
Go
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()
|
|
}
|