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

Function AIBridgeSession

coderd/database/db2sdk/db2sdk.go:1135–1174  ·  view source on GitHub ↗
(row database.ListAIBridgeSessionsRow)

Source from the content-addressed store, hash-verified

1133}
1134
1135func AIBridgeSession(row database.ListAIBridgeSessionsRow) codersdk.AIBridgeSession {
1136 session := codersdk.AIBridgeSession{
1137 ID: row.SessionID,
1138 Initiator: MinimalUserFromVisibleUser(database.VisibleUser{
1139 ID: row.UserID,
1140 Username: row.UserUsername,
1141 Name: row.UserName,
1142 AvatarURL: row.UserAvatarUrl,
1143 }),
1144 Providers: row.Providers,
1145 Models: row.Models,
1146 Metadata: jsonOrEmptyMap(pqtype.NullRawMessage{RawMessage: row.Metadata, Valid: len(row.Metadata) > 0}),
1147 StartedAt: row.StartedAt,
1148 Threads: row.Threads,
1149 LastActiveAt: row.LastActiveAt,
1150 TokenUsageSummary: codersdk.AIBridgeSessionTokenUsageSummary{
1151 InputTokens: row.InputTokens,
1152 OutputTokens: row.OutputTokens,
1153 CacheReadInputTokens: row.CacheReadInputTokens,
1154 CacheWriteInputTokens: row.CacheWriteInputTokens,
1155 },
1156 }
1157 // Ensure non-nil slices for JSON serialization.
1158 if session.Providers == nil {
1159 session.Providers = []string{}
1160 }
1161 if session.Models == nil {
1162 session.Models = []string{}
1163 }
1164 if row.Client != "" {
1165 session.Client = &row.Client
1166 }
1167 if !row.EndedAt.IsZero() {
1168 session.EndedAt = &row.EndedAt
1169 }
1170 if row.LastPrompt != "" {
1171 session.LastPrompt = &row.LastPrompt
1172 }
1173 return session
1174}
1175
1176func AIBridgeTokenUsage(usage database.AIBridgeTokenUsage) codersdk.AIBridgeTokenUsage {
1177 return codersdk.AIBridgeTokenUsage{

Callers 1

aiBridgeListSessionsMethod · 0.92

Calls 3

jsonOrEmptyMapFunction · 0.85
IsZeroMethod · 0.45

Tested by

no test coverage detected