@giveitsmaller/contracts 0.8.0 → 0.16.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 (453) hide show
  1. package/asyncapi/events.yaml +806 -173
  2. package/availability/availability.json +355 -98
  3. package/dist/asyncapi/Failure.d.ts +2 -0
  4. package/dist/asyncapi/LongFormJobMessage.d.ts +4 -3
  5. package/dist/asyncapi/LongFormOperationType.d.ts +5 -0
  6. package/dist/asyncapi/LongFormOperationType.js +6 -0
  7. package/dist/asyncapi/LongFormProcessingClass.d.ts +4 -0
  8. package/dist/asyncapi/LongFormProcessingClass.js +5 -0
  9. package/dist/asyncapi/MultiOutputCompletion.d.ts +2 -0
  10. package/dist/asyncapi/{NotificationsOperationsQueue.d.ts → NotificationsJobsQueue.d.ts} +2 -2
  11. package/dist/asyncapi/OperationResultMetadata.d.ts +4 -0
  12. package/dist/asyncapi/OperationResultMetadata.js +1 -0
  13. package/dist/asyncapi/OperationType.d.ts +2 -1
  14. package/dist/asyncapi/OperationType.js +1 -0
  15. package/dist/asyncapi/PageIndexed.d.ts +1 -0
  16. package/dist/asyncapi/PositionIndexed.d.ts +1 -0
  17. package/dist/asyncapi/SingleOutputCompletion.d.ts +2 -0
  18. package/dist/asyncapi/SourceEntry.d.ts +4 -0
  19. package/dist/asyncapi/Unindexed.d.ts +1 -0
  20. package/dist/asyncapi/index.d.ts +4 -2
  21. package/dist/asyncapi/index.js +2 -1
  22. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +2 -2
  23. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +2 -2
  24. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +2 -2
  25. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +2 -2
  26. package/dist/openapi/models/AuthErrorResponse.d.ts +13 -2
  27. package/dist/openapi/models/AuthErrorResponse.js +2 -2
  28. package/dist/openapi/models/AuthErrorType.d.ts +2 -2
  29. package/dist/openapi/models/AuthErrorType.js +2 -2
  30. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +126 -0
  31. package/dist/openapi/models/AuthRejectionEnvelope.js +72 -0
  32. package/dist/openapi/models/AvailabilityValue.d.ts +2 -2
  33. package/dist/openapi/models/AvailabilityValue.js +2 -2
  34. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +13 -2
  35. package/dist/openapi/models/BalanceExhaustedResponse.js +2 -2
  36. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +2 -2
  37. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +2 -2
  38. package/dist/openapi/models/CallbackEventType.d.ts +2 -2
  39. package/dist/openapi/models/CallbackEventType.js +2 -2
  40. package/dist/openapi/models/ChangePasswordRequest.d.ts +38 -0
  41. package/dist/openapi/models/ChangePasswordRequest.js +47 -0
  42. package/dist/openapi/models/CompositionPlan.d.ts +72 -0
  43. package/dist/openapi/models/CompositionPlan.js +53 -0
  44. package/dist/openapi/models/CompositionPlanJob.d.ts +39 -0
  45. package/dist/openapi/models/CompositionPlanJob.js +48 -0
  46. package/dist/openapi/models/CompositionPlanOperation.d.ts +116 -0
  47. package/dist/openapi/models/CompositionPlanOperation.js +62 -0
  48. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +46 -0
  49. package/dist/openapi/models/ConfirmEmailChange200Response.js +54 -0
  50. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +32 -0
  51. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +43 -0
  52. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +32 -0
  53. package/dist/openapi/models/ConfirmEmailChangeRequest.js +43 -0
  54. package/dist/openapi/models/ConnectionSource.d.ts +2 -2
  55. package/dist/openapi/models/ConnectionSource.js +2 -2
  56. package/dist/openapi/models/ContactRequest.d.ts +2 -2
  57. package/dist/openapi/models/ContactRequest.js +2 -2
  58. package/dist/openapi/models/ContactSubject.d.ts +2 -2
  59. package/dist/openapi/models/ContactSubject.js +2 -2
  60. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
  61. package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
  62. package/dist/openapi/models/CreateApiKey201Response.d.ts +46 -0
  63. package/dist/openapi/models/CreateApiKey201Response.js +54 -0
  64. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +56 -0
  65. package/dist/openapi/models/CreateApiKey201ResponseData.js +59 -0
  66. package/dist/openapi/models/CreateApiKeyRequest.d.ts +32 -0
  67. package/dist/openapi/models/CreateApiKeyRequest.js +43 -0
  68. package/dist/openapi/models/CreateExternalImport403Response.d.ts +2 -2
  69. package/dist/openapi/models/CreateExternalImport403Response.js +2 -2
  70. package/dist/openapi/models/CreateExternalImport422Response.d.ts +7 -3
  71. package/dist/openapi/models/CreateExternalImport422Response.js +18 -22
  72. package/dist/openapi/models/CreateWorkflow422Response.d.ts +11 -3
  73. package/dist/openapi/models/CreateWorkflow422Response.js +28 -36
  74. package/dist/openapi/models/CreditTransaction.d.ts +2 -2
  75. package/dist/openapi/models/CreditTransaction.js +2 -2
  76. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +2 -2
  77. package/dist/openapi/models/CreditTransactionSourceBucket.js +2 -2
  78. package/dist/openapi/models/CreditsBalanceResponse.d.ts +2 -2
  79. package/dist/openapi/models/CreditsBalanceResponse.js +2 -2
  80. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +2 -2
  81. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +2 -2
  82. package/dist/openapi/models/CreditsUsageResponse.d.ts +2 -2
  83. package/dist/openapi/models/CreditsUsageResponse.js +2 -2
  84. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +2 -2
  85. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +2 -2
  86. package/dist/openapi/models/Delivery.d.ts +2 -2
  87. package/dist/openapi/models/Delivery.js +2 -2
  88. package/dist/openapi/models/DeliveryOutputRef.d.ts +9 -2
  89. package/dist/openapi/models/DeliveryOutputRef.js +2 -2
  90. package/dist/openapi/models/DeliveryPlan.d.ts +2 -2
  91. package/dist/openapi/models/DeliveryPlan.js +2 -2
  92. package/dist/openapi/models/DeliveryPlanOutput.d.ts +17 -2
  93. package/dist/openapi/models/DeliveryPlanOutput.js +4 -2
  94. package/dist/openapi/models/DeliveryPlanReason.d.ts +2 -2
  95. package/dist/openapi/models/DeliveryPlanReason.js +2 -2
  96. package/dist/openapi/models/DeliverySelection.d.ts +6 -4
  97. package/dist/openapi/models/DeliverySelection.js +2 -2
  98. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +58 -0
  99. package/dist/openapi/models/EmptySuccessEnvelope.js +53 -0
  100. package/dist/openapi/models/EndpointProjection.d.ts +12 -3
  101. package/dist/openapi/models/EndpointProjection.js +2 -2
  102. package/dist/openapi/models/ErrorEnvelope.d.ts +13 -2
  103. package/dist/openapi/models/ErrorEnvelope.js +2 -2
  104. package/dist/openapi/models/EstimateQuality.d.ts +2 -2
  105. package/dist/openapi/models/EstimateQuality.js +2 -2
  106. package/dist/openapi/models/EstimateRange.d.ts +2 -2
  107. package/dist/openapi/models/EstimateRange.js +2 -2
  108. package/dist/openapi/models/ExternalDestination.d.ts +2 -2
  109. package/dist/openapi/models/ExternalDestination.js +2 -2
  110. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +2 -2
  111. package/dist/openapi/models/ExternalImportCreatedResponse.js +2 -2
  112. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +2 -2
  113. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +2 -2
  114. package/dist/openapi/models/ExternalImportRequest.d.ts +2 -2
  115. package/dist/openapi/models/ExternalImportRequest.js +2 -2
  116. package/dist/openapi/models/ExternalImportToken.d.ts +2 -2
  117. package/dist/openapi/models/ExternalImportToken.js +2 -2
  118. package/dist/openapi/models/ExternalSource.d.ts +2 -2
  119. package/dist/openapi/models/ExternalSource.js +2 -2
  120. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +19 -9
  121. package/dist/openapi/models/FeatureNotAvailableResponse.js +2 -2
  122. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +13 -2
  123. package/dist/openapi/models/FeatureTierRestrictedResponse.js +2 -2
  124. package/dist/openapi/models/FeatureViolation.d.ts +2 -2
  125. package/dist/openapi/models/FeatureViolation.js +2 -2
  126. package/dist/openapi/models/ForgotPasswordRequest.d.ts +32 -0
  127. package/dist/openapi/models/ForgotPasswordRequest.js +43 -0
  128. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +65 -0
  129. package/dist/openapi/models/ImageEncodeCapabilities.js +55 -0
  130. package/dist/openapi/models/JobDefinition.d.ts +27 -8
  131. package/dist/openapi/models/JobDefinition.js +2 -2
  132. package/dist/openapi/models/JobDownload.d.ts +2 -2
  133. package/dist/openapi/models/JobDownload.js +2 -2
  134. package/dist/openapi/models/JobInputV2.d.ts +13 -9
  135. package/dist/openapi/models/JobInputV2.js +5 -5
  136. package/dist/openapi/models/JobMediaClass.d.ts +34 -0
  137. package/dist/openapi/models/JobMediaClass.js +52 -0
  138. package/dist/openapi/models/JobOutputSource.d.ts +2 -2
  139. package/dist/openapi/models/JobOutputSource.js +2 -2
  140. package/dist/openapi/models/JobResponse.d.ts +24 -2
  141. package/dist/openapi/models/JobResponse.js +5 -2
  142. package/dist/openapi/models/JobStatus.d.ts +2 -2
  143. package/dist/openapi/models/JobStatus.js +2 -2
  144. package/dist/openapi/models/JobType.d.ts +2 -2
  145. package/dist/openapi/models/JobType.js +2 -2
  146. package/dist/openapi/models/LivenessResponse.d.ts +2 -2
  147. package/dist/openapi/models/LivenessResponse.js +2 -2
  148. package/dist/openapi/models/LoginUser200Response.d.ts +2 -2
  149. package/dist/openapi/models/LoginUser200Response.js +2 -2
  150. package/dist/openapi/models/LoginUser200ResponseData.d.ts +2 -2
  151. package/dist/openapi/models/LoginUser200ResponseData.js +2 -2
  152. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +2 -2
  153. package/dist/openapi/models/LoginUser200ResponseDataUser.js +2 -2
  154. package/dist/openapi/models/LoginUserRequest.d.ts +2 -2
  155. package/dist/openapi/models/LoginUserRequest.js +2 -2
  156. package/dist/openapi/models/MetadataResponse.d.ts +2 -2
  157. package/dist/openapi/models/MetadataResponse.js +2 -2
  158. package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
  159. package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
  160. package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
  161. package/dist/openapi/models/MetadataResponseExif.js +2 -2
  162. package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
  163. package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
  164. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +2 -2
  165. package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
  166. package/dist/openapi/models/MimeGroupSchema.d.ts +37 -2
  167. package/dist/openapi/models/MimeGroupSchema.js +5 -2
  168. package/dist/openapi/models/MultiInputSource.d.ts +41 -0
  169. package/dist/openapi/models/MultiInputSource.js +52 -0
  170. package/dist/openapi/models/MultipartCompleteRequest.d.ts +2 -2
  171. package/dist/openapi/models/MultipartCompleteRequest.js +2 -2
  172. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
  173. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
  174. package/dist/openapi/models/MultipartCompleteResponse.d.ts +2 -2
  175. package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
  176. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +2 -2
  177. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
  178. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +2 -2
  179. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +2 -2
  180. package/dist/openapi/models/MultipartInitiateResponse.d.ts +2 -2
  181. package/dist/openapi/models/MultipartInitiateResponse.js +2 -2
  182. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +2 -2
  183. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
  184. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +2 -2
  185. package/dist/openapi/models/MultipartKeepaliveResponse.js +2 -2
  186. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +2 -2
  187. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +2 -2
  188. package/dist/openapi/models/MultipartPartListing.d.ts +2 -2
  189. package/dist/openapi/models/MultipartPartListing.js +2 -2
  190. package/dist/openapi/models/MultipartPresignRequest.d.ts +2 -2
  191. package/dist/openapi/models/MultipartPresignRequest.js +2 -2
  192. package/dist/openapi/models/MultipartPresignResponse.d.ts +2 -2
  193. package/dist/openapi/models/MultipartPresignResponse.js +2 -2
  194. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +2 -2
  195. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +2 -2
  196. package/dist/openapi/models/MultipartStatusResponse.d.ts +2 -2
  197. package/dist/openapi/models/MultipartStatusResponse.js +2 -2
  198. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +2 -2
  199. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +2 -2
  200. package/dist/openapi/models/OperationDefinition.d.ts +27 -2
  201. package/dist/openapi/models/OperationDefinition.js +11 -2
  202. package/dist/openapi/models/OperationDownload.d.ts +30 -2
  203. package/dist/openapi/models/OperationDownload.js +6 -2
  204. package/dist/openapi/models/OperationInputModel.d.ts +3 -3
  205. package/dist/openapi/models/OperationInputModel.js +3 -3
  206. package/dist/openapi/models/OperationResponse.d.ts +18 -2
  207. package/dist/openapi/models/OperationResponse.js +5 -2
  208. package/dist/openapi/models/OperationResult.d.ts +2 -2
  209. package/dist/openapi/models/OperationResult.js +2 -2
  210. package/dist/openapi/models/OperationResultMetadata.d.ts +48 -0
  211. package/dist/openapi/models/OperationResultMetadata.js +41 -0
  212. package/dist/openapi/models/OperationResultMetrics.d.ts +16 -3
  213. package/dist/openapi/models/OperationResultMetrics.js +2 -2
  214. package/dist/openapi/models/OperationSchemaDefinition.d.ts +6 -5
  215. package/dist/openapi/models/OperationSchemaDefinition.js +2 -2
  216. package/dist/openapi/models/OperationStatus.d.ts +2 -2
  217. package/dist/openapi/models/OperationStatus.js +2 -2
  218. package/dist/openapi/models/OperationType.d.ts +19 -14
  219. package/dist/openapi/models/OperationType.js +20 -15
  220. package/dist/openapi/models/OperationsSchemaResponse.d.ts +39 -4
  221. package/dist/openapi/models/OperationsSchemaResponse.js +8 -2
  222. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +55 -0
  223. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +42 -0
  224. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +40 -0
  225. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +45 -0
  226. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +45 -0
  227. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +43 -0
  228. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +33 -0
  229. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +42 -0
  230. package/dist/openapi/models/OptionSchema.d.ts +2 -2
  231. package/dist/openapi/models/OptionSchema.js +2 -2
  232. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +2 -2
  233. package/dist/openapi/models/PerRoleCardinalityEntry.js +2 -2
  234. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +2 -2
  235. package/dist/openapi/models/PerValueAvailabilityEntry.js +2 -2
  236. package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
  237. package/dist/openapi/models/PresignedUrlPart.js +2 -2
  238. package/dist/openapi/models/ProbePendingResponse.d.ts +20 -8
  239. package/dist/openapi/models/ProbePendingResponse.js +2 -2
  240. package/dist/openapi/models/ProcessingClass.d.ts +2 -2
  241. package/dist/openapi/models/ProcessingClass.js +2 -2
  242. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +2 -2
  243. package/dist/openapi/models/ProcessingClassBandViolation.js +2 -2
  244. package/dist/openapi/models/ProcessingClassConstraints.d.ts +69 -0
  245. package/dist/openapi/models/ProcessingClassConstraints.js +49 -0
  246. package/dist/openapi/models/ProcessingClassEntry.d.ts +93 -0
  247. package/dist/openapi/models/ProcessingClassEntry.js +57 -0
  248. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +19 -6
  249. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +2 -2
  250. package/dist/openapi/models/ProcessingClassHint.d.ts +2 -2
  251. package/dist/openapi/models/ProcessingClassHint.js +2 -2
  252. package/dist/openapi/models/ProcessingClassReason.d.ts +2 -2
  253. package/dist/openapi/models/ProcessingClassReason.js +2 -2
  254. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +2 -2
  255. package/dist/openapi/models/ProcessingClassRejectReason.js +2 -2
  256. package/dist/openapi/models/ProcessingPlan.d.ts +2 -2
  257. package/dist/openapi/models/ProcessingPlan.js +2 -2
  258. package/dist/openapi/models/ProcessingPlanJob.d.ts +2 -2
  259. package/dist/openapi/models/ProcessingPlanJob.js +2 -2
  260. package/dist/openapi/models/ReEncodeDecision.d.ts +2 -2
  261. package/dist/openapi/models/ReEncodeDecision.js +2 -2
  262. package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
  263. package/dist/openapi/models/ReadinessResponse.js +2 -2
  264. package/dist/openapi/models/RegisterUser422Response.d.ts +27 -0
  265. package/dist/openapi/models/RegisterUser422Response.js +47 -0
  266. package/dist/openapi/models/RegisterUserRequest.d.ts +38 -0
  267. package/dist/openapi/models/RegisterUserRequest.js +47 -0
  268. package/dist/openapi/models/ResetPasswordRequest.d.ts +38 -0
  269. package/dist/openapi/models/ResetPasswordRequest.js +47 -0
  270. package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
  271. package/dist/openapi/models/ResponseEnvelope.js +2 -2
  272. package/dist/openapi/models/RetryResponse.d.ts +2 -2
  273. package/dist/openapi/models/RetryResponse.js +2 -2
  274. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +2 -2
  275. package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
  276. package/dist/openapi/models/SseCompletionBase.d.ts +2 -2
  277. package/dist/openapi/models/SseCompletionBase.js +2 -2
  278. package/dist/openapi/models/SseEventType.d.ts +2 -2
  279. package/dist/openapi/models/SseEventType.js +2 -2
  280. package/dist/openapi/models/SseJobCompletedData.d.ts +2 -2
  281. package/dist/openapi/models/SseJobCompletedData.js +2 -2
  282. package/dist/openapi/models/SseJobFailedData.d.ts +2 -2
  283. package/dist/openapi/models/SseJobFailedData.js +2 -2
  284. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +2 -2
  285. package/dist/openapi/models/SseMultiOutputCompletion.js +2 -2
  286. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +2 -2
  287. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +2 -2
  288. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +2 -2
  289. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +2 -2
  290. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +2 -2
  291. package/dist/openapi/models/SseMultiOutputResultEntry.js +2 -2
  292. package/dist/openapi/models/SseOperationCompletedData.d.ts +17 -3
  293. package/dist/openapi/models/SseOperationCompletedData.js +2 -2
  294. package/dist/openapi/models/SseOperationCompletionResult.d.ts +2 -2
  295. package/dist/openapi/models/SseOperationCompletionResult.js +2 -2
  296. package/dist/openapi/models/SseOperationFailedData.d.ts +2 -2
  297. package/dist/openapi/models/SseOperationFailedData.js +2 -2
  298. package/dist/openapi/models/SseOperationProgressData.d.ts +4 -3
  299. package/dist/openapi/models/SseOperationProgressData.js +2 -2
  300. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +2 -2
  301. package/dist/openapi/models/SseSingleOutputCompletion.js +2 -2
  302. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +2 -2
  303. package/dist/openapi/models/SseWorkflowTerminalData.js +2 -2
  304. package/dist/openapi/models/TierRestrictionKind.d.ts +2 -2
  305. package/dist/openapi/models/TierRestrictionKind.js +2 -2
  306. package/dist/openapi/models/TierRestrictionResponse.d.ts +13 -2
  307. package/dist/openapi/models/TierRestrictionResponse.js +2 -2
  308. package/dist/openapi/models/UpdateProfile200Response.d.ts +46 -0
  309. package/dist/openapi/models/UpdateProfile200Response.js +54 -0
  310. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +71 -0
  311. package/dist/openapi/models/UpdateProfile200ResponseData.js +67 -0
  312. package/dist/openapi/models/UpdateProfile422Response.d.ts +27 -0
  313. package/dist/openapi/models/UpdateProfile422Response.js +47 -0
  314. package/dist/openapi/models/UpdateProfileRequest.d.ts +44 -0
  315. package/dist/openapi/models/UpdateProfileRequest.js +47 -0
  316. package/dist/openapi/models/UploadConstraintsApplied.d.ts +2 -2
  317. package/dist/openapi/models/UploadConstraintsApplied.js +2 -2
  318. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +13 -2
  319. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +2 -2
  320. package/dist/openapi/models/UploadFile403Response.d.ts +2 -2
  321. package/dist/openapi/models/UploadFile403Response.js +2 -2
  322. package/dist/openapi/models/UploadFile422Response.d.ts +2 -2
  323. package/dist/openapi/models/UploadFile422Response.js +2 -2
  324. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +2 -2
  325. package/dist/openapi/models/UploadProbeMediaMetadata.js +2 -2
  326. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +2 -2
  327. package/dist/openapi/models/UploadProbeProcessingClass.js +2 -2
  328. package/dist/openapi/models/UploadProbeResponse.d.ts +2 -2
  329. package/dist/openapi/models/UploadProbeResponse.js +2 -2
  330. package/dist/openapi/models/UploadProbeStatus.d.ts +2 -2
  331. package/dist/openapi/models/UploadProbeStatus.js +2 -2
  332. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +2 -2
  333. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +2 -2
  334. package/dist/openapi/models/UploadResponse.d.ts +2 -2
  335. package/dist/openapi/models/UploadResponse.js +2 -2
  336. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +13 -2
  337. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +2 -2
  338. package/dist/openapi/models/UploadSource.d.ts +2 -2
  339. package/dist/openapi/models/UploadSource.js +2 -2
  340. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +2 -2
  341. package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
  342. package/dist/openapi/models/UploadThresholds.d.ts +2 -2
  343. package/dist/openapi/models/UploadThresholds.js +2 -2
  344. package/dist/openapi/models/UserTier.d.ts +2 -2
  345. package/dist/openapi/models/UserTier.js +2 -2
  346. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +32 -5
  347. package/dist/openapi/models/ValidationErrorEnvelope.js +12 -2
  348. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +2 -2
  349. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +2 -2
  350. package/dist/openapi/models/VerifyEmailRequest.d.ts +32 -0
  351. package/dist/openapi/models/VerifyEmailRequest.js +43 -0
  352. package/dist/openapi/models/WarningType.d.ts +2 -2
  353. package/dist/openapi/models/WarningType.js +2 -2
  354. package/dist/openapi/models/WebhookOperationContext.d.ts +2 -2
  355. package/dist/openapi/models/WebhookOperationContext.js +2 -2
  356. package/dist/openapi/models/WebhookPayload.d.ts +2 -2
  357. package/dist/openapi/models/WebhookPayload.js +2 -2
  358. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +2 -2
  359. package/dist/openapi/models/WorkflowCancelBillingEffect.js +2 -2
  360. package/dist/openapi/models/WorkflowCancelResponse.d.ts +2 -2
  361. package/dist/openapi/models/WorkflowCancelResponse.js +2 -2
  362. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +2 -2
  363. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +2 -2
  364. package/dist/openapi/models/WorkflowCreateRequest.d.ts +64 -4
  365. package/dist/openapi/models/WorkflowCreateRequest.js +10 -6
  366. package/dist/openapi/models/WorkflowCreateResponse.d.ts +24 -2
  367. package/dist/openapi/models/WorkflowCreateResponse.js +5 -2
  368. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +2 -2
  369. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
  370. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
  371. package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
  372. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +2 -2
  373. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
  374. package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
  375. package/dist/openapi/models/WorkflowEdge.js +2 -2
  376. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +13 -2
  377. package/dist/openapi/models/WorkflowExpiredResponse.js +2 -2
  378. package/dist/openapi/models/WorkflowListResponse.d.ts +50 -0
  379. package/dist/openapi/models/WorkflowListResponse.js +50 -0
  380. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +46 -0
  381. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +54 -0
  382. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +2 -2
  383. package/dist/openapi/models/WorkflowPauseRequiredAction.js +2 -2
  384. package/dist/openapi/models/WorkflowPausedDetail.d.ts +2 -2
  385. package/dist/openapi/models/WorkflowPausedDetail.js +2 -2
  386. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +2 -2
  387. package/dist/openapi/models/WorkflowPausedDetailLinks.js +2 -2
  388. package/dist/openapi/models/WorkflowProcessing.d.ts +2 -2
  389. package/dist/openapi/models/WorkflowProcessing.js +2 -2
  390. package/dist/openapi/models/WorkflowResumeResponse.d.ts +2 -2
  391. package/dist/openapi/models/WorkflowResumeResponse.js +2 -2
  392. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +2 -2
  393. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +2 -2
  394. package/dist/openapi/models/WorkflowSource.d.ts +7 -4
  395. package/dist/openapi/models/WorkflowSource.js +2 -2
  396. package/dist/openapi/models/WorkflowStatus.d.ts +2 -2
  397. package/dist/openapi/models/WorkflowStatus.js +2 -2
  398. package/dist/openapi/models/WorkflowStatusResponse.d.ts +21 -2
  399. package/dist/openapi/models/WorkflowStatusResponse.js +5 -2
  400. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +2 -2
  401. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
  402. package/dist/openapi/models/WorkflowSummary.d.ts +60 -0
  403. package/dist/openapi/models/WorkflowSummary.js +57 -0
  404. package/dist/openapi/models/WorkflowSummaryJob.d.ts +57 -0
  405. package/dist/openapi/models/WorkflowSummaryJob.js +57 -0
  406. package/dist/openapi/models/WorkflowWarning.d.ts +2 -2
  407. package/dist/openapi/models/WorkflowWarning.js +2 -2
  408. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +2 -2
  409. package/dist/openapi/models/WorkflowWarningSeverity.js +2 -2
  410. package/dist/openapi/models/index.d.ts +35 -1
  411. package/dist/openapi/models/index.js +35 -1
  412. package/dist/openapi/runtime.d.ts +2 -2
  413. package/dist/openapi/runtime.js +2 -2
  414. package/dist/operations/audio_to_video.metadata.js +1 -1
  415. package/dist/operations/compress.d.ts +0 -9
  416. package/dist/operations/compress.js +0 -6
  417. package/dist/operations/compress.metadata.js +4 -12
  418. package/dist/operations/index.d.ts +3 -0
  419. package/dist/operations/index.js +3 -0
  420. package/dist/operations/merge.d.ts +4 -0
  421. package/dist/operations/merge.metadata.js +12 -3
  422. package/dist/operations/passthrough.metadata.d.ts +2 -0
  423. package/dist/operations/passthrough.metadata.js +6 -0
  424. package/dist/operations/render_variants.d.ts +24 -0
  425. package/dist/operations/render_variants.js +14 -0
  426. package/dist/operations/render_variants.metadata.d.ts +2 -0
  427. package/dist/operations/render_variants.metadata.js +18 -0
  428. package/dist/operations/split.d.ts +8 -1
  429. package/dist/operations/split.js +5 -0
  430. package/dist/operations/split.metadata.js +22 -5
  431. package/dist/operations/video_watermark.metadata.js +2 -2
  432. package/openapi/api.yaml +2566 -288
  433. package/operations/schemas/archive.yaml +1 -1
  434. package/operations/schemas/audio_overlay.yaml +29 -13
  435. package/operations/schemas/audio_to_video.yaml +12 -9
  436. package/operations/schemas/audio_watermark.yaml +18 -16
  437. package/operations/schemas/compress.yaml +34 -32
  438. package/operations/schemas/custom_luma.yaml +21 -7
  439. package/operations/schemas/image_watermark.yaml +22 -7
  440. package/operations/schemas/merge.yaml +94 -41
  441. package/operations/schemas/passthrough.yaml +49 -0
  442. package/operations/schemas/render_variants.yaml +117 -0
  443. package/operations/schemas/split.yaml +76 -15
  444. package/operations/schemas/text_watermark.yaml +6 -6
  445. package/operations/schemas/thumbnail.yaml +1 -1
  446. package/operations/schemas/video_text_watermark.yaml +2 -2
  447. package/operations/schemas/video_watermark.yaml +20 -9
  448. package/package.json +3 -1
  449. package/dist/asyncapi/AnonymousSchema_253.d.ts +0 -5
  450. package/dist/asyncapi/AnonymousSchema_253.js +0 -6
  451. package/dist/openapi/models/LogoutUser200Response.d.ts +0 -50
  452. package/dist/openapi/models/LogoutUser200Response.js +0 -53
  453. /package/dist/asyncapi/{NotificationsOperationsQueue.js → NotificationsJobsQueue.js} +0 -0
