@giveitsmaller/contracts 0.9.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 (443) hide show
  1. package/asyncapi/events.yaml +540 -42
  2. package/availability/availability.json +313 -89
  3. package/dist/asyncapi/Failure.d.ts +2 -0
  4. package/dist/asyncapi/MultiOutputCompletion.d.ts +2 -0
  5. package/dist/asyncapi/{NotificationsOperationsQueue.d.ts → NotificationsJobsQueue.d.ts} +2 -2
  6. package/dist/asyncapi/OperationResultMetadata.d.ts +4 -0
  7. package/dist/asyncapi/OperationResultMetadata.js +1 -0
  8. package/dist/asyncapi/OperationType.d.ts +2 -1
  9. package/dist/asyncapi/OperationType.js +1 -0
  10. package/dist/asyncapi/PageIndexed.d.ts +1 -0
  11. package/dist/asyncapi/PositionIndexed.d.ts +1 -0
  12. package/dist/asyncapi/SingleOutputCompletion.d.ts +2 -0
  13. package/dist/asyncapi/SourceEntry.d.ts +2 -0
  14. package/dist/asyncapi/Unindexed.d.ts +1 -0
  15. package/dist/asyncapi/index.d.ts +2 -1
  16. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +2 -2
  17. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +2 -2
  18. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +2 -2
  19. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +2 -2
  20. package/dist/openapi/models/AuthErrorResponse.d.ts +13 -2
  21. package/dist/openapi/models/AuthErrorResponse.js +2 -2
  22. package/dist/openapi/models/AuthErrorType.d.ts +2 -2
  23. package/dist/openapi/models/AuthErrorType.js +2 -2
  24. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +126 -0
  25. package/dist/openapi/models/AuthRejectionEnvelope.js +72 -0
  26. package/dist/openapi/models/AvailabilityValue.d.ts +2 -2
  27. package/dist/openapi/models/AvailabilityValue.js +2 -2
  28. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +13 -2
  29. package/dist/openapi/models/BalanceExhaustedResponse.js +2 -2
  30. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +2 -2
  31. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +2 -2
  32. package/dist/openapi/models/CallbackEventType.d.ts +2 -2
  33. package/dist/openapi/models/CallbackEventType.js +2 -2
  34. package/dist/openapi/models/ChangePasswordRequest.d.ts +38 -0
  35. package/dist/openapi/models/ChangePasswordRequest.js +47 -0
  36. package/dist/openapi/models/CompositionPlan.d.ts +72 -0
  37. package/dist/openapi/models/CompositionPlan.js +53 -0
  38. package/dist/openapi/models/CompositionPlanJob.d.ts +39 -0
  39. package/dist/openapi/models/CompositionPlanJob.js +48 -0
  40. package/dist/openapi/models/CompositionPlanOperation.d.ts +116 -0
  41. package/dist/openapi/models/CompositionPlanOperation.js +62 -0
  42. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +46 -0
  43. package/dist/openapi/models/ConfirmEmailChange200Response.js +54 -0
  44. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +32 -0
  45. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +43 -0
  46. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +32 -0
  47. package/dist/openapi/models/ConfirmEmailChangeRequest.js +43 -0
  48. package/dist/openapi/models/ConnectionSource.d.ts +2 -2
  49. package/dist/openapi/models/ConnectionSource.js +2 -2
  50. package/dist/openapi/models/ContactRequest.d.ts +2 -2
  51. package/dist/openapi/models/ContactRequest.js +2 -2
  52. package/dist/openapi/models/ContactSubject.d.ts +2 -2
  53. package/dist/openapi/models/ContactSubject.js +2 -2
  54. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
  55. package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
  56. package/dist/openapi/models/CreateApiKey201Response.d.ts +46 -0
  57. package/dist/openapi/models/CreateApiKey201Response.js +54 -0
  58. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +56 -0
  59. package/dist/openapi/models/CreateApiKey201ResponseData.js +59 -0
  60. package/dist/openapi/models/CreateApiKeyRequest.d.ts +32 -0
  61. package/dist/openapi/models/CreateApiKeyRequest.js +43 -0
  62. package/dist/openapi/models/CreateExternalImport403Response.d.ts +2 -2
  63. package/dist/openapi/models/CreateExternalImport403Response.js +2 -2
  64. package/dist/openapi/models/CreateExternalImport422Response.d.ts +2 -2
  65. package/dist/openapi/models/CreateExternalImport422Response.js +2 -2
  66. package/dist/openapi/models/CreateWorkflow422Response.d.ts +2 -2
  67. package/dist/openapi/models/CreateWorkflow422Response.js +2 -2
  68. package/dist/openapi/models/CreditTransaction.d.ts +2 -2
  69. package/dist/openapi/models/CreditTransaction.js +2 -2
  70. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +2 -2
  71. package/dist/openapi/models/CreditTransactionSourceBucket.js +2 -2
  72. package/dist/openapi/models/CreditsBalanceResponse.d.ts +2 -2
  73. package/dist/openapi/models/CreditsBalanceResponse.js +2 -2
  74. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +2 -2
  75. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +2 -2
  76. package/dist/openapi/models/CreditsUsageResponse.d.ts +2 -2
  77. package/dist/openapi/models/CreditsUsageResponse.js +2 -2
  78. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +2 -2
  79. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +2 -2
  80. package/dist/openapi/models/Delivery.d.ts +2 -2
  81. package/dist/openapi/models/Delivery.js +2 -2
  82. package/dist/openapi/models/DeliveryOutputRef.d.ts +9 -2
  83. package/dist/openapi/models/DeliveryOutputRef.js +2 -2
  84. package/dist/openapi/models/DeliveryPlan.d.ts +2 -2
  85. package/dist/openapi/models/DeliveryPlan.js +2 -2
  86. package/dist/openapi/models/DeliveryPlanOutput.d.ts +17 -2
  87. package/dist/openapi/models/DeliveryPlanOutput.js +4 -2
  88. package/dist/openapi/models/DeliveryPlanReason.d.ts +2 -2
  89. package/dist/openapi/models/DeliveryPlanReason.js +2 -2
  90. package/dist/openapi/models/DeliverySelection.d.ts +6 -4
  91. package/dist/openapi/models/DeliverySelection.js +2 -2
  92. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +58 -0
  93. package/dist/openapi/models/EmptySuccessEnvelope.js +53 -0
  94. package/dist/openapi/models/EndpointProjection.d.ts +12 -3
  95. package/dist/openapi/models/EndpointProjection.js +2 -2
  96. package/dist/openapi/models/ErrorEnvelope.d.ts +13 -2
  97. package/dist/openapi/models/ErrorEnvelope.js +2 -2
  98. package/dist/openapi/models/EstimateQuality.d.ts +2 -2
  99. package/dist/openapi/models/EstimateQuality.js +2 -2
  100. package/dist/openapi/models/EstimateRange.d.ts +2 -2
  101. package/dist/openapi/models/EstimateRange.js +2 -2
  102. package/dist/openapi/models/ExternalDestination.d.ts +2 -2
  103. package/dist/openapi/models/ExternalDestination.js +2 -2
  104. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +2 -2
  105. package/dist/openapi/models/ExternalImportCreatedResponse.js +2 -2
  106. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +2 -2
  107. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +2 -2
  108. package/dist/openapi/models/ExternalImportRequest.d.ts +2 -2
  109. package/dist/openapi/models/ExternalImportRequest.js +2 -2
  110. package/dist/openapi/models/ExternalImportToken.d.ts +2 -2
  111. package/dist/openapi/models/ExternalImportToken.js +2 -2
  112. package/dist/openapi/models/ExternalSource.d.ts +2 -2
  113. package/dist/openapi/models/ExternalSource.js +2 -2
  114. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +13 -2
  115. package/dist/openapi/models/FeatureNotAvailableResponse.js +2 -2
  116. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +13 -2
  117. package/dist/openapi/models/FeatureTierRestrictedResponse.js +2 -2
  118. package/dist/openapi/models/FeatureViolation.d.ts +2 -2
  119. package/dist/openapi/models/FeatureViolation.js +2 -2
  120. package/dist/openapi/models/ForgotPasswordRequest.d.ts +32 -0
  121. package/dist/openapi/models/ForgotPasswordRequest.js +43 -0
  122. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +65 -0
  123. package/dist/openapi/models/ImageEncodeCapabilities.js +55 -0
  124. package/dist/openapi/models/JobDefinition.d.ts +20 -4
  125. package/dist/openapi/models/JobDefinition.js +2 -2
  126. package/dist/openapi/models/JobDownload.d.ts +2 -2
  127. package/dist/openapi/models/JobDownload.js +2 -2
  128. package/dist/openapi/models/JobInputV2.d.ts +13 -9
  129. package/dist/openapi/models/JobInputV2.js +5 -5
  130. package/dist/openapi/models/JobMediaClass.d.ts +34 -0
  131. package/dist/openapi/models/JobMediaClass.js +52 -0
  132. package/dist/openapi/models/JobOutputSource.d.ts +2 -2
  133. package/dist/openapi/models/JobOutputSource.js +2 -2
  134. package/dist/openapi/models/JobResponse.d.ts +2 -2
  135. package/dist/openapi/models/JobResponse.js +2 -2
  136. package/dist/openapi/models/JobStatus.d.ts +2 -2
  137. package/dist/openapi/models/JobStatus.js +2 -2
  138. package/dist/openapi/models/JobType.d.ts +2 -2
  139. package/dist/openapi/models/JobType.js +2 -2
  140. package/dist/openapi/models/LivenessResponse.d.ts +2 -2
  141. package/dist/openapi/models/LivenessResponse.js +2 -2
  142. package/dist/openapi/models/LoginUser200Response.d.ts +2 -2
  143. package/dist/openapi/models/LoginUser200Response.js +2 -2
  144. package/dist/openapi/models/LoginUser200ResponseData.d.ts +2 -2
  145. package/dist/openapi/models/LoginUser200ResponseData.js +2 -2
  146. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +2 -2
  147. package/dist/openapi/models/LoginUser200ResponseDataUser.js +2 -2
  148. package/dist/openapi/models/LoginUserRequest.d.ts +2 -2
  149. package/dist/openapi/models/LoginUserRequest.js +2 -2
  150. package/dist/openapi/models/MetadataResponse.d.ts +2 -2
  151. package/dist/openapi/models/MetadataResponse.js +2 -2
  152. package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
  153. package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
  154. package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
  155. package/dist/openapi/models/MetadataResponseExif.js +2 -2
  156. package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
  157. package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
  158. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +2 -2
  159. package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
  160. package/dist/openapi/models/MimeGroupSchema.d.ts +37 -2
  161. package/dist/openapi/models/MimeGroupSchema.js +5 -2
  162. package/dist/openapi/models/MultiInputSource.d.ts +41 -0
  163. package/dist/openapi/models/MultiInputSource.js +52 -0
  164. package/dist/openapi/models/MultipartCompleteRequest.d.ts +2 -2
  165. package/dist/openapi/models/MultipartCompleteRequest.js +2 -2
  166. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
  167. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
  168. package/dist/openapi/models/MultipartCompleteResponse.d.ts +2 -2
  169. package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
  170. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +2 -2
  171. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
  172. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +2 -2
  173. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +2 -2
  174. package/dist/openapi/models/MultipartInitiateResponse.d.ts +2 -2
  175. package/dist/openapi/models/MultipartInitiateResponse.js +2 -2
  176. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +2 -2
  177. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
  178. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +2 -2
  179. package/dist/openapi/models/MultipartKeepaliveResponse.js +2 -2
  180. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +2 -2
  181. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +2 -2
  182. package/dist/openapi/models/MultipartPartListing.d.ts +2 -2
  183. package/dist/openapi/models/MultipartPartListing.js +2 -2
  184. package/dist/openapi/models/MultipartPresignRequest.d.ts +2 -2
  185. package/dist/openapi/models/MultipartPresignRequest.js +2 -2
  186. package/dist/openapi/models/MultipartPresignResponse.d.ts +2 -2
  187. package/dist/openapi/models/MultipartPresignResponse.js +2 -2
  188. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +2 -2
  189. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +2 -2
  190. package/dist/openapi/models/MultipartStatusResponse.d.ts +2 -2
  191. package/dist/openapi/models/MultipartStatusResponse.js +2 -2
  192. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +2 -2
  193. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +2 -2
  194. package/dist/openapi/models/OperationDefinition.d.ts +27 -2
  195. package/dist/openapi/models/OperationDefinition.js +11 -2
  196. package/dist/openapi/models/OperationDownload.d.ts +30 -2
  197. package/dist/openapi/models/OperationDownload.js +6 -2
  198. package/dist/openapi/models/OperationInputModel.d.ts +3 -3
  199. package/dist/openapi/models/OperationInputModel.js +3 -3
  200. package/dist/openapi/models/OperationResponse.d.ts +18 -2
  201. package/dist/openapi/models/OperationResponse.js +5 -2
  202. package/dist/openapi/models/OperationResult.d.ts +2 -2
  203. package/dist/openapi/models/OperationResult.js +2 -2
  204. package/dist/openapi/models/OperationResultMetadata.d.ts +48 -0
  205. package/dist/openapi/models/OperationResultMetadata.js +41 -0
  206. package/dist/openapi/models/OperationResultMetrics.d.ts +16 -3
  207. package/dist/openapi/models/OperationResultMetrics.js +2 -2
  208. package/dist/openapi/models/OperationSchemaDefinition.d.ts +6 -5
  209. package/dist/openapi/models/OperationSchemaDefinition.js +2 -2
  210. package/dist/openapi/models/OperationStatus.d.ts +2 -2
  211. package/dist/openapi/models/OperationStatus.js +2 -2
  212. package/dist/openapi/models/OperationType.d.ts +7 -4
  213. package/dist/openapi/models/OperationType.js +8 -5
  214. package/dist/openapi/models/OperationsSchemaResponse.d.ts +32 -4
  215. package/dist/openapi/models/OperationsSchemaResponse.js +5 -2
  216. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +2 -2
  217. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +2 -2
  218. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +2 -2
  219. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +2 -2
  220. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +2 -2
  221. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +2 -2
  222. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +2 -2
  223. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +2 -2
  224. package/dist/openapi/models/OptionSchema.d.ts +2 -2
  225. package/dist/openapi/models/OptionSchema.js +2 -2
  226. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +2 -2
  227. package/dist/openapi/models/PerRoleCardinalityEntry.js +2 -2
  228. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +2 -2
  229. package/dist/openapi/models/PerValueAvailabilityEntry.js +2 -2
  230. package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
  231. package/dist/openapi/models/PresignedUrlPart.js +2 -2
  232. package/dist/openapi/models/ProbePendingResponse.d.ts +13 -2
  233. package/dist/openapi/models/ProbePendingResponse.js +2 -2
  234. package/dist/openapi/models/ProcessingClass.d.ts +2 -2
  235. package/dist/openapi/models/ProcessingClass.js +2 -2
  236. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +2 -2
  237. package/dist/openapi/models/ProcessingClassBandViolation.js +2 -2
  238. package/dist/openapi/models/ProcessingClassConstraints.d.ts +69 -0
  239. package/dist/openapi/models/ProcessingClassConstraints.js +49 -0
  240. package/dist/openapi/models/ProcessingClassEntry.d.ts +93 -0
  241. package/dist/openapi/models/ProcessingClassEntry.js +57 -0
  242. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +13 -2
  243. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +2 -2
  244. package/dist/openapi/models/ProcessingClassHint.d.ts +2 -2
  245. package/dist/openapi/models/ProcessingClassHint.js +2 -2
  246. package/dist/openapi/models/ProcessingClassReason.d.ts +2 -2
  247. package/dist/openapi/models/ProcessingClassReason.js +2 -2
  248. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +2 -2
  249. package/dist/openapi/models/ProcessingClassRejectReason.js +2 -2
  250. package/dist/openapi/models/ProcessingPlan.d.ts +2 -2
  251. package/dist/openapi/models/ProcessingPlan.js +2 -2
  252. package/dist/openapi/models/ProcessingPlanJob.d.ts +2 -2
  253. package/dist/openapi/models/ProcessingPlanJob.js +2 -2
  254. package/dist/openapi/models/ReEncodeDecision.d.ts +2 -2
  255. package/dist/openapi/models/ReEncodeDecision.js +2 -2
  256. package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
  257. package/dist/openapi/models/ReadinessResponse.js +2 -2
  258. package/dist/openapi/models/RegisterUser422Response.d.ts +27 -0
  259. package/dist/openapi/models/RegisterUser422Response.js +47 -0
  260. package/dist/openapi/models/RegisterUserRequest.d.ts +38 -0
  261. package/dist/openapi/models/RegisterUserRequest.js +47 -0
  262. package/dist/openapi/models/ResetPasswordRequest.d.ts +38 -0
  263. package/dist/openapi/models/ResetPasswordRequest.js +47 -0
  264. package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
  265. package/dist/openapi/models/ResponseEnvelope.js +2 -2
  266. package/dist/openapi/models/RetryResponse.d.ts +2 -2
  267. package/dist/openapi/models/RetryResponse.js +2 -2
  268. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +2 -2
  269. package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
  270. package/dist/openapi/models/SseCompletionBase.d.ts +2 -2
  271. package/dist/openapi/models/SseCompletionBase.js +2 -2
  272. package/dist/openapi/models/SseEventType.d.ts +2 -2
  273. package/dist/openapi/models/SseEventType.js +2 -2
  274. package/dist/openapi/models/SseJobCompletedData.d.ts +2 -2
  275. package/dist/openapi/models/SseJobCompletedData.js +2 -2
  276. package/dist/openapi/models/SseJobFailedData.d.ts +2 -2
  277. package/dist/openapi/models/SseJobFailedData.js +2 -2
  278. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +2 -2
  279. package/dist/openapi/models/SseMultiOutputCompletion.js +2 -2
  280. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +2 -2
  281. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +2 -2
  282. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +2 -2
  283. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +2 -2
  284. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +2 -2
  285. package/dist/openapi/models/SseMultiOutputResultEntry.js +2 -2
  286. package/dist/openapi/models/SseOperationCompletedData.d.ts +17 -3
  287. package/dist/openapi/models/SseOperationCompletedData.js +2 -2
  288. package/dist/openapi/models/SseOperationCompletionResult.d.ts +2 -2
  289. package/dist/openapi/models/SseOperationCompletionResult.js +2 -2
  290. package/dist/openapi/models/SseOperationFailedData.d.ts +2 -2
  291. package/dist/openapi/models/SseOperationFailedData.js +2 -2
  292. package/dist/openapi/models/SseOperationProgressData.d.ts +2 -2
  293. package/dist/openapi/models/SseOperationProgressData.js +2 -2
  294. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +2 -2
  295. package/dist/openapi/models/SseSingleOutputCompletion.js +2 -2
  296. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +2 -2
  297. package/dist/openapi/models/SseWorkflowTerminalData.js +2 -2
  298. package/dist/openapi/models/TierRestrictionKind.d.ts +2 -2
  299. package/dist/openapi/models/TierRestrictionKind.js +2 -2
  300. package/dist/openapi/models/TierRestrictionResponse.d.ts +13 -2
  301. package/dist/openapi/models/TierRestrictionResponse.js +2 -2
  302. package/dist/openapi/models/UpdateProfile200Response.d.ts +46 -0
  303. package/dist/openapi/models/UpdateProfile200Response.js +54 -0
  304. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +71 -0
  305. package/dist/openapi/models/UpdateProfile200ResponseData.js +67 -0
  306. package/dist/openapi/models/UpdateProfile422Response.d.ts +27 -0
  307. package/dist/openapi/models/UpdateProfile422Response.js +47 -0
  308. package/dist/openapi/models/UpdateProfileRequest.d.ts +44 -0
  309. package/dist/openapi/models/UpdateProfileRequest.js +47 -0
  310. package/dist/openapi/models/UploadConstraintsApplied.d.ts +2 -2
  311. package/dist/openapi/models/UploadConstraintsApplied.js +2 -2
  312. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +13 -2
  313. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +2 -2
  314. package/dist/openapi/models/UploadFile403Response.d.ts +2 -2
  315. package/dist/openapi/models/UploadFile403Response.js +2 -2
  316. package/dist/openapi/models/UploadFile422Response.d.ts +2 -2
  317. package/dist/openapi/models/UploadFile422Response.js +2 -2
  318. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +2 -2
  319. package/dist/openapi/models/UploadProbeMediaMetadata.js +2 -2
  320. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +2 -2
  321. package/dist/openapi/models/UploadProbeProcessingClass.js +2 -2
  322. package/dist/openapi/models/UploadProbeResponse.d.ts +2 -2
  323. package/dist/openapi/models/UploadProbeResponse.js +2 -2
  324. package/dist/openapi/models/UploadProbeStatus.d.ts +2 -2
  325. package/dist/openapi/models/UploadProbeStatus.js +2 -2
  326. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +2 -2
  327. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +2 -2
  328. package/dist/openapi/models/UploadResponse.d.ts +2 -2
  329. package/dist/openapi/models/UploadResponse.js +2 -2
  330. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +13 -2
  331. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +2 -2
  332. package/dist/openapi/models/UploadSource.d.ts +2 -2
  333. package/dist/openapi/models/UploadSource.js +2 -2
  334. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +2 -2
  335. package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
  336. package/dist/openapi/models/UploadThresholds.d.ts +2 -2
  337. package/dist/openapi/models/UploadThresholds.js +2 -2
  338. package/dist/openapi/models/UserTier.d.ts +2 -2
  339. package/dist/openapi/models/UserTier.js +2 -2
  340. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +2 -2
  341. package/dist/openapi/models/ValidationErrorEnvelope.js +2 -2
  342. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +2 -2
  343. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +2 -2
  344. package/dist/openapi/models/VerifyEmailRequest.d.ts +32 -0
  345. package/dist/openapi/models/VerifyEmailRequest.js +43 -0
  346. package/dist/openapi/models/WarningType.d.ts +2 -2
  347. package/dist/openapi/models/WarningType.js +2 -2
  348. package/dist/openapi/models/WebhookOperationContext.d.ts +2 -2
  349. package/dist/openapi/models/WebhookOperationContext.js +2 -2
  350. package/dist/openapi/models/WebhookPayload.d.ts +2 -2
  351. package/dist/openapi/models/WebhookPayload.js +2 -2
  352. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +2 -2
  353. package/dist/openapi/models/WorkflowCancelBillingEffect.js +2 -2
  354. package/dist/openapi/models/WorkflowCancelResponse.d.ts +2 -2
  355. package/dist/openapi/models/WorkflowCancelResponse.js +2 -2
  356. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +2 -2
  357. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +2 -2
  358. package/dist/openapi/models/WorkflowCreateRequest.d.ts +64 -4
  359. package/dist/openapi/models/WorkflowCreateRequest.js +10 -6
  360. package/dist/openapi/models/WorkflowCreateResponse.d.ts +24 -2
  361. package/dist/openapi/models/WorkflowCreateResponse.js +5 -2
  362. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +2 -2
  363. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
  364. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
  365. package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
  366. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +2 -2
  367. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
  368. package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
  369. package/dist/openapi/models/WorkflowEdge.js +2 -2
  370. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +13 -2
  371. package/dist/openapi/models/WorkflowExpiredResponse.js +2 -2
  372. package/dist/openapi/models/WorkflowListResponse.d.ts +50 -0
  373. package/dist/openapi/models/WorkflowListResponse.js +50 -0
  374. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +46 -0
  375. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +54 -0
  376. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +2 -2
  377. package/dist/openapi/models/WorkflowPauseRequiredAction.js +2 -2
  378. package/dist/openapi/models/WorkflowPausedDetail.d.ts +2 -2
  379. package/dist/openapi/models/WorkflowPausedDetail.js +2 -2
  380. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +2 -2
  381. package/dist/openapi/models/WorkflowPausedDetailLinks.js +2 -2
  382. package/dist/openapi/models/WorkflowProcessing.d.ts +2 -2
  383. package/dist/openapi/models/WorkflowProcessing.js +2 -2
  384. package/dist/openapi/models/WorkflowResumeResponse.d.ts +2 -2
  385. package/dist/openapi/models/WorkflowResumeResponse.js +2 -2
  386. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +2 -2
  387. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +2 -2
  388. package/dist/openapi/models/WorkflowSource.d.ts +7 -4
  389. package/dist/openapi/models/WorkflowSource.js +2 -2
  390. package/dist/openapi/models/WorkflowStatus.d.ts +2 -2
  391. package/dist/openapi/models/WorkflowStatus.js +2 -2
  392. package/dist/openapi/models/WorkflowStatusResponse.d.ts +21 -2
  393. package/dist/openapi/models/WorkflowStatusResponse.js +5 -2
  394. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +2 -2
  395. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
  396. package/dist/openapi/models/WorkflowSummary.d.ts +60 -0
  397. package/dist/openapi/models/WorkflowSummary.js +57 -0
  398. package/dist/openapi/models/WorkflowSummaryJob.d.ts +57 -0
  399. package/dist/openapi/models/WorkflowSummaryJob.js +57 -0
  400. package/dist/openapi/models/WorkflowWarning.d.ts +2 -2
  401. package/dist/openapi/models/WorkflowWarning.js +2 -2
  402. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +2 -2
  403. package/dist/openapi/models/WorkflowWarningSeverity.js +2 -2
  404. package/dist/openapi/models/index.d.ts +31 -1
  405. package/dist/openapi/models/index.js +31 -1
  406. package/dist/openapi/runtime.d.ts +2 -2
  407. package/dist/openapi/runtime.js +2 -2
  408. package/dist/operations/compress.d.ts +0 -9
  409. package/dist/operations/compress.js +0 -6
  410. package/dist/operations/compress.metadata.js +4 -12
  411. package/dist/operations/index.d.ts +3 -0
  412. package/dist/operations/index.js +3 -0
  413. package/dist/operations/merge.d.ts +4 -0
  414. package/dist/operations/merge.metadata.js +12 -0
  415. package/dist/operations/passthrough.metadata.d.ts +2 -0
  416. package/dist/operations/passthrough.metadata.js +6 -0
  417. package/dist/operations/render_variants.d.ts +24 -0
  418. package/dist/operations/render_variants.js +14 -0
  419. package/dist/operations/render_variants.metadata.d.ts +2 -0
  420. package/dist/operations/render_variants.metadata.js +18 -0
  421. package/dist/operations/split.d.ts +8 -1
  422. package/dist/operations/split.js +5 -0
  423. package/dist/operations/split.metadata.js +18 -5
  424. package/openapi/api.yaml +2333 -241
  425. package/operations/schemas/archive.yaml +1 -1
  426. package/operations/schemas/audio_overlay.yaml +29 -13
  427. package/operations/schemas/audio_to_video.yaml +6 -5
  428. package/operations/schemas/audio_watermark.yaml +18 -16
  429. package/operations/schemas/compress.yaml +34 -32
  430. package/operations/schemas/custom_luma.yaml +18 -3
  431. package/operations/schemas/image_watermark.yaml +22 -7
  432. package/operations/schemas/merge.yaml +88 -35
  433. package/operations/schemas/passthrough.yaml +49 -0
  434. package/operations/schemas/render_variants.yaml +117 -0
  435. package/operations/schemas/split.yaml +72 -18
  436. package/operations/schemas/text_watermark.yaml +6 -6
  437. package/operations/schemas/thumbnail.yaml +1 -1
  438. package/operations/schemas/video_text_watermark.yaml +2 -2
  439. package/operations/schemas/video_watermark.yaml +7 -4
  440. package/package.json +3 -1
  441. package/dist/openapi/models/LogoutUser200Response.d.ts +0 -50
  442. package/dist/openapi/models/LogoutUser200Response.js +0 -53
  443. /package/dist/asyncapi/{NotificationsOperationsQueue.js → NotificationsJobsQueue.js} +0 -0
