MCPcopy Create free account
hub / github.com/coder/coder / extractManualTitleTurns

Function extractManualTitleTurns

coderd/x/chatd/quickgen.go:641–675  ·  view source on GitHub ↗
(messages []database.ChatMessage)

Source from the content-addressed store, hash-verified

639}
640
641func extractManualTitleTurns(messages []database.ChatMessage) []manualTitleTurn {
642 turns := make([]manualTitleTurn, 0, len(messages))
643 for _, message := range messages {
644 if message.Visibility == database.ChatMessageVisibilityModel {
645 continue
646 }
647
648 role := ""
649 switch message.Role {
650 case database.ChatMessageRoleUser:
651 role = string(database.ChatMessageRoleUser)
652 case database.ChatMessageRoleAssistant:
653 role = string(database.ChatMessageRoleAssistant)
654 default:
655 continue
656 }
657
658 parts, err := chatprompt.ParseContent(message)
659 if err != nil {
660 continue
661 }
662
663 text := strings.TrimSpace(contentBlocksToText(parts))
664 if text == "" {
665 continue
666 }
667
668 turns = append(turns, manualTitleTurn{
669 role: role,
670 text: text,
671 })
672 }
673
674 return turns
675}
676
677func selectManualTitleTurnIndexes(turns []manualTitleTurn) []int {
678 firstUserIndex := slices.IndexFunc(turns, func(turn manualTitleTurn) bool {

Callers 2

generateManualTitleFunction · 0.85

Calls 2

ParseContentFunction · 0.92
contentBlocksToTextFunction · 0.85

Tested by 1