@giveitsmaller/contracts 0.59.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (505) hide show
  1. package/accepted-options/accepted-options.json +1 -2
  2. package/accepted-options/image-output-routes.json +1 -1
  3. package/asyncapi/events.yaml +19 -0
  4. package/availability/availability.json +31 -38
  5. package/code-builder/code-builder-metadata.json +46 -57
  6. package/dist/asyncapi/ErrorCode.d.ts +2 -0
  7. package/dist/asyncapi/ErrorCode.js +2 -0
  8. package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
  9. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  10. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  11. package/dist/openapi/models/AccountLimits.js +1 -1
  12. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  13. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  14. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  15. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  16. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  17. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  18. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  19. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  20. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  21. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  22. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  23. package/dist/openapi/models/AuthErrorType.js +1 -1
  24. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  25. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  26. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  27. package/dist/openapi/models/AvailabilityValue.js +1 -1
  28. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  29. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  30. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  31. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  32. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  33. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  34. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  35. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  36. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  37. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  38. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  39. package/dist/openapi/models/CallbackEventType.js +1 -1
  40. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  41. package/dist/openapi/models/CapabilityCondition.js +1 -1
  42. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  43. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  44. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  45. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  46. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  47. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  48. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  49. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  50. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  54. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  55. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  56. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  57. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  58. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  59. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  60. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  61. package/dist/openapi/models/CapabilityProduces.js +1 -1
  62. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  63. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  64. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  65. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  66. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  67. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  68. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  69. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  70. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  71. package/dist/openapi/models/CodegenSource.js +1 -1
  72. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  73. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  74. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  75. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  76. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  77. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  78. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  79. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  80. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  81. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  82. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  83. package/dist/openapi/models/CompositionPlan.js +1 -1
  84. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  85. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  86. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  87. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  88. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  89. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  90. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  91. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  92. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  93. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  94. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  95. package/dist/openapi/models/ConnectionSource.js +1 -1
  96. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  97. package/dist/openapi/models/ContactRequest.js +1 -1
  98. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  99. package/dist/openapi/models/ContactSubject.js +1 -1
  100. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  101. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  102. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  103. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  104. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  105. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  106. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  107. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  108. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  109. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  110. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  111. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  112. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  113. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  114. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  115. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  116. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  117. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  118. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  119. package/dist/openapi/models/CreditTransaction.js +1 -1
  120. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  121. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  122. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  123. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  124. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  125. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  126. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  127. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  128. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  129. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  130. package/dist/openapi/models/Delivery.d.ts +1 -1
  131. package/dist/openapi/models/Delivery.js +1 -1
  132. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  133. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  134. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  135. package/dist/openapi/models/DeliveryPlan.js +1 -1
  136. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  137. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  138. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  139. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  140. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  141. package/dist/openapi/models/DeliverySelection.js +1 -1
  142. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  143. package/dist/openapi/models/DownloadBundle.js +1 -1
  144. package/dist/openapi/models/DroppedOption.d.ts +88 -0
  145. package/dist/openapi/models/DroppedOption.js +54 -0
  146. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  147. package/dist/openapi/models/EmailNotify.js +1 -1
  148. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  149. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  150. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  151. package/dist/openapi/models/EndpointProjection.js +1 -1
  152. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  153. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  154. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  155. package/dist/openapi/models/EstimateQuality.js +1 -1
  156. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  157. package/dist/openapi/models/EstimateRange.js +1 -1
  158. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  159. package/dist/openapi/models/ExternalDestination.js +1 -1
  160. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  161. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  162. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  163. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  164. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  165. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  166. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  167. package/dist/openapi/models/ExternalImportToken.js +1 -1
  168. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  169. package/dist/openapi/models/ExternalSource.js +1 -1
  170. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  171. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  172. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  173. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  174. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  175. package/dist/openapi/models/FeatureViolation.js +1 -1
  176. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  177. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  178. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  179. package/dist/openapi/models/JobDefinition.js +1 -1
  180. package/dist/openapi/models/JobDownload.d.ts +1 -1
  181. package/dist/openapi/models/JobDownload.js +1 -1
  182. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  183. package/dist/openapi/models/JobInputV2.js +1 -1
  184. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  185. package/dist/openapi/models/JobMediaClass.js +1 -1
  186. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  187. package/dist/openapi/models/JobOutputSource.js +1 -1
  188. package/dist/openapi/models/JobResponse.d.ts +1 -1
  189. package/dist/openapi/models/JobResponse.js +1 -1
  190. package/dist/openapi/models/JobStatus.d.ts +1 -1
  191. package/dist/openapi/models/JobStatus.js +1 -1
  192. package/dist/openapi/models/JobType.d.ts +1 -1
  193. package/dist/openapi/models/JobType.js +1 -1
  194. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  195. package/dist/openapi/models/LivenessResponse.js +1 -1
  196. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  197. package/dist/openapi/models/LoginUser200Response.js +1 -1
  198. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  199. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  200. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  201. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  202. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  203. package/dist/openapi/models/LoginUser401Response.js +1 -1
  204. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  205. package/dist/openapi/models/LoginUserRequest.js +1 -1
  206. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +5 -2
  207. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  208. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  209. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  210. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  211. package/dist/openapi/models/MetadataResponse.js +1 -1
  212. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  213. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  214. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  215. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  216. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  217. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  218. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  219. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  220. package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
  221. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  222. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  223. package/dist/openapi/models/MultiInputSource.js +1 -1
  224. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  225. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  226. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  227. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  228. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  229. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  230. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  231. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  232. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  233. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  234. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  235. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  236. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  237. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  238. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  239. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  240. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  241. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  242. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  243. package/dist/openapi/models/MultipartPartListing.js +1 -1
  244. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  245. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  246. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  247. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  248. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  249. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  250. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  251. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  252. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  253. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  254. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  255. package/dist/openapi/models/NotifyConfig.js +1 -1
  256. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  257. package/dist/openapi/models/OperationCapability.js +1 -1
  258. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  259. package/dist/openapi/models/OperationDefinition.js +1 -1
  260. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  261. package/dist/openapi/models/OperationDownload.js +1 -1
  262. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  263. package/dist/openapi/models/OperationInputModel.js +1 -1
  264. package/dist/openapi/models/OperationResponse.d.ts +30 -6
  265. package/dist/openapi/models/OperationResponse.js +1 -1
  266. package/dist/openapi/models/OperationResult.d.ts +1 -1
  267. package/dist/openapi/models/OperationResult.js +1 -1
  268. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  269. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  270. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  271. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  272. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  273. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  274. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  275. package/dist/openapi/models/OperationStatus.js +1 -1
  276. package/dist/openapi/models/OperationType.d.ts +1 -1
  277. package/dist/openapi/models/OperationType.js +1 -1
  278. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  279. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  280. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  281. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  282. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  283. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  284. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  285. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  286. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  287. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  288. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  289. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  290. package/dist/openapi/models/OptionSchema.d.ts +30 -1
  291. package/dist/openapi/models/OptionSchema.js +4 -1
  292. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  293. package/dist/openapi/models/OutputProperties.js +1 -1
  294. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  295. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  296. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +58 -0
  297. package/dist/openapi/models/PerClassAvailabilityEntry.js +48 -0
  298. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  299. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  300. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +44 -1
  301. package/dist/openapi/models/PerValueAvailabilityEntry.js +5 -1
  302. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  303. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  304. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  305. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  306. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  307. package/dist/openapi/models/ProcessingClass.js +1 -1
  308. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  309. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  310. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  311. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  312. package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
  313. package/dist/openapi/models/ProcessingClassEntry.js +1 -1
  314. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  315. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  316. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  317. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  318. package/dist/openapi/models/ProcessingClassReason.d.ts +78 -1
  319. package/dist/openapi/models/ProcessingClassReason.js +79 -2
  320. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  321. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  322. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  323. package/dist/openapi/models/ProcessingPlan.js +1 -1
  324. package/dist/openapi/models/ProcessingPlanJob.d.ts +30 -1
  325. package/dist/openapi/models/ProcessingPlanJob.js +4 -1
  326. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  327. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  328. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  329. package/dist/openapi/models/ReadinessResponse.js +1 -1
  330. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  331. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  332. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  333. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  334. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  335. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  336. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  337. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  338. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  339. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  340. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  341. package/dist/openapi/models/RetryResponse.js +1 -1
  342. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  343. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  344. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  345. package/dist/openapi/models/SseCompletionBase.js +1 -1
  346. package/dist/openapi/models/SseEventType.d.ts +1 -1
  347. package/dist/openapi/models/SseEventType.js +1 -1
  348. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  349. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  350. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  351. package/dist/openapi/models/SseJobFailedData.js +1 -1
  352. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  353. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  354. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  355. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  356. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  357. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  358. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  359. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  360. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  361. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  362. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  363. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  364. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  365. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  366. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  367. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  368. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  369. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  370. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  371. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  372. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  373. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  374. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  375. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  376. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  377. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  378. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  379. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  380. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  381. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  382. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  383. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  384. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  385. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  386. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  387. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  388. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  389. package/dist/openapi/models/UploadFile403Response.js +1 -1
  390. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  391. package/dist/openapi/models/UploadFile422Response.js +1 -1
  392. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  393. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  394. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  395. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  396. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  397. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  398. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  399. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  400. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  401. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  402. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  403. package/dist/openapi/models/UploadResponse.js +1 -1
  404. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  405. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  406. package/dist/openapi/models/UploadSource.d.ts +1 -1
  407. package/dist/openapi/models/UploadSource.js +1 -1
  408. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  409. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  410. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  411. package/dist/openapi/models/UploadThresholds.js +1 -1
  412. package/dist/openapi/models/UserTier.d.ts +1 -1
  413. package/dist/openapi/models/UserTier.js +1 -1
  414. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  415. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  416. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  417. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  418. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  419. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  420. package/dist/openapi/models/WarningType.d.ts +1 -1
  421. package/dist/openapi/models/WarningType.js +1 -1
  422. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  423. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  424. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  425. package/dist/openapi/models/WebhookPayload.js +1 -1
  426. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  427. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  428. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  429. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  430. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  431. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  432. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  433. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  434. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  435. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  436. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  437. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  438. package/dist/openapi/models/WorkflowCreateResponse.d.ts +41 -6
  439. package/dist/openapi/models/WorkflowCreateResponse.js +4 -1
  440. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  441. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  442. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  443. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  444. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  445. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  446. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  447. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  448. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  449. package/dist/openapi/models/WorkflowEdge.js +1 -1
  450. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  451. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  452. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  453. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  454. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  455. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  456. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  457. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  458. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  459. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  460. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  461. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  462. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  463. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  464. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  465. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  466. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  467. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  468. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  469. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  470. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  471. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  472. package/dist/openapi/models/WorkflowSource.d.ts +12 -1
  473. package/dist/openapi/models/WorkflowSource.js +1 -1
  474. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  475. package/dist/openapi/models/WorkflowStatus.js +1 -1
  476. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  477. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  478. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  479. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  480. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  481. package/dist/openapi/models/WorkflowSummary.js +1 -1
  482. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  483. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  484. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  485. package/dist/openapi/models/WorkflowWarning.js +1 -1
  486. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  487. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  488. package/dist/openapi/models/index.d.ts +2 -0
  489. package/dist/openapi/models/index.js +2 -0
  490. package/dist/openapi/runtime.d.ts +1 -1
  491. package/dist/openapi/runtime.js +1 -1
  492. package/dist/operations/compress.metadata.js +0 -3
  493. package/dist/operations/merge.metadata.js +6 -1
  494. package/dist/operations/thumbnail.d.ts +0 -2
  495. package/dist/operations/thumbnail.js +0 -1
  496. package/dist/operations/thumbnail.metadata.js +0 -4
  497. package/openapi/api.yaml +532 -32
  498. package/operation-capabilities/operation-capabilities.json +1 -1
  499. package/operations/schemas/audio_overlay.yaml +0 -4
  500. package/operations/schemas/compress.yaml +97 -56
  501. package/operations/schemas/convert.yaml +4 -3
  502. package/operations/schemas/merge.yaml +90 -3
  503. package/operations/schemas/render_variants.yaml +30 -7
  504. package/operations/schemas/thumbnail.yaml +89 -43
  505. package/package.json +1 -1
