MCPcopy Index your code
hub / github.com/coder/coder / FilterContextParts

Function FilterContextParts

coderd/x/chatd/contextparts.go:26–44  ·  view source on GitHub ↗

FilterContextParts keeps only context-file and skill parts from parts. When keepEmptyContextFiles is false, context-file parts with empty content are dropped. When keepEmptyContextFiles is true, empty context-file parts are preserved. revive:disable-next-line:flag-parameter // Required by shared hel

(
	parts []codersdk.ChatMessagePart,
	keepEmptyContextFiles bool,
)

Source from the content-addressed store, hash-verified

24// context-file parts are preserved.
25// revive:disable-next-line:flag-parameter // Required by shared helper callers.
26func FilterContextParts(
27 parts []codersdk.ChatMessagePart,
28 keepEmptyContextFiles bool,
29) []codersdk.ChatMessagePart {
30 var filtered []codersdk.ChatMessagePart
31 for _, part := range parts {
32 switch part.Type {
33 case codersdk.ChatMessagePartTypeContextFile:
34 if !keepEmptyContextFiles && part.ContextFileContent == "" {
35 continue
36 }
37 case codersdk.ChatMessagePartTypeSkill:
38 default:
39 continue
40 }
41 filtered = append(filtered, part)
42 }
43 return filtered
44}
45
46// CollectContextPartsFromMessages unmarshals chat message content and
47// collects the context-file and skill parts it contains. When

Calls

no outgoing calls

Tested by

no test coverage detected