mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
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:
1 parent
4c5fc230a9
commit
edcec13372
41 files changed
+1104
-18
No files matched your search
@@ -4,6 +4,21 @@ use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
use ts_rs::TS;
|
||||
|
||||
#[derive(Debug, Clone, Deserialize, Serialize, TS, JsonSchema, PartialEq)]
|
||||
#[serde(tag = "type", rename_all = "camelCase")]
|
||||
#[ts(tag = "type", rename_all = "camelCase")]
|
||||
pub enum ImageGenerationFailure {
|
||||
UsageLimitExceeded {
|
||||
#[serde(rename = "limitId")]
|
||||
#[ts(rename = "limitId")]
|
||||
limit_id: String,
|
||||
#[serde(rename = "resetsAt")]
|
||||
#[ts(rename = "resetsAt")]
|
||||
#[ts(type = "number | null")]
|
||||
resets_at: Option<i64>,
|
||||
},
|
||||
}
|
||||
|
||||
// Standalone image-generation item owned by the image extension. This is also
|
||||
// the field-level representation exposed by app-server; core and rollout
|
||||
// persistence only carry it inside an ExtensionItem envelope.
|
||||
@@ -18,6 +33,8 @@ pub struct ImageGenerationItem {
|
||||
#[serde(default)]
|
||||
#[ts(optional)]
|
||||
pub transparent_background: Option<bool>,
|
||||
#[serde(default)]
|
||||
pub failure: Option<ImageGenerationFailure>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional)]
|
||||
pub saved_path: Option<AbsolutePathBuf>,
|
||||
|
||||
Reference in new issue
Block a user