@@ -1094,7 +1094,6 @@
1094
1094
  "fit",
1095
1095
  "format",
1096
1096
  "height",
1097
- "page",
1098
1097
  "quality",
1099
1098
  "source",
1100
1099
  "width"
@@ -1201,5 +1200,5 @@
1201
1200
  }
1202
1201
  }
1203
1202
  },
1204
- "schema_version": "2.180.0"
1203
+ "schema_version": "2.189.0"
1205
1204
  }
@@ -246,5 +246,5 @@
246
246
  "source_op": "compress"
247
247
  }
248
248
  },
249
- "schema_version": "2.180.0"
249
+ "schema_version": "2.189.0"
250
250
  }
@@ -5452,6 +5452,23 @@ components:
5452
5452
  - invalid_key: Storage key is malformed
5453
5453
  - invalid_request: Operation request validation failed
5454
5454
  - s3_access_denied: Storage access denied (IAM/permissions) — fail-fast; a 403 never clears on retry
5455
+ - input_too_large: Input exceeds our PROCESSING limits (e.g. decoded pixel
5456
+ budget) — deterministic; the same file is refused forever. User-actionable:
5457
+ downscale, or a tier with a higher ceiling. **Distinct from the byte caps**
5458
+ (`max_input_size_bytes`), which the API enforces at CREATE and 422s — those
5459
+ never reach a worker, so a worker-emitted `input_too_large` can only ever
5460
+ mean a processing limit found at decode time. **Do not use `decode_failed`
5461
+ for this**: that means "we could not parse the file" and renders to the
5462
+ customer as "it may be corrupted", which accuses a clean file.
5463
+ - never_started: The operation was terminated WITHOUT EVER RUNNING, because the
5464
+ job it belonged to reached a terminal state first — either an upstream/same-job
5465
+ operation failed, **or the workflow was cancelled**. Deliberately named for what
5466
+ happened to THIS operation rather than for the cause: a cause-named code
5467
+ (`upstream_failed`) would be FALSE on the cancel path, where nothing upstream
5468
+ failed and the user simply pressed cancel. **Uniquely in this enum, no worker
5469
+ emits it** — the API derives it from job state, so do not look for the worker
5470
+ that produces it. Non-retryable: retrying an operation that never ran is
5471
+ meaningless; the caller re-submits the workflow.
5455
5472
  - unknown: Unclassified error