@@ -0,0 +1,49 @@
1
+ schema_version: "1.0.0"
2
+
3
+ operation:
4
+ type: passthrough
5
+ availability: beta
6
+ description: |
7
+ Inert lossless source operation. A single-input source job whose
8
+ SOLE operation is `passthrough` emits its source bytes UNCHANGED —
9
+ no compression, no transformation, no Lambda dispatch. The API
10
+ self-completes the job at workflow-create/publish time: the job's
11
+ terminal output IS the upload's `{bucket, key}` unchanged.
12
+
13
+ **Purpose.** Lets an uploaded file enter a multi-input operation
14
+ (`merge` / `archive` / `image_watermark` / etc.) LOSSLESSLY. Since
15
+ V2 narrows `JobInputV2.source` to exclude upload-direct (`MultiInputSource`
16
+ — job_output / external_import / connection only), an upload that
17
+ must feed a multi-input op enters via a `passthrough` source job
18
+ referenced downstream by `{ type: job_output, from: <id> }`. This
19
+ preserves billing / DAG / lineage that direct upload-in-inputs[]
20
+ would bypass.
21
+
22
+ **Distinct from `operations: []`.** An empty `operations[]` on a
23
+ single-input upload job KEEPS its implicit-compress meaning (see
24
+ `POST /api/workflows` description). `passthrough` is the EXPLICIT
25
+ lossless opt-out chosen via the existing rule "non-empty
26
+ `operations[]` without `compress` = compression opt-out" — it is a
27
+ sole, named operation, not an empty chain.
28
+
29
+ **Never published to SNS.** Because the API self-completes the job
30
+ at publish, `passthrough` is INTENTIONALLY absent from the AsyncAPI
31
+ routing enums (`OperationType`, `OperationRequestAttributes.operation_type`)
32
+ and has no `ops-passthrough` queue. It never appears on the wire as
33
+ a request message.
34
+
35
+ Media-agnostic (no `mime_groups`): it accepts any uploaded MIME and
36
+ copies it verbatim, so there are no per-MIME options or constraints.
37
+ `availability: beta` — the API self-completion path is LIVE (the
38
+ inputs[]-narrowing + passthrough self-complete mechanism is deployed),
39
+ so workflow-create accepts `passthrough` source jobs and MUST NOT
40
+ return `feature_not_available`. Activated per ticket
41
+ [`4som89Uh`](https://trello.com/c/4som89Uh) + ADR-0004 (planned→beta
42
+ flip; self-complete code deployed API-side).
43
+ default: false
44
+ input_model: single
45
+
46
+ # DELIBERATELY absent from the operation chain matrix
47
+ # (docs/matrices/operation-chains.md). passthrough is a sole-op source
48
+ # node, not a chainable transform — with no `mime_groups` it produces
49
+ # zero matrix rows, which is correct: nothing chains onto or after it.
@@ -0,0 +1,117 @@
1
+ schema_version: "2.0.0"
2
+
3
+ operation:
4
+ type: render_variants
5
+ # Generate N resized/re-encoded image variants from ONE decoded source in a
6
+ # single operation (image fan-out). Per spike GA2kiRY8 / epic nksLtV28,
7
+ # ticket w3EwzHYd. Worker = the shared convert image-encode stack + FitMode
8
+ # (lambdas-confirmed reuse: image_convert.rs encode + domain/thumbnailer.rs).
9
+ #
10
+ # availability: planned — the worker (lambdas 08q0ySAc) + its SNS subscription
11
+ # (terraform MNuDYJaY) are downstream of this contract, so the server returns
12
+ # `feature_not_available` (422) until they are live. The planned -> beta flip
13
+ # is a SEPARATE lockstep cut once the worker + wire are up (the two-gate rule;
14
+ # never flip beta ahead of the publisher). Source MIMEs are jpeg/png/webp only
15
+ # — AVIF is encode-only in the worker stack (decode unsupported), so it is a
16
+ # valid `output_format` target but NOT a source input.
17
+ description: "Generate multiple resized / re-encoded image variants from a single source image in one operation (image fan-out)."
18
+ availability: planned
19
+ input_model: single
20
+
21
+ mime_groups:
22
+ image:
23
+ availability: planned
24
+ mimes:
25
+ - image/jpeg
26
+ - image/png
27
+ - image/webp
28
+ options:
29
+ targets:
30
+ type: array
31
+ required: true
32
+ minItems: 1
33
+ maxItems: 20
34
+ # Each target is encoded independently from the single decoded
35
+ # source. Width/height are individually optional at the type level;
36
+ # the cross-field rule (fit crop/scale => BOTH required; fit max =>
37
+ # at least one) is worker-enforced and rejected as `invalid_options`,
38
+ # not expressed structurally here (the option DSL has no per-item
39
+ # conditional-required primitive). Documented in prose below.
40
+ description: |
41
+ One output variant per entry (max 20). Each variant is resized /
42
+ re-encoded independently from the single decoded source; the
43
+ operation succeeds or fails **atomically** — there are no partial
44
+ outputs. Each result output echoes its target's `id` back as
45
+ `target_id` so callers can map outputs to the variants they asked
46
+ for.
47
+
48
+ Dimensions: `fit: max` needs at least one of `width` / `height`
49
+ (aspect preserved, output may be smaller than the box). `fit: crop`
50
+ and `fit: scale` require BOTH `width` and `height` (they produce an
51
+ exact-size output). A target whose dimensions exceed the source is
52
+ rejected (`invalid_options`) unless `allow_upscale: true`.
53
+ items:
54
+ type: object
55
+ required:
56
+ - id
57
+ properties:
58
+ id:
59
+ type: string
60
+ pattern: '^[A-Za-z0-9._-]+$'
61
+ maxLength: 64
62
+ # `id` must be unique within the array — this is the addressing
63
+ # key, so duplicates would map two outputs to one `target_id`.
64
+ # JSON Schema `uniqueItems` only catches wholesale-identical
65
+ # target objects, not same-`id`-different-dims; the worker
66
+ # rejects duplicate ids as `invalid_options` (worker-enforced,
67
+ # like the dimension rules).
68
+ description: |
69
+ Caller-assigned identifier, unique within the array
70
+ (duplicate ids are rejected as `invalid_options`). Echoed
71
+ verbatim as `target_id` on the matching result output — the
72
+ addressing contract.
73
+ width:
74
+ type: integer
75
+ minimum: 1
76
+ maximum: 16384
77
+ description: "Target width in pixels. Required together with height for fit crop/scale; for fit max, at least one of width/height is required."
78
+ height:
79
+ type: integer
80
+ minimum: 1
81
+ maximum: 16384
82
+ description: "Target height in pixels. Required together with width for fit crop/scale; for fit max, at least one of width/height is required."
83
+ fit:
84
+ type: string
85
+ enum:
86
+ - max
87
+ - crop
88
+ - scale
89
+ default: max
90
+ description: |
91
+ Resize mode. max = fit within the box, aspect preserved
92
+ (output may be smaller); needs at least one dimension.
93
+ crop = fill and trim to exact width x height. scale = force
94
+ exact width x height. crop and scale require both dimensions.
95
+ quality:
96
+ type: integer
97
+ minimum: 1
98
+ maximum: 100
99
+ default: 85
100
+ description: "Encode quality (lossy formats only — jpeg / webp / avif). Accepted but ignored for png (lossless)."
101
+ output_format:
102
+ type: string
103
+ enum:
104
+ - jpeg
105
+ - png
106
+ - webp
107
+ - avif
108
+ description: "Output format for this variant. When omitted, the source format is preserved."
109
+ background:
110
+ type: string
111
+ pattern: '^#[0-9A-Fa-f]{6}$'
112
+ default: "#FFFFFF"
113
+ description: "Background colour (hex #RRGGBB), applied only when flattening a transparent source into an opaque format (e.g. a PNG with alpha rendered to JPEG). Ignored otherwise."
114
+ allow_upscale:
115
+ type: boolean
116
+ default: false
117
+ description: "When false (default), a target whose dimensions exceed the source is rejected (`invalid_options`). Set true to permit upscaling. fit max never upscales."
@@ -9,14 +9,19 @@ operation:
9
9
  into N outputs per the per-mime-group catalog. Mirrors the
