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

Function cloneSubSession

pkg/session/branch.go:152–172  ·  view source on GitHub ↗
(src *Session)

Source from the content-addressed store, hash-verified

150}
151
152func cloneSubSession(src *Session) (*Session, error) {
153 if src == nil {
154 return nil, nil
155 }
156
157 cloned := New()
158 copySessionMetadata(cloned, src, src.Title)
159 cloned.CreatedAt = src.CreatedAt
160
161 cloned.Messages = make([]Item, 0, len(src.Messages))
162 for _, item := range src.Messages {
163 clonedItem, err := cloneSessionItem(item)
164 if err != nil {
165 return nil, err
166 }
167 cloned.Messages = append(cloned.Messages, clonedItem)
168 }
169
170 recalculateSessionTotals(cloned)
171 return cloned, nil
172}
173
174func copySessionMetadata(dst, src *Session, title string) {
175 if src == nil || dst == nil {

Callers 1

cloneSessionItemFunction · 0.85

Calls 4

copySessionMetadataFunction · 0.85
cloneSessionItemFunction · 0.85
recalculateSessionTotalsFunction · 0.85
NewFunction · 0.70

Tested by

no test coverage detected