5456
5473
  enum:
5457
5474
  - s3_download_failed
@@ -5468,4 +5485,6 @@ components:
5468
5485
  - missing_source
5469
5486
  - invalid_key
5470
5487
  - invalid_request
5488
+ - input_too_large
5489
+ - never_started
5471
5490
  - unknown
@@ -1,5 +1,5 @@
1
1
  {
2
- "capabilities_version": 172,
2
+ "capabilities_version": 178,
3
3
  "endpoints": {
4
4
  "DELETE /api/auth/api-keys/{apiKeyId}": {
5
5
  "auth": "required",
@@ -422,7 +422,6 @@
422
422
  },
423
423
  "min_silence_ms": {
424
424
  "availability": "planned",
425
- "default": 500,
426
425
  "description": "Minimum silence duration (milliseconds) to qualify as an\nanchor region for `sync_to_silence`. Inert until that\nfeature flips to stable.\n",
427
426
  "max": 30000,
428
427
  "min": 50,
@@ -452,7 +451,6 @@
452
451
  },
453
452
  "silence_threshold_db": {
454
453
  "availability": "planned",
455
- "default": -50.0,
456
454
  "description": "Silence threshold (dB) for the `sync_to_silence` feature.\nBase audio below this level for at least `min_silence_ms`\nqualifies as a silence region into which the overlay can\nbe anchored. Inert until\n`features.sync_to_silence.availability` flips to stable.\n",
457
455
  "max": -10.0,
458
456
  "min": -80.0,
@@ -578,7 +576,6 @@
578
576
  },
579
577
  "min_silence_ms": {
580
578
  "availability": "planned",
581
- "default": 500,
582
579
  "description": "Minimum silence duration (milliseconds) for\n`sync_to_silence`. Inert until that feature flips to\nstable.\n",
583
580
  "max": 30000,
584
581
  "min": 50,
@@ -618,7 +615,6 @@
618
615
  },
619
616
  "silence_threshold_db": {
620
617
  "availability": "planned",
621
- "default": -50.0,
622
618
  "description": "Silence threshold (dB) for `sync_to_silence`. Inert\nuntil that feature flips to stable.\n",
623
619
  "max": -10.0,
624
620
  "min": -80.0,
@@ -986,7 +982,6 @@
986
982
  "options": {
987
983
  "font_subsetting": {
988
984
  "availability": "planned",
989
- "default": true,
990
985
  "description": "Subset embedded fonts to only include glyphs used in the document. Significant size reduction for books with large font files. `planned` \u2014 not yet supported.",
991
986
  "type": "boolean"
992
987
  },
@@ -999,7 +994,6 @@
999
994
  },
1000
995
  "strip_unused_css": {
1001
996
  "availability": "planned",
1002
- "default": false,
1003
997
  "description": "Remove CSS rules not referenced by any content. Risk: may affect rendering in some readers. `planned` \u2014 not yet supported.",
1004
998
  "type": "boolean"
1005
999
  }
@@ -1022,13 +1016,11 @@
1022
1016
  },
1023
1017
  "strip_metadata": {
1024
1018
  "availability": "planned",
1025
- "default": true,
1026
1019
  "description": "Remove document metadata (author, revision history, comments). `planned` \u2014 not yet supported.",
1027
1020
  "type": "boolean"
1028
1021
  },
1029
1022
  "strip_unused_styles": {
1030
1023
  "availability": "planned",
1031
- "default": false,
1032
1024
  "description": "Remove style definitions not referenced in document content. `planned` \u2014 not yet supported.",
1033
1025
  "type": "boolean"
1034
1026
  }
@@ -1051,19 +1043,16 @@
1051
1043
  },
1052
1044
  "strip_hidden_data": {
1053
1045
  "availability": "planned",
1054
- "default": true,
1055
1046
  "description": "Remove revisions, comments, personal info, hidden rows/columns, and speaker notes. `planned` \u2014 not yet supported.",
1056
1047
  "type": "boolean"
1057
1048
  },
1058
1049
  "strip_macros": {
1059
1050
  "availability": "planned",
1060
- "default": true,
1061
1051
  "description": "Remove VBA macros and ActiveX controls. `planned` \u2014 not yet supported.",
1062
1052
  "type": "boolean"
1063
1053
  },
1064
1054
  "strip_unused_fonts": {
1065
1055
  "availability": "planned",
1066
- "default": false,
1067
1056
  "description": "Remove embedded fonts not referenced in the document. Risk: may affect rendering on systems without the font installed. `planned` \u2014 not yet supported.",
1068
1057
  "type": "boolean"
1069
1058
  }
@@ -1665,7 +1654,7 @@
1665
1654
  },
1666
1655
  "quality": {
1667
1656
  "default": 80,
1668
- "description": "Compression quality (1-100). For PNG this is the SINGLE lossy/lossless control: `quality` < 100 applies lossy palette quantization (imagequant \u2014 licence-cleared for our server-side SaaS backend, `kkajDFXD`; the value is the quantization level), while `quality: 100` keeps the PNG lossless (oxipng optimisation only \u2014 tune the lossless effort via `optimization_level`). 1 = smallest file, 100 = best quality / lossless. There is no separate lossy/lossless toggle for PNG \u2014 it is purely quality-driven.",
1657
+ "description": "Compression quality (1-100). For PNG this is the SINGLE lossy/lossless control: `quality` < 100 applies lossy palette quantization (the value is the quantization level), while `quality: 100` keeps the PNG lossless (lossless optimisation only \u2014 tune the lossless effort via `optimization_level`). 1 = smallest file, 100 = best quality / lossless. There is no separate lossy/lossless toggle for PNG \u2014 it is purely quality-driven.",
1669
1658
  "honored_on": [
1670
1659
  "same_format"
1671
1660
  ],
@@ -1710,14 +1699,11 @@
1710
1699
  },
