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

Function publishToolAttachments

coderd/x/chatd/chatloop/chatloop.go:1968–1993  ·  view source on GitHub ↗
(
	ctx context.Context,
	logger slog.Logger,
	tr fantasy.ToolResultContent,
	createdAt time.Time,
	publishMessagePart func(codersdk.ChatMessageRole, codersdk.ChatMessagePart),
)

Source from the content-addressed store, hash-verified

1966}
1967
1968func publishToolAttachments(
1969 ctx context.Context,
1970 logger slog.Logger,
1971 tr fantasy.ToolResultContent,
1972 createdAt time.Time,
1973 publishMessagePart func(codersdk.ChatMessageRole, codersdk.ChatMessagePart),
1974) {
1975 attachments, err := chattool.AttachmentsFromMetadata(tr.ClientMetadata)
1976 if err != nil {
1977 logger.Warn(ctx, "skipping malformed tool attachment metadata",
1978 slog.F("tool_name", tr.ToolName),
1979 slog.F("tool_call_id", tr.ToolCallID),
1980 slog.Error(err),
1981 )
1982 return
1983 }
1984 for _, attachment := range attachments {
1985 filePart := codersdk.ChatMessageFile(
1986 attachment.FileID,
1987 attachment.MediaType,
1988 attachment.Name,
1989 )
1990 filePart.CreatedAt = &createdAt
1991 publishMessagePart(codersdk.ChatMessageRoleAssistant, filePart)
1992 }
1993}
1994
1995func extractContextLimit(metadata fantasy.ProviderMetadata) sql.NullInt64 {
1996 if len(metadata) == 0 {

Callers 1

executeToolsForStepFunction · 0.85

Calls 3

AttachmentsFromMetadataFunction · 0.92
ChatMessageFileFunction · 0.92
ErrorMethod · 0.45

Tested by

no test coverage detected