MCPcopy Index your code
hub / github.com/docker/docker-agent / sessionToData

Function sessionToData

pkg/app/export/html.go:92–122  ·  view source on GitHub ↗
(sess *session.Session)

Source from the content-addressed store, hash-verified

90}
91
92func sessionToData(sess *session.Session) SessionData {
93 messages := sess.GetAllMessages()
94 exportMessages := make([]Message, len(messages))
95 for i, msg := range messages {
96 toolCalls := make([]ToolCall, len(msg.Message.ToolCalls))
97 for j, tc := range msg.Message.ToolCalls {
98 toolCalls[j] = ToolCall{
99 ID: tc.ID,
100 Name: tc.Function.Name,
101 Arguments: tc.Function.Arguments,
102 }
103 }
104 exportMessages[i] = Message{
105 Role: msg.Message.Role,
106 Content: msg.Message.Content,
107 ReasoningContent: msg.Message.ReasoningContent,
108 ToolCallID: msg.Message.ToolCallID,
109 ToolCalls: toolCalls,
110 AgentName: msg.AgentName,
111 Implicit: msg.Implicit,
112 }
113 }
114 return SessionData{
115 Title: sess.Title,
116 CreatedAt: sess.CreatedAt,
117 InputTokens: sess.InputTokens,
118 OutputTokens: sess.OutputTokens,
119 Cost: sess.TotalCost(),
120 Messages: exportMessages,
121 }
122}
123
124// ToFile exports session data to an HTML file.
125// If filename is empty, a default name based on the title and timestamp is used.

Callers 1

SessionToFileFunction · 0.85

Calls 2

GetAllMessagesMethod · 0.80
TotalCostMethod · 0.80

Tested by

no test coverage detected