1711
1700
  "output_format": {
1712
1701
  "default": "original",
1713
- "description": "Output format. `original` = keep input format \u2014 SVG -> SVG optimisation via SVGO. **`original` is PLANNED** (G9O6yrQD): the worker does not implement SVG->SVG optimisation yet (\"SVG is a follow-up\"), so it returns `feature_not_available` (422) rather than 422ing under a `stable` claim. It is also the schema `default`. **KNOWN ENFORCEMENT GAP (api co-land owed):** the API's per-value gate only inspects an EXPLICITLY submitted `output_format` (`CreateWorkflowCommandHandler`: `$requestedFormat = $opDef->options['output_format'] ?? null; if (is_scalar(...))`), so an OMITTED value is not materialized to its default before the check and bypasses this tag \u2014 a bare `compress` on an SVG still dispatches and fails at the worker instead of returning a clean 422. `original` is the first PLANNED DEFAULT in the contract, so nothing exercised that path before. The tag is correct and truthful regardless; closing the gap is api's (gate against the effective default). Ask for `webp` meanwhile \u2014 that route works. `webp` = recompress to WebP: **STABLE and working today** \u2014 this facade route canonicalizes to the `convert` operation (`convert.image_svg` carries its own quality), which is why this group is NOT gated at group level. Concrete format changes are handled by the convert operation. `auto` / `smallest` are PLANNED auto-format directives (the server picks the best/smallest candidate format, reported via the result `mime_type`) \u2014 selection strategies, not concrete targets, planned until supported. See FORMAT.md.",
1702
+ "description": "Output format. `original` = keep input format \u2014 SVG -> SVG optimisation via SVGO. **STABLE and working** (restored 2026-07-21, G9O6yrQD; worker-proven on staging job 019f6aa3-d275-7b10-a5cf-58acc705c7e2 at 24.5% reduction, Form-A attested in lambdas #325). It is also the schema `default`, so a bare `compress` on an SVG takes this route. Optimisation is **visually preserving, NOT lossless** \u2014 SVGO's `preset-default` includes `convertPathData`, which rounds path coordinates within a tolerance. NOTE for anyone re-reading history here: this value was `planned` from 2026-07-17 to 2026-07-21 on a false premise, and because the API materializes an omitted default before the availability gate (api 4a7a2628), that tag 422'd EVERY website SVG compress at create \u2014 the workbench does not send `output_format`, so the defaulted path is the only path a customer has. A `planned` DEFAULT is therefore never a partial restriction; it is a total one. Weigh that before tagging any future default `planned`. `webp` = recompress to WebP: **STABLE and working today** \u2014 this facade route canonicalizes to the `convert` operation (`convert.image_svg` carries its own quality), which is why this group is NOT gated at group level. Concrete format changes are handled by the convert operation. `auto` / `smallest` are PLANNED auto-format directives (the server picks the best/smallest candidate format, reported via the result `mime_type`) \u2014 selection strategies, not concrete targets, planned until supported. See FORMAT.md.",
1714
1703
  "per_value_availability": {
1715
1704
  "auto": {
1716
1705
  "availability": "planned"
1717
1706
  },
1718
- "original": {
1719
- "availability": "planned"
1720
- },
1721
1707
  "smallest": {
1722
1708
  "availability": "planned"
1723
1709
  }
@@ -2046,8 +2032,7 @@
2046
2032
  },
2047
2033
  "speed": {
2048
2034
  "availability": "planned",
2049
- "default": 1.0,
2050
- "description": "Playback speed multiplier. 1.0 = unchanged (default), 2.0 = twice as fast (half the output duration), 0.5 = half speed (double the duration); range 0.25\u20134.0. Audio PITCH IS PRESERVED (a tempo-shift, not a resample \u2014 ffmpeg `atempo` semantics), so a 2.0x clip sounds sped up, not chipmunked. Applied BEFORE an explicit `fps`: speed re-times the stream, then `fps` (if set) resamples the retimed stream to the target rate. SHORT-FORM only \u2014 long-form video returns `feature_not_available` (adjust a short clip, or chain a `split`); see the compress.video.speed.longform constraint.\n",
2035
+ "description": "Playback speed multiplier. 1.0 = unchanged, 2.0 = twice as fast (half the output duration), 0.5 = half speed (double the duration); range 0.25\u20134.0. Audio PITCH IS PRESERVED (a tempo-shift, not a resample \u2014 ffmpeg `atempo` semantics), so a 2.0x clip sounds sped up, not chipmunked. Applied BEFORE an explicit `fps`: speed re-times the stream, then `fps` (if set) resamples the retimed stream to the target rate. SHORT-FORM only \u2014 long-form video returns `feature_not_available` (adjust a short clip, or chain a `split`); see the compress.video.speed.longform constraint.\n",
2051
2036
  "max": 4.0,
2052
2037
  "min": 0.25,
2053
2038
  "type": "float"
@@ -2264,8 +2249,7 @@
2264
2249
  },
2265
2250
  "metadata": {
2266
2251
  "availability": "planned",
2267
- "default": "strip",
2268
- "description": "Metadata handling across a format change. `strip` = remove all EXIF/IPTC/XMP (default), `keep` = preserve. `planned` \u2014 metadata is not yet preserved across a format change. The honoured target subset may narrow (avif/heic targets are re-encoded and cannot keep metadata).",
2252
+ "description": "Metadata handling across a format change. `strip` = remove all EXIF/IPTC/XMP, `keep` = preserve. `planned` \u2014 metadata is not yet preserved across a format change, so this option carries **no default**: omit it and the worker's own behaviour applies. The honoured target subset may narrow (avif/heic targets are re-encoded and cannot keep metadata).",
2269
2253
  "honored_on": [
2270
2254
  "format_change"
2271
2255
  ],
@@ -3127,11 +3111,11 @@
3127
3111
  "type": "float"
3128
3112
  },
3129
3113
  "fps": {
3130
- "default": 30,
3114
+ "availability": "planned",
3131
3115
  "depends_on": {
3132
3116
  "output_type": "video"
3133
3117
  },
3134
- "description": "Output frame rate",
3118
+ "description": "Output frame rate. **Not yet configurable** \u2014 slideshow output is currently produced at a fixed 30 fps; setting this explicitly is rejected (`feature_not_available`). Omit it to get 30 fps.",
3135
3119
  "max": 60,
3136
3120
  "min": 1,
3137
3121
  "type": "integer"
@@ -3370,6 +3354,21 @@
3370
3354
  ]
3371
3355
  },
