Expose image generation usage-limit failures (#38024)

## What changed

- Add structured `usageLimitExceeded` metadata to failed image-generation
  items, including the image limit ID and optional reset timestamp.
- Preserve the failure metadata in completion events, app-server thread
  history, thread reads and resumes, and migrated legacy rollouts.
- Export the new failure type in the generated JSON and TypeScript schemas.

## Testing

- Cover usage-limit responses through item completion, persistence, and thread
  resume.
- Verify legacy rollout migration retains image-generation failure metadata.

GitOrigin-RevId: 91c31a2a47456b6b916ee03002ff314b05946dd4
This commit is contained in:
arun eswara authored and copyberry committed 2026-08-11 15:40:52 +00:00
1 parent 4c5fc230a9
commit edcec13372
41 files changed
+1104 -18

No files matched your search

+3
View File
@@ -15,6 +15,7 @@ fn completed_image_generation_item() -> ExtensionItem {
revised_prompt: Some("A blue square".to_string()),
result: "cG5n".to_string(),
transparent_background: None,
failure: None,
saved_path: None,
})
}
@@ -33,6 +34,7 @@ fn image_generation_item_preserves_stable_wire_shape() {
"revisedPrompt": "A blue square",
"result": "cG5n",
"transparentBackground": null,
"failure": null,
})
);
assert_eq!(
@@ -70,6 +72,7 @@ fn image_generation_item_preserves_authoritative_transparency() {
"revisedPrompt": "A blue square",
"result": "cG5n",
"transparentBackground": true,
"failure": null,
})
);
assert_eq!(