@@ -19,4 +19,4 @@ operation:
19
19
  type: enum
20
20
  values: [flat, by_job]
21
21
  default: flat
22
- description: "flat = all files in root, by_job = subfolder per source job"
22
+ description: "flat = all files together at the top level; by_job = a separate subfolder for each source"
@@ -20,9 +20,12 @@ operation:
20
20
  (`features.multi_overlay_stack`) but Lambda-side implementation
21
21
  deferred.
22
22
 
23
- The overlay can be uploaded directly, imported externally, or
24
- referenced from a vault connection per `WorkflowSource` (from
25
- I10). The base is whatever single-asset source the workflow
23
+ Each input is a `MultiInputSource` imported externally,
24
+ referenced from a vault connection, or an upstream `job_output`
25
+ (uploads are NOT referenced directly inside inputs[]). An uploaded
26
+ overlay or base enters via a `passthrough` source job referenced by
27
+ `{ type: job_output, from: <id> }` (per ticket 4som89Uh). The base
28
+ is whatever single-asset source the workflow
26
29
  upstream has — for `mime_groups.audio`, the base is the primary
27
30
  audio track; for `mime_groups.video`, the overlay is mixed into
28
31
  the video's audio track and the visual track passes through
@@ -36,6 +39,18 @@ operation:
36
39
  min_inputs: 2
