@giveitsmaller/contracts 0.70.0 → 0.72.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 (518) hide show
  1. package/README.md +2 -2
  2. package/accepted-options/accepted-options.json +1 -1
  3. package/accepted-options/image-output-routes.json +1 -1
  4. package/asyncapi/events.yaml +124 -64
  5. package/availability/availability.json +8 -8
  6. package/code-builder/code-builder-metadata.json +31 -31
  7. package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
  8. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  9. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  10. package/dist/openapi/models/AccountLimits.js +1 -1
  11. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  12. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  13. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  14. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  15. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  16. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  17. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  18. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  19. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  20. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  21. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  22. package/dist/openapi/models/AuthErrorType.js +1 -1
  23. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  24. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  25. package/dist/openapi/models/AuthenticatedIdentity.d.ts +1 -1
  26. package/dist/openapi/models/AuthenticatedIdentity.js +1 -1
  27. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  28. package/dist/openapi/models/AvailabilityValue.js +1 -1
  29. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  30. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  31. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  32. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  33. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  34. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  35. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  36. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  37. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  38. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  39. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  40. package/dist/openapi/models/CallbackEventType.js +1 -1
  41. package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
  42. package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
  43. package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
  44. package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
  45. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  46. package/dist/openapi/models/CapabilityCondition.js +1 -1
  47. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  48. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  49. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  50. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  54. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  55. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  56. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  57. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  58. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  59. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  60. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  61. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  62. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  63. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  64. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  65. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  66. package/dist/openapi/models/CapabilityProduces.js +1 -1
  67. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  68. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  69. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  70. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  71. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  72. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  73. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  74. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  75. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  76. package/dist/openapi/models/CodegenSource.js +1 -1
  77. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  78. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  79. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  80. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  81. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  82. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  83. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  84. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  85. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  86. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  87. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  88. package/dist/openapi/models/CompositionPlan.js +1 -1
  89. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  90. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  91. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  92. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  93. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  94. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  95. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  96. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  97. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  98. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  99. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  100. package/dist/openapi/models/ConnectionSource.js +1 -1
  101. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  102. package/dist/openapi/models/ContactRequest.js +1 -1
  103. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  104. package/dist/openapi/models/ContactSubject.js +1 -1
  105. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  106. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  107. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  108. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  109. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  110. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  111. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  112. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  113. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  114. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  115. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  116. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  117. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  118. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  119. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  120. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  121. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  122. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  123. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  124. package/dist/openapi/models/CreditTransaction.js +1 -1
  125. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  126. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  127. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  128. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  129. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  130. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  131. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  132. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  133. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  134. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  135. package/dist/openapi/models/Delivery.d.ts +1 -1
  136. package/dist/openapi/models/Delivery.js +1 -1
  137. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  138. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  139. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  140. package/dist/openapi/models/DeliveryPlan.js +1 -1
  141. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  142. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  143. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  144. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  145. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  146. package/dist/openapi/models/DeliverySelection.js +1 -1
  147. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  148. package/dist/openapi/models/DownloadBundle.js +1 -1
  149. package/dist/openapi/models/DroppedOption.d.ts +1 -1
  150. package/dist/openapi/models/DroppedOption.js +1 -1
  151. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  152. package/dist/openapi/models/EmailNotify.js +1 -1
  153. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  154. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  155. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  156. package/dist/openapi/models/EndpointProjection.js +1 -1
  157. package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
  158. package/dist/openapi/models/EndpointProjectionServersInner.js +1 -1
  159. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  160. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  161. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  162. package/dist/openapi/models/EstimateQuality.js +1 -1
  163. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  164. package/dist/openapi/models/EstimateRange.js +1 -1
  165. package/dist/openapi/models/ExportAccountData200Response.d.ts +1 -1
  166. package/dist/openapi/models/ExportAccountData200Response.js +1 -1
  167. package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +1 -1
  168. package/dist/openapi/models/ExportAccountData200ResponseData.js +1 -1
  169. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  170. package/dist/openapi/models/ExternalDestination.js +1 -1
  171. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  172. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  173. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  174. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  175. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  176. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  177. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  178. package/dist/openapi/models/ExternalImportToken.js +1 -1
  179. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  180. package/dist/openapi/models/ExternalSource.js +1 -1
  181. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  182. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  183. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  184. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  185. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  186. package/dist/openapi/models/FeatureViolation.js +1 -1
  187. package/dist/openapi/models/GetProfile200Response.d.ts +1 -1
  188. package/dist/openapi/models/GetProfile200Response.js +1 -1
  189. package/dist/openapi/models/GetProfile200ResponseData.d.ts +1 -1
  190. package/dist/openapi/models/GetProfile200ResponseData.js +1 -1
  191. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  192. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  193. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  194. package/dist/openapi/models/JobDefinition.js +1 -1
  195. package/dist/openapi/models/JobDownload.d.ts +1 -1
  196. package/dist/openapi/models/JobDownload.js +1 -1
  197. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  198. package/dist/openapi/models/JobInputV2.js +1 -1
  199. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  200. package/dist/openapi/models/JobMediaClass.js +1 -1
  201. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  202. package/dist/openapi/models/JobOutputSource.js +1 -1
  203. package/dist/openapi/models/JobResponse.d.ts +1 -1
  204. package/dist/openapi/models/JobResponse.js +1 -1
  205. package/dist/openapi/models/JobStatus.d.ts +1 -1
  206. package/dist/openapi/models/JobStatus.js +1 -1
  207. package/dist/openapi/models/JobType.d.ts +1 -1
  208. package/dist/openapi/models/JobType.js +1 -1
  209. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  210. package/dist/openapi/models/LivenessResponse.js +1 -1
  211. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  212. package/dist/openapi/models/LoginUser200Response.js +1 -1
  213. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  214. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  215. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  216. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  217. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  218. package/dist/openapi/models/LoginUser401Response.js +1 -1
  219. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  220. package/dist/openapi/models/LoginUserRequest.js +1 -1
  221. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  222. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  223. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  224. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  225. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  226. package/dist/openapi/models/MetadataResponse.js +1 -1
  227. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  228. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  229. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  230. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  231. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  232. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  233. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  234. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  235. package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
  236. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  237. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  238. package/dist/openapi/models/MultiInputSource.js +1 -1
  239. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  240. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  241. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  242. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  243. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  244. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  245. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  246. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  247. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  248. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  249. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  250. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  251. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  252. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  253. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  254. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  255. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  256. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  257. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  258. package/dist/openapi/models/MultipartPartListing.js +1 -1
  259. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  260. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  261. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  262. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  263. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  264. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  265. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  266. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  267. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  268. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  269. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  270. package/dist/openapi/models/NotifyConfig.js +1 -1
  271. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  272. package/dist/openapi/models/OperationCapability.js +1 -1
  273. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  274. package/dist/openapi/models/OperationDefinition.js +1 -1
  275. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  276. package/dist/openapi/models/OperationDownload.js +1 -1
  277. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  278. package/dist/openapi/models/OperationInputModel.js +1 -1
  279. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  280. package/dist/openapi/models/OperationResponse.js +1 -1
  281. package/dist/openapi/models/OperationResult.d.ts +1 -1
  282. package/dist/openapi/models/OperationResult.js +1 -1
  283. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  284. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  285. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  286. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  287. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  288. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  289. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  290. package/dist/openapi/models/OperationStatus.js +1 -1
  291. package/dist/openapi/models/OperationType.d.ts +4 -4
  292. package/dist/openapi/models/OperationType.js +4 -4
  293. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  294. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  295. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  296. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  297. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  298. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  299. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  300. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  301. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  302. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  303. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  304. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  305. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  306. package/dist/openapi/models/OptionSchema.js +1 -1
  307. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  308. package/dist/openapi/models/OutputProperties.js +1 -1
  309. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  310. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  311. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
  312. package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
  313. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  314. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  315. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  316. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  317. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  318. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  319. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  320. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  321. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  322. package/dist/openapi/models/ProcessingClass.js +1 -1
  323. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  324. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  325. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  326. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  327. package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
  328. package/dist/openapi/models/ProcessingClassEntry.js +1 -1
  329. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  330. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  331. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  332. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  333. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  334. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  335. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  336. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  337. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  338. package/dist/openapi/models/ProcessingPlan.js +1 -1
  339. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  340. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  341. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  342. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  343. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  344. package/dist/openapi/models/ReadinessResponse.js +1 -1
  345. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  346. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  347. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  348. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  349. package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
  350. package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
  351. package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
  352. package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
  353. package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
  354. package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
  355. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  356. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  357. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  358. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  359. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  360. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  361. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  362. package/dist/openapi/models/RetryResponse.js +1 -1
  363. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  364. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  365. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  366. package/dist/openapi/models/SseCompletionBase.js +1 -1
  367. package/dist/openapi/models/SseEventType.d.ts +1 -1
  368. package/dist/openapi/models/SseEventType.js +1 -1
  369. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  370. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  371. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  372. package/dist/openapi/models/SseJobFailedData.js +1 -1
  373. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  374. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  375. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  376. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  377. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  378. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  379. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  380. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  381. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  382. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  383. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  384. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  385. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  386. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  387. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  388. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  389. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  390. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  391. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  392. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  393. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  394. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  395. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  396. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  397. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  398. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  399. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  400. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  401. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  402. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  403. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  404. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  405. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  406. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  407. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  408. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  409. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  410. package/dist/openapi/models/UploadFile403Response.js +1 -1
  411. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  412. package/dist/openapi/models/UploadFile422Response.js +1 -1
  413. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  414. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  415. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  416. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  417. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  418. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  419. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  420. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  421. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  422. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  423. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  424. package/dist/openapi/models/UploadResponse.js +1 -1
  425. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  426. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  427. package/dist/openapi/models/UploadSource.d.ts +1 -1
  428. package/dist/openapi/models/UploadSource.js +1 -1
  429. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  430. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  431. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  432. package/dist/openapi/models/UploadThresholds.js +1 -1
  433. package/dist/openapi/models/UserTier.d.ts +1 -1
  434. package/dist/openapi/models/UserTier.js +1 -1
  435. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  436. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  437. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  438. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  439. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  440. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  441. package/dist/openapi/models/WarningType.d.ts +1 -1
  442. package/dist/openapi/models/WarningType.js +1 -1
  443. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  444. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  445. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  446. package/dist/openapi/models/WebhookPayload.js +1 -1
  447. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  448. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  449. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  450. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  451. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  452. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  453. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  454. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  455. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  456. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  457. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  458. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  459. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  460. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  461. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  462. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  463. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  464. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  465. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  466. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  467. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  468. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  469. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  470. package/dist/openapi/models/WorkflowEdge.js +1 -1
  471. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  472. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  473. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  474. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  475. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  476. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  477. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  478. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  479. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  480. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  481. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  482. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  483. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  484. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  485. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  486. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  487. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  488. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  489. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  490. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  491. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  492. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  493. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  494. package/dist/openapi/models/WorkflowSource.js +1 -1
  495. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  496. package/dist/openapi/models/WorkflowStatus.js +1 -1
  497. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  498. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  499. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  500. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  501. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  502. package/dist/openapi/models/WorkflowSummary.js +1 -1
  503. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  504. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  505. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  506. package/dist/openapi/models/WorkflowWarning.js +1 -1
  507. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  508. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  509. package/dist/openapi/runtime.d.ts +1 -1
  510. package/dist/openapi/runtime.js +1 -1
  511. package/dist/operations/audio_to_video.metadata.js +1 -1
  512. package/dist/operations/video_watermark.metadata.js +2 -2
  513. package/openapi/api.yaml +9 -7
  514. package/operation-capabilities/operation-capabilities.json +3 -3
  515. package/operations/schemas/audio_to_video.yaml +25 -5
  516. package/operations/schemas/video_text_watermark.yaml +15 -2
  517. package/operations/schemas/video_watermark.yaml +19 -12
  518. package/package.json +3 -3
