feat: implement <ClientFilter /> to AI Bridge request logs (#22694)

Closes #22136

This pull-request implements a `<ClientFilter />` to our `Request Logs`
page for AI Bridge. This will allow the user to select a client which
they wish to filter against. Technically the backend is able to actually
filter against multiple clients at once however the frontend doesn't
currently have a nice way of supporting this (future improvement).

<img width="1447" height="831" alt="image"
src="https://github.com/user-attachments/assets/0be234e2-25f2-4a89-b971-d74817395da1"
/>

---------

Co-authored-by: Jeremy Ruppel <jeremy.ruppel@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jake Howell
2026-03-27 17:18:28 -04:00
committed by GitHub
co-authored by Jeremy Ruppel Claude Sonnet 4.6
parent 8c494e2a77
commit 71a492a374
21 changed files with 558 additions and 9 deletions
+14
View File
@@ -324,3 +324,17 @@ func (c *Client) AIBridgeGetSessionThreads(ctx context.Context, sessionID string
var resp AIBridgeSessionThreadsResponse
return resp, json.NewDecoder(res.Body).Decode(&resp)
}
// AIBridgeListClients returns the distinct AI clients visible to the caller.
func (c *Client) AIBridgeListClients(ctx context.Context) ([]string, error) {
res, err := c.Request(ctx, http.MethodGet, "/api/v2/aibridge/clients", nil)
if err != nil {
return nil, err
}
defer res.Body.Close()
if res.StatusCode != http.StatusOK {
return nil, ReadBodyAsError(res)
}
var clients []string
return clients, json.NewDecoder(res.Body).Decode(&clients)
}