10
10
  `merge` / `convert` catalog-split-by-mime-group pattern.
11
11
 
12
- **Three modes** (audio + video; the mode discriminator gates which
13
- of the three options applies per the `depends_on` rules in this
12
+ **Three shared modes** (audio + video; the mode discriminator
13
+ gates which option applies per the `depends_on` rules in this
14
14
  schema):
15
15
  - `interval`: split every N numeric-seconds.
16
16
  - `count`: split into N equal-duration pieces (integer 2..=200).
17
17
  - `cut_points`: explicit cut points in numeric-seconds (strictly
18
18
  increasing, no duplicates, each > 0 and < probed duration).
19
19
 
20
+ **Plus an audio-only `silence` mode** (`beta`, gated by the
21
+ `silence_mode_audio` feature): cut at detected silence gaps via
22
+ the worker's ffmpeg `silencedetect` filter. Video stays
23
+ three-mode.
24
+
20
25
  **GIF + PDF use range-based selection** instead of three modes:
21
26
  - GIF (`image_gif`): `frame_range` REQUIRED + `output_format`
22
27
  enum {png,webp,jpg}.
@@ -34,6 +39,8 @@ operation:
34
39
  - `interval`: `ceil(probed_duration / interval) <= 200`
35
40
  - `count`: enforced by the option's `min: 2 max: 200` range
36
41
  - `cut_points`: `cut_points.len() + 1 <= 200`
42
+ - `silence` (audio): resolved segment count (detected gaps + 1)
43
+ `<= 200`; preflight rejects as `invalid_options` (422)
37
44
  - PDF: resolved page count after expansion `<= 200`
38
45
  (cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))
