@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
@@ -732,5 +732,5 @@
732
732
  "isAnimated": "maybe"
733
733
  }
734
734
  },
735
- "schema_version": "2.180.0"
735
+ "schema_version": "2.189.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
@@ -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
@@ -264,6 +268,17 @@ operation:
264
268
  max_output_pixels: 16000000
265
269
  max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
266
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`.
267
282
  quality:
268
283
  type: integer
269
284
  min: 1
@@ -272,12 +287,12 @@ operation:
272
287
  honored_on: [same_format]
273
288
  description: >-
274
289
  Compression quality (1-100). For PNG this is the SINGLE lossy/lossless
275
- control: `quality` < 100 applies lossy palette quantization (imagequant —
276
- licence-cleared for our server-side SaaS backend, `kkajDFXD`; the value is
277
- the quantization level), while `quality: 100` keeps the PNG lossless (oxipng
278
- optimisation only — tune the lossless effort via `optimization_level`).
279
- 1 = smallest file, 100 = best quality / lossless. There is no separate
280
- 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.
281
296
  metadata:
282
297
  type: enum
283
298
  values: [strip, keep, all]
@@ -705,34 +720,68 @@ operation:
705
720
  # optimiser `lossless` knob does not apply. SVG compression is SVGO; only
706
721
  # quality/metadata/output_format carry. NO Resize / lossless / area cap here.
707
722
  image_svg:
708
- # G9O6yrQD (2026-07-17): the SAME-FORMAT route only (`output_format: original`,
709
- # SVG -> SVG via SVGO) is downgraded stable -> planned — see the
710
- # `output_format.per_value_availability` below. The worker does not implement
711
- # it: `compression_lambdas/manifests/compression-image.yaml:17` verbatim,
712
- # "SVG is a follow-up." An unimplemented route advertised `stable` violates
713
- # "stable MUST NOT 422" (ADR-0001) — the defect fixed for `class_hint` in
714
- # v2.172.0.
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).
715
726
  #
716
- # THE GROUP STAYS STABLE ON PURPOSE. A group-level `planned` here would ALSO
717
- # gate off `output_format: webp`, which WORKS TODAY: the webp facade route
718
- # canonicalizes to `convert` (see the output_format description below), and
719
- # `convert.image_svg` is stable. Gating the group would advertise LESS than we
720
- # actually built — the exact over-narrow the user's standing rule forbids
721
- # ("exclude only on EVIDENCE OF BREAKAGE", 2026-07-07). Caught by codex on #322.
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.
722
746
  #
723
- # `output_format`-VALUE granularity is the right axis AND is enforced: per
724
- # FORMAT.md the API create-gate enforces planned -> feature_not_available (422)
725
- # at group / operation / output_format-VALUE granularity. (Contrast a planned
726
- # INPUT MIME, which needs a parallel group because per_mime_availability is
727
- # advisory-only. The input here is fine; only one output route is unbuilt.)
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).
728
751
  #
729
- # Flip `original` back to stable when lambdas lands SVGO + a Form-A manifest
730
- # entry (ADR-0006). `convert.image_svg` (SVG -> raster) is UNAFFECTED.
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.)
731
761
  mimes:
732
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.
733
781
  max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi; image/* default)
734
782
  options:
735
- # 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);
736
785
  # `quality` is never passed to the worker, so a quality slider here is a no-op
737
786
  # (removed — lambdas worker-code investigation, the SVG-quality ticket). Raster
738
787
  # output (the webp facade route) goes through convert, which carries its own
@@ -754,25 +803,25 @@ operation:
754
803
  values: [original, webp, auto, smallest]
755
804
  default: original
756
805
  per_value_availability:
757
- original: { availability: planned }
758
806
  auto: { availability: planned }
759
807
  smallest: { availability: planned }
760
808
  description: >-
761
- Output format. `original` = keep input format — SVG -> SVG optimisation via
762
- SVGO. **`original` is PLANNED** (G9O6yrQD): the worker does not implement
763
- SVG->SVG optimisation yet ("SVG is a follow-up"), so it returns
764
- `feature_not_available` (422) rather than 422ing under a `stable` claim.
765
- It is also the schema `default`. **KNOWN ENFORCEMENT GAP (api co-land
766
- owed):** the API's per-value gate only inspects an EXPLICITLY submitted
767
- `output_format` (`CreateWorkflowCommandHandler`: `$requestedFormat =
768
- $opDef->options['output_format'] ?? null; if (is_scalar(...))`), so an
769
- OMITTED value is not materialized to its default before the check and
770
- bypasses this tag — a bare `compress` on an SVG still dispatches and
771
- fails at the worker instead of returning a clean 422. `original` is the
772
- first PLANNED DEFAULT in the contract, so nothing exercised that path
773
- before. The tag is correct and truthful regardless; closing the gap is
774
- api's (gate against the effective default). Ask for `webp` meanwhile —
775
- that route works.
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`.
776
825
  `webp` = recompress to WebP: **STABLE and working today** — this facade