37
40
  max_inputs: 2
38
41
 
42
+ # Per-role input-count constraints (ADR-0015). Both roles REQUIRED,
43
+ # exactly one each. Arithmetic-consistency rule (CI-checked):
44
+ # - sum(role.min) == min_inputs (1 + 1 = 2)
45
+ # - sum(role.max) == max_inputs (1 + 1 = 2)
46
+ per_role_cardinality:
47
+ base:
48
+ min: 1
49
+ max: 1
50
+ overlay:
51
+ min: 1
52
+ max: 1
53
+
39
54
  features:
40
55
  multi_overlay_stack:
41
56
  availability: planned
@@ -132,11 +147,12 @@ operation:
132
147
  default: mix
133
148
  description: |
134
149
  How the overlay combines with the base audio:
135
- - `mix`: simple sum (overlay + base; both audible).
136
- - `duck`: side-chain compress the base under the overlay
137
- (base attenuates while overlay plays — broadcast pattern).
150
+ - `mix`: both play together (overlay added on top; both audible).
151
+ - `duck`: the base audio dips while the overlay plays, then
152
+ returns the broadcast voice-over pattern.
138
153
  - `replace`: mute the base for the overlay's duration
139
154
  (overlay only; useful for hard-cut station IDs).
155
+ # `duck` is implemented as a side-chain compressor in the worker.
140
156
  per_value_availability:
141
157
  duck: { availability: planned }
142
158
 
@@ -147,8 +163,8 @@ operation:
147
163
  default: -20.0
148
164
  depends_on: { mode: duck }
149
165
  description: |
150
- Side-chain threshold (dB). Base audio is ducked when the
151
- overlay exceeds this level. Only applies when `mode: duck`.
166
+ Level (dB) the overlay must reach before the base audio
167
+ ducks. Only applies when `mode: duck`.
152
168
 
153
169
  duck_ratio:
154
170
  type: float
@@ -157,8 +173,8 @@ operation:
157
173
  default: 4.0
158
174
  depends_on: { mode: duck }
159
175
  description: |
160
- Side-chain compression ratio. Higher values produce more
161
- aggressive ducking. Only applies when `mode: duck`.
176
+ How strongly the base ducks — higher values dip it more
177
+ aggressively. Only applies when `mode: duck`.
162
178
 
163
179
  duck_attack_ms:
164
180
  type: integer
@@ -304,7 +320,7 @@ operation:
304
320
  values: [mix, duck, replace]
305
321
  default: mix
306
322
  description: |
307
- Same modes as the audio mime_group. `replace` mutes the
323
+ Same modes as for audio overlays. `replace` mutes the
308
324
  base video's audio for the overlay's duration.
