@giveitsmaller/contracts 0.58.0 โ†’ 0.60.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 (506) hide show
  1. package/accepted-options/accepted-options.json +14 -1
  2. package/accepted-options/image-output-routes.json +1 -1
  3. package/asyncapi/events.yaml +36 -9
  4. package/availability/availability.json +136 -27
  5. package/code-builder/code-builder-metadata.json +136 -27
  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 +43 -1
  127. package/dist/openapi/models/CreditsUsageResponse.js +5 -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 +23 -1
  189. package/dist/openapi/models/JobResponse.js +3 -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 +38 -1
  221. package/dist/openapi/models/MimeGroupSchema.js +5 -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 +103 -5
  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 +10 -1
  281. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +4 -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 +33 -0
  289. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +42 -0
  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 +23 -6
  317. package/dist/openapi/models/ProcessingClassHint.js +23 -6
  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 +9 -4
  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 -19
  407. package/dist/openapi/models/UploadSource.js +1 -3
  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 +81 -0
  427. package/dist/openapi/models/WorkflowArchiveResponse.js +71 -0
  428. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +46 -0
  429. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +54 -0
  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 +1 -1
  439. package/dist/openapi/models/WorkflowCreateResponse.js +1 -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 +60 -0
  465. package/dist/openapi/models/WorkflowRestoreResponse.js +58 -0
  466. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +46 -0
  467. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +54 -0
  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 +24 -1
  481. package/dist/openapi/models/WorkflowSummary.js +5 -1
  482. package/dist/openapi/models/WorkflowSummaryJob.d.ts +11 -5
  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 +7 -0
  489. package/dist/openapi/models/index.js +7 -0
  490. package/dist/openapi/runtime.d.ts +1 -1
  491. package/dist/openapi/runtime.js +1 -1
  492. package/dist/operations/merge.metadata.js +6 -1
  493. package/dist/operations/thumbnail.d.ts +21 -0
  494. package/dist/operations/thumbnail.js +16 -0
  495. package/dist/operations/thumbnail.metadata.js +25 -0
  496. package/openapi/api.yaml +895 -45
  497. package/operation-capabilities/operation-capabilities.json +1 -1
  498. package/operations/schemas/audio_overlay.yaml +0 -4
  499. package/operations/schemas/audio_to_video.yaml +1 -0
  500. package/operations/schemas/compress.yaml +113 -22
  501. package/operations/schemas/convert.yaml +10 -4
  502. package/operations/schemas/merge.yaml +90 -3
  503. package/operations/schemas/render_variants.yaml +30 -7
  504. package/operations/schemas/split.yaml +13 -3
  505. package/operations/schemas/thumbnail.yaml +190 -3
  506. package/package.json +1 -1
@@ -732,5 +732,5 @@
732
732
  "isAnimated": "maybe"
733
733
  }
734
734
  },
735
- "schema_version": "2.171.0"
735
+ "schema_version": "2.188.0"
736
736
  }
@@ -241,7 +241,6 @@ operation:
241
241
  type: float
242
242
  min: -80.0
243
243
  max: -10.0
244
- default: -50.0
245
244
  availability: planned
246
245
  description: |
247
246
  Silence threshold (dB) for the `sync_to_silence` feature.
@@ -254,7 +253,6 @@ operation:
254
253
  type: integer
255
254
  min: 50
256
255
  max: 30000
257
- default: 500
258
256
  availability: planned
259
257
  description: |
260
258
  Minimum silence duration (milliseconds) to qualify as an
@@ -412,7 +410,6 @@ operation:
412
410
  type: float
413
411
  min: -80.0
414
412
  max: -10.0
415
- default: -50.0
416
413
  availability: planned
417
414
  description: |
418
415
  Silence threshold (dB) for `sync_to_silence`. Inert
@@ -422,7 +419,6 @@ operation:
422
419
  type: integer
423
420
  min: 50
424
421
  max: 30000
425
- default: 500
426
422
  availability: planned
427
423
  description: |
428
424
  Minimum silence duration (milliseconds) for
@@ -64,6 +64,7 @@ operation:
64
64
  - audio/opus
65
65
  - audio/mp4
66
66
  - audio/x-m4a
67
+ max_input_duration: "PT2H" # 2h input ceiling (KzrquIX7; mirrors worker MAX_AUDIO_DURATION_SECS 7200, strict >)
67
68
  options:
68
69
  output_resolution:
69
70
  type: enum
@@ -24,10 +24,14 @@ operation:
24
24
  # fixed `all` โ€” BOTH now superseded by the image-options work: RESIZE
25
25
  # (width/height/fit) is back STABLE (v2.97.0, the route-aware Output model);
26
26
  # `metadata` is strip/keep (canonical `strip`, deprecated `all`); `auto_orient`
27
- # is re-added PLANNED (wave-2, below); and the old `icc_profile` is superseded by
28
- # the decoupled `color_profile` control (wave-2, planned โ€” ICC handling is its
29
- # own axis, NOT folded into metadata-strip; that fold-in was the silent-colour-
30
- # shift bug). See the per-option blocks for the live shape.
27
+ # is STABLE; and the old `icc_profile` is superseded by the decoupled
28
+ # `color_profile` control, also STABLE (only the `srgb` VALUE on the gif/tiff
29
+ # `image` group is still planned) โ€” ICC handling is its own axis, NOT folded
30
+ # into metadata-strip; that fold-in was the silent-colour-shift bug.
31
+ # THE PER-OPTION BLOCKS ARE AUTHORITATIVE; this header is orientation only.
32
+ # (auto_orient/color_profile read "wave-2, planned" here until 2026-07-21,
33
+ # long after both went stable โ€” a stale comment nearly got relayed to a
34
+ # consumer as fact. A comment cannot fail a test; do not cite one as shape.)
31
35
  #
32
36
  # output_format (replicated identically per group): the LIVE concrete
33
37
  # targets are `original` (no-op, default) and `webp` (the one proven
@@ -90,6 +94,7 @@ operation:
90
94
  # Resize-inside-Output shares the convert resize engine's 16MP output-area
91
95
  # wall โ€” the per-axis 16384 cap can't express it (FORMAT.md ยงmax_output_pixels).
92
96
  max_output_pixels: 16000000
97
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
93
98
  options:
94
99
  quality:
95
100
  type: integer
@@ -261,7 +266,19 @@ operation:
261
266
  mimes:
262
267
  - image/png
263
268
  max_output_pixels: 16000000
269
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
264
270
  options:
271
+ # PROVENANCE (author-side, NOT user-facing โ€” kept out of the description per
272
+ # 7KkNSvdv / FE BhVwdlhQ: no implementation detail or licence copy in user text):
273
+ # PNG lossy quantization is `imagequant` (GPL-3.0-or-later OR commercial);
274
+ # lossless is `oxipng` (MIT โ€” no licence claim). imagequant is licence-cleared
275
+ # for our server-side SaaS backend ONLY โ€” NOT a blanket clearance: static
276
+ # linking makes the binary a combined GPLv3 work, so any future distribution
277
+ # (desktop / on-prem) re-opens it. Also covers GIF quantisation (5mwmSb3t).
278
+ # Ruling: the user (antoniocs), 2026-06-26, quoted verbatim in *lambdas*
279
+ # ADR-0012 (compression_lambdas/docs/explanation/decisions/
280
+ # 0012-lossy-png-quantization-licensing.md โ€” the LAMBDAS ADR, distinct from
281
+ # contracts' own ADR-0012 band-ceiling). Was cited as card `kkajDFXD`.
265
282
  quality:
266
283
  type: integer
267
284
  min: 1
@@ -270,12 +287,12 @@ operation:
270
287
  honored_on: [same_format]
271
288
  description: >-
272
289
  Compression quality (1-100). For PNG this is the SINGLE lossy/lossless
273
- control: `quality` < 100 applies lossy palette quantization (imagequant โ€”
274
- licence-cleared for our server-side SaaS backend, `kkajDFXD`; the value is
275
- the quantization level), while `quality: 100` keeps the PNG lossless (oxipng
276
- optimisation only โ€” tune the lossless effort via `optimization_level`).
277
- 1 = smallest file, 100 = best quality / lossless. There is no separate
278
- lossy/lossless toggle for PNG โ€” it is purely quality-driven.
290
+ control: `quality` < 100 applies lossy palette quantization (the value is
291
+ the quantization level), while `quality: 100` keeps the PNG lossless
292
+ (lossless optimisation only โ€” tune the lossless effort via
293
+ `optimization_level`). 1 = smallest file, 100 = best quality / lossless.
294
+ There is no separate lossy/lossless toggle for PNG โ€” it is purely
295
+ quality-driven.
279
296
  metadata:
280
297
  type: enum
281
298
  values: [strip, keep, all]
@@ -385,6 +402,7 @@ operation:
385
402
  mimes:
386
403
  - image/avif
387
404
  max_output_pixels: 16000000
405
+ max_input_size_bytes: 20971520 # 20 MiB compress input ceiling (uKsFzORi; AVIF decode OOM guard, worker AVIF_MAX_MB)
388
406
  options:
389
407
  quality:
390
408
  type: integer
@@ -544,6 +562,7 @@ operation:
544
562
  mimes:
545
563
  - image/webp
546
564
  max_output_pixels: 16000000
565
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
547
566
  options:
548
567
  quality:
549
568
  type: integer
@@ -701,10 +720,68 @@ operation:
701
720
  # optimiser `lossless` knob does not apply. SVG compression is SVGO; only
702
721
  # quality/metadata/output_format carry. NO Resize / lossless / area cap here.
703
722
  image_svg:
723
+ # SVG -> SVG optimisation via SVGO is STABLE and working. Restored
724
+ # 2026-07-21 (G9O6yrQD); Form-A attestation is compression-image.yaml
725
+ # `compress.image` accepts (lambdas #325).
726
+ #
727
+ # WHY THIS BLOCK IS WRITTEN DEFENSIVELY: on 2026-07-17 this group was
728
+ # downgraded to `planned` on the strength of a single stale COMMENT in the
729
+ # lambda manifest ("SVG is a follow-up"). The worker had implemented SVGO
730
+ # all along โ€” image_compressor.rs:211 maps image/svg+xml, :1225
731
+ # compress_svg shells to the SVGO binary via ToolRunner, and the crate
732
+ # Dockerfile builds and ships it. Staging had proved it the day before:
733
+ # job 019f6aa3-d275-7b10-a5cf-58acc705c7e2, 43777 -> 33061 bytes (24.5%),
734
+ # "Operation completed successfully".
735
+ # Because `original` is ALSO this option's default, and the API
736
+ # materializes defaults before the availability gate (api 4a7a2628,
737
+ # 2026-07-17 20:16), the downgrade 422'd SVG compress at create for EVERY
738
+ # website user โ€” the workbench never sends output_format, so the bare path
739
+ # is the only path a customer has. A working, deployed, customer-facing
740
+ # capability was dark for four days (e2e J3sbGMSb).
741
+ # The rule that came out of it (hub standing policy, 2026-07-21): a
742
+ # downgrade MUST cite worker CODE or a STAGING LOG positively showing the
743
+ # capability does NOT work. An absent manifest entry is NOT evidence of an
744
+ # absent capability, and where no evidence exists either way the answer is
745
+ # "we do not know", which BLOCKS the downgrade rather than licensing it.
746
+ #
747
+ # THE GROUP STAYS STABLE. A group-level `planned` would ALSO gate off
748
+ # `output_format: webp`, which works today via the convert facade โ€” the
749
+ # over-narrow the user's standing rule forbids ("exclude only on EVIDENCE
750
+ # OF BREAKAGE", 2026-07-07).
751
+ #
752
+ # NOT "LOSSLESS" โ€” do not describe this route as lossless anywhere
753
+ # user-facing. `tools/svgo/svgo.ts` enables `preset-default`, which
754
+ # includes `convertPathData`; that rounds path coordinates (default
755
+ # floatPrecision 3), so geometry changes within a rounding tolerance.
756
+ # "Visually preserving" is the honest wording. (The worker does set
757
+ # lossless=true internally at image_compressor.rs:1778, but it lands in
758
+ # CompressionResult.settings which CompressionProcessor discards โ€” its own
759
+ # NOTE at :1782 โ€” so it reaches no consumer, and nothing should start
760
+ # claiming it.)
704
761
  mimes:
705
762
  - image/svg+xml
