@giveitsmaller/contracts 0.57.0 → 0.59.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 (497) hide show
  1. package/accepted-options/accepted-options.json +15 -1
  2. package/accepted-options/image-output-routes.json +1 -1
  3. package/asyncapi/events.yaml +17 -9
  4. package/availability/availability.json +123 -7
  5. package/code-builder/code-builder-metadata.json +128 -8
  6. package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
  7. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  8. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  9. package/dist/openapi/models/AccountLimits.js +1 -1
  10. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  11. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  12. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  13. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  14. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  15. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  16. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  17. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  18. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  19. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  20. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  21. package/dist/openapi/models/AuthErrorType.js +1 -1
  22. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  23. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  24. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  25. package/dist/openapi/models/AvailabilityValue.js +1 -1
  26. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  27. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  28. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  29. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  30. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  31. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  32. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  33. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  34. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  35. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  36. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  37. package/dist/openapi/models/CallbackEventType.js +1 -1
  38. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  39. package/dist/openapi/models/CapabilityCondition.js +1 -1
  40. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  41. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  42. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  43. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  44. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  45. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  46. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  47. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  48. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  49. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  50. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  54. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  55. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  56. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  57. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  58. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  59. package/dist/openapi/models/CapabilityProduces.js +1 -1
  60. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  61. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  62. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  63. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  64. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  65. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  66. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  67. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  68. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  69. package/dist/openapi/models/CodegenSource.js +1 -1
  70. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  71. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  72. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  73. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  74. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  75. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  76. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  77. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  78. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  79. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  80. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  81. package/dist/openapi/models/CompositionPlan.js +1 -1
  82. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  83. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  84. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  85. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  86. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  87. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  88. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  89. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  90. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  91. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  92. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  93. package/dist/openapi/models/ConnectionSource.js +1 -1
  94. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  95. package/dist/openapi/models/ContactRequest.js +1 -1
  96. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  97. package/dist/openapi/models/ContactSubject.js +1 -1
  98. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  99. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  100. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  101. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  102. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  103. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  104. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  105. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  106. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  107. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  108. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  109. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  110. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  111. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  112. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  113. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  114. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  115. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  116. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  117. package/dist/openapi/models/CreditTransaction.js +1 -1
  118. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  119. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  120. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  121. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  122. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  123. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  124. package/dist/openapi/models/CreditsUsageResponse.d.ts +43 -1
  125. package/dist/openapi/models/CreditsUsageResponse.js +5 -1
  126. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  127. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  128. package/dist/openapi/models/Delivery.d.ts +1 -1
  129. package/dist/openapi/models/Delivery.js +1 -1
  130. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  131. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  132. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  133. package/dist/openapi/models/DeliveryPlan.js +1 -1
  134. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  135. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  136. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  137. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  138. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  139. package/dist/openapi/models/DeliverySelection.js +1 -1
  140. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  141. package/dist/openapi/models/DownloadBundle.js +1 -1
  142. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  143. package/dist/openapi/models/EmailNotify.js +1 -1
  144. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  145. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  146. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  147. package/dist/openapi/models/EndpointProjection.js +1 -1
  148. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  149. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  150. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  151. package/dist/openapi/models/EstimateQuality.js +1 -1
  152. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  153. package/dist/openapi/models/EstimateRange.js +1 -1
  154. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  155. package/dist/openapi/models/ExternalDestination.js +1 -1
  156. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  157. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  158. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  159. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  160. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  161. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  162. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  163. package/dist/openapi/models/ExternalImportToken.js +1 -1
  164. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  165. package/dist/openapi/models/ExternalSource.js +1 -1
  166. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  167. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  168. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  169. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  170. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  171. package/dist/openapi/models/FeatureViolation.js +1 -1
  172. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  173. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  174. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  175. package/dist/openapi/models/JobDefinition.js +1 -1
  176. package/dist/openapi/models/JobDownload.d.ts +1 -1
  177. package/dist/openapi/models/JobDownload.js +1 -1
  178. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  179. package/dist/openapi/models/JobInputV2.js +1 -1
  180. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  181. package/dist/openapi/models/JobMediaClass.js +1 -1
  182. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  183. package/dist/openapi/models/JobOutputSource.js +1 -1
  184. package/dist/openapi/models/JobResponse.d.ts +31 -7
  185. package/dist/openapi/models/JobResponse.js +3 -1
  186. package/dist/openapi/models/JobStatus.d.ts +1 -1
  187. package/dist/openapi/models/JobStatus.js +1 -1
  188. package/dist/openapi/models/JobType.d.ts +1 -1
  189. package/dist/openapi/models/JobType.js +1 -1
  190. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  191. package/dist/openapi/models/LivenessResponse.js +1 -1
  192. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  193. package/dist/openapi/models/LoginUser200Response.js +1 -1
  194. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  195. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  196. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  197. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  198. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  199. package/dist/openapi/models/LoginUser401Response.js +1 -1
  200. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  201. package/dist/openapi/models/LoginUserRequest.js +1 -1
  202. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  203. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  204. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  205. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  206. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  207. package/dist/openapi/models/MetadataResponse.js +1 -1
  208. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  209. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  210. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  211. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  212. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  213. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  214. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  215. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  216. package/dist/openapi/models/MimeGroupSchema.d.ts +38 -1
  217. package/dist/openapi/models/MimeGroupSchema.js +5 -1
  218. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  219. package/dist/openapi/models/MultiInputSource.js +1 -1
  220. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  221. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  222. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  223. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  224. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  225. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  226. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  227. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  228. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  229. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  230. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  231. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  232. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  233. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  234. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  235. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  236. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  237. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  238. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  239. package/dist/openapi/models/MultipartPartListing.js +1 -1
  240. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  241. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  242. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  243. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  244. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  245. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  246. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  247. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  248. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  249. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  250. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  251. package/dist/openapi/models/NotifyConfig.js +1 -1
  252. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  253. package/dist/openapi/models/OperationCapability.js +1 -1
  254. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  255. package/dist/openapi/models/OperationDefinition.js +1 -1
  256. package/dist/openapi/models/OperationDownload.d.ts +103 -5
  257. package/dist/openapi/models/OperationDownload.js +1 -1
  258. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  259. package/dist/openapi/models/OperationInputModel.js +1 -1
  260. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  261. package/dist/openapi/models/OperationResponse.js +1 -1
  262. package/dist/openapi/models/OperationResult.d.ts +1 -1
  263. package/dist/openapi/models/OperationResult.js +1 -1
  264. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  265. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  266. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  267. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  268. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  269. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  270. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  271. package/dist/openapi/models/OperationStatus.js +1 -1
  272. package/dist/openapi/models/OperationType.d.ts +1 -1
  273. package/dist/openapi/models/OperationType.js +1 -1
  274. package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
  275. package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
  276. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +10 -1
  277. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +4 -1
  278. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  279. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  280. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  281. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  282. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  283. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  284. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +33 -0
  285. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +42 -0
  286. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  287. package/dist/openapi/models/OptionSchema.js +1 -1
  288. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  289. package/dist/openapi/models/OutputProperties.js +1 -1
  290. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  291. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  292. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  293. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  294. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  295. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  296. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  297. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  298. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  299. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  300. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  301. package/dist/openapi/models/ProcessingClass.js +1 -1
  302. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  303. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  304. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  305. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  306. package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
  307. package/dist/openapi/models/ProcessingClassEntry.js +1 -1
  308. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  309. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  310. package/dist/openapi/models/ProcessingClassHint.d.ts +23 -6
  311. package/dist/openapi/models/ProcessingClassHint.js +23 -6
  312. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  313. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  314. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  315. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  316. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  317. package/dist/openapi/models/ProcessingPlan.js +1 -1
  318. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  319. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  320. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  321. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  322. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  323. package/dist/openapi/models/ReadinessResponse.js +1 -1
  324. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  325. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  326. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  327. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  328. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  329. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  330. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  331. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  332. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  333. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  334. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  335. package/dist/openapi/models/RetryResponse.js +1 -1
  336. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  337. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  338. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  339. package/dist/openapi/models/SseCompletionBase.js +1 -1
  340. package/dist/openapi/models/SseEventType.d.ts +1 -1
  341. package/dist/openapi/models/SseEventType.js +1 -1
  342. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  343. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  344. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  345. package/dist/openapi/models/SseJobFailedData.js +1 -1
  346. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  347. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  348. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  349. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  350. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  351. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  352. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +9 -4
  353. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  354. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  355. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  356. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  357. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  358. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  359. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  360. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  361. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  362. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  363. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  364. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  365. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  366. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  367. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  368. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  369. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  370. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  371. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  372. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  373. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  374. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  375. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  376. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  377. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  378. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  379. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  380. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  381. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  382. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  383. package/dist/openapi/models/UploadFile403Response.js +1 -1
  384. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  385. package/dist/openapi/models/UploadFile422Response.js +1 -1
  386. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  387. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  388. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  389. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  390. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  391. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  392. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  393. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  394. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  395. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  396. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  397. package/dist/openapi/models/UploadResponse.js +1 -1
  398. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  399. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  400. package/dist/openapi/models/UploadSource.d.ts +1 -19
  401. package/dist/openapi/models/UploadSource.js +1 -3
  402. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  403. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  404. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  405. package/dist/openapi/models/UploadThresholds.js +1 -1
  406. package/dist/openapi/models/UserTier.d.ts +1 -1
  407. package/dist/openapi/models/UserTier.js +1 -1
  408. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  409. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  410. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  411. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  412. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  413. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  414. package/dist/openapi/models/WarningType.d.ts +1 -1
  415. package/dist/openapi/models/WarningType.js +1 -1
  416. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  417. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  418. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  419. package/dist/openapi/models/WebhookPayload.js +1 -1
  420. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +81 -0
  421. package/dist/openapi/models/WorkflowArchiveResponse.js +71 -0
  422. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +46 -0
  423. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +54 -0
  424. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  425. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  426. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  427. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  428. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  429. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  430. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  431. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  432. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  433. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  434. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  435. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  436. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  437. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  438. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  439. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  440. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  441. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  442. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  443. package/dist/openapi/models/WorkflowEdge.js +1 -1
  444. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  445. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  446. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  447. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  448. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  449. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  450. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  451. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  452. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  453. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  454. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  455. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  456. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  457. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  458. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +60 -0
  459. package/dist/openapi/models/WorkflowRestoreResponse.js +58 -0
  460. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +46 -0
  461. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +54 -0
  462. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  463. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  464. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  465. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  466. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  467. package/dist/openapi/models/WorkflowSource.js +1 -1
  468. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  469. package/dist/openapi/models/WorkflowStatus.js +1 -1
  470. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  471. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  472. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  473. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  474. package/dist/openapi/models/WorkflowSummary.d.ts +24 -1
  475. package/dist/openapi/models/WorkflowSummary.js +5 -1
  476. package/dist/openapi/models/WorkflowSummaryJob.d.ts +18 -9
  477. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  478. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  479. package/dist/openapi/models/WorkflowWarning.js +1 -1
  480. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  481. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  482. package/dist/openapi/models/index.d.ts +5 -0
  483. package/dist/openapi/models/index.js +5 -0
  484. package/dist/openapi/runtime.d.ts +1 -1
  485. package/dist/openapi/runtime.js +1 -1
  486. package/dist/operations/compress.metadata.js +3 -0
  487. package/dist/operations/thumbnail.d.ts +23 -0
  488. package/dist/operations/thumbnail.js +17 -0
  489. package/dist/operations/thumbnail.metadata.js +29 -0
  490. package/openapi/api.yaml +608 -54
  491. package/operation-capabilities/operation-capabilities.json +1 -1
  492. package/operations/schemas/audio_to_video.yaml +1 -0
  493. package/operations/schemas/compress.yaml +52 -2
  494. package/operations/schemas/convert.yaml +6 -1
  495. package/operations/schemas/split.yaml +13 -3
  496. package/operations/schemas/thumbnail.yaml +143 -2
  497. package/package.json +1 -1