39
46
  - GIF: resolved frame count after expansion `<= 200`
@@ -59,12 +66,15 @@ operation:
59
66
  via `processing_class`). No schema-side discriminator beyond MIME
60
67
  detection + `processing_class`.
61
68
 
62
- `availability: beta` for the `audio` mime_group (worker live on
63
- staging per lambdas #161 — shape-stable + opt-in, MUST NOT 422).
64
- The `image_gif`, `document_pdf`, and `video` mime_groups stay
65
- `availability: planned` until their cross-repo Lambda workers ship
66
- ([`vKI0CFDu`](https://trello.com/c/vKI0CFDu) + lambdas L1); dispatch
67
- returns `feature_not_available` (422) for those groups until then.
69
+ `availability: beta` for the `audio` and `video` mime_groups
70
+ (workers live on staging — shape-stable + opt-in, MUST NOT 422).
71
+ Video activates **short-form only**: `video.processing_class.short_form`
72
+ is `beta`; `long_form` (the `split-video-fargate` worker) stays
73
+ `availability: planned` until that worker ships. The `image_gif` and
74
+ `document_pdf` mime_groups also stay `availability: planned` until their
75
+ cross-repo Lambda workers ship ([`vKI0CFDu`](https://trello.com/c/vKI0CFDu)
76
+ + lambdas L1); dispatch returns `feature_not_available` (422) for the
77
+ still-planned groups/classes until then.
68
78
 
69
79
  Per ADR-0014.
70
80
  default: false
@@ -72,13 +82,14 @@ operation:
72
82
 
73
83
  features:
74
84
  silence_mode_audio:
75
- availability: planned
85
+ availability: beta
76
86
  description: |
77
87
  Silence-detect cut mode for audio (`mode: silence` —
78
- Cinavia/Resemble territory, server-side silence detection).
79
- OUT of V1 (Lambda support not yet shipped); declared as a
80
- future-work feature here so SDK consumers see the gate.
81
- Picked up as a separate post-launch ticket.
88
+ server-side silence detection in the audio split worker).
89
+ `beta`: shape-stable + opt-in. The worker is built; the mode
90
+ ships dark until the API regenerates enum validation to accept
91
+ `mode: silence`. The `silence` enum value carries a matching
92
+ `per_value_availability: beta` on `audio.mode`.
82
93
 
83
94
  mime_groups:
84
95
  # Animated GIF base — parallel mime_group naming follows the
@@ -161,13 +172,17 @@ operation:
161
172
  options:
162
173
  mode:
163
174
  type: enum
164
- values: [interval, count, cut_points]
175
+ values: [interval, count, cut_points, silence]
165
176
  default: interval
177
+ per_value_availability:
178
+ silence: { availability: beta }
166
179
  description: |
167
180
  Split strategy:
168
181
  - `interval`: cut every `interval` seconds.
169
182
  - `count`: cut into `count` equal-duration pieces.
170
183
  - `cut_points`: cut at explicit timestamps.
184
+ - `silence`: cut at detected silence gaps (audio-only,
185
+ `beta` via the `silence_mode_audio` feature gate).
171
186
 
172
187
  interval:
173
188
  type: float
@@ -212,30 +227,69 @@ operation:
212
227
  200-output cap declaratively. Only valid when
213
228
  `mode: cut_points`.
214
229
 
230
+ silence_threshold_db:
231
+ type: float
232
+ max: 0.0
233
+ default: -50.0
234
+ depends_on: { mode: silence }
235
+ # Maps to the worker's silence-detection noise floor.
236
+ description: |
237
+ Noise floor below which audio counts as silence, in dBFS
238
+ (negative; 0.0 = full scale). Strictly negative in
239
+ practice; `max: 0.0` is the declarative ceiling (a 0 dB
240
+ "silence" floor is degenerate, like the strict bounds
241
+ documented in prose for `cut_points`). Only valid when
242
+ `mode: silence`.
243
+
244
+ silence_min_duration:
245
+ type: float
246
+ min: 0.001
247
+ default: 0.75
248
+ depends_on: { mode: silence }
249
+ # Maps to the worker's silence-detection minimum-duration parameter.
250
+ description: |
251
+ Minimum duration of a silence gap, in numeric seconds
252
+ (sub-second allowed), before it is treated as a cut point.
253
+ `min: 0.001` is the strict-positive sub-second idiom
254
+ (cf. `interval`). Only valid when `mode: silence`.
255
+
256
+ silence_handling:
257
+ type: enum
258
+ values: [keep_at_end]
259
+ default: keep_at_end
260
+ depends_on: { mode: silence }
261
+ description: |
262
+ How detected silence is handled at segment boundaries.
263
+ `keep_at_end`: trailing silence stays appended to the
264
+ preceding segment (no separate silence-only outputs).
265
+ Only valid when `mode: silence`.
266
+
215
267
  precision:
216
268
  type: enum
217
269
  values: [fast, exact]
218
270
  default: fast
271
+ # Don't use "keyframe" language here — that's video-only;
272
+ # audio drift is packet-boundary.
219
273
  description: |
220
274
  Cut precision. Under `fast`, audio cuts are
221
275
  packet-boundary approximate (drift bounded by codec
222
276
  packet size — typically <= 23ms for AAC, <= 26ms for
223
277
  MP3). Under `exact`, the Lambda re-encodes to align cuts
224
278
  precisely at the requested timestamps (slower, larger
225
- output, but sample-accurate). Avoid "keyframe" language
226
- — that's video-only; audio drift is packet-boundary.
279
+ output, but sample-accurate).
227
280
 
228
281
  # Video base — same three modes + precision + processing_class.
229
282
  # Long-form routes to `split-video-fargate` (same OperationType,
230
283
  # different worker per `processing_class`).
231
284
  video:
232
- availability: planned
285
+ availability: beta
233
286
  mimes:
234
287
  - video/mp4
235
288
  - video/webm
289
+ - video/quicktime
236
290
  processing_class:
237
291
  short_form:
238
- availability: planned
292
+ availability: beta
239
293
  constraints:
240
294
  max_input_duration: "PT5M"
241
295
  max_input_size_bytes: 524288000
@@ -25,10 +25,10 @@ operation:
25
25
  text:
26
26
  type: string
27
27
  required: true
28
+ # Rendered with the bundled Liberation Sans (SIL OFL); a single
29
+ # text overlay is capped at 4 megapixels before rendering fails.
28
30
  description: |
29
- Watermark text. Must be non-empty. Rendered with bundled
30
- Liberation Sans (SIL OFL). A single text overlay is capped
31
- at 4 megapixels before rendering fails.
31
+ Watermark text. Must be non-empty.
32
32
 
33
33
  font_size:
34
34
  type: float
@@ -59,11 +59,11 @@ operation:
59
59
  min: -360.0
60
60
  max: 360.0
61
61
  default: -45.0
62
+ # Tiled canvas is capped at 25 megapixels pre-rotation with a
63
+ # 5000 px maximum side length.
62
64
  description: |
63
65
  Rotation angle in degrees. Default -45° suits tiled mode
64
- (angled diagonal pattern). Clamped to range. Tiled canvas is
65
- capped at 25 megapixels pre-rotation with 5000 px maximum
66
- side length.
66
+ (angled diagonal pattern). Clamped to range.
67
67
 
68
68
  watermark_mode:
69
69
  type: enum
@@ -45,7 +45,7 @@ operation:
45
45
  mimes:
46
46
  - video/mp4
47
47
  - video/webm
48
- - video/ogg
48
+ - video/quicktime
49
49
  processing_class:
50
50
  # F8 long-form video tier (per ticket I15-CONS). Thumbnail
51
51
  # extracts a single frame, so size/duration caps reflect
@@ -58,9 +58,9 @@ operation:
58
58
  text:
59
59
  type: string
60
60
  required: true
61
+ # Rendered with the bundled Liberation Sans (SIL OFL).
61
62
  description: |
62
- Watermark text. Must be non-empty. Rendered with bundled
63
- Liberation Sans (SIL OFL).
63
+ Watermark text. Must be non-empty.
64
64
 
65
65
  font_size:
66
66
  type: float
@@ -4,12 +4,15 @@ operation:
4
4
  type: video_watermark
5
5
  availability: beta
6
6
  description: |
7
- Apply an image overlay (file or external source) onto a base video
7
+ Apply an image overlay onto a base video
8
8
  asset using FFmpeg's `overlay` filter. Multi-input role-based:
9
9
  exactly one input with `role: base` (the source video) + exactly
10
- one with `role: overlay` (the watermark image). The overlay can be
11
- an upload, an external_import handle, or a vault connection per
12
- `WorkflowSource`.
10
+ one with `role: overlay` (the watermark image). Each input is a
11
+ `MultiInputSource` an external_import handle, a vault connection,
12
+ or an upstream `job_output` (uploads are NOT referenced directly
13
+ inside inputs[]). To use an uploaded base or overlay, feed it through
14
+ a `passthrough` source job and reference it via `{ type: job_output,
15
+ from: <id> }` (per ticket 4som89Uh).
13
16
 
14
17
  **Dedicated operation, not an extension of `image_watermark`.**
15
18
  `image_watermark` is pure-Rust/no-FFmpeg and handles
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giveitsmaller/contracts",
3
- "version": "0.9.0",
3
+ "version": "0.16.0",
4
4
  "description": "Generated contract types for GISL (Give It Smaller)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,6 +35,8 @@
35
35
  "./operations/schemas/custom_luma.yaml": "./operations/schemas/custom_luma.yaml",
36
36
  "./operations/schemas/image_watermark.yaml": "./operations/schemas/image_watermark.yaml",
37
37
  "./operations/schemas/merge.yaml": "./operations/schemas/merge.yaml",
38
+ "./operations/schemas/passthrough.yaml": "./operations/schemas/passthrough.yaml",
39
+ "./operations/schemas/render_variants.yaml": "./operations/schemas/render_variants.yaml",
38
40
  "./operations/schemas/split.yaml": "./operations/schemas/split.yaml",
39
41
  "./operations/schemas/text_watermark.yaml": "./operations/schemas/text_watermark.yaml",
40
42
  "./operations/schemas/thumbnail.yaml": "./operations/schemas/thumbnail.yaml",
@@ -1,50 +0,0 @@
1
- /**
2
- * GISL Compression API
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/Last-Modified 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
- *
5
- * The version of the OpenAPI document: 2.31.0
6
- *
7
- *
8
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
- * https://openapi-generator.tech
10
- * Do not edit the class manually.
11
- */
12
- /**
13
- *
14
- * @export
15
- * @interface LogoutUser200Response
16
- */
17
- export interface LogoutUser200Response {
18
- /**
19
- *
20
- * @type {LogoutUser200ResponseSuccessEnum}
21
- * @memberof LogoutUser200Response
22
- */
23
- success: LogoutUser200ResponseSuccessEnum;
24
- /**
25
- * Empty object on logout success — preserves the
26
- * `{ success: true, data: {...} }` envelope
27
- * invariant from `info.description`. Logout has
28
- * no return payload; the data slot is always
29
- * `{}`.
30
- *
31
- * @type {object}
32
- * @memberof LogoutUser200Response
33
- */
34
- data: object;
35
- }
36
- /**
37
- * @export
38
- */
39
- export declare const LogoutUser200ResponseSuccessEnum: {
40
- readonly true: true;
41
- };
42
- export type LogoutUser200ResponseSuccessEnum = typeof LogoutUser200ResponseSuccessEnum[keyof typeof LogoutUser200ResponseSuccessEnum];
43
- /**
44
- * Check if a given object implements the LogoutUser200Response interface.
45
- */
46
- export declare function instanceOfLogoutUser200Response(value: object): value is LogoutUser200Response;
47
- export declare function LogoutUser200ResponseFromJSON(json: any): LogoutUser200Response;
48
- export declare function LogoutUser200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): LogoutUser200Response;
49
- export declare function LogoutUser200ResponseToJSON(json: any): LogoutUser200Response;
50
- export declare function LogoutUser200ResponseToJSONTyped(value?: LogoutUser200Response | null, ignoreDiscriminator?: boolean): any;
@@ -1,53 +0,0 @@
1
- /* tslint:disable */
2
- /* eslint-disable */
3
- /**
4
- * GISL Compression API
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/Last-Modified 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
- *
7
- * The version of the OpenAPI document: 2.31.0
8
- *
9
- *
10
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
- * https://openapi-generator.tech
12
- * Do not edit the class manually.
13
- */
14
- /**
15
- * @export
16
- */
17
- export const LogoutUser200ResponseSuccessEnum = {
18
- true: true
19
- };
20
- /**
21
- * Check if a given object implements the LogoutUser200Response interface.
22
- */
23
- export function instanceOfLogoutUser200Response(value) {
24
- if (!('success' in value) || value['success'] === undefined)
25
- return false;
26
- if (!('data' in value) || value['data'] === undefined)
27
- return false;
28
- return true;
29
- }
30
- export function LogoutUser200ResponseFromJSON(json) {
31
- return LogoutUser200ResponseFromJSONTyped(json, false);
32
- }
33
- export function LogoutUser200ResponseFromJSONTyped(json, ignoreDiscriminator) {
34
- if (json == null) {
35
- return json;
36
- }
37
- return {
38
- 'success': json['success'],
39
- 'data': json['data'],
40
- };
41
- }
42
- export function LogoutUser200ResponseToJSON(json) {
43
- return LogoutUser200ResponseToJSONTyped(json, false);
44
- }
45
- export function LogoutUser200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
46
- if (value == null) {
47
- return value;
48
- }
49
- return {
50
- 'success': value['success'],
51
- 'data': value['data'],
52
- };
53
- }