309
325
  per_value_availability:
310
326
  duck: { availability: planned }
@@ -315,7 +331,7 @@ operation:
315
331
  max: 0.0
316
332
  default: -20.0
317
333
  depends_on: { mode: duck }
318
- description: "Side-chain threshold (dB). Only applies when `mode: duck`."
334
+ description: "Level (dB) the overlay must reach before the base audio ducks. Only applies when `mode: duck`."
319
335
 
320
336
  duck_ratio:
321
337
  type: float
@@ -323,7 +339,7 @@ operation:
323
339
  max: 20.0
324
340
  default: 4.0
325
341
  depends_on: { mode: duck }
326
- description: "Side-chain compression ratio. Only applies when `mode: duck`."
342
+ description: "How strongly the base ducks — higher values dip it more aggressively. Only applies when `mode: duck`."
327
343
 
328
344
  duck_attack_ms:
329
345
  type: integer
@@ -2,7 +2,7 @@ schema_version: "2.0.0"
2
2
 
3
3
  operation:
4
4
  type: audio_to_video
5
- availability: planned
5
+ availability: beta
6
6
  description: |
7
7
  Produce a video from an audio input plus an OPTIONAL still image
8
8
  overlay. Use cases: podcast → YouTube uploads, audio-only tracks
@@ -29,9 +29,11 @@ operation:
29
29
  tiny when the overlay is a still image (the common case).
