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

Function AIBridgeInterception

coderd/database/db2sdk/db2sdk.go:1095–1133  ·  view source on GitHub ↗
(interception database.AIBridgeInterception, initiator database.VisibleUser, tokenUsages []database.AIBridgeTokenUsage, userPrompts []database.AIBridgeUserPrompt, toolUsages []database.AIBridgeToolUsage)

Source from the content-addressed store, hash-verified

1093}
1094
1095func AIBridgeInterception(interception database.AIBridgeInterception, initiator database.VisibleUser, tokenUsages []database.AIBridgeTokenUsage, userPrompts []database.AIBridgeUserPrompt, toolUsages []database.AIBridgeToolUsage) codersdk.AIBridgeInterception {
1096 sdkTokenUsages := slice.List(tokenUsages, AIBridgeTokenUsage)
1097 sort.Slice(sdkTokenUsages, func(i, j int) bool {
1098 // created_at ASC
1099 return sdkTokenUsages[i].CreatedAt.Before(sdkTokenUsages[j].CreatedAt)
1100 })
1101 sdkUserPrompts := slice.List(userPrompts, AIBridgeUserPrompt)
1102 sort.Slice(sdkUserPrompts, func(i, j int) bool {
1103 // created_at ASC
1104 return sdkUserPrompts[i].CreatedAt.Before(sdkUserPrompts[j].CreatedAt)
1105 })
1106 sdkToolUsages := slice.List(toolUsages, AIBridgeToolUsage)
1107 sort.Slice(sdkToolUsages, func(i, j int) bool {
1108 // created_at ASC
1109 return sdkToolUsages[i].CreatedAt.Before(sdkToolUsages[j].CreatedAt)
1110 })
1111 intc := codersdk.AIBridgeInterception{
1112 ID: interception.ID,
1113 Initiator: MinimalUserFromVisibleUser(initiator),
1114 Provider: interception.Provider,
1115 ProviderName: interception.ProviderName,
1116 Model: interception.Model,
1117 Metadata: jsonOrEmptyMap(interception.Metadata),
1118 StartedAt: interception.StartedAt,
1119 TokenUsages: sdkTokenUsages,
1120 UserPrompts: sdkUserPrompts,
1121 ToolUsages: sdkToolUsages,
1122 }
1123 if interception.APIKeyID.Valid {
1124 intc.APIKeyID = &interception.APIKeyID.String
1125 }
1126 if interception.EndedAt.Valid {
1127 intc.EndedAt = &interception.EndedAt.Time
1128 }
1129 if interception.Client.Valid {
1130 intc.Client = &interception.Client.String
1131 }
1132 return intc
1133}
1134
1135func AIBridgeSession(row database.ListAIBridgeSessionsRow) codersdk.AIBridgeSession {
1136 session := codersdk.AIBridgeSession{

Calls 3

ListFunction · 0.92
jsonOrEmptyMapFunction · 0.85

Tested by 2

TestAIBridgeInterceptionFunction · 0.74