3372
3356
  "description": "CRF aims for a quality level and lets the file size vary;\ntarget_size aims for a fixed output file size. `target_size`\ncurrently works with `codec=h264` only \u2014 a request pairing it\nwith another codec is rejected as `invalid_options`.\n",
3357
+ "per_class_availability": {
3358
+ "long_form_re_encode": {
3359
+ "availability": "planned"
3360
+ }
3361
+ },
3362
+ "per_value_availability": {
3363
+ "target_size": {
3364
+ "availability": "stable",
3365
+ "per_class_availability": {
3366
+ "long_form_re_encode": {
3367
+ "availability": "planned"
3368
+ }
3369
+ }
3370
+ }
3371
+ },
3373
3372
  "per_value_depends_on": {
3374
3373
  "target_size": {
3375
3374
  "codec": [
@@ -3385,7 +3384,12 @@
3385
3384
  },
3386
3385
  "normalize_audio": {
3387
3386
  "default": true,
3388
- "description": "Normalize audio levels across all clips",
3387
+ "description": "Normalize audio levels across all clips. NOT available on the long-form path, which forces loudness normalisation off \u2014 a defaulted value is dropped and reported there rather than silently ignored.",
3388
+ "per_class_availability": {
3389
+ "long_form_re_encode": {
3390
+ "availability": "planned"
3391
+ }
3392
+ },
3389
3393
  "type": "boolean"
3390
3394
  },
3391
3395
  "output_type": {
@@ -4487,7 +4491,6 @@
4487
4491
  }
4488
4492
  },
4489
4493
  "document_epub": {
4490
- "availability": "planned",
4491
4494
  "max_output_pixels": 16000000,
4492
4495
  "mimes": [
4493
4496
  "application/epub+zip"
@@ -4519,15 +4522,6 @@
4519
4522
  "min": 1,
4520
4523
  "type": "integer"
4521
4524
  },
4522
- "page": {
4523
- "default": 1,
4524
- "depends_on": {
4525
- "source": "page"
4526
- },
4527
- "description": "1-based index of the printed page to render, after the book's print-layout pagination is applied.",
4528
- "min": 1,
4529
- "type": "integer"
4530
- },
4531
4525
  "quality": {
4532
4526
  "default": 85,
4533
4527
  "depends_on": {
@@ -4543,10 +4537,9 @@
4543
4537
  },
4544
4538
  "source": {
4545
4539
  "default": "cover",
4546
- "description": "`cover` (default) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. `page` = render a paginated page of the book's XHTML. Cover lookup MUST support both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former misses a large slice of real-world files. A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a real case. The reject shape for it is NOT yet decided and is deliberately unpromised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so a distinct code is a real cross-repo co-land (enum edit -> SDK regen -> lockstep), not a free string. It is settled when this group graduates \u2014 do not infer one from this description.",
4540
+ "description": "`cover` (the only supported value) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. Cover lookup supports both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former would miss a large slice of real-world files. Both are staging-proven (pL16ZfOw Wave 3). A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a REAL and expected case: it fails with `error_code: processing_failed` and `is_retryable: false`. That is the live behaviour, not an aspiration \u2014 the worker classifies it as `CoverError::NoCoverDeclared` and maps it there (`epub/error.rs`), and non-retryability is DERIVED from the code rather than set per-call, so it cannot drift. A cover-less EPUB will not grow a cover, so retrying is always futile. A more specific code would be better, and is NOT promised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so adding one is a real cross-repo co-land (enum edit -> SDK regen -> lockstep). Until then this description states what actually happens \u2014 an undecided-reject note on a STABLE route would leave consumers unable to handle a case they will certainly meet.",
4547
4541
  "type": "enum",
4548
4542
  "values": [
4549
- "page",
4550
4543
  "cover"
4551
4544
  ]
4552
4545
  },
@@ -4614,7 +4607,7 @@
4614
4607
  "png"
4615
4608
  ]
4616
4609
  },
4617
- "description": "Output quality for lossy thumbnail formats (jpg / webp / png): higher = better quality, larger file. For PNG, `quality` < 100 applies lossy palette quantization (imagequant \u2014 transparency preserved); `quality: 100` keeps the PNG lossless. Per-format effective default (server-resolved when `quality` is unset, per ADR-0020 D1): PNG \u2192 70 (more aggressive \u2014 thumbnails target small files), jpg/webp \u2192 85. The schema `default` is the nominal jpg/webp value (85); the FE shows 70 as the initial PNG slider value.",
4610
+ "description": "Output quality for lossy thumbnail formats (jpg / webp / png): higher = better quality, larger file. For PNG, `quality` < 100 applies lossy palette quantization (transparency preserved); `quality: 100` keeps the PNG lossless. Per-format effective default (server-resolved when `quality` is unset, per ADR-0020 D1): PNG \u2192 70 (more aggressive \u2014 thumbnails target small files), jpg/webp \u2192 85. The schema `default` is the nominal jpg/webp value (85); the FE shows 70 as the initial PNG slider value.",
4618
4611
  "max": 100,
4619
4612
  "min": 1,
4620
4613
  "type": "integer"
@@ -5104,7 +5097,7 @@
5104
5097
  "sole_op": true
5105
5098
  }
5106
5099
  },
5107
- "schema_version": "2.180.0",
5100
+ "schema_version": "2.189.0",
5108
5101
  "source_commit": null,
5109
5102
  "user_tier": null,
5110
5103
  "workflow_features": {
@@ -401,7 +401,6 @@
401
401
  },
402
402
  "min_silence_ms": {
403
403
  "availability": "planned",
404
- "default": 500,
405
404
  "description": "Minimum silence duration (milliseconds) to qualify as an\nanchor region for `sync_to_silence`. Inert until that\nfeature flips to stable.\n",
406
405
  "max": 30000,
407
406
  "min": 50,
@@ -445,7 +444,6 @@
445
444
  },
446
445
  "silence_threshold_db": {
447
446
  "availability": "planned",
448
- "default": -50.0,
449
447
  "description": "Silence threshold (dB) for the `sync_to_silence` feature.\nBase audio below this level for at least `min_silence_ms`\nqualifies as a silence region into which the overlay can\nbe anchored. Inert until\n`features.sync_to_silence.availability` flips to stable.\n",
450
448
  "max": -10.0,
451
449
  "min": -80.0,
@@ -605,7 +603,6 @@
605
603
  },
606
604
  "min_silence_ms": {
607
605
  "availability": "planned",
608
- "default": 500,
609
606
  "description": "Minimum silence duration (milliseconds) for\n`sync_to_silence`. Inert until that feature flips to\nstable.\n",
610
607
  "max": 30000,
611
608
  "min": 50,
@@ -667,7 +664,6 @@
667
664
  },