package/README.md CHANGED
@@ -5,8 +5,8 @@
5
5
 
6
6
  | | |
7
7
  |---|---|
8
- | Package version | `0.70.0` |
9
- | Generated from spec | **`v2.201.0`** |
8
+ | Package version | `0.72.0` |
9
+ | Generated from spec | **`v2.203.0`** |
10
10
 
11
11
  ## Two version lines, and they are not comparable
12
12
 
@@ -1214,5 +1214,5 @@
1214
1214
  }
1215
1215
  }
1216
1216
  },
1217
- "schema_version": "2.201.0"
1217
+ "schema_version": "2.203.0"
1218
1218
  }
@@ -246,5 +246,5 @@
246
246
  "source_op": "compress"
247
247
  }
248
248
  },
249
- "schema_version": "2.201.0"
249
+ "schema_version": "2.203.0"
250
250
  }
@@ -1,7 +1,7 @@
1
1
  asyncapi: 3.0.0
2
2
  info:
3
3
  title: GISL Compression Events
4
- version: 3.28.0
4
+ version: 3.29.0
5
5
  description: |
6
6
  Asynchronous event contracts for the GISL (Give It Smaller) compression service.
7
7
 
@@ -21,13 +21,23 @@ info:
21
21
  video_watermark, video_text_watermark, split). Filter attribute:
22
22
  `operation_type`. Subscriptions: one queue per operation type,
23
23
  plus four thumbnail sub-type queues during the migration window.