777
826
  route canonicalizes to the `convert` operation (`convert.image_svg` carries
778
827
  its own quality), which is why this group is NOT gated at group level.
@@ -1183,7 +1232,6 @@ operation:
1183
1232
  type: float
1184
1233
  min: 0.25
1185
1234
  max: 4.0
1186
- default: 1.0
1187
1235
  availability: planned
1188
1236
  # SHORT-FORM only, mirroring trim: the long-form (Fargate) path does not
1189
1237
  # apply speed, so it is rejected at create via the
@@ -1194,7 +1242,7 @@ operation:
1194
1242
  # lambdas — a pre-flip rename is cheap while planned. Audio pitch is
1195
1243
  # PRESERVED via ffmpeg `atempo` (tempo-shift, NOT `asetrate` resample).
1196
1244
  description: >
1197
- Playback speed multiplier. 1.0 = unchanged (default), 2.0 = twice as
1245
+ Playback speed multiplier. 1.0 = unchanged, 2.0 = twice as
1198
1246
  fast (half the output duration), 0.5 = half speed (double the
1199
1247
  duration); range 0.25–4.0. Audio PITCH IS PRESERVED (a tempo-shift,
1200
1248
  not a resample — ffmpeg `atempo` semantics), so a 2.0x clip sounds
@@ -1237,17 +1285,14 @@ operation:
1237
1285
  # if a distinct image-vs-document quality split is genuinely wanted (small wiring).
1238
1286
  strip_macros:
1239
1287
  type: boolean
1240
- default: true
1241
1288
  availability: planned
1242
1289
  description: "Remove VBA macros and ActiveX controls. `planned` — not yet supported."
1243
1290
  strip_hidden_data:
1244
1291
  type: boolean
1245
- default: true
1246
1292
  availability: planned
1247
1293
  description: "Remove revisions, comments, personal info, hidden rows/columns, and speaker notes. `planned` — not yet supported."
1248
1294
  strip_unused_fonts:
1249
1295
  type: boolean
1250
- default: false
1251
1296
  availability: planned
1252
1297
  description: "Remove embedded fonts not referenced in the document. Risk: may affect rendering on systems without the font installed. `planned` — not yet supported."
1253
1298
 
@@ -1272,12 +1317,10 @@ operation:
1272
1317
  # if a distinct image-vs-document quality split is genuinely wanted (small wiring).
1273
1318
  strip_metadata:
1274
1319
  type: boolean
1275
- default: true
1276
1320
  availability: planned
1277
1321
  description: "Remove document metadata (author, revision history, comments). `planned` — not yet supported."
1278
1322
  strip_unused_styles:
1279
1323
  type: boolean
1280
- default: false
1281
1324
  availability: planned
1282
1325
  description: "Remove style definitions not referenced in document content. `planned` — not yet supported."
1283
1326
 
@@ -1300,11 +1343,9 @@ operation:
1300
1343
  # if a distinct image-vs-document quality split is genuinely wanted (small wiring).
1301
1344
  font_subsetting:
1302
1345
  type: boolean
1303
- default: true
1304
1346
  availability: planned
1305
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."
1306
1348
  strip_unused_css:
1307
1349
  type: boolean
1308
- default: false
1309
1350
  availability: planned
1310
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
@@ -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