@@ -732,5 +732,5 @@
732
732
  "isAnimated": "maybe"
733
733
  }
734
734
  },
735
- "schema_version": "2.170.0"
735
+ "schema_version": "2.180.0"
736
736
  }
@@ -64,6 +64,7 @@ operation:
64
64
  - audio/opus
65
65
  - audio/mp4
66
66
  - audio/x-m4a
67
+ max_input_duration: "PT2H" # 2h input ceiling (KzrquIX7; mirrors worker MAX_AUDIO_DURATION_SECS 7200, strict >)
67
68
  options:
68
69
  output_resolution:
69
70
  type: enum
@@ -90,6 +90,7 @@ operation:
90
90
  # Resize-inside-Output shares the convert resize engine's 16MP output-area
91
91
  # wall — the per-axis 16384 cap can't express it (FORMAT.md §max_output_pixels).
92
92
  max_output_pixels: 16000000
93
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
93
94
  options:
94
95
  quality:
95
96
  type: integer
@@ -261,6 +262,7 @@ operation:
261
262
  mimes:
262
263
  - image/png
263
264
  max_output_pixels: 16000000
265
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
264
266
  options:
265
267
  quality:
266
268
  type: integer
@@ -385,6 +387,7 @@ operation:
385
387
  mimes:
386
388
  - image/avif
