| 169 | } |
| 170 | |
| 171 | func (i *responsesInterceptionBase) recordUserPrompt(ctx context.Context, responseID string, prompt string) { |
| 172 | if responseID == "" { |
| 173 | i.logger.Warn(ctx, "got empty response ID, skipping prompt recording") |
| 174 | return |
| 175 | } |
| 176 | |
| 177 | promptUsage := &recorder.PromptUsageRecord{ |
| 178 | InterceptionID: i.ID().String(), |
| 179 | MsgID: responseID, |
| 180 | Prompt: prompt, |
| 181 | } |
| 182 | if err := i.recorder.RecordPromptUsage(ctx, promptUsage); err != nil { |
| 183 | i.logger.Warn(ctx, "failed to record prompt usage", slog.Error(err)) |
| 184 | } |
| 185 | } |
| 186 | |
| 187 | func (i *responsesInterceptionBase) recordModelThoughts(ctx context.Context, response *responses.Response) { |
| 188 | for _, t := range i.extractModelThoughts(response) { |