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

Function chatMessageUsage

coderd/database/db2sdk/db2sdk.go:1589–1613  ·  view source on GitHub ↗

chatMessageUsage builds a ChatMessageUsage from the database row, returning nil when no token fields are populated.

(m database.ChatMessage)

Source from the content-addressed store, hash-verified

1587// chatMessageUsage builds a ChatMessageUsage from the database row,
1588// returning nil when no token fields are populated.
1589func chatMessageUsage(m database.ChatMessage) *codersdk.ChatMessageUsage {
1590 inputTokens := nullInt64Ptr(m.InputTokens)
1591 outputTokens := nullInt64Ptr(m.OutputTokens)
1592 totalTokens := nullInt64Ptr(m.TotalTokens)
1593 reasoningTokens := nullInt64Ptr(m.ReasoningTokens)
1594 cacheCreationTokens := nullInt64Ptr(m.CacheCreationTokens)
1595 cacheReadTokens := nullInt64Ptr(m.CacheReadTokens)
1596 contextLimit := nullInt64Ptr(m.ContextLimit)
1597
1598 if inputTokens == nil && outputTokens == nil && totalTokens == nil &&
1599 reasoningTokens == nil && cacheCreationTokens == nil &&
1600 cacheReadTokens == nil && contextLimit == nil {
1601 return nil
1602 }
1603
1604 return &codersdk.ChatMessageUsage{
1605 InputTokens: inputTokens,
1606 OutputTokens: outputTokens,
1607 TotalTokens: totalTokens,
1608 ReasoningTokens: reasoningTokens,
1609 CacheCreationTokens: cacheCreationTokens,
1610 CacheReadTokens: cacheReadTokens,
1611 ContextLimit: contextLimit,
1612 }
1613}
1614
1615// ChatQueuedMessage converts a queued message to its SDK representation.
1616func ChatQueuedMessage(message database.ChatQueuedMessage) codersdk.ChatQueuedMessage {

Callers 1

ChatMessageFunction · 0.85

Calls 1

nullInt64PtrFunction · 0.70

Tested by

no test coverage detected