668
665
  "silence_threshold_db": {
669
666
  "availability": "planned",
670
- "default": -50.0,
671
667
  "description": "Silence threshold (dB) for `sync_to_silence`. Inert\nuntil that feature flips to stable.\n",
672
668
  "max": -10.0,
673
669
  "min": -80.0,
@@ -1212,7 +1208,6 @@
1212
1208
  "options": {
1213
1209
  "font_subsetting": {
1214
1210
  "availability": "planned",
1215
- "default": true,
1216
1211
  "description": "Subset embedded fonts to only include glyphs used in the document. Significant size reduction for books with large font files. `planned` \u2014 not yet supported.",
1217
1212
  "origin": "contract",
1218
1213
  "sdk_exposure": "coming_soon",
@@ -1231,7 +1226,6 @@
1231
1226
  },
1232
1227
  "strip_unused_css": {
1233
1228
  "availability": "planned",
1234
- "default": false,
1235
1229
  "description": "Remove CSS rules not referenced by any content. Risk: may affect rendering in some readers. `planned` \u2014 not yet supported.",
1236
1230
  "origin": "contract",
1237
1231
  "sdk_exposure": "coming_soon",
@@ -1275,7 +1269,6 @@
1275
1269
  },
1276
1270
  "strip_metadata": {
1277
1271
  "availability": "planned",
1278
- "default": true,
1279
1272
  "description": "Remove document metadata (author, revision history, comments). `planned` \u2014 not yet supported.",
1280
1273
  "origin": "contract",
1281
1274
  "sdk_exposure": "coming_soon",
@@ -1284,7 +1277,6 @@
1284
1277
  },
1285
1278
  "strip_unused_styles": {
1286
1279
  "availability": "planned",
1287
- "default": false,
1288
1280
  "description": "Remove style definitions not referenced in document content. `planned` \u2014 not yet supported.",
1289
1281
  "origin": "contract",
1290
1282
  "sdk_exposure": "coming_soon",
@@ -1328,7 +1320,6 @@
1328
1320
  },
1329
1321
  "strip_hidden_data": {
1330
1322
  "availability": "planned",
1331
- "default": true,
1332
1323
  "description": "Remove revisions, comments, personal info, hidden rows/columns, and speaker notes. `planned` \u2014 not yet supported.",
1333
1324
  "origin": "contract",
1334
1325
  "sdk_exposure": "coming_soon",
@@ -1337,7 +1328,6 @@
1337
1328
  },
1338
1329
  "strip_macros": {
1339
1330
  "availability": "planned",
1340
- "default": true,
1341
1331
  "description": "Remove VBA macros and ActiveX controls. `planned` \u2014 not yet supported.",
1342
1332
  "origin": "contract",
1343
1333
  "sdk_exposure": "coming_soon",
@@ -1346,7 +1336,6 @@
1346
1336
  },
1347
1337
  "strip_unused_fonts": {
1348
1338
  "availability": "planned",
1349
- "default": false,
1350
1339
  "description": "Remove embedded fonts not referenced in the document. Risk: may affect rendering on systems without the font installed. `planned` \u2014 not yet supported.",
1351
1340
  "origin": "contract",
1352
1341
  "sdk_exposure": "coming_soon",
@@ -2299,7 +2288,7 @@
2299
2288
  },
2300
2289
  "quality": {
2301
2290
  "default": 80,
2302
- "description": "Compression quality (1-100). For PNG this is the SINGLE lossy/lossless control: `quality` < 100 applies lossy palette quantization (imagequant \u2014 licence-cleared for our server-side SaaS backend, `kkajDFXD`; the value is the quantization level), while `quality: 100` keeps the PNG lossless (oxipng optimisation only \u2014 tune the lossless effort via `optimization_level`). 1 = smallest file, 100 = best quality / lossless. There is no separate lossy/lossless toggle for PNG \u2014 it is purely quality-driven.",
2291
+ "description": "Compression quality (1-100). For PNG this is the SINGLE lossy/lossless control: `quality` < 100 applies lossy palette quantization (the value is the quantization level), while `quality: 100` keeps the PNG lossless (lossless optimisation only \u2014 tune the lossless effort via `optimization_level`). 1 = smallest file, 100 = best quality / lossless. There is no separate lossy/lossless toggle for PNG \u2014 it is purely quality-driven.",
2303
2292
  "honored_on": [
2304
2293
  "same_format"
2305
2294
  ],
@@ -2380,7 +2369,7 @@
2380
2369
  },
2381
2370
  "output_format": {
2382
2371
  "default": "original",
2383
- "description": "Output format. `original` = keep input format \u2014 SVG -> SVG optimisation via SVGO. **`original` is PLANNED** (G9O6yrQD): the worker does not implement SVG->SVG optimisation yet (\"SVG is a follow-up\"), so it returns `feature_not_available` (422) rather than 422ing under a `stable` claim. It is also the schema `default`. **KNOWN ENFORCEMENT GAP (api co-land owed):** the API's per-value gate only inspects an EXPLICITLY submitted `output_format` (`CreateWorkflowCommandHandler`: `$requestedFormat = $opDef->options['output_format'] ?? null; if (is_scalar(...))`), so an OMITTED value is not materialized to its default before the check and bypasses this tag \u2014 a bare `compress` on an SVG still dispatches and fails at the worker instead of returning a clean 422. `original` is the first PLANNED DEFAULT in the contract, so nothing exercised that path before. The tag is correct and truthful regardless; closing the gap is api's (gate against the effective default). Ask for `webp` meanwhile \u2014 that route works. `webp` = recompress to WebP: **STABLE and working today** \u2014 this facade route canonicalizes to the `convert` operation (`convert.image_svg` carries its own quality), which is why this group is NOT gated at group level. Concrete format changes are handled by the convert operation. `auto` / `smallest` are PLANNED auto-format directives (the server picks the best/smallest candidate format, reported via the result `mime_type`) \u2014 selection strategies, not concrete targets, planned until supported. See FORMAT.md.",
2372
+ "description": "Output format. `original` = keep input format \u2014 SVG -> SVG optimisation via SVGO. **STABLE and working** (restored 2026-07-21, G9O6yrQD; worker-proven on staging job 019f6aa3-d275-7b10-a5cf-58acc705c7e2 at 24.5% reduction, Form-A attested in lambdas #325). It is also the schema `default`, so a bare `compress` on an SVG takes this route. Optimisation is **visually preserving, NOT lossless** \u2014 SVGO's `preset-default` includes `convertPathData`, which rounds path coordinates within a tolerance. NOTE for anyone re-reading history here: this value was `planned` from 2026-07-17 to 2026-07-21 on a false premise, and because the API materializes an omitted default before the availability gate (api 4a7a2628), that tag 422'd EVERY website SVG compress at create \u2014 the workbench does not send `output_format`, so the defaulted path is the only path a customer has. A `planned` DEFAULT is therefore never a partial restriction; it is a total one. Weigh that before tagging any future default `planned`. `webp` = recompress to WebP: **STABLE and working today** \u2014 this facade route canonicalizes to the `convert` operation (`convert.image_svg` carries its own quality), which is why this group is NOT gated at group level. Concrete format changes are handled by the convert operation. `auto` / `smallest` are PLANNED auto-format directives (the server picks the best/smallest candidate format, reported via the result `mime_type`) \u2014 selection strategies, not concrete targets, planned until supported. See FORMAT.md.",
2384
2373
  "enum_ref": "ImageFormat",
2385
2374
  "enum_translations": {
2386
2375
  "original": "Original",
@@ -2391,9 +2380,6 @@
2391
2380
  "auto": {
2392
2381
  "availability": "planned"
2393
2382
  },
2394
- "original": {
2395
- "availability": "planned"
2396
- },
2397
2383
  "smallest": {
2398
2384
  "availability": "planned"
2399
2385
  }
@@ -2403,7 +2389,7 @@
2403
2389
  "type": "enum",
2404
2390
  "value_exposure": {
2405
2391
  "auto": "coming_soon",
2406
- "original": "coming_soon",
2392
+ "original": "expose",
2407
2393
  "smallest": "coming_soon",
2408
2394
  "webp": "expose"
2409
2395
  },
@@ -2964,8 +2950,7 @@
2964
2950
  },
2965
2951
  "speed": {
2966
2952
  "availability": "planned",
2967
- "default": 1.0,
2968
- "description": "Playback speed multiplier. 1.0 = unchanged (default), 2.0 = twice as fast (half the output duration), 0.5 = half speed (double the duration); range 0.25\u20134.0. Audio PITCH IS PRESERVED (a tempo-shift, not a resample \u2014 ffmpeg `atempo` semantics), so a 2.0x clip sounds sped up, not chipmunked. Applied BEFORE an explicit `fps`: speed re-times the stream, then `fps` (if set) resamples the retimed stream to the target rate. SHORT-FORM only \u2014 long-form video returns `feature_not_available` (adjust a short clip, or chain a `split`); see the compress.video.speed.longform constraint.\n",
2953
+ "description": "Playback speed multiplier. 1.0 = unchanged, 2.0 = twice as fast (half the output duration), 0.5 = half speed (double the duration); range 0.25\u20134.0. Audio PITCH IS PRESERVED (a tempo-shift, not a resample \u2014 ffmpeg `atempo` semantics), so a 2.0x clip sounds sped up, not chipmunked. Applied BEFORE an explicit `fps`: speed re-times the stream, then `fps` (if set) resamples the retimed stream to the target rate. SHORT-FORM only \u2014 long-form video returns `feature_not_available` (adjust a short clip, or chain a `split`); see the compress.video.speed.longform constraint.\n",
2969
2954
  "max": 4.0,
2970
2955
  "min": 0.25,
2971
2956
  "origin": "contract",
@@ -3288,8 +3273,7 @@
3288
3273
  },
3289
3274
  "metadata": {
3290
3275
  "availability": "planned",
3291
- "default": "strip",
3292
- "description": "Metadata handling across a format change. `strip` = remove all EXIF/IPTC/XMP (default), `keep` = preserve. `planned` \u2014 metadata is not yet preserved across a format change. The honoured target subset may narrow (avif/heic targets are re-encoded and cannot keep metadata).",
3276
+ "description": "Metadata handling across a format change. `strip` = remove all EXIF/IPTC/XMP, `keep` = preserve. `planned` \u2014 metadata is not yet preserved across a format change, so this option carries **no default**: omit it and the worker's own behaviour applies. The honoured target subset may narrow (avif/heic targets are re-encoded and cannot keep metadata).",
3293
3277
  "honored_on": [
3294
3278
  "format_change"
3295
3279
  ],
@@ -4457,15 +4441,15 @@
4457
4441
  "type": "float"
4458
4442
  },
4459
4443
  "fps": {
4460
- "default": 30,
4444
+ "availability": "planned",
4461
4445
  "depends_on": {
4462
4446
  "output_type": "video"
4463
4447
  },
4464
- "description": "Output frame rate",
4448
+ "description": "Output frame rate. **Not yet configurable** \u2014 slideshow output is currently produced at a fixed 30 fps; setting this explicitly is rejected (`feature_not_available`). Omit it to get 30 fps.",
4465
4449
  "max": 60,
4466
4450
  "min": 1,
4467
4451
  "origin": "contract",
4468
- "sdk_exposure": "expose",
4452
+ "sdk_exposure": "coming_soon",
4469
4453
  "surface_key": "fps",
4470
4454
  "type": "integer"
4471
4455
  },
@@ -4782,6 +4766,21 @@
4782
4766
  },
4783
4767
  "description": "CRF aims for a quality level and lets the file size vary;\ntarget_size aims for a fixed output file size. `target_size`\ncurrently works with `codec=h264` only \u2014 a request pairing it\nwith another codec is rejected as `invalid_options`.\n",
4784
4768
  "origin": "contract",
4769
+ "per_class_availability": {
4770
+ "long_form_re_encode": {
4771
+ "availability": "planned"
4772
+ }
4773
+ },
4774
+ "per_value_availability": {
4775
+ "target_size": {
4776
+ "availability": "stable",
4777
+ "per_class_availability": {
4778
+ "long_form_re_encode": {
4779
+ "availability": "planned"
4780
+ }
4781
+ }
4782
+ }
4783
+ },
4785
4784
  "per_value_depends_on": {
4786
4785
  "target_size": {
4787
4786
  "codec": [
@@ -4803,8 +4802,13 @@
4803
4802
  },
4804
4803
  "normalize_audio": {
4805
4804
  "default": true,
4806
- "description": "Normalize audio levels across all clips",
4805
+ "description": "Normalize audio levels across all clips. NOT available on the long-form path, which forces loudness normalisation off \u2014 a defaulted value is dropped and reported there rather than silently ignored.",
4807
4806
  "origin": "contract",
4807
+ "per_class_availability": {
4808
+ "long_form_re_encode": {
4809
+ "availability": "planned"
4810
+ }
4811
+ },
4808
4812
  "sdk_exposure": "expose",
4809
4813
  "surface_key": "normalizeAudio",
4810
4814
  "type": "boolean"
@@ -6319,7 +6323,6 @@
6319
6323
  }
6320
6324
  },
6321
6325
  "document_epub": {
6322
- "availability": "planned",
6323
6326
  "max_output_pixels": 16000000,
6324
6327
  "media_group": "document",
6325
6328
  "mimes": [
@@ -6330,13 +6333,13 @@
6330
6333
  "default": "crop",
6331
6334
  "description": "Resize mode",
6332
6335
  "origin": "contract",
6333
- "sdk_exposure": "coming_soon",
6336
+ "sdk_exposure": "expose",
6334
6337
  "surface_key": "fit",
6335
6338
  "type": "enum",
6336
6339
  "value_exposure": {
6337
- "crop": "coming_soon",
6338
- "max": "coming_soon",
6339
- "scale": "coming_soon"
6340
+ "crop": "expose",
6341
+ "max": "expose",
6342
+ "scale": "expose"
6340
6343
  },
6341
6344
  "values": [
6342
6345
  "max",
@@ -6348,13 +6351,13 @@
6348
6351
  "default": "jpg",
6349
6352
  "description": "Output format for the thumbnail",
6350
6353
  "origin": "contract",
6351
- "sdk_exposure": "coming_soon",
6354
+ "sdk_exposure": "expose",
6352
6355
  "surface_key": "format",
6353
6356
  "type": "enum",
6354
6357
  "value_exposure": {
6355
- "jpg": "coming_soon",
6356
- "png": "coming_soon",
6357
- "webp": "coming_soon"
6358
+ "jpg": "expose",
6359
+ "png": "expose",
6360
+ "webp": "expose"
6358
6361
  },
6359
6362
  "values": [
6360
6363
  "jpg",
@@ -6367,22 +6370,10 @@
6367
6370
  "max": 16384,
6368
6371
  "min": 1,
6369
6372
  "origin": "contract",
6370
- "sdk_exposure": "coming_soon",
6373
+ "sdk_exposure": "expose",
6371
6374
  "surface_key": "height",
6372
6375
  "type": "integer"
6373
6376
  },
6374
- "page": {
6375
- "default": 1,
6376
- "depends_on": {
6377
- "source": "page"
6378
- },
6379
- "description": "1-based index of the printed page to render, after the book's print-layout pagination is applied.",
6380
- "min": 1,
6381
- "origin": "contract",
6382
- "sdk_exposure": "coming_soon",
6383
- "surface_key": "page",
6384
- "type": "integer"
6385
- },
6386
6377
  "quality": {
6387
6378
  "default": 85,
6388
6379
  "depends_on": {
@@ -6395,23 +6386,21 @@
6395
6386
  "max": 100,
6396
6387
  "min": 1,
6397
6388
  "origin": "contract",
6398
- "sdk_exposure": "coming_soon",
6389
+ "sdk_exposure": "expose",
6399
6390
  "surface_key": "quality",
6400
6391
  "type": "integer"
6401
6392
  },
6402
6393
  "source": {
6403
6394
  "default": "cover",
6404
- "description": "`cover` (default) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. `page` = render a paginated page of the book's XHTML. Cover lookup MUST support both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former misses a large slice of real-world files. A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a real case. The reject shape for it is NOT yet decided and is deliberately unpromised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so a distinct code is a real cross-repo co-land (enum edit -> SDK regen -> lockstep), not a free string. It is settled when this group graduates \u2014 do not infer one from this description.",
6395
+ "description": "`cover` (the only supported value) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. Cover lookup supports both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former would miss a large slice of real-world files. Both are staging-proven (pL16ZfOw Wave 3). A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a REAL and expected case: it fails with `error_code: processing_failed` and `is_retryable: false`. That is the live behaviour, not an aspiration \u2014 the worker classifies it as `CoverError::NoCoverDeclared` and maps it there (`epub/error.rs`), and non-retryability is DERIVED from the code rather than set per-call, so it cannot drift. A cover-less EPUB will not grow a cover, so retrying is always futile. A more specific code would be better, and is NOT promised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so adding one is a real cross-repo co-land (enum edit -> SDK regen -> lockstep). Until then this description states what actually happens \u2014 an undecided-reject note on a STABLE route would leave consumers unable to handle a case they will certainly meet.",
6405
6396
  "origin": "contract",
6406
- "sdk_exposure": "coming_soon",
6397
+ "sdk_exposure": "expose",
6407
6398
  "surface_key": "source",
6408
6399
  "type": "enum",
6409
6400
  "value_exposure": {
6410
- "cover": "coming_soon",
6411
- "page": "coming_soon"
6401
+ "cover": "expose"
6412
6402
  },
6413
6403
  "values": [
6414
- "page",
6415
6404
  "cover"
6416
6405
  ]
6417
6406
  },
@@ -6420,7 +6409,7 @@
6420
6409
  "max": 16384,
6421
6410
  "min": 1,
6422
6411
  "origin": "contract",
6423
- "sdk_exposure": "coming_soon",
6412
+ "sdk_exposure": "expose",
6424
6413
  "surface_key": "width",
6425
6414
  "type": "integer"
6426
6415
  }
@@ -6505,7 +6494,7 @@
6505
6494
  "png"
6506
6495
  ]
6507
6496
  },
6508
- "description": "Output quality for lossy thumbnail formats (jpg / webp / png): higher = better quality, larger file. For PNG, `quality` < 100 applies lossy palette quantization (imagequant \u2014 transparency preserved); `quality: 100` keeps the PNG lossless. Per-format effective default (server-resolved when `quality` is unset, per ADR-0020 D1): PNG \u2192 70 (more aggressive \u2014 thumbnails target small files), jpg/webp \u2192 85. The schema `default` is the nominal jpg/webp value (85); the FE shows 70 as the initial PNG slider value.",
6497
+ "description": "Output quality for lossy thumbnail formats (jpg / webp / png): higher = better quality, larger file. For PNG, `quality` < 100 applies lossy palette quantization (transparency preserved); `quality: 100` keeps the PNG lossless. Per-format effective default (server-resolved when `quality` is unset, per ADR-0020 D1): PNG \u2192 70 (more aggressive \u2014 thumbnails target small files), jpg/webp \u2192 85. The schema `default` is the nominal jpg/webp value (85); the FE shows 70 as the initial PNG slider value.",
6509
6498
  "max": 100,
6510
6499
  "min": 1,
6511
6500
  "origin": "contract",
@@ -7199,7 +7188,7 @@
7199
7188
  }
7200
7189
  },
7201
7190
  "preset_config_hash": "sha256:354814f7906f85be6a6ca5ede6c0722c83cdc058fd658a9bb2b0996520466c6d",
7202
- "schema_version": "2.180.0",
7191
+ "schema_version": "2.189.0",
7203
7192
  "sdk_spec_version": "2.3.0",
7204
- "source_hash": "sha256:b6c13412c2b801042e9c5aaf86469e74efc2ea015b04fd1ee771b8030e9cdce0"
7193
+ "source_hash": "sha256:3eceb0e791bc318f2b0b3ac8fdf4bb4ec5bf222165ab945204df4f713d772f8f"
7205
7194
  }