From 860b1b7b87caa415740ca3576de9706f7fed9d60 Mon Sep 17 00:00:00 2001 From: Annie Luc Date: Thu, 8 Oct 2026 22:39:51 -0700 Subject: [PATCH] feat: Add usage in InteractionStatusUpdate events PiperOrigin-RevId: 996295278 --- internal/cli/custom/media.go | 1 - .../sdk/models/interactions/interactionstatusupdate.go | 9 +++++++++ .../sdk/sdkinternal/hooks/interaction_errors_test.go | 1 - 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/cli/custom/media.go b/internal/cli/custom/media.go index 2373419..458b130 100644 --- a/internal/cli/custom/media.go +++ b/internal/cli/custom/media.go @@ -1064,4 +1064,3 @@ func normalizeContentObjectURI(cmd *cobra.Command, s **sdk.GeminiAPI, obj map[st } return nil } - diff --git a/internal/sdk/models/interactions/interactionstatusupdate.go b/internal/sdk/models/interactions/interactionstatusupdate.go index c0583d6..a4d7878 100644 --- a/internal/sdk/models/interactions/interactionstatusupdate.go +++ b/internal/sdk/models/interactions/interactionstatusupdate.go @@ -59,6 +59,8 @@ type InteractionStatusUpdate struct { eventType string `const:"interaction.status_update" json:"event_type"` InteractionID string `json:"interaction_id"` Status InteractionStatusUpdateStatus `json:"status"` + // Statistics on the interaction request's token usage. + Usage *Usage `json:"usage,omitzero"` } func (i InteractionStatusUpdate) MarshalJSON() ([]byte, error) { @@ -103,3 +105,10 @@ func (i *InteractionStatusUpdate) GetStatus() InteractionStatusUpdateStatus { } return i.Status } + +func (i *InteractionStatusUpdate) GetUsage() *Usage { + if i == nil { + return nil + } + return i.Usage +} diff --git a/internal/sdk/sdkinternal/hooks/interaction_errors_test.go b/internal/sdk/sdkinternal/hooks/interaction_errors_test.go index f9a8dc6..4fca131 100644 --- a/internal/sdk/sdkinternal/hooks/interaction_errors_test.go +++ b/internal/sdk/sdkinternal/hooks/interaction_errors_test.go @@ -327,4 +327,3 @@ func TestSanitizeInteractionErrorBody(t *testing.T) { }) } } -