24
- `custom_luma`, `audio_overlay`, `audio_watermark`, and
25
- `video_text_watermark` are `availability: planned`
26
- (per [I29](https://trello.com/c/EPUE5Vs1) +
24
+ `custom_luma`, `audio_overlay` and `audio_watermark` are
25
+ `availability: planned` (per [I29](https://trello.com/c/EPUE5Vs1) +
27
26
  [I19](https://trello.com/c/Xr3Z4GBF) +
28
- [I20](https://trello.com/c/omiCq7Vn) +
29
- [`4NrRPCgh`](https://trello.com/c/4NrRPCgh)) — their queues are
30
- declared but receive no traffic until Lambda ships. `split` is
27
+ [I20](https://trello.com/c/omiCq7Vn)) — their queues are declared
28
+ but receive no traffic UNTIL LAMBDA SHIPS.
29
+
30
+ ⚠️ `audio_to_video`, `video_watermark` and `video_text_watermark` are
31
+ ALSO `availability: planned` but for the OPPOSITE REASON, and they are
32
+ listed separately so the two are not confused: their Lambdas SHIPPED
33
+ and run. They were WITHDRAWN 2026-09-15 because none can finish the
34
+ ceiling this contract advertised inside its own encode cap. Grouping
35
+ them with the not-yet-built operations would tell a reader to wait for
36
+ a worker that already exists. Workflow-create returns 422
37
+ `feature_not_available`, so NO NEW traffic is published for them; an
38
+ already-accepted workflow is not cancelled — availability is checked at
39
+ create — so these queues can still receive in-flight work, which fails
40
+ only if it exceeds the cap. `split` is
31
41
  `availability: beta` for its `audio` and `video` mime_groups
32
42
  (workers live on staging — [`vKI0CFDu`](https://trello.com/c/vKI0CFDu);
33
43
  video activates BOTH classes — `long_form` / `split-video-fargate`
@@ -36,9 +46,6 @@ info:
36
46
  incomplete, 4GB+ speed-up unmeasured, fan-out flag-gated dark);
37
47
  its `image_gif` and `document_pdf` mime_groups stay
38
48
  `availability: planned`.
39
- `audio_to_video` and `video_watermark` are `availability: beta`
40
- (Wave A activation [`c3uthIP4`](https://trello.com/c/c3uthIP4) —
41
- backends live; the API accepts + publishes, traffic flows).
42
49
  `audio_watermark` additionally requires `enterprise` tier.
43
50
 
44
51
  **Publisher branching rule** (implemented in `compression_api`'s
@@ -204,18 +211,22 @@ channels:
204
211
  [I19](https://trello.com/c/Xr3Z4GBF) — same `feature_not_
205
212
  available` 422 gating)
206
213
  - `operation_type = audio_to_video` -> `ops-audio-to-video` queue
207
- (`availability: beta` — Wave A activated per
208
- [`SlluxMBN`](https://trello.com/c/SlluxMBN) +
209
- [`c3uthIP4`](https://trello.com/c/c3uthIP4); backend live, traffic
210
- flows)
214
+ (`availability: planned` — WITHDRAWN 2026-09-15; the backend is
215
+ live but cannot serve the advertised ceiling, so workflow-create
216
+ 422s and NO NEW traffic is routed here. In-flight work accepted
217
+ before the withdrawal still arrives, per
218
+ [`SlluxMBN`](https://trello.com/c/SlluxMBN))
211
219
  - `operation_type = video_watermark` -> `ops-video-watermark`
212
- queue (`availability: beta` — Wave A activated per
213
- [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) +
214
- [`c3uthIP4`](https://trello.com/c/c3uthIP4); backend live)
220
+ queue (`availability: planned` — WITHDRAWN 2026-09-15; the backend
221
+ is live but cannot serve the advertised ceiling, so workflow-create
222
+ 422s and NO NEW traffic is routed here. In-flight work accepted
223
+ before the withdrawal still arrives, per
224
+ [`4NrRPCgh`](https://trello.com/c/4NrRPCgh))
215
225
  - `operation_type = video_text_watermark` ->
216
- `ops-video-text-watermark` queue (gated by
217
- `availability: planned` until Lambda ships per
218
- [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) — same gating)
226
+ `ops-video-text-watermark` queue (`availability: planned` —
227
+ WITHDRAWN 2026-09-15. ⚠️ NOT "until Lambda ships": the Lambda
228
+ SHIPPED and runs; it is the advertised ceiling it cannot serve, per
229
+ [`4NrRPCgh`](https://trello.com/c/4NrRPCgh))
219
230
  - `operation_type = split` -> `ops-split` queue (the `audio` and
220
231
  `video` mime_groups are `availability: beta` — audio + short-form
221
232
  video split traffic reaches this queue; `image_gif` /
@@ -924,13 +935,16 @@ channels:
924
935
  (Path B with `role: base` video + `role: overlay` image,
925
936
  exactly one of each per `per_role_cardinality`).
926
937
 
927
- `availability: beta` per the operation schema (Wave A activated,
928
- [`c3uthIP4`](https://trello.com/c/c3uthIP4)): the API accepts +
929
- publishes, so traffic flows to this queue (MUST NOT 422). The
930
- `short_form` processing class is beta; `long_form` stays planned
931
- (no live Fargate worker). Backed by the `operation-video-watermark`
932
- Lambda (live; lambdas pre-launch epic Wave A, ticket
933
- [DbpJpVtm](https://trello.com/c/DbpJpVtm)).
938
+ `availability: planned` per the operation schema — WITHDRAWN
939
+ 2026-09-15. Workflow-create returns `feature_not_available` (422), so
940
+ NO NEW traffic reaches this queue. ⚠️ Work accepted BEFORE the
941
+ withdrawal still arrives here — availability gates at create, not
942
+ retroactively — and fails only if it exceeds the worker's 600 s
943
+ encode cap; work far enough inside it still completes. Both
944
+ `short_form` and `long_form` are `planned`. Backed by the
945
+ `operation-video-watermark` Lambda, which is LIVE and runs: what it
946
+ cannot do is finish the advertised ceiling inside its own 600 s cap
947
+ ([DbpJpVtm](https://trello.com/c/DbpJpVtm)).
934
948
 
935
949
  Distinct from `image_watermark` (pure-Rust image-only) — see
936
950
  ADR-0013 for the split rationale. Audio stream-copy passthrough.
@@ -961,12 +975,15 @@ channels:
961
975
  `operation_type = video_text_watermark`. Single-input — text
962
976
  and styling come from options.
963
977
 
964
- `availability: planned` per the operation schema; the API
965
- rejects workflow-create with `feature_not_available` (422)
966
- until the Lambda ships, so traffic does not reach this queue
967
- today. Backed by the `operation-video-text-watermark` Lambda
968
- (cross-repo follow-up — lambdas pre-launch epic Wave A,
969
- ticket [mQdunjv6](https://trello.com/c/mQdunjv6)).
978
+ `availability: planned` per the operation schema — WITHDRAWN
979
+ 2026-09-15. ⚠️ NOT "until the Lambda ships": the Lambda SHIPPED and
980
+ runs. It was withdrawn because it cannot finish the advertised
981
+ ceiling inside its own 600 s encode cap. Workflow-create returns
982
+ `feature_not_available` (422) for consumers vendoring >= 2.203.0, so
983
+ no NEW traffic is routed here — but work accepted BEFORE the
984
+ withdrawal still arrives, because availability gates at create and
985
+ not retroactively. Backed by the `operation-video-text-watermark`
986
+ Lambda (live; ticket [mQdunjv6](https://trello.com/c/mQdunjv6)).
970
987
 
971
988
  Distinct from `text_watermark` (pure-Rust image drawtext) —
972
989
  see ADR-0013. Audio stream-copy passthrough.
@@ -1230,8 +1247,10 @@ channels:
1230
1247
  DLQ for failed audio_to_video operations (per ticket
1231
1248
  [`SlluxMBN`](https://trello.com/c/SlluxMBN) / ADR-0015).
1232
1249
  Messages land here after 5 failed processing attempts.
1233
- audio_to_video is `availability: beta` (Wave A activated) so
1234
- this queue now receives real failures.
1250
+ audio_to_video is `availability: planned` (WITHDRAWN 2026-09-15), so
1251
+ workflow-create publishes nothing new here. ⚠️ This queue can still
1252
+ receive failures from work accepted BEFORE the withdrawal — availability
1253
+ gates at create, not retroactively.
1235
1254
  parameters:
1236
1255
  env:
1237
1256
  description: Environment (local, stg, prod)
@@ -1244,8 +1263,10 @@ channels:
1244
1263
  DLQ for failed video_watermark operations (per ticket
1245
1264
  [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) / ADR-0013).
1246
1265
  Messages land here after 5 failed processing attempts.
1247
- video_watermark is `availability: beta` (Wave A activated) so
1248
- this queue now receives real failures.
1266
+ video_watermark is `availability: planned` (WITHDRAWN 2026-09-15), so
1267
+ workflow-create publishes nothing new here. ⚠️ This queue can still
1268
+ receive failures from work accepted BEFORE the withdrawal — availability
1269
+ gates at create, not retroactively.
1249
1270
  parameters:
1250
1271
  env:
1251
1272
  description: Environment (local, stg, prod)
@@ -1257,9 +1278,19 @@ channels:
1257
1278
  description: |
1258
1279
  DLQ for failed video_text_watermark operations (per ticket
1259
1280
  [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) / ADR-0013).
1260
- Messages land here after 5 failed processing attempts. No
1261
- traffic reaches this queue while video_text_watermark is
1262
- `availability: planned`.
1281
+ Messages land here after 5 failed processing attempts.
1282
+ video_text_watermark is `availability: planned` (WITHDRAWN
1283
+ 2026-09-15), so workflow-create publishes nothing NEW. ⚠️ This queue
1284
+ can still receive failures from work accepted BEFORE the withdrawal
1285
+ — availability gates at create, not retroactively. ⛔ Do NOT read a
1286
+ message here as proof of the cap: this queue takes ANY message that
1287
+ failed 5 processing attempts, so corrupt input, invalid options and
1288
+ storage errors land here exactly as a cap timeout does. Nor does
1289
+ pre-withdrawal work fail as a class — work far enough inside the
1290
+ 600 s cap still completes, and nothing measured says where that
1291
+ boundary is. A DLQ description reading "no
1292
+ traffic reaches this queue" is wrong in the direction that gets an
1293
+ alarm ignored.
1263
1294
  parameters:
1264
1295
  env:
1265
1296
  description: Environment (local, stg, prod)
@@ -2092,10 +2123,14 @@ operations:
2092
2123
  video_watermark requests routed by
2093
2124
  `operation_type=video_watermark`. Multi-input role-based with
2094
2125
  `role: base` video + `role: overlay` image (exactly one of
2095
- each per `per_role_cardinality`). `availability: beta` (Wave A
2096
- activated, [`c3uthIP4`](https://trello.com/c/c3uthIP4)): the API
2097
- accepts + publishes (MUST NOT 422), so traffic flows to this
2098
- channel. `short_form` is beta; `long_form` stays planned.
2126
+ each per `per_role_cardinality`). `availability: planned` — WITHDRAWN 2026-09-15.
2127
+ Workflow-create 422s with `feature_not_available`, so NO NEW traffic
2128
+ reaches this channel. ⚠️ Work accepted BEFORE the withdrawal still
2129
+ arrives here — availability gates at create, not retroactively — and
2130
+ it is NOT thereby doomed: the withdrawal rests on ONE measured point
2131
+ (the same source plus a PNG overlay, KILLED at 606 s, no output, on
2132
+ 3008 MB) and work far enough inside the 600 s cap still completes.
2133
+ `short_form` and `long_form` are both `planned`.
2099
2134
  Per ADR-0004 + ADR-0013
2100
2135
  ([`4NrRPCgh`](https://trello.com/c/4NrRPCgh)).
2101
2136
  messages:
@@ -2114,13 +2149,20 @@ operations:
2114
2149
  summary: Process video_text_watermark operation
2115
2150
  description: |
2116
2151
  The `operation-video-text-watermark` Lambda (cross-repo
2117
- follow-up — lambdas pre-launch epic Wave A, not yet shipped)
2118
- consumes video_text_watermark requests routed by
2152
+ follow-up — lambdas pre-launch epic Wave A, live) consumes
2153
+ video_text_watermark requests routed by
2119
2154
  `operation_type=video_text_watermark`. Single-input — text
2120
2155
  and styling come from options (no `role` field on the source
2121
- entry). `availability: planned`; the API rejects workflow-
2122
- create with `feature_not_available` (422) until the Lambda
2123
- ships, so traffic does not reach this channel today.
2156
+ entry). `availability: planned` — WITHDRAWN 2026-09-15.
2157
+ Workflow-create 422s with `feature_not_available`, so NO NEW traffic
2158
+ reaches this channel. ⚠️ Work accepted BEFORE the withdrawal still
2159
+ arrives here — availability gates at create, not retroactively — and
2160
+ it is NOT thereby doomed: the withdrawal rests on ONE measured point
2161
+ (435 MB / 300 s real 1080p, KILLED at 604 s, no output) and work far
2162
+ enough inside the 600 s cap still completes. Nothing measured says
2163
+ where the boundary is.
2164
+ ⚠️ NOT "until the Lambda ships": the Lambda SHIPPED and runs — it is
2165
+ the advertised ceiling it cannot serve.
2124
2166
  Per ADR-0004 + ADR-0013
2125
2167
  ([`4NrRPCgh`](https://trello.com/c/4NrRPCgh)).
2126
2168
  messages:
@@ -2144,9 +2186,18 @@ operations:
2144
2186
  `operation_type=audio_to_video`. Multi-input role-based with
2145
2187
  role asymmetry (Path B with `role: base` audio REQUIRED +
2146
2188
  `role: overlay` image OPTIONAL per `per_role_cardinality`).
2147
- `availability: beta` (Wave A activated,
2148
- [`c3uthIP4`](https://trello.com/c/c3uthIP4)): the API accepts +
2149
- publishes (MUST NOT 422), so traffic flows to this channel.
2189
+ `availability: planned` — WITHDRAWN 2026-09-15.
2190
+ Workflow-create 422s with `feature_not_available`, so NO NEW traffic
2191
+ reaches this channel. ⚠️ Work accepted BEFORE the withdrawal still
2192
+ arrives here — availability gates at create, not retroactively — and
2193
+ it is NOT thereby doomed: unlike its two siblings this withdrawal is
2194
+ ARITHMETIC ON COMPLETED CELLS — 60 s and 120 s both finished with
2195
+ output — so accepted work fails only when its OUTPUT DURATION exceeds
2196
+ ~1976 s ON THE INPUT THE RATE WAS MEASURED WITH (a real photographic
2197
+ 1080p still plus looped real audio), where 0.300 s/s plus a 7 s fixed
2198
+ cost reaches the 600 s cap. ⛔ The driver is the STILL'S RESOLUTION: a
2199
+ 4K still is roughly 4x the rate (UNMEASURED), and nothing constrains
2200
+ the overlay's resolution.
2150
2201
  Per ADR-0004 + ADR-0015
2151
2202
  ([`SlluxMBN`](https://trello.com/c/SlluxMBN)).
2152
2203
  messages:
@@ -2609,8 +2660,10 @@ components:
2609
2660
  minimum `sources` count (1 for audio_to_video; 2 for all
2610
2661
  other role-based ops today). custom_luma and audio_overlay
2611
2662
  are `availability: planned` so workflow-create rejects with
2612
- 422 today (audio_to_video and video_watermark are now `beta` —
2613
- Wave A activated).
2663
+ 422 today — and audio_to_video and video_watermark REJOINED
2664
+ that set on 2026-09-15 when they were withdrawn on measured
2665
+ evidence. (`video_text_watermark` was withdrawn in the same cut
2666
+ but is SINGLE-input, so it is not part of this role-based set.)
2614
2667
 
2615
2668
  **Migration window note.** During the thumbnail sub-type
2616
2669
  migration, both `operation_type=thumbnail` (legacy) and
@@ -3635,8 +3688,10 @@ components:
3635
3688
  entries may include per-input overrides (e.g. transition type).
3636
3689
  Merge also requires `output_type`. custom_luma and audio_overlay
3637
3690
  are `availability: planned` so workflow-create rejects with 422
3638
- today (audio_to_video + video_watermark are now `beta` — Wave A
3639
- activated, backends live); the wire shape is contract-defined.
3691
+ today — and audio_to_video + video_watermark REJOINED that set on
3692
+ 2026-09-15, withdrawn on measured evidence; the wire shape is
3693
+ contract-defined. (`video_text_watermark` was withdrawn in the same
3694
+ cut; it is SINGLE-input and is listed as such above.)
3640
3695
 
3641
3696
  Note: `media_group` is **not** a field in this payload. It exists
3642
3697
  only as an SNS MessageAttribute on the non-compression branch; on
@@ -5274,10 +5329,12 @@ components:
5274
5329
  the first OPTIONAL role on the contract — `role: base`
5275
5330
  audio required, `role: overlay` image 0..1 per
5276
5331
  `per_role_cardinality`). When overlay is omitted, the video
5277
- uses a solid background colour. `availability: beta` (Wave A,
5278
- [`c3uthIP4`](https://trello.com/c/c3uthIP4)) — the Lambda
5279
- backend is live, so the API accepts + publishes (MUST NOT 422);
5280
- traffic flows to SNS. `media_group` is derived
5332
+ uses a solid background colour. `availability: planned` —
5333
+ WITHDRAWN 2026-09-15: the Lambda is live but cannot serve the
5334
+ advertised ceiling, so workflow-create 422s and NO NEW traffic
5335
+ reaches SNS. ⚠️ Work accepted BEFORE the withdrawal still flows —
5336
+ availability gates at create, not retroactively.
5337
+ `media_group` is derived
5281
5338
  from the `base` role input MIME prefix per ADR-0015 (always
5282
5339
  `audio` for audio_to_video). Routes via
5283
5340
  `operation_type=audio_to_video` to `ops-audio-to-video`.
@@ -5288,9 +5345,10 @@ components:
5288
5345
  of each per `per_role_cardinality { base: 1/1, overlay:
5289
5346
  1/1 }`). Re-encode required; audio stream-copy passthrough.
5290
5347
  Distinct from `image_watermark` (pure-Rust/image-only —
5291
- see ADR-0013). `availability: beta` (Wave A, `c3uthIP4` —
5292
- Lambda backend live; `short_form` beta, `long_form` stays
5293
- `planned`); routes via
5348
+ see ADR-0013). `availability: planned` — WITHDRAWN 2026-09-15:
5349
+ the Lambda is live but cannot serve the advertised ceiling, so
5350
+ workflow-create 422s and no new traffic reaches SNS. Both
5351
+ `short_form` and `long_form` are `planned`; routes via
5294
5352
  `operation_type=video_watermark` to `ops-video-watermark`.
5295
5353
  Per ADR-0004 + ADR-0013
5296
5354
  ([`4NrRPCgh`](https://trello.com/c/4NrRPCgh)).
@@ -5300,7 +5358,9 @@ components:
5300
5358
  tiled) + `anchor` + `margin` vocab as `text_watermark`.
5301
5359
  Re-encode required; audio stream-copy passthrough.
5302
5360
  Distinct from `text_watermark` (image-only drawtext path
5303
- — see ADR-0013). `availability: planned`; routes via
5361
+ — see ADR-0013). `availability: planned` — WITHDRAWN
5362
+ 2026-09-15; the Lambda SHIPPED and runs, and it is the advertised
5363
+ ceiling it cannot serve. Routes via
5304
5364
  `operation_type=video_text_watermark` to
5305
5365
  `ops-video-text-watermark`. Per ADR-0004 + ADR-0013.
5306
5366
  - `split`: Fan one input file into N outputs across GIF /
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "capabilities_profile": "baseline",
3
- "capabilities_version": 185,
3
+ "capabilities_version": 187,
4
4
  "endpoints": {
5
5
  "DELETE /api/auth/account": {
6
6
  "auth": "required",
@@ -718,9 +718,9 @@
718
718
  "sole_op": true
719
719
  },
720
720
  "audio_to_video": {
721
- "availability": "stable",
721
+ "availability": "planned",
722
722
  "default": false,
723
- "description": "Produce a video from an audio input plus an OPTIONAL still image\noverlay. Use cases: podcast \u2192 YouTube uploads, audio-only tracks\nthat need a video container for platforms requiring it, branded\naudio releases with a static cover image.\n\n**Role asymmetry.** First role-based operation on the contract\nwith an OPTIONAL role \u2014 REQUIRED `base` (audio source) +\nOPTIONAL `overlay` (still image, 0..1). When `overlay` is\nomitted, the video uses a solid `background_color`. The\nmachine-readable cardinality lives in `per_role_cardinality`\non this schema.\n\n**Input vs output asymmetry.** The single `mime_groups.audio`\nblock keys the INPUT MIME family (the `base` role input is\naudio). The OUTPUT is always video \u2014 `output_format` controls\nthe container; `mime_groups` is NOT the output type. Mirrors\nthe `audio_overlay.video` group pattern (input-keyed).\n\nRe-encode required (audio \u2192 video composition always re-encodes).\nA lower framerate plus still-image tuning keeps file size tiny\nwhen the overlay is a still image (the common case).\n\nActivated to `availability: beta`: the backend is live (API\naccepts + publishes), so this is shape-stable + opt-in for callers\nand MUST NOT return `feature_not_available` \u2014 it may still change\nwith notice while beta.\n",
723
+ "description": "Produce a video from an audio input plus an OPTIONAL still image\noverlay. Use cases: podcast \u2192 YouTube uploads, audio-only tracks\nthat need a video container for platforms requiring it, branded\naudio releases with a static cover image.\n\n**Role asymmetry.** First role-based operation on the contract\nwith an OPTIONAL role \u2014 REQUIRED `base` (audio source) +\nOPTIONAL `overlay` (still image, 0..1). When `overlay` is\nomitted, the video uses a solid `background_color`. The\nmachine-readable cardinality lives in `per_role_cardinality`\non this schema.\n\n**Input vs output asymmetry.** The single `mime_groups.audio`\nblock keys the INPUT MIME family (the `base` role input is\naudio). The OUTPUT is always video \u2014 `output_format` controls\nthe container; `mime_groups` is NOT the output type. Mirrors\nthe `audio_overlay.video` group pattern (input-keyed).\n\nRe-encode required (audio \u2192 video composition always re-encodes).\nA lower framerate plus still-image tuning keeps file size tiny\nwhen the overlay is a still image (the common case).\n\n`availability: planned` \u2014 withdrawn 2026-09-15. Measured encode cost is\n0.300 s per second of output PLUS A 7 s FIXED COST, so the advertised PT2H\nneeds 2167 s against a 900 s platform maximum. \u26a0\ufe0f The 7 s is not a rounding\ndetail: 0.300 x 7200 alone is 2160, and a consumer dividing 600 by 0.300\nderives a 2000 s in-flight boundary where the real one is ~1976 s. Workflow-create returns `feature_not_available` (422).\n\n\u26a0\ufe0f An already-accepted workflow is NOT cancelled \u2014 availability is checked at\ncreate \u2014 and it is NOT thereby doomed. \u26d4 DO NOT READ THIS AS \"in-flight work\nfails\": the 60 s and 120 s cells behind this withdrawal both COMPLETED WITH\nOUTPUT, which is precisely why the evidence is arithmetic rather than a kill.\nWhat fails is an accepted workflow whose OUTPUT DURATION exceeds ~1976 s\n\u26a0\ufe0f ON THE INPUT THE RATE WAS MEASURED WITH \u2014 a real photographic 1080p STILL\nplus looped real audio \u2014 the point at which 0.300 s/s plus the 7 s fixed cost\nreaches the 600 s cap. \u26d4 THE DRIVER IS THE STILL'S RESOLUTION, NOT THE\nDURATION ALONE: a 4K still is roughly 4x the rate (recorded as UNMEASURED),\nwhich would put the boundary near a quarter of that figure, and this schema\nplaces NO constraint on the overlay's resolution. Other still resolutions and\nother output settings are likewise unmeasured, and the contract does not\nclaim which direction they move \u2014\nand what the caller then sees is NOT SETTLED \u2014 see the CHANGELOG entry for\n2.203.0; this contract does not pin a worker's error classification. Measured figures and the conditions for re-listing are in the\nCHANGELOG entry for 2.203.0 \u2014 the only one of the two records that is\nPUBLISHED (`schemas/manifest-divergence-register.yaml` is working material\nfor the drift gate and is not in the npm tarball).\n",
724
724
  "input_model": "multi",
725
725
  "max_inputs": 2,
726
726
  "mime_groups": {
@@ -4982,7 +4982,7 @@
4982
4982
  "video_text_watermark": {
4983
4983
  "availability": "planned",
4984
4984
  "default": false,
4985
- "description": "Render a text overlay onto a base video using bundled Liberation\nSans (SIL OFL). Single-input \u2014 the text and its styling come from\noptions, not from a file input.\n\n**Dedicated operation, not an extension of `text_watermark`.**\n`text_watermark` renders onto images (single-pass); per-frame video\ntext rendering requires a re-encode (overlay = pixel modification,\nno stream-copy escape). Different runtime.\n\n**Audio passthrough.** The base video's audio stream is preserved\nunchanged (stream-copied) \u2014 the watermark applies to the visual\ntrack only.\n\nTwo rendering modes (mirrors `text_watermark`):\n- `single`: one label rendered at the anchor + margin position.\n- `tiled`: text tiled across the source frames at the rotation\n angle.\n\n`availability: planned` until the cross-repo backend support ships;\ndispatch returns `feature_not_available` (422) until then.\n",
4985
+ "description": "Render a text overlay onto a base video using bundled Liberation\nSans (SIL OFL). Single-input \u2014 the text and its styling come from\noptions, not from a file input.\n\n**Dedicated operation, not an extension of `text_watermark`.**\n`text_watermark` renders onto images (single-pass); per-frame video\ntext rendering requires a re-encode (overlay = pixel modification,\nno stream-copy escape). Different runtime.\n\n**Audio passthrough.** The base video's audio stream is preserved\nunchanged (stream-copied) \u2014 the watermark applies to the visual\ntrack only.\n\nTwo rendering modes (mirrors `text_watermark`):\n- `single`: one label rendered at the anchor + margin position.\n- `tiled`: text tiled across the source frames at the rotation\n angle.\n\n`availability: planned` \u2014 withdrawn 2026-09-15. A real 1080p source at the\nadvertised PT5M could not finish inside the worker's 600 s encode cap.\nWorkflow-create returns `feature_not_available` (422).\n\n\u26a0\ufe0f An already-accepted workflow is NOT cancelled \u2014 availability is checked at\ncreate \u2014 and it is NOT thereby doomed. \u26d4 The withdrawal rests on ONE measured\npoint: a 435 MB / 300 s real 1080p source KILLED at 604 s with no output.\nWork far enough inside the 600 s cap still completes, and NOTHING MEASURED\nSAYS WHERE THE BOUNDARY IS. What a caller sees when a job crosses it is NOT\nSETTLED \u2014 see the CHANGELOG entry for 2.203.0; this contract does not pin\na worker's error classification. Measured figures and the conditions for re-listing are in the\nCHANGELOG entry for 2.203.0 \u2014 the only one of the two records that is\nPUBLISHED (`schemas/manifest-divergence-register.yaml` is working material\nfor the drift gate and is not in the npm tarball).\n",
4986
4986
  "input_model": "single",
4987
4987
  "mime_groups": {
4988
4988
  "video": {
@@ -5112,9 +5112,9 @@
5112
5112
  "sole_op": true
5113
5113
  },
5114
5114
  "video_watermark": {
5115
- "availability": "stable",
5115
+ "availability": "planned",
5116
5116
  "default": false,
5117
- "description": "Apply an image overlay onto a base video\nasset. Multi-input role-based:\nexactly one input with `role: base` (the source video) + exactly\none with `role: overlay` (the watermark image). Each input is a\na multi-input source \u2014 an external_import handle, a vault connection,\nor an upstream `job_output` (uploads are NOT referenced directly\ninside inputs[]). To use an uploaded base or overlay, feed it through\na `passthrough` source job and reference it via `{ type: job_output,\nfrom: <id> }` (per ticket 4som89Uh).\n\n**Dedicated operation, not an extension of `image_watermark`.**\n`image_watermark` handles image-on-image overlay only.\n`video_watermark` requires an overlay + re-encode (no stream-copy escape \u2014 overlay = pixel modification).\n\n**Audio passthrough.** The base video's audio stream is preserved\nunchanged (stream-copied) \u2014 the watermark applies to the visual\ntrack only.\n\nActivated to `availability: beta` (Wave A, ticket\n[`c3uthIP4`](https://trello.com/c/c3uthIP4)): the cross-repo backend\nis live (API accepts + publishes via the operations SNS\ntopic), so the operation and its `short_form` processing class are\nshape-stable + opt-in and MUST NOT return `feature_not_available`.\n`long_form` stays `planned` (its long-form path is not yet\nprovisioned) and the `multi_overlay_stack` feature stays `planned`\n(backend support unconfirmed); requesting those planned sub-features\nDOES still return `feature_not_available` until they are separately\nactivated.\n",
5117
+ "description": "Apply an image overlay onto a base video\nasset. Multi-input role-based:\nexactly one input with `role: base` (the source video) + exactly\none with `role: overlay` (the watermark image). Each input is a\na multi-input source \u2014 an external_import handle, a vault connection,\nor an upstream `job_output` (uploads are NOT referenced directly\ninside inputs[]). To use an uploaded base or overlay, feed it through\na `passthrough` source job and reference it via `{ type: job_output,\nfrom: <id> }` (per ticket 4som89Uh).\n\n**Dedicated operation, not an extension of `image_watermark`.**\n`image_watermark` handles image-on-image overlay only.\n`video_watermark` requires an overlay + re-encode (no stream-copy escape \u2014 overlay = pixel modification).\n\n**Audio passthrough.** The base video's audio stream is preserved\nunchanged (stream-copied) \u2014 the watermark applies to the visual\ntrack only.\n\n`availability: planned` \u2014 withdrawn 2026-09-15. A real 1080p source at the\nadvertised PT5M / 500 MB could not finish inside the worker's 600 s encode\ncap. Workflow-create returns `feature_not_available` (422).\n\n\u26a0\ufe0f An already-accepted workflow is NOT cancelled \u2014 availability is checked at\ncreate \u2014 and it is NOT thereby doomed. \u26d4 The withdrawal rests on ONE measured\npoint: the same source plus a PNG overlay, KILLED at 606 s with no output, on\n3008 MB \u2014 47% more memory than `video_text_watermark` and dead at the same\nsecond, which is what rules out resizing the function as the remedy. Work far\nenough inside the 600 s cap still completes, and NOTHING MEASURED SAYS WHERE\nTHE BOUNDARY IS. What a caller sees when a job crosses it is NOT\nSETTLED \u2014 see the CHANGELOG entry for 2.203.0; this contract does not pin\na worker's error classification. Measured figures and the conditions for re-listing are in the\nCHANGELOG entry for 2.203.0 \u2014 the only one of the two records that is\nPUBLISHED (`schemas/manifest-divergence-register.yaml` is working material\nfor the drift gate and is not in the npm tarball).\n",
5118
5118
  "features": {
5119
5119
  "multi_overlay_stack": {
5120
5120
  "availability": "planned",
@@ -5192,7 +5192,7 @@
5192
5192
  "required_tier": "pro"
5193
5193
  },
5194
5194
  "short_form": {
5195
- "availability": "stable",
5195
+ "availability": "planned",
5196
5196
  "constraints": {
5197
5197
  "max_input_duration": "PT5M",
5198
5198
  "max_input_size_bytes": 524288000,
@@ -5216,7 +5216,7 @@
5216
5216
  "sole_op": true
5217
5217
  }
5218
5218
  },
5219
- "schema_version": "2.201.0",
5219
+ "schema_version": "2.203.0",
5220
5220
  "source_commit": null,
5221
5221
  "user_tier": null,
5222
5222
  "workflow_features": {
@@ -722,7 +722,7 @@
722
722
  "accepts": [
723
723
  "audio"
724
724
  ],
725
- "availability": "stable",
725
+ "availability": "planned",
726
726
  "input": {
727
727
  "max": 2,
728
728
  "min": 1,
@@ -753,7 +753,7 @@
753
753
  "default": "#000000",
754
754
  "description": "Hex `#RRGGBB` solid background colour. Used only when\n`overlay` is omitted (no image input). When an `overlay`\nimage is provided, the background colour is invisible\nbehind the image (subject to `image_fit`).\n",
755
755
  "origin": "contract",
756
- "sdk_exposure": "expose",
756
+ "sdk_exposure": "coming_soon",
757
757
  "surface_key": "backgroundColor",
758
758
  "type": "string"
759
759
  },
@@ -763,7 +763,7 @@
763
763
  "max": 60,
764
764
  "min": 1,
765
765
  "origin": "contract",
766
- "sdk_exposure": "expose",
766
+ "sdk_exposure": "coming_soon",
767
767
  "surface_key": "framerate",
768
768
  "type": "integer"
769
769
  },
@@ -771,13 +771,13 @@
771
771
  "default": "contain",
772
772
  "description": "How to fit the overlay image into the output frame.\n`contain` = letterbox (preserve aspect ratio, may show\nbackground); `cover` = crop (fill the frame, may crop\nthe image); `stretch` = distort to fit (preserves no\naspect ratio). Default `contain` preserves the image\naesthetic.\n",
773
773
  "origin": "contract",
774
- "sdk_exposure": "expose",
774
+ "sdk_exposure": "coming_soon",
775
775
  "surface_key": "imageFit",
776
776
  "type": "enum",
777
777
  "value_exposure": {
778
- "contain": "expose",
779
- "cover": "expose",
780
- "stretch": "expose"
778
+ "contain": "coming_soon",
779
+ "cover": "coming_soon",
780
+ "stretch": "coming_soon"
781
781
  },
782
782
  "values": [
783
783
  "contain",
@@ -789,11 +789,11 @@
789
789
  "default": "mp4",
790
790
  "description": "Output container format. V1 supports `mp4` only; webm and mov\nare planned additions.\n",
791
791
  "origin": "contract",
792
- "sdk_exposure": "expose",
792
+ "sdk_exposure": "coming_soon",
793
793
  "surface_key": "outputFormat",
794
794
  "type": "enum",
795
795
  "value_exposure": {
796
- "mp4": "expose"
796
+ "mp4": "coming_soon"
797
797
  },
798
798
  "values": [
799
799
  "mp4"
@@ -803,13 +803,13 @@
803
803
  "default": "hd_720p",
804
804
  "description": "Output video resolution. `hd_720p` = 1280\u00d7720 (default),\n`fhd_1080p` = 1920\u00d71080, `sd_480p` = 854\u00d7480. Choose\nlower for small file size; higher when the overlay image\nquality warrants it.\n",
805
805
  "origin": "contract",
806
- "sdk_exposure": "expose",
806
+ "sdk_exposure": "coming_soon",
807
807
  "surface_key": "outputResolution",
808
808
  "type": "enum",
809
809
  "value_exposure": {
810
- "fhd_1080p": "expose",
811
- "hd_720p": "expose",
812
- "sd_480p": "expose"
810
+ "fhd_1080p": "coming_soon",
811
+ "hd_720p": "coming_soon",
812
+ "sd_480p": "coming_soon"
813
813
  },
814
814
  "values": [
815
815
  "hd_720p",
@@ -7167,7 +7167,7 @@
7167
7167
  "accepts": [
7168
7168
  "video"
7169
7169
  ],
7170
- "availability": "stable",
7170
+ "availability": "planned",
7171
7171
  "features": {
7172
7172
  "multi_overlay_stack": {
7173
7173
  "availability": "planned",
@@ -7196,19 +7196,19 @@
7196
7196
  "default": "bottom_right",
7197
7197
  "description": "9-grid anchor position on each video frame. Same vocabulary\nas `image_watermark.image` and `text_watermark.image`.\n",
7198
7198
  "origin": "contract",
7199
- "sdk_exposure": "expose",
7199
+ "sdk_exposure": "coming_soon",
7200
7200
  "surface_key": "anchor",
7201
7201
  "type": "enum",
7202
7202
  "value_exposure": {
7203
- "bottom_center": "expose",
7204
- "bottom_left": "expose",
7205
- "bottom_right": "expose",
7206
- "center": "expose",
7207
- "center_left": "expose",
7208
- "center_right": "expose",
7209
- "top_center": "expose",
7210
- "top_left": "expose",
7211
- "top_right": "expose"
7203
+ "bottom_center": "coming_soon",
7204
+ "bottom_left": "coming_soon",
7205
+ "bottom_right": "coming_soon",
7206
+ "center": "coming_soon",
7207
+ "center_left": "coming_soon",
7208
+ "center_right": "coming_soon",
7209
+ "top_center": "coming_soon",
7210
+ "top_left": "coming_soon",
7211
+ "top_right": "coming_soon"
7212
7212
  },
7213
7213
  "values": [
7214
7214
  "top_left",
@@ -7227,7 +7227,7 @@
7227
7227
  "description": "Horizontal offset from the anchor as pixels (e.g. \"40px\")\nor percentage of video frame width (e.g. \"5%\"). Direction\nis anchor-relative \u2014 positive moves toward the frame\ncentre.\n\n**`anchor: center` exception.** When the anchor is `center`\nthe centre is the centre \u2014 there is no anchor-relative\ndirection. Non-zero `margin_x` combined with\n`anchor: center` is rejected by the API at workflow-create\ntime as `invalid_options` (HTTP 422). Same rule as the\nother watermark operations.\n",
7228
7228
  "origin": "contract",
7229
7229
  "pattern": "^\\d+(\\.\\d+)?(px|%)$",
7230
- "sdk_exposure": "expose",
7230
+ "sdk_exposure": "coming_soon",
7231
7231
  "surface_key": "marginX",
7232
7232
  "type": "string"
7233
7233
  },
@@ -7236,7 +7236,7 @@
7236
7236
  "description": "Vertical offset from the anchor as pixels or percentage of\nvideo frame height. Anchor-relative; positive moves toward\nthe frame centre.\n\n**`anchor: center` exception.** Same rejection rule as\n`margin_x`.\n",
7237
7237
  "origin": "contract",
7238
7238
  "pattern": "^\\d+(\\.\\d+)?(px|%)$",
7239
- "sdk_exposure": "expose",
7239
+ "sdk_exposure": "coming_soon",
7240
7240
  "surface_key": "marginY",
7241
7241
  "type": "string"
7242
7242
  },
@@ -7246,7 +7246,7 @@
7246
7246
  "max": 1.0,
7247
7247
  "min": 0.0,
7248
7248
  "origin": "contract",
7249
- "sdk_exposure": "expose",
7249
+ "sdk_exposure": "coming_soon",
7250
7250
  "surface_key": "opacity",
7251
7251
  "type": "float"
7252
7252
  },
@@ -7254,7 +7254,7 @@
7254
7254
  "description": "Optional overlay width as pixels or percentage of video\nframe width. Aspect ratio preserved. Omit to use the\noriginal overlay size.\n",
7255
7255
  "origin": "contract",
7256
7256
  "pattern": "^\\d+(\\.\\d+)?(px|%)$",
7257
- "sdk_exposure": "expose",
7257
+ "sdk_exposure": "coming_soon",
7258
7258
  "surface_key": "overlayWidth",
7259
7259
  "type": "string"
7260
7260
  }
@@ -7280,7 +7280,7 @@
7280
7280
  "required_tier": "pro"
7281
7281
  },
7282
7282
  "short_form": {
7283
- "availability": "stable",
7283
+ "availability": "planned",
7284
7284
  "constraints": {
7285
7285
  "max_input_duration": "PT5M",
7286
7286
  "max_input_size_bytes": 524288000,
@@ -7297,7 +7297,7 @@
7297
7297
  }
7298
7298
  },
7299
7299
  "preset_config_hash": "sha256:354814f7906f85be6a6ca5ede6c0722c83cdc058fd658a9bb2b0996520466c6d",
7300
- "schema_version": "2.201.0",
7300
+ "schema_version": "2.203.0",
7301
7301
  "sdk_spec_version": "2.3.0",
7302
- "source_hash": "sha256:5528ef236b607b83e79ab0f63171e186e21ad557f06d7be30b4c3879b940a250"
7302
+ "source_hash": "sha256:7123426cdc40dc649a48968e2589d90eb7ff7da5a3fe32f55bc19a4d6d9f2eaa"
7303
7303
  }
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
4
  *
5
- * The version of the OpenAPI document: 2.201.0
5
+ * The version of the OpenAPI document: 2.203.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
6
  *
7
- * The version of the OpenAPI document: 2.201.0
7
+ * The version of the OpenAPI document: 2.203.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).