30
30
 
31
31
  Per ticket [`SlluxMBN`](https://trello.com/c/SlluxMBN) +
32
- ADR-0015. `availability: planned` until the cross-repo Lambda
33
- support ships; the API rejects workflow-create with
34
- `feature_not_available` (422) until then.
32
+ ADR-0015. Activated to `availability: beta` (Wave A, ticket
33
+ [`c3uthIP4`](https://trello.com/c/c3uthIP4)): the cross-repo
34
+ Lambda backend is live (API accepts + publishes), so this is
35
+ shape-stable + opt-in for callers and MUST NOT return
36
+ `feature_not_available` — it may still change with notice while beta.
35
37
 
36
38
  default: false
37
39
  input_model: multi
@@ -63,6 +65,7 @@ operation:
63
65
  - audio/flac
64
66
  - audio/ogg
65
67
  - audio/opus
68
+ - audio/mp4
66
69
  - audio/x-m4a
67
70
  options:
68
71
  output_resolution:
@@ -98,10 +101,10 @@ operation:
98
101
  min: 1
99
102
  max: 60
100
103
  default: 2
104
+ # Low framerate + the encoder's still-image tuning keeps size tiny.
101
105
  description: |
102
- Output video framerate. Default `2` fps combined with
103
- FFmpeg `-tune stillimage`, keeps the file size tiny for
104
- the common case of a single still overlay. Raise for
106
+ Output video framerate. Default `2` fps keeps the file size
107
+ tiny for the common case of a single still overlay. Raise for
105
108
  animated overlays (not supported in V1 — overlay must be
106
109
  a still image) or platform requirements (e.g. YouTube
107
110
  recommends 24+ fps; some platforms accept lower).
@@ -110,8 +113,8 @@ operation:
110
113
  values: [mp4]
111
114
  default: mp4
112
115
  description: |
113
- Output container format. V1 supports `mp4` only. Future
114
- additions (webm, mov) await Lambda follow-up.
116
+ Output container format. V1 supports `mp4` only; webm and mov
117
+ are planned additions.
115
118
 
116
119
  # NOTE: role-MIME constraint (base MUST be audio, overlay MUST be
117
120
  # image) is documented in prose only for V1. ADR-0015 records this
@@ -76,7 +76,7 @@ operation:
76
76
  Optional caller-supplied payload to embed (max 256
77
77
  characters). Use cases: ownership marker, distribution
78
78
  channel ID, license key. When omitted, the server
79
- generates a UUID-v7 `watermark_id` and embeds that
79
+ generates an identifier automatically and embeds that
80
80
  instead; the generated ID is returned on
81
81
  `OperationResult` so the caller can subsequently call
82
82
  the decode endpoint to verify.
@@ -85,18 +85,20 @@ operation:
85
85
  type: enum
86
86
  values: [auto, psychoacoustic, neural]
87
87
  default: auto
88
+ # `psychoacoustic` follows Resemble's open-source PerTh
89
+ # library as the path-to-prod reference; `neural` is a
90
+ # deep-generative embedding.
88
91
  description: |
89
92
  Watermarking algorithm:
90
93
  - `auto`: server selects the best available method for the
91
94
  input (currently maps to `psychoacoustic`; will widen as
92
95
  `neural` ships).
93
- - `psychoacoustic`: classical masking-curve embedding.
94
- Resemble's open-source PerTh library provides the path-
95
- to-prod reference implementation. Survives MP3/AAC at
96
- moderate bitrates and broadcast chains.
97
- - `neural`: ML-based embedding (deep generative). Higher
98
- survival under aggressive transcoding + analog-hole
99
- capture; longer encoding time + non-deterministic.
96
+ - `psychoacoustic`: hides the mark below what the ear can
97
+ hear, so it stays inaudible. Survives MP3/AAC at moderate
98
+ bitrates and broadcast chains.
99
+ - `neural`: machine-learning embedding. Higher survival
100
+ under aggressive re-encoding and microphone re-recording;
101
+ longer encoding time and non-deterministic.
100
102
  per_value_availability:
101
103
  # `auto` + `psychoacoustic` land first (PerTh path-to-prod);
102
104
  # `neural` lands later via Lambda follow-up.
@@ -114,9 +116,9 @@ operation:
114
116
  - `compression_resistant` (default): survives multiple
115
117
  MP3/AAC re-encodes at typical streaming bitrates.
116
118
  - `broadcast_grade`: survives broadcast compression
117
- chains, EQ, dynamic-range compression, and analog-hole
118
- capture (microphone re-recording). Higher embedding
119
- time + slightly larger perceptual footprint.
119
+ chains, EQ, dynamic-range compression, and microphone
120
+ re-recording. Higher embedding time + slightly larger
121
+ perceptual footprint.
120
122
 
121
123
  density:
122
124
  type: enum
@@ -166,16 +168,16 @@ operation:
166
168
  required: false
167
169
  description: |
168
170
  Optional caller-supplied payload to embed (max 256
169
- characters). When omitted, the server generates a UUID-v7
170
- `watermark_id` and embeds that instead.
171
+ characters). When omitted, the server generates an
172
+ identifier automatically and embeds that instead.
171
173
 
172
174
  method:
173
175
  type: enum
174
176
  values: [auto, psychoacoustic, neural]
175
177
  default: auto
176
178
  description: |
177
- Watermarking algorithm. Same semantics as the `audio`
178
- mime_group; embedded into the video's audio track only.
179
+ Watermarking algorithm. Same as for an audio input;
180
+ embedded into the video's audio track only.
179
181
  per_value_availability:
180
182
  neural: { availability: planned }
181
183
 
@@ -183,7 +185,7 @@ operation:
183
185
  type: enum
184
186
  values: [light, compression_resistant, broadcast_grade]
185
187
  default: compression_resistant
186
- description: "Survival profile. Same semantics as audio mime_group."
188
+ description: "Survival profile. Same as for an audio input."
187
189
 
188
190
  density:
189
191
  type: enum
@@ -29,22 +29,12 @@ operation:
29
29
  default: 80
30
30
  depends_on: { mode: lossy }
31
31
  description: "Compression quality (1 = smallest file, 100 = best quality). Only applies to lossy mode."
32
- width:
33
- type: integer
34
- min: 1
35
- max: 16384
36
- description: "Maximum output width in pixels"
37
- height:
38
- type: integer
39
- min: 1
40
- max: 16384
41
- description: "Maximum output height in pixels"
42
- fit:
43
- type: enum
44
- values: [max, crop, scale]
45
- default: max
46
- depends_on: { width: set, height: set, logic: or }
47
- description: "Resize mode. max = fit within bounds, crop = fill and trim, scale = force exact dimensions. Only applies when width or height is set."
32
+ # width / height / fit / auto_orient were REMOVED from compress.image
33
+ # per EsD1hs5u — the libcaesium image-compress worker recompresses
34
+ # ONLY and silently IGNORED them (accept-then-ignore). Image resize +
35
+ # EXIF auto-orient are served by the `thumbnail` op; format change by
36
+ # `convert`. The `video` mime_group KEEPS width/height/fit (ffmpeg
37
+ # honors them — do not remove there).
48
38
  metadata:
49
39
  type: enum
50
40
  values: [all, none, copyright, sensitive]
@@ -57,10 +47,6 @@ operation:
57
47
  values: [preserve, strip, srgb]
58
48
  default: preserve
59
49
  description: "ICC color profile handling. preserve = keep original, strip = remove, srgb = convert to sRGB"
60
- auto_orient:
61
- type: boolean
62
- default: true
63
- description: "Auto-rotate based on EXIF orientation"
64
50
  progressive:
65
51
  type: boolean
66
52
  default: true
@@ -105,17 +91,24 @@ operation:
105
91
  trim_start:
106
92
  type: float
107
93
  min: 0
108
- description: "Trim from beginning in seconds"
94
+ availability: planned
95
+ description: >
96
+ Trim from beginning in seconds. Gated `planned` (qZI5EK9j):
97
+ no compression worker implements per-clip trim yet, so the
98
+ server returns `feature_not_available` rather than accepting
99
+ and silently ignoring it. Flips to `stable` when a worker
100
+ lands; to trim today, chain a `split` op.
109
101
  trim_end:
110
102
  type: float
111
103
  min: 0
112
- description: "Trim from end in seconds"
104
+ availability: planned
105
+ description: "Trim from end in seconds. Gated `planned` (qZI5EK9j) — see `trim_start`."
113
106
 
114
107
  video:
115
108
  mimes:
116
109
  - video/mp4
117
110
  - video/webm
118
- - video/ogg
111
+ - video/quicktime
119
112
  processing_class:
120
113
  # F8 long-form video tier (per ticket I15-CONS, Trello YZpBKzOM).
121
114
  # Public contract uses logical names only — backend selection is
@@ -149,7 +142,8 @@ operation:
149
142
  type: enum
150
143
  values: [crf, target_size]
151
144
  default: crf
152
- description: "crf = constant quality (variable file size), target_size = constrained file size (two-pass)"
145
+ # target_size is implemented as a two-pass encode in the worker.
146
+ description: "crf = constant quality (variable file size), target_size = constrained file size"
153
147
  crf:
154
148
  type: integer
155
149
  min: 0
@@ -161,7 +155,8 @@ operation:
161
155
  type: integer
162
156
  min: 1048576
163
157
  depends_on: { encoding_mode: target_size }
164
- description: "Target output file size in bytes (min 1MB). Two-pass encoding to meet this target."
158
+ # Met via a two-pass encode in the worker.
159
+ description: "Target output file size in bytes (min 1MB)."
165
160
  preset:
166
161
  type: enum
167
162
  values: [ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow]
@@ -169,14 +164,14 @@ operation:
169
164
  description: "Encoding speed vs compression ratio trade-off"
170
165
  width:
171
166
  type: integer
172
- min: 1
167
+ min: 2
173
168
  max: 7680
174
- description: "Output width in pixels"
169
+ description: "Output width in pixels. Must be an EVEN integer >= 2 (yuv420p chroma-subsampling); odd values are rejected as invalid_options by the encoder."
175
170
  height:
176
171
  type: integer
177
- min: 1
172
+ min: 2
178
173
  max: 4320
179
- description: "Output height in pixels"
174
+ description: "Output height in pixels. Must be an EVEN integer >= 2 (yuv420p chroma-subsampling); odd values are rejected as invalid_options by the encoder."
180
175
  fit:
181
176
  type: enum
182
177
  values: [max, crop, scale, pad]
@@ -191,7 +186,7 @@ operation:
191
186
  faststart:
192
187
  type: boolean
193
188
  default: true
194
- description: "Move MP4 moov atom to start for progressive web playback (MP4 only)"
189
+ description: "Move the MP4/MOV moov atom to start for progressive web playback. MP4/MOV only; an explicit faststart on a WebM output is rejected as invalid_options (no moov atom)."
195
190
  audio_codec:
196
191
  type: enum
197
192
  values: [aac, opus, vorbis, copy]
@@ -206,11 +201,18 @@ operation:
206
201
  trim_start:
207
202
  type: float
208
203
  min: 0
209
- description: "Trim from beginning in seconds"
204
+ availability: planned
205
+ description: >
206
+ Trim from beginning in seconds. Gated `planned` (qZI5EK9j):
207
+ no compression worker implements per-clip trim yet, so the
208
+ server returns `feature_not_available` rather than accepting
209
+ and silently ignoring it. Flips to `stable` when a worker
210
+ lands; to trim today, chain a `split` op.
210
211
  trim_end:
211
212
  type: float
212
213
  min: 0
213
- description: "Trim from end in seconds"
214
+ availability: planned
215
+ description: "Trim from end in seconds. Gated `planned` (qZI5EK9j) — see `trim_start`."
214
216
 
215
217
  document_pdf:
216
218
  mimes:
@@ -12,18 +12,20 @@ operation:
12
12
 
13
13
  **NOT** related to FFmpeg's `xfade=custom` filter (which is an
14
14
  expression-mode parameter on the same `xfade` filter). The
15
- `merge.transition.custom` value is tagged `planned` with
16
- documentation_url pointing at this operation; once `custom_luma`
17
- ships, the merge slot is repurposed to a "use the dedicated
18
- `custom_luma` operation instead" advisory.
15
+ `merge.transition.custom` value is tagged `planned` as an advisory
16
+ that points callers at this dedicated operation for caller-uploaded
17
+ luma-matte transitions.
19
18
 
20
19
  Multi-input: exactly one input with `role: base` (the source
21
20
  video being transitioned) + exactly one input with
22
21
  `role: transition_mask` (the luma matte — a video whose pixel
23
22
  luminance drives the transition reveal — bright = revealed,
24
- dark = held). The mask can be uploaded directly, imported
25
- externally, or referenced from a vault connection per
26
- `WorkflowSource` (from I10).
23
+ dark = held). Each input is a `MultiInputSource` imported
24
+ externally, referenced from a vault connection, or an upstream
25
+ `job_output` (uploads are NOT referenced directly inside inputs[]).
26
+ An uploaded base or mask enters via a `passthrough` source job
27
+ referenced by `{ type: job_output, from: <id> }` (per ticket
28
+ 4som89Uh).
27
29
 