763
+ # KNOWN OVER-ADVERTISEMENT, DELIBERATELY LEFT AS-IS โ€” do NOT lower this
764
+ # unilaterally. compress_svg holds the markup in memory and caps SVGO
765
+ # output at 100 MiB (image_compressor.rs:1241), so the 500 MiB image/*
766
+ # default over-states what the SVG route can actually serve: a valid input
767
+ # inside the advertised limit can fail on the worker cap. Codex flagged it
768
+ # on the flip PR and it is a real gap.
769
+ #
770
+ # It stays 500 MiB here because this value is an API-ENFORCED constant, not
771
+ # documentation โ€” tests/test_group_input_caps.py pins these to the api
772
+ # enforcer, so changing the contract alone would create contract-vs-enforcer
773
+ # DRIFT rather than fix anything. Lowering it needs an api co-land, and a
774
+ # figure lambdas has actually measured (the only SVG datapoint today is a
775
+ # 43 KB fixture). Ticket filed; lambdas already flagged a per-format cap as
776
+ # their follow-up.
777
+ #
778
+ # PRE-EXISTING, not introduced by the 2026-07-21 restore: the same 500 MiB
779
+ # applied while this route was stable before 2026-07-17. Recorded rather
780
+ # than silently carried.
781
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi; image/* default)
706
782
  options:
707
- # No `quality`: compress SVG is SVG->SVG via SVGO (lossless vector optimise);
783
+ # No `quality`: compress SVG is SVG->SVG via SVGO (VISUALLY PRESERVING
784
+ # vector optimise โ€” not lossless; see the group note above on convertPathData);
708
785
  # `quality` is never passed to the worker, so a quality slider here is a no-op
709
786
  # (removed โ€” lambdas worker-code investigation, the SVG-quality ticket). Raster
710
787
  # output (the webp facade route) goes through convert, which carries its own
@@ -729,8 +806,26 @@ operation:
729
806
  auto: { availability: planned }
730
807
  smallest: { availability: planned }
731
808
  description: >-
732
- Output format. original = keep input format (default); webp = recompress to
733
- WebP. Concrete format changes are handled by the convert operation. `auto` /
809
+ Output format. `original` = keep input format โ€” SVG -> SVG optimisation
810
+ via SVGO. **STABLE and working** (restored 2026-07-21, G9O6yrQD;
811
+ worker-proven on staging job 019f6aa3-d275-7b10-a5cf-58acc705c7e2 at
812
+ 24.5% reduction, Form-A attested in lambdas #325). It is also the schema
813
+ `default`, so a bare `compress` on an SVG takes this route.
814
+ Optimisation is **visually preserving, NOT lossless** โ€” SVGO's
815
+ `preset-default` includes `convertPathData`, which rounds path
816
+ coordinates within a tolerance.
817
+ NOTE for anyone re-reading history here: this value was `planned` from
818
+ 2026-07-17 to 2026-07-21 on a false premise, and because the API
819
+ materializes an omitted default before the availability gate (api
820
+ 4a7a2628), that tag 422'd EVERY website SVG compress at create โ€” the
821
+ workbench does not send `output_format`, so the defaulted path is the
822
+ only path a customer has. A `planned` DEFAULT is therefore never a
823
+ partial restriction; it is a total one. Weigh that before tagging any
824
+ future default `planned`.
825
+ `webp` = recompress to WebP: **STABLE and working today** โ€” this facade
826
+ route canonicalizes to the `convert` operation (`convert.image_svg` carries
827
+ its own quality), which is why this group is NOT gated at group level.
828
+ Concrete format changes are handled by the convert operation. `auto` /
734
829
  `smallest` are PLANNED auto-format directives (the server picks the
735
830
  best/smallest candidate format, reported via the result `mime_type`) โ€”
736
831
  selection strategies, not concrete targets, planned until supported. See
@@ -743,6 +838,7 @@ operation:
743
838
  - image/gif
744
839
  - image/tiff
745
840
  max_output_pixels: 16000000
841
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
746
842
  options:
747
843
  quality:
748
844
  type: integer
@@ -1136,7 +1232,6 @@ operation:
1136
1232
  type: float
1137
1233
  min: 0.25
1138
1234
  max: 4.0
1139
- default: 1.0
1140
1235
  availability: planned
1141
1236
  # SHORT-FORM only, mirroring trim: the long-form (Fargate) path does not
1142
1237
  # apply speed, so it is rejected at create via the
@@ -1147,7 +1242,7 @@ operation:
1147
1242
  # lambdas โ€” a pre-flip rename is cheap while planned. Audio pitch is
1148
1243
  # PRESERVED via ffmpeg `atempo` (tempo-shift, NOT `asetrate` resample).
1149
1244
  description: >
1150
- Playback speed multiplier. 1.0 = unchanged (default), 2.0 = twice as
1245
+ Playback speed multiplier. 1.0 = unchanged, 2.0 = twice as
1151
1246
  fast (half the output duration), 0.5 = half speed (double the
1152
1247
  duration); range 0.25โ€“4.0. Audio PITCH IS PRESERVED (a tempo-shift,
1153
1248
  not a resample โ€” ffmpeg `atempo` semantics), so a 2.0x clip sounds
@@ -1173,6 +1268,7 @@ operation:
1173
1268
  - application/vnd.openxmlformats-officedocument.wordprocessingml.document
1174
1269
  - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
1175
1270
  - application/vnd.openxmlformats-officedocument.presentationml.presentation
1271
+ max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
1176
1272
  # See the document_pdf honesty note: the worker reads ONLY `quality` today;
1177
1273
  # the per-format options are `planned` (advertised-ahead, FE-hidden).
1178
1274
  options:
@@ -1189,17 +1285,14 @@ operation:
1189
1285
  # if a distinct image-vs-document quality split is genuinely wanted (small wiring).
1190
1286
  strip_macros:
1191
1287
  type: boolean
1192
- default: true
1193
1288
  availability: planned
1194
1289
  description: "Remove VBA macros and ActiveX controls. `planned` โ€” not yet supported."
1195
1290
  strip_hidden_data:
1196
1291
  type: boolean
1197
- default: true
1198
1292
  availability: planned
1199
1293
  description: "Remove revisions, comments, personal info, hidden rows/columns, and speaker notes. `planned` โ€” not yet supported."
1200
1294
  strip_unused_fonts:
1201
1295
  type: boolean
1202
- default: false
1203
1296
  availability: planned
1204
1297
  description: "Remove embedded fonts not referenced in the document. Risk: may affect rendering on systems without the font installed. `planned` โ€” not yet supported."
1205
1298
 
@@ -1208,6 +1301,7 @@ operation:
1208
1301
  - application/vnd.oasis.opendocument.text
1209
1302
  - application/vnd.oasis.opendocument.spreadsheet
1210
1303
  - application/vnd.oasis.opendocument.presentation
1304
+ max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
1211
1305
  # See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
1212
1306
  options:
1213
1307
  quality:
@@ -1223,18 +1317,17 @@ operation:
1223
1317
  # if a distinct image-vs-document quality split is genuinely wanted (small wiring).
1224
1318
  strip_metadata:
1225
1319
  type: boolean
1226
- default: true
1227
1320
  availability: planned
1228
1321
  description: "Remove document metadata (author, revision history, comments). `planned` โ€” not yet supported."
1229
1322
  strip_unused_styles:
1230
1323
  type: boolean
1231
- default: false
1232
1324
  availability: planned
1233
1325
  description: "Remove style definitions not referenced in document content. `planned` โ€” not yet supported."
1234
1326
 
1235
1327
  document_epub:
1236
1328
  mimes:
1237
1329
  - application/epub+zip
1330
+ max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
1238
1331
  # See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
1239
1332
  options:
1240
1333
  quality:
@@ -1250,11 +1343,9 @@ operation:
1250
1343
  # if a distinct image-vs-document quality split is genuinely wanted (small wiring).
1251
1344
  font_subsetting:
1252
1345
  type: boolean
1253
- default: true
1254
1346
  availability: planned
1255
1347
  description: "Subset embedded fonts to only include glyphs used in the document. Significant size reduction for books with large font files. `planned` โ€” not yet supported."
1256
1348
  strip_unused_css:
1257
1349
  type: boolean
1258
- default: false
1259
1350
  availability: planned
1260
1351
  description: "Remove CSS rules not referenced by any content. Risk: may affect rendering in some readers. `planned` โ€” not yet supported."
@@ -83,13 +83,14 @@ operation:
83
83
  metadata:
84
84
  type: enum
85
85
  values: [strip, keep]
86
- default: strip
87
86
  availability: planned
88
87
  honored_on: [format_change]
89
88
  description: >-
90
89
  Metadata handling across a format change. `strip` = remove all
91
- EXIF/IPTC/XMP (default), `keep` = preserve. `planned` โ€” metadata is not
92
- yet preserved across a format change. The honoured target subset may
90
+ EXIF/IPTC/XMP, `keep` = preserve. `planned` โ€” metadata is not
91
+ yet preserved across a format change, so this option carries **no
92
+ default**: omit it and the worker's own behaviour applies. The
93
+ honoured target subset may
93
94
  narrow (avif/heic targets are re-encoded and cannot keep metadata).
94
95
  width:
95
96
  type: integer
@@ -463,7 +464,12 @@ operation:
463
464
  default: "1"
464
465
  description: |
465
466
  Page selection (e.g. '1-5,8'). Each resolved page produces a
466
- separate output file. **Maximum 200 resolved entries per
467
+ separate output file whose `page_index` is the **literal source
468
+ page number** โ€” a sparse selection stays sparse: `pages: '1-5,8'`
469
+ yields outputs with `page_index` `1,2,3,4,5,8` (NOT renumbered
470
+ `1..6`), and `pages: '5-7'` yields `5,6,7`. The download `filename`
471
+ suffix is a separate 0-based array position and does NOT track the
472
+ page number. **Maximum 200 resolved entries per
467
473
  request** โ€” aligns with the `OperationResult.outputs[]`
468
474
  `maxItems: 200` cap. Expressions resolving to more than 200
469
475
  entries (e.g. `'1-201'`, `'1-100,102-205'`) are out of
@@ -124,9 +124,26 @@ operation:
124
124
  type: integer
125
125
  min: 1
126
126
  max: 60
127
- default: 30
127
+ # `availability: planned` AND the `default:` REMOVED โ€” the two halves
128
+ # are one fix, not two. The V1 merge worker hardcodes 30 fps
129
+ # (`filter_graph.rs:3` `TARGET_FPS = 30`) and rejects the `fps` key on
130
+ # PRESENCE, so it rejected requests asking for the frame rate it was
131
+ # already about to produce. A schema-driven client materialises the
132
+ # defaults whose `depends_on` is satisfied, so `default: 30` was itself
133
+ # what put the rejected key on the wire โ€” every UI slideshow merge sent
134
+ # `fps: 30` and died at run time without the caller touching anything.
135
+ # Marking it `planned` while KEEPING the default would only move that
136
+ # death earlier (422 at create for every slideshow, per api's
137
+ # materialise-to-evaluate gate #551). Dropping the default stops the key
138
+ # being sent at all, so slideshows produce 30 fps exactly as before, and
139
+ # only a caller who explicitly asks for a rate gets an honest 422.
140
+ # Worker-side follow-up to actually honour it: lambdas EJOfg8c9.
141
+ availability: planned
128
142
  depends_on: { output_type: video }
129
- description: "Output frame rate"
143
+ description: >-
144
+ Output frame rate. **Not yet configurable** โ€” slideshow output is
145
+ currently produced at a fixed 30 fps; setting this explicitly is
146
+ rejected (`feature_not_available`). Omit it to get 30 fps.
130
147
  video_format:
131
148
  type: enum
132
149
  values: [mp4, webm]
@@ -249,7 +266,26 @@ operation:
249
266
  normalize_audio:
250
267
  type: boolean
251
268
  default: true
252
- description: "Normalize audio levels across all clips"
269
+ # ๐Ÿ”ด UNAVAILABLE ON LONG-FORM โ€” and this one needed a RULING, not a
270
+ # mechanical marking. Long-form FORCES loudnorm off, so:
271
+ # accepting the default `true` is a SILENT NO-OP โ€” the caller asked
272
+ # for normalisation and we quietly skip it;
273
+ # refusing it kills EVERY defaulted long-form merge.
274
+ # Neither is acceptable, which is precisely the situation this overlay
275
+ # exists for: the defaulted value is DROPPED AND REPORTED rather than
276
+ # silently ignored or fatal.
277
+ #
278
+ # POSITION 4 in the worker's first-hit `LONG_FORM_REJECTED` array, and
279
+ # it has NO `depends_on` at all โ€” so it materialises on every merge
280
+ # unconditionally. Fixing `encoding_mode` alone would move the failure
281
+ # from position 2 to position 4 with a different message and an
282
+ # identical outcome for the customer.
283
+ per_class_availability:
284
+ long_form_re_encode: { availability: planned }
285
+ description: >-
286
+ Normalize audio levels across all clips. NOT available on the
287
+ long-form path, which forces loudness normalisation off โ€” a defaulted
288
+ value is dropped and reported there rather than silently ignored.
253
289
 
254
290
  re_encode_mode:
255
291
  type: enum
@@ -308,8 +344,59 @@ operation:
308
344
  values: [crf, target_size]
309
345
  default: crf
310
346
  depends_on: { re_encode_mode: [auto, always] }
347
+ # ๐Ÿ”ด THE WHOLE OPTION IS UNAVAILABLE ON LONG-FORM, NOT JUST ONE VALUE.
348
+ # The long-form Fargate worker refuses `encoding_mode` BY PRESENCE โ€” it
349
+ # does not read the value at all (`LONG_FORM_REJECTED`, position 2).
350
+ #
351
+ # This was previously declared only on the `target_size` VALUE, which
352
+ # said `crf` was honoured on long-form. It is not. So the API's
353
+ # drop-vs-422 rule looked at a defaulted `encoding_mode: crf`, found it
354
+ # available, and passed it to a worker that rejects the key โ€” and every
355
+ # merge left on automatic settings failed at the worker after a 201.
356
+ # THE RULE WAS CORRECT; ITS INPUT WAS A LIE (user report 2026-07-29,
357
+ # workflow 019fae34-d903-7bfe-9ab4-5e5f0b7a9bc4).
358
+ #
359
+ # `depends_on: re_encode_mode โˆˆ [auto, always]` is SATISFIED by default
360
+ # (`re_encode_mode` defaults to `auto`), so this materialises on every
361
+ # merge. Nobody chose it.
362
+ #
363
+ # Effect once api reads this: a DEFAULTED value is dropped and reported
364
+ # on `dropped_options[]`, and the merge runs on the path's native
365
+ # single-pass CRF. An EXPLICIT value still 422s, correctly โ€” the caller
366
+ # asked for something this path cannot do.
367
+ per_class_availability:
368
+ long_form_re_encode: { availability: planned }
311
369
  per_value_depends_on:
312
370
  target_size: { codec: [h264] }
371
+ per_value_availability:
372
+ # `target_size` is honoured on the SHORT-FORM path (the worker
373
+ # parses+validates it and selects two-pass FFmpeg orchestration),
374
+ # but the long-form Fargate path is single-pass-CRF BY CONSTRUCTION
375
+ # in Phase 2 โ€” two-pass target-size lands in Phase 3. So this is a
376
+ # per-EXECUTION-PATH limitation, not an operation-wide one.
377
+ #
378
+ # Marking the whole option `planned` would withdraw a real, working
379
+ # short-form capability from every customer in order to describe a
380
+ # long-form gap โ€” the SVG withdrawal mirrored. `per_class_availability`
381
+ # is the instrument that lets us say the true thing instead.
382
+ #
383
+ # LIVE CASE, not hypothetical: both SDKs SYNTHESIZE
384
+ # `encoding_mode: target_size` whenever the caller sets an ergonomic
385
+ # `targetSize` (merge.ts / MergeBuilder.php), so a caller who never
386
+ # typed this key reaches Fargate with it set and the job dies mid-
387
+ # execution. With this overlay the API can refuse at CREATE with an
388
+ # honest `feature_not_available` naming target-size-on-long-form,
389
+ # while the identical call on short-form inputs keeps working
390
+ # unchanged. sdks `zJN6XIi5`.
391
+ target_size:
392
+ # Blanket truth stated explicitly alongside the overlay: `stable`
393
+ # is TRUE โ€” short-form honours target_size end to end. The overlay
394
+ # restricts one class on top, and most-cautious inheritance yields
395
+ # the intended behaviour. Required by PerValueAvailabilityEntry so
396
+ # the absence of a key never has to carry meaning.
397
+ availability: stable
398
+ per_class_availability:
399
+ long_form_re_encode: { availability: planned }
313
400
  # target_size is currently codec=h264 only โ€” h265 / vp9 / av1
314
401
  # each require a different encoder invocation and are tracked
315
402
  # as separate per-codec Lambda follow-ups. The
@@ -7,13 +7,36 @@ operation:
7
7
  # ticket w3EwzHYd. Worker = the shared convert image-encode stack + FitMode
8
8
  # (lambdas-confirmed reuse: image_convert.rs encode + domain/thumbnailer.rs).
9
9
  #
10
- # availability: planned โ€” the worker (lambdas 08q0ySAc) + its SNS subscription
11
- # (terraform MNuDYJaY) are downstream of this contract, so the server returns
12
- # `feature_not_available` (422) until they are live. The planned -> beta flip
13
- # is a SEPARATE lockstep cut once the worker + wire are up (the two-gate rule;
14
- # never flip beta ahead of the publisher). Source MIMEs are jpeg/png/webp only
15
- # โ€” AVIF is encode-only in the worker stack (decode unsupported), so it is a
16
- # valid `output_format` target but NOT a source input.
10
+ # availability: planned โ€” the blocker is that the worker has NEVER BEEN
11
+ # EXERCISED, not that it does not exist. Flip gate: lambdas px2OKk42 (a
12
+ # direct-invoke staging proof asserting TRANSFORMATION โ€” each output's decoded
13
+ # pixel dimensions match its requested target, and two differently-sized
14
+ # targets differ from each other; "N outputs exist" passes for any re-encode).
15
+ # The flip to beta is a SEPARATE lockstep cut (the two-gate rule; never flip
16
+ # beta ahead of the publisher).
17
+ #
18
+ # This comment previously justified `planned` by asserting that the worker
19
+ # (08q0ySAc) and its SNS subscription (terraform MNuDYJaY) did not exist yet.
20
+ # Both halves were measured FALSE on 2026-07-28: the Lambda is deployed
21
+ # (`gisl-stg-euw1-operation-render-variants`, image git-fe33902) and its event
22
+ # source mapping has been `Enabled` on the queue since 2026-06-09. What is
23
+ # true is that it has never run โ€” zero log streams, against a positive control
24
+ # showing non-zero for merge / compression-image / video-text-watermark in the
25
+ # same query. DEPLOYED and WIRED are not PROVEN, so this stays `planned`.
26
+ #
27
+ # Deliberately restated as the GATE being waited on rather than a snapshot of
28
+ # another repo's infrastructure: a gate cannot rot, a restated snapshot does โ€”
29
+ # this one had gone false underneath us, which is the SVG failure shape. Do
30
+ # not reintroduce cross-repo state claims here; cite the owning repo's ticket.
31
+ #
32
+ # No caller impact at any point: `render_variants` is a capability-only
33
+ # artifact op and is deliberately NOT an API `OperationType` enum case, so it
34
+ # is unreachable from the API regardless of this value (API activation is
35
+ # uDW3k2Gw, Backlog P2 โ€” the worker proof does not depend on it).
36
+ #
37
+ # Source MIMEs are jpeg/png/webp only โ€” AVIF is encode-only in the worker
38
+ # stack (decode unsupported), so it is a valid `output_format` target but NOT
39
+ # a source input.
17
40
  description: "Generate multiple resized / re-encoded image variants from a single source image in one operation (image fan-out)."
18
41
  availability: planned
19
42
  input_model: single
@@ -44,13 +44,23 @@ operation:
44
44
  (cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))
45
45
  - GIF: resolved frame count after expansion `<= 200`
46
46
 
47
- **Output naming**: 3-digit zero-padded โ€” `output-001` ..
48
- `output-200`. Matches the convert PDFโ†’N precedent.
47
+ **Output naming (S3 object key)**: the object-key leaf is 3-digit
48
+ zero-padded โ€” `output-001` .. `output-200` (ADR-0014 ยงD9). This binds the
49
+ **S3 object key**, NOT the user-facing download filename โ€” the API
50
+ synthesises that separately (see `OperationDownload.filename` in
51
+ `openapi/api.yaml`). Only the **3-digit zero-padding** follows the convert
52
+ PDFโ†’N precedent โ€” convert keys are `page-NNN.ext`, split keys are
53
+ `output-NNN.ext`.
49
54
 
50
55
  **Output envelope binding**:
51
56
  - `image_gif`: `PositionIndexed` (frame stream-position 0-based
52
57
  ordinal)
53
- - `document_pdf`: `PageIndexed` (1-based gapless page index)
58
+ - `document_pdf`: `PageIndexed` (1-based literal source page number).
59
+ **`mode: page_range` only** โ€” each output is one page, so `page_index` is
60
+ that page. For **`mode: page_groups`** an output spans multiple source
61
+ pages, so a single `page_index` cannot name them all; that grouped-output
62
+ semantics is NOT specified by this correction and is deferred (do not
63
+ assume it is the group's first page โ€” that is unverified).
54
64
  - `audio`: `PositionIndexed` (cut stream-position ordinal)
55
65
  - `video`: `PositionIndexed` (cut stream-position ordinal)
56
66