( logger slog.Logger, block fantasy.Content, logMalformedAttachmentMetadata func(fantasy.ToolResultContent, error), )
| 750 | } |
| 751 | |
| 752 | func 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, |
no test coverage detected