You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add max_total_file_pixels, JobOptions, make ExecutionSecurity non_exhaustive
- Add ExecutionSecurity::max_total_file_pixels (Option<u64>, default
400MP) for bounding total decoded pixels across all animation frames.
- Make ExecutionSecurity #[non_exhaustive] so new fields don't break
downstream crates. External construction now uses sane_defaults()
or unspecified() with field mutation.
- Add JobOptions struct (#[non_exhaustive], currently empty) reserved
for upcoming backend and color management controls.
- Wire JobOptions into Build001Config and Execute001.
- Update all test and tool construction sites.
Copy file name to clipboardExpand all lines: imageflow_core/src/json/endpoints/openapi_schema_v1.json
+33Lines changed: 33 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -617,6 +617,16 @@
617
617
}
618
618
]
619
619
},
620
+
"job_options": {
621
+
"oneOf": [
622
+
{
623
+
"type": "null"
624
+
},
625
+
{
626
+
"$ref": "#/components/schemas/JobOptions"
627
+
}
628
+
]
629
+
},
620
630
"security": {
621
631
"oneOf": [
622
632
{
@@ -1532,6 +1542,16 @@
1532
1542
}
1533
1543
]
1534
1544
},
1545
+
"job_options": {
1546
+
"oneOf": [
1547
+
{
1548
+
"type": "null"
1549
+
},
1550
+
{
1551
+
"$ref": "#/components/schemas/JobOptions"
1552
+
}
1553
+
]
1554
+
},
1535
1555
"security": {
1536
1556
"oneOf": [
1537
1557
{
@@ -1603,6 +1623,15 @@
1603
1623
],
1604
1624
"description": "Maximum bytes for a JSON API payload before deserialization.\nDefault: 64 MB. Set to `None` to disable.",
1605
1625
"minimum": 0
1626
+
},
1627
+
"max_total_file_pixels": {
1628
+
"type": [
1629
+
"integer",
1630
+
"null"
1631
+
],
1632
+
"format": "int64",
1633
+
"description": "Maximum total decoded pixels across all frames in a file.\nFor animation, this is checked as frame_count * width * height.\nDefault: 400 megapixels. Set to `None` to disable.",
1634
+
"minimum": 0
1606
1635
}
1607
1636
}
1608
1637
},
@@ -1949,6 +1978,10 @@
1949
1978
}
1950
1979
}
1951
1980
},
1981
+
"JobOptions": {
1982
+
"type": "object",
1983
+
"description": "Reserved for future options controlling backends, color management,\nand other job-level behavior. Currently empty."
0 commit comments