MCPcopy
hub / github.com/docker/docker-agent / GetLastUserMessages

Method GetLastUserMessages

pkg/session/session.go:669–687  ·  view source on GitHub ↗

GetLastUserMessages returns up to n most recent user messages, ordered from oldest to newest. Returns nil if n <= 0.

(n int)

Source from the content-addressed store, hash-verified

667// GetLastUserMessages returns up to n most recent user messages, ordered from oldest to newest.
668// Returns nil if n <= 0.
669func (s *Session) GetLastUserMessages(n int) []string {
670 if n <= 0 {
671 return nil
672 }
673 messages := s.GetAllMessages()
674 var userMessages []string
675 for i := range messages {
676 if messages[i].Message.Role == chat.MessageRoleUser {
677 content := strings.TrimSpace(messages[i].Message.Content)
678 if content != "" {
679 userMessages = append(userMessages, content)
680 }
681 }
682 }
683 if len(userMessages) <= n {
684 return userMessages
685 }
686 return userMessages[len(userMessages)-n:]
687}
688
689func (s *Session) getLastMessageContentByRole(role chat.MessageRole) string {
690 messages := s.GetAllMessages()

Callers 2

handleRegenerateTitleMethod · 0.80
TestGetLastUserMessagesFunction · 0.80

Implementers 7

fakeSessionpkg/tools/lifecycle/supervisor_test.go
sessionClientpkg/tools/mcp/session_client.go
mockMCPClientpkg/tools/mcp/mcp_test.go
reconnectableMockClientpkg/tools/mcp/mcp_test.go
failingInitClientpkg/tools/mcp/reconnect_test.go
clientSessionpkg/tools/mcp/mcp.go
lspSessionpkg/tools/builtin/lsp/lsp_lifecycle.go

Calls 1

GetAllMessagesMethod · 0.95

Tested by 1

TestGetLastUserMessagesFunction · 0.64