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

Function sdkPartFromContent

coderd/x/chatd/chatprompt/chatprompt.go:752–841  ·  view source on GitHub ↗
(
	logger slog.Logger,
	block fantasy.Content,
	logMalformedAttachmentMetadata func(fantasy.ToolResultContent, error),
)

Source from the content-addressed store, hash-verified

750}
751
752func sdkPartFromContent(
753 logger slog.Logger,
754 block fantasy.Content,
755 logMalformedAttachmentMetadata func(fantasy.ToolResultContent, error),
756) codersdk.ChatMessagePart {
757 switch value := block.(type) {
758 case fantasy.TextContent:
759 return codersdk.ChatMessagePart{
760 Type: codersdk.ChatMessagePartTypeText,
761 Text: value.Text,
762 ProviderMetadata: marshalProviderMetadata(value.ProviderMetadata),
763 }
764 case *fantasy.TextContent:
765 return codersdk.ChatMessagePart{
766 Type: codersdk.ChatMessagePartTypeText,
767 Text: value.Text,
768 ProviderMetadata: marshalProviderMetadata(value.ProviderMetadata),
769 }
770 case fantasy.ReasoningContent:
771 return codersdk.ChatMessagePart{
772 Type: codersdk.ChatMessagePartTypeReasoning,
773 Text: value.Text,
774 ProviderMetadata: marshalProviderMetadata(value.ProviderMetadata),
775 }
776 case *fantasy.ReasoningContent:
777 return codersdk.ChatMessagePart{
778 Type: codersdk.ChatMessagePartTypeReasoning,
779 Text: value.Text,
780 ProviderMetadata: marshalProviderMetadata(value.ProviderMetadata),
781 }
782 case fantasy.ToolCallContent:
783 args := safeToolCallArgs(value.Input)
784 return codersdk.ChatMessagePart{
785 Type: codersdk.ChatMessagePartTypeToolCall,
786 ToolCallID: value.ToolCallID,
787 ToolName: value.ToolName,
788 Args: args,
789 ParsedCommands: executeToolParsedCommands(value.ToolName, args),
790 ProviderExecuted: value.ProviderExecuted,
791 ProviderMetadata: marshalProviderMetadata(value.ProviderMetadata),
792 }
793 case *fantasy.ToolCallContent:
794 args := safeToolCallArgs(value.Input)
795 return codersdk.ChatMessagePart{
796 Type: codersdk.ChatMessagePartTypeToolCall,
797 ToolCallID: value.ToolCallID,
798 ToolName: value.ToolName,
799 Args: args,
800 ParsedCommands: executeToolParsedCommands(value.ToolName, args),
801 ProviderExecuted: value.ProviderExecuted,
802 ProviderMetadata: marshalProviderMetadata(value.ProviderMetadata),
803 }
804 case fantasy.SourceContent:
805 return codersdk.ChatMessagePart{
806 Type: codersdk.ChatMessagePartTypeSource,
807 SourceID: value.ID,
808 URL: value.URL,
809 Title: value.Title,

Callers 2

PartFromContentFunction · 0.85

Calls 4

marshalProviderMetadataFunction · 0.85
safeToolCallArgsFunction · 0.85
toolResultContentToPartFunction · 0.70

Tested by

no test coverage detected