387
389
  max_output_pixels: 16000000
390
+ max_input_size_bytes: 20971520 # 20 MiB compress input ceiling (uKsFzORi; AVIF decode OOM guard, worker AVIF_MAX_MB)
388
391
  options:
389
392
  quality:
390
393
  type: integer
@@ -544,6 +547,7 @@ operation:
544
547
  mimes:
545
548
  - image/webp
546
549
  max_output_pixels: 16000000
550
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
547
551
  options:
548
552
  quality:
549
553
  type: integer
@@ -701,8 +705,32 @@ operation:
701
705
  # optimiser `lossless` knob does not apply. SVG compression is SVGO; only
702
706
  # quality/metadata/output_format carry. NO Resize / lossless / area cap here.
703
707
  image_svg:
708
+ # G9O6yrQD (2026-07-17): the SAME-FORMAT route only (`output_format: original`,
709
+ # SVG -> SVG via SVGO) is downgraded stable -> planned — see the
710
+ # `output_format.per_value_availability` below. The worker does not implement
711
+ # it: `compression_lambdas/manifests/compression-image.yaml:17` verbatim,
712
+ # "SVG is a follow-up." An unimplemented route advertised `stable` violates
713
+ # "stable MUST NOT 422" (ADR-0001) — the defect fixed for `class_hint` in
714
+ # v2.172.0.
715
+ #
716
+ # THE GROUP STAYS STABLE ON PURPOSE. A group-level `planned` here would ALSO
717
+ # gate off `output_format: webp`, which WORKS TODAY: the webp facade route
718
+ # canonicalizes to `convert` (see the output_format description below), and
719
+ # `convert.image_svg` is stable. Gating the group would advertise LESS than we
720
+ # actually built — the exact over-narrow the user's standing rule forbids
721
+ # ("exclude only on EVIDENCE OF BREAKAGE", 2026-07-07). Caught by codex on #322.
722
+ #
723
+ # `output_format`-VALUE granularity is the right axis AND is enforced: per
724
+ # FORMAT.md the API create-gate enforces planned -> feature_not_available (422)
725
+ # at group / operation / output_format-VALUE granularity. (Contrast a planned
726
+ # INPUT MIME, which needs a parallel group because per_mime_availability is
727
+ # advisory-only. The input here is fine; only one output route is unbuilt.)
728
+ #
729
+ # Flip `original` back to stable when lambdas lands SVGO + a Form-A manifest
730
+ # entry (ADR-0006). `convert.image_svg` (SVG -> raster) is UNAFFECTED.
704
731
  mimes:
705
732
  - image/svg+xml
733
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi; image/* default)
706
734
  options:
707
735
  # No `quality`: compress SVG is SVG->SVG via SVGO (lossless vector optimise);
708
736
  # `quality` is never passed to the worker, so a quality slider here is a no-op
@@ -726,11 +754,29 @@ operation:
726
754
  values: [original, webp, auto, smallest]
727
755
  default: original
728
756
  per_value_availability:
757
+ original: { availability: planned }
729
758
  auto: { availability: planned }
730
759
  smallest: { availability: planned }
731
760
  description: >-
732
- Output format. original = keep input format (default); webp = recompress to
733
- WebP. Concrete format changes are handled by the convert operation. `auto` /
761
+ Output format. `original` = keep input format — SVG -> SVG optimisation via
762
+ SVGO. **`original` is PLANNED** (G9O6yrQD): the worker does not implement
763
+ SVG->SVG optimisation yet ("SVG is a follow-up"), so it returns
764
+ `feature_not_available` (422) rather than 422ing under a `stable` claim.
765
+ It is also the schema `default`. **KNOWN ENFORCEMENT GAP (api co-land
766
+ owed):** the API's per-value gate only inspects an EXPLICITLY submitted
767
+ `output_format` (`CreateWorkflowCommandHandler`: `$requestedFormat =
768
+ $opDef->options['output_format'] ?? null; if (is_scalar(...))`), so an
769
+ OMITTED value is not materialized to its default before the check and
770
+ bypasses this tag — a bare `compress` on an SVG still dispatches and
771
+ fails at the worker instead of returning a clean 422. `original` is the
772
+ first PLANNED DEFAULT in the contract, so nothing exercised that path
773
+ before. The tag is correct and truthful regardless; closing the gap is
774
+ api's (gate against the effective default). Ask for `webp` meanwhile —
775
+ that route works.
776
+ `webp` = recompress to WebP: **STABLE and working today** — this facade
777
+ route canonicalizes to the `convert` operation (`convert.image_svg` carries
778
+ its own quality), which is why this group is NOT gated at group level.
779
+ Concrete format changes are handled by the convert operation. `auto` /
734
780
  `smallest` are PLANNED auto-format directives (the server picks the
735
781
  best/smallest candidate format, reported via the result `mime_type`) —
736
782
  selection strategies, not concrete targets, planned until supported. See
@@ -743,6 +789,7 @@ operation:
743
789
  - image/gif
744
790
  - image/tiff
745
791
  max_output_pixels: 16000000
792
+ max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
746
793
  options:
747
794
  quality:
748
795
  type: integer
@@ -1173,6 +1220,7 @@ operation:
1173
1220
  - application/vnd.openxmlformats-officedocument.wordprocessingml.document
1174
1221
  - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
1175
1222
  - application/vnd.openxmlformats-officedocument.presentationml.presentation
1223
+ max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
1176
1224
  # See the document_pdf honesty note: the worker reads ONLY `quality` today;
1177
1225
  # the per-format options are `planned` (advertised-ahead, FE-hidden).
1178
1226
  options:
@@ -1208,6 +1256,7 @@ operation:
1208
1256
  - application/vnd.oasis.opendocument.text
1209
1257
  - application/vnd.oasis.opendocument.spreadsheet
1210
1258
  - application/vnd.oasis.opendocument.presentation
1259
+ max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
1211
1260
  # See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
1212
1261
  options:
1213
1262
  quality:
@@ -1235,6 +1284,7 @@ operation:
1235
1284
  document_epub:
1236
1285
  mimes:
1237
1286
  - application/epub+zip
1287
+ max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
1238
1288
  # See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
1239
1289
  options:
1240
1290
  quality:
@@ -463,7 +463,12 @@ operation:
463
463
  default: "1"
464
464
  description: |
465
465
  Page selection (e.g. '1-5,8'). Each resolved page produces a
466
- separate output file. **Maximum 200 resolved entries per
466
+ separate output file whose `page_index` is the **literal source
467
+ page number** — a sparse selection stays sparse: `pages: '1-5,8'`
468
+ yields outputs with `page_index` `1,2,3,4,5,8` (NOT renumbered
469
+ `1..6`), and `pages: '5-7'` yields `5,6,7`. The download `filename`
470
+ suffix is a separate 0-based array position and does NOT track the
471
+ page number. **Maximum 200 resolved entries per
467
472
  request** — aligns with the `OperationResult.outputs[]`
468
473
  `maxItems: 200` cap. Expressions resolving to more than 200
469
474
  entries (e.g. `'1-201'`, `'1-100,102-205'`) are out of
@@ -44,13 +44,23 @@ operation:
44
44
  (cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))
45
45
  - GIF: resolved frame count after expansion `<= 200`
46
46
 
47
- **Output naming**: 3-digit zero-padded — `output-001` ..
48
- `output-200`. Matches the convert PDF→N precedent.
47
+ **Output naming (S3 object key)**: the object-key leaf is 3-digit
48
+ zero-padded — `output-001` .. `output-200` (ADR-0014 §D9). This binds the
49
+ **S3 object key**, NOT the user-facing download filename — the API
50
+ synthesises that separately (see `OperationDownload.filename` in
51
+ `openapi/api.yaml`). Only the **3-digit zero-padding** follows the convert
52
+ PDF→N precedent — convert keys are `page-NNN.ext`, split keys are
53
+ `output-NNN.ext`.
49
54
 
50
55
  **Output envelope binding**:
51
56
  - `image_gif`: `PositionIndexed` (frame stream-position 0-based
52
57
  ordinal)
53
- - `document_pdf`: `PageIndexed` (1-based gapless page index)
58
+ - `document_pdf`: `PageIndexed` (1-based literal source page number).
59
+ **`mode: page_range` only** — each output is one page, so `page_index` is
60
+ that page. For **`mode: page_groups`** an output spans multiple source
61
+ pages, so a single `page_index` cannot name them all; that grouped-output
62
+ semantics is NOT specified by this correction and is deferred (do not
63
+ assume it is the group's first page — that is unverified).
54
64
  - `audio`: `PositionIndexed` (cut stream-position ordinal)
55
65
  - `video`: `PositionIndexed` (cut stream-position ordinal)
56
66
 
@@ -163,7 +163,6 @@ operation:
163
163
  document:
164
164
  mimes:
165
165
  - application/pdf
166
- - application/epub+zip
167
166
  - application/vnd.openxmlformats-officedocument.wordprocessingml.document
168
167
  - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
169
168
  - application/vnd.openxmlformats-officedocument.presentationml.presentation
@@ -179,7 +178,22 @@ operation:
179
178
  type: enum
180
179
  values: [page, cover]
181
180
  default: page
182
- description: "page = render a specific page/slide, cover = extract cover image (EPUB only, ignored for other formats)"
181
+ # `cover` is RETAINED here deliberately (G9O6yrQD / codex #322). EPUB — the
182
+ # only input it ever meant anything for — moved to the `document_epub`
183
+ # group, so `cover` is now inert for every mime in THIS group. Removing it
184
+ # looked like tidying a phantom, but it is a REQUEST-ENUM NARROWING: a
185
+ # caller sending `source: cover` with a PDF succeeds today (the worker
186
+ # ignores it) and would start getting a 422 invalid_options. That is a
187
+ # caller-visible break for zero benefit, and "nobody sends it" is not a
188
+ # reason (the same reasoning was wrong for declared_duration_seconds, which
189
+ # turned out settable on npm-latest). Retiring it properly = tag it
190
+ # `deprecated` -> migrate -> remove, which is its own cut, not a drive-by
191
+ # in a defect fix.
192
+ description: >-
193
+ `page` = render a specific page/slide. `cover` = extract a cover image —
194
+ only meaningful for EPUB inputs, which are served by the `document_epub`
195
+ group; on PDF/office/ODF it is accepted and IGNORED (retained for
196
+ backward compatibility).
183
197
  page:
184
198
  type: integer
185
199
  min: 1
@@ -225,3 +239,130 @@ operation:
225
239
  default: 85
226
240
  depends_on: { format: [jpg, webp] }
227
241
  description: "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless)."
242
+
243
+ document_epub:
244
+ availability: planned
245
+ # G9O6yrQD (2026-07-17): split out of `document` and downgraded stable ->
246
+ # planned. EPUB thumbnails are NOT implemented and 422 today:
247
+ # `compression_lambdas/crates/thumbnail-documents/src/document_thumbnailer.rs:229`
248
+ # calls `pdftocairo` with the input format literally "pdf" and the crate has NO
249
+ # non-PDF path — an EPUB is a ZIP of XHTML, which pdftocairo cannot open. A
250
+ # stable claim that 422s violates "stable MUST NOT 422" (ADR-0001) — the same
251
+ # defect fixed for `class_hint` in v2.172.0. Likely provenance: the mime leaked
252
+ # from `compress.document_epub` (which genuinely DOES handle EPUB via zip
253
+ # re-pack) into `thumbnail.document`. Swept the siblings — this was the ONLY
254
+ # leak; the office/ODF mimes shared with compress are legitimately served by
255
+ # the `operation-thumbnail-office` (LibreOffice) Lambda.
256
+ #
257
+ # `planned`, NOT dropped — the USER wants EPUB thumbnails BUILT (2026-07-17):
258
+ # "we advertise EPUB thumbnails <-- ... we should be able to open them no??".
259
+ # `planned` = spec defined, backend returns feature_not_available (422) until it
260
+ # ships. lambdas is costing the build.
261
+ #
262
+ # A PARALLEL GROUP is REQUIRED — NOT `per_mime_availability: planned` on the
263
+ # `document` group. Per FORMAT.md, per-MIME `planned` is advisory and NOT
264
+ # enforced: it would leave the API accepting the job and dispatching it to a
265
+ # worker that cannot handle it (a silent accept-then-fail — worse than not
266
+ # advertising). Group-level `availability` is what the API create-gate enforces.
267
+ # Same pattern as the image_watermark `image_tiff`/`image_bmp` groups while
268
+ # planned (UANjD38A), which flipped stable together once the encoders shipped.
269
+ #
270
+ # `source: cover` is only MEANINGFUL here — it was always EPUB-only ("ignored
271
+ # for other formats"). It is deliberately RETAINED in the `document` group too,
272
+ # accepted-and-ignored for backward compatibility: removing it there would be a
273
+ # request-enum narrowing that 422s callers who send `cover` with a PDF today
274
+ # (codex, #322). Inert-but-accepted there; load-bearing here. It is also the
275
+ # design of record for
276
+ # how this ships: extract the OPF-declared cover from the zip and resize (no
277
+ # renderer, no new heavy dep — reuses the zip path compress.document_epub
278
+ # already has). `source: page` on an EPUB is the separate, expensive half
279
+ # (paginate + render XHTML). Both advertised planned; they may graduate
280
+ # independently.
281
+ mimes:
282
+ - application/epub+zip
283
+ max_output_pixels: 16000000
284
+ options:
285
+ source:
286
+ type: enum
287
+ values: [page, cover]
288
+ default: cover
289
+ # Group-scoped default: `cover`, NOT the `document` group's `page`.
290
+ # `cover` is the half being built; `page` (paginate + render XHTML) is out
291
+ # of reach — LibreOffice's EPUB filter is EXPORT-ONLY (it writes EPUB,
292
+ # cannot open one), leaving a headless browser (Lambda-hostile) or a
293
+ # pure-Rust renderer that doesn't exist at thumbnail quality. Defaulting
294
+ # to `page` would route every bare EPUB request into the unbuilt half.
295
+ #
296
+ # 2026-07-17: FOUR COST CLAIMS STRUCK from this comment — every one was
297
+ # false, and they were stamped "lambdas-confirmed", so a reader got them
298
+ # back from the CONTRACT as settled fact. Struck rather than corrected:
299
+ # a cost estimate does not belong in a contract at all. It cannot be
300
+ # tested, it rots silently, and this file is the press that made it
301
+ # quotable — lambdas' own guess reached them back through here as
302
+ # corroboration, which is how it survived three re-quotes.
303
+ # "~200-250 lines" -> measured ~1,150-1,200. Grew 5x, and never
304
+ # once downward: every rise came from someone
305
+ # opening the code instead of quoting the file.
306
+ # "`infer` already detects EPUB" -> `infer` is a dep of `shared` only
307
+ # and is NEVER called on the thumbnail path.
308
+ # (It was read from a code COMMENT, not a call.)
309
+ # "`zip` already does the re-pack" -> true of a DIFFERENT crate.
310
+ # "quick-xml/roxmltree the ONLY new dep" -> 5-6 deps. And they are not
311
+ # interchangeable: `roxmltree` is already in
312
+ # Cargo.lock via usvg; `quick-xml` is absent.
313
+ # The build's real shape lives in the ticket and in lambdas' crate. This
314
+ # file states the CONTRACT: what is advertised, and what the API gates.
315
+ description: >-
316
+ `cover` (default) = extract the EPUB's declared cover image — the cheap
317
+ path, no rendering. `page` = render a paginated page of the book's XHTML.
318
+ Cover lookup MUST support both mechanisms: the EPUB 3 `cover-image`
319
+ property on an OPF manifest item, AND the legacy EPUB 2
320
+ `<meta name="cover" content="..."/>` pointing at a manifest item —
321
+ supporting only the former misses a large slice of real-world files.
322
+ A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a
323
+ real case. The reject shape for it is NOT yet decided and is deliberately
324
+ unpromised here: `ErrorCode` (asyncapi) is a CLOSED enum with no
325
+ "no cover" member, so a distinct code is a real cross-repo co-land
326
+ (enum edit -> SDK regen -> lockstep), not a free string. It is settled
327
+ when this group graduates — do not infer one from this description.
328
+ page:
329
+ type: integer
330
+ min: 1
331
+ default: 1
332
+ depends_on: { source: page }
333
+ description: >-
334
+ 1-based index of the printed page to render, after the book's
335
+ print-layout pagination is applied.
336
+ width:
337
+ type: integer
338
+ min: 1
339
+ max: 16384
340
+ description: >-
341
+ Target width in pixels (1-16384; width*height <= 16MP). Optional — when
342
+ omitted the server applies an aspect-preserving default (both omitted →
343
+ longest edge 320px; only one of width/height provided → the other is
344
+ derived from the source aspect ratio).
345
+ height:
346
+ type: integer
347
+ min: 1
348
+ max: 16384
349
+ description: >-
350
+ Target height in pixels (1-16384; width*height <= 16MP). Optional — see
351
+ `width` for the omitted-default behaviour.
352
+ fit:
353
+ type: enum
354
+ values: [max, crop, scale]
355
+ default: crop
356
+ description: "Resize mode"
357
+ format:
358
+ type: enum
359
+ values: [jpg, png, webp]
360
+ default: jpg
361
+ description: "Output format for the thumbnail"
362
+ quality:
363
+ type: integer
364
+ min: 1
365
+ max: 100
366
+ default: 85
367
+ depends_on: { format: [jpg, webp] }
368
+ description: "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless)."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@giveitsmaller/contracts",
3
- "version": "0.57.0",
3
+ "version": "0.59.0",
4
4
  "description": "Generated contract types for GISL (Give It Smaller)",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",