28
30
  Per ADR-0001 §1.3 (Tension 1 — `planned` operations return
29
31
  `feature_not_available` HTTP 422 until Lambda support ships).
@@ -35,6 +37,18 @@ operation:
35
37
  min_inputs: 2
36
38
  max_inputs: 2
37
39
 
40
+ # Per-role input-count constraints (ADR-0015). Both roles REQUIRED,
41
+ # exactly one each. Arithmetic-consistency rule (CI-checked):
42
+ # - sum(role.min) == min_inputs (1 + 1 = 2)
43
+ # - sum(role.max) == max_inputs (1 + 1 = 2)
44
+ per_role_cardinality:
45
+ base:
46
+ min: 1
47
+ max: 1
48
+ transition_mask:
49
+ min: 1
50
+ max: 1
51
+
38
52
  mime_groups:
39
53
  video:
40
54
  mimes:
@@ -3,11 +3,14 @@ schema_version: "2.0.0"
3
3
  operation:
4
4
  type: image_watermark
5
5
  description: |
6
- Apply an image overlay (file or external source) onto a base media
6
+ Apply an image overlay onto a base media
7
7
  asset. Multi-input: exactly one input with role: base (the source
8
- asset) + exactly one with role: overlay (the watermark). The overlay
9
- can be an upload, an external_import handle, or a vault connection
10
- per WorkflowSource (ticket I10).
8
+ asset) + exactly one with role: overlay (the watermark). Each input
9
+ is a `MultiInputSource` an external_import handle, a vault
10
+ connection, or an upstream `job_output` (uploads are NOT referenced
11
+ directly inside inputs[]). To use an uploaded base or overlay, feed
12
+ it through a `passthrough` source job and reference that job via
13
+ `{ type: job_output, from: <id> }` (per ticket 4som89Uh).
11
14
 
12
15
  Stable today for static-image bases (image/jpeg, image/png,
13
16
  image/webp); animated GIF bases are advertised as `planned` via
@@ -34,6 +37,18 @@ operation:
34
37
  min_inputs: 2
35
38
  max_inputs: 2
36
39
 
40
+ # Per-role input-count constraints (ADR-0015). Both roles REQUIRED,
41
+ # exactly one each. Arithmetic-consistency rule (CI-checked):
42
+ # - sum(role.min) == min_inputs (1 + 1 = 2)
43
+ # - sum(role.max) == max_inputs (1 + 1 = 2)
44
+ per_role_cardinality:
45
+ base:
46
+ min: 1
47
+ max: 1
48
+ overlay:
49
+ min: 1
50
+ max: 1
51
+
37
52
  features:
38
53
  multi_overlay_stack:
39
54
  availability: planned
@@ -66,9 +81,9 @@ operation:
66
81
  - bottom_right
67
82
  default: bottom_right
68
83
  description: |
69
- 9-grid anchor position on the base image. Mirrors
70
- Mux/Cloudinary positioning. Combined with margin_x and
71
- margin_y for fine-grained offset from the anchor point.
84
+ 9-grid anchor position on the base image. Combined with
85
+ margin_x and margin_y for fine-grained offset from the
86
+ anchor point.
72
87
 
73
88
  margin_x:
74
89
  type: string