@giveitsmaller/contracts 0.67.0 → 0.69.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 (521) hide show
  1. package/README.md +2 -2
  2. package/accepted-options/accepted-options.json +17 -3
  3. package/accepted-options/image-output-routes.json +1 -1
  4. package/asyncapi/events.yaml +32 -1
  5. package/availability/availability.json +91 -10
  6. package/code-builder/code-builder-metadata.json +120 -11
  7. package/dist/openapi/models/AccountLimitEntry.d.ts +18 -3
  8. package/dist/openapi/models/AccountLimitEntry.js +1 -1
  9. package/dist/openapi/models/AccountLimits.d.ts +1 -1
  10. package/dist/openapi/models/AccountLimits.js +1 -1
  11. package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
  12. package/dist/openapi/models/AccountLimitsLimits.js +1 -1
  13. package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
  14. package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
  15. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  16. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  17. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  18. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  19. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  20. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  21. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  22. package/dist/openapi/models/AuthErrorType.js +1 -1
  23. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
  24. package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
  25. package/dist/openapi/models/AuthenticatedIdentity.d.ts +89 -0
  26. package/dist/openapi/models/AuthenticatedIdentity.js +66 -0
  27. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  28. package/dist/openapi/models/AvailabilityValue.js +1 -1
  29. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  30. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  31. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  32. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  33. package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
  34. package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
  35. package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
  36. package/dist/openapi/models/BillingCheckoutSession.js +1 -1
  37. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
  38. package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
  39. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  40. package/dist/openapi/models/CallbackEventType.js +1 -1
  41. package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
  42. package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
  43. package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
  44. package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
  45. package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
  46. package/dist/openapi/models/CapabilityCondition.js +1 -1
  47. package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
  48. package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
  49. package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
  50. package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
  51. package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
  52. package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
  53. package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
  54. package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
  55. package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
  56. package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
  57. package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
  58. package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
  59. package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
  60. package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
  61. package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
  62. package/dist/openapi/models/CapabilityConstraint.js +1 -1
  63. package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
  64. package/dist/openapi/models/CapabilityInputSpec.js +1 -1
  65. package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
  66. package/dist/openapi/models/CapabilityProduces.js +1 -1
  67. package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
  68. package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
  69. package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
  70. package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
  71. package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
  72. package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
  73. package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
  74. package/dist/openapi/models/ChangePasswordRequest.js +1 -1
  75. package/dist/openapi/models/CodegenSource.d.ts +1 -1
  76. package/dist/openapi/models/CodegenSource.js +1 -1
  77. package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
  78. package/dist/openapi/models/CodegenSourceInput.js +1 -1
  79. package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
  80. package/dist/openapi/models/CodegenSourceJob.js +1 -1
  81. package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
  82. package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
  83. package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
  84. package/dist/openapi/models/CodegenSourceOperation.js +1 -1
  85. package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
  86. package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
  87. package/dist/openapi/models/CompositionPlan.d.ts +1 -1
  88. package/dist/openapi/models/CompositionPlan.js +1 -1
  89. package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
  90. package/dist/openapi/models/CompositionPlanJob.js +1 -1
  91. package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
  92. package/dist/openapi/models/CompositionPlanOperation.js +1 -1
  93. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
  94. package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
  95. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
  96. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
  97. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
  98. package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
  99. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  100. package/dist/openapi/models/ConnectionSource.js +1 -1
  101. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  102. package/dist/openapi/models/ContactRequest.js +1 -1
  103. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  104. package/dist/openapi/models/ContactSubject.js +1 -1
  105. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  106. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  107. package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
  108. package/dist/openapi/models/CreateApiKey201Response.js +1 -1
  109. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
  110. package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
  111. package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
  112. package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
  113. package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
  114. package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
  115. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  116. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  117. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  118. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  119. package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
  120. package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
  121. package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
  122. package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
  123. package/dist/openapi/models/CreditTransaction.d.ts +26 -5
  124. package/dist/openapi/models/CreditTransaction.js +1 -1
  125. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  126. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  127. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  128. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  129. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  130. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  131. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  132. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  133. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  134. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  135. package/dist/openapi/models/Delivery.d.ts +1 -1
  136. package/dist/openapi/models/Delivery.js +1 -1
  137. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  138. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  139. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  140. package/dist/openapi/models/DeliveryPlan.js +1 -1
  141. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  142. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  143. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  144. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  145. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  146. package/dist/openapi/models/DeliverySelection.js +1 -1
  147. package/dist/openapi/models/DownloadBundle.d.ts +1 -1
  148. package/dist/openapi/models/DownloadBundle.js +1 -1
  149. package/dist/openapi/models/DroppedOption.d.ts +1 -1
  150. package/dist/openapi/models/DroppedOption.js +1 -1
  151. package/dist/openapi/models/EmailNotify.d.ts +1 -1
  152. package/dist/openapi/models/EmailNotify.js +1 -1
  153. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
  154. package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
  155. package/dist/openapi/models/EndpointProjection.d.ts +1 -1
  156. package/dist/openapi/models/EndpointProjection.js +1 -1
  157. package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
  158. package/dist/openapi/models/EndpointProjectionServersInner.js +1 -1
  159. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  160. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  161. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  162. package/dist/openapi/models/EstimateQuality.js +1 -1
  163. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  164. package/dist/openapi/models/EstimateRange.js +1 -1
  165. package/dist/openapi/models/ExportAccountData200Response.d.ts +1 -1
  166. package/dist/openapi/models/ExportAccountData200Response.js +1 -1
  167. package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +1 -1
  168. package/dist/openapi/models/ExportAccountData200ResponseData.js +1 -1
  169. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  170. package/dist/openapi/models/ExternalDestination.js +1 -1
  171. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  172. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  173. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  174. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  175. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  176. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  177. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  178. package/dist/openapi/models/ExternalImportToken.js +1 -1
  179. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  180. package/dist/openapi/models/ExternalSource.js +1 -1
  181. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  182. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  183. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  184. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  185. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  186. package/dist/openapi/models/FeatureViolation.js +1 -1
  187. package/dist/openapi/models/GetProfile200Response.d.ts +46 -0
  188. package/dist/openapi/models/GetProfile200Response.js +54 -0
  189. package/dist/openapi/models/GetProfile200ResponseData.d.ts +33 -0
  190. package/dist/openapi/models/GetProfile200ResponseData.js +44 -0
  191. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
  192. package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
  193. package/dist/openapi/models/JobDefinition.d.ts +1 -1
  194. package/dist/openapi/models/JobDefinition.js +1 -1
  195. package/dist/openapi/models/JobDownload.d.ts +1 -1
  196. package/dist/openapi/models/JobDownload.js +1 -1
  197. package/dist/openapi/models/JobInputV2.d.ts +1 -1
  198. package/dist/openapi/models/JobInputV2.js +1 -1
  199. package/dist/openapi/models/JobMediaClass.d.ts +1 -1
  200. package/dist/openapi/models/JobMediaClass.js +1 -1
  201. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  202. package/dist/openapi/models/JobOutputSource.js +1 -1
  203. package/dist/openapi/models/JobResponse.d.ts +1 -1
  204. package/dist/openapi/models/JobResponse.js +1 -1
  205. package/dist/openapi/models/JobStatus.d.ts +1 -1
  206. package/dist/openapi/models/JobStatus.js +1 -1
  207. package/dist/openapi/models/JobType.d.ts +1 -1
  208. package/dist/openapi/models/JobType.js +1 -1
  209. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  210. package/dist/openapi/models/LivenessResponse.js +1 -1
  211. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  212. package/dist/openapi/models/LoginUser200Response.js +1 -1
  213. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  214. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  215. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  216. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  217. package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
  218. package/dist/openapi/models/LoginUser401Response.js +1 -1
  219. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  220. package/dist/openapi/models/LoginUserRequest.js +1 -1
  221. package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
  222. package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
  223. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
  224. package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
  225. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  226. package/dist/openapi/models/MetadataResponse.js +1 -1
  227. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  228. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  229. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  230. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  231. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  232. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  233. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  234. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  235. package/dist/openapi/models/MimeGroupSchema.d.ts +17 -8
  236. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  237. package/dist/openapi/models/MultiInputSource.d.ts +1 -1
  238. package/dist/openapi/models/MultiInputSource.js +1 -1
  239. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  240. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  241. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  242. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  243. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  244. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  245. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  246. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  247. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  248. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  249. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  250. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  251. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  252. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  253. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  254. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  255. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  256. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  257. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  258. package/dist/openapi/models/MultipartPartListing.js +1 -1
  259. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  260. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  261. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  262. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  263. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  264. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  265. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  266. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  267. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  268. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  269. package/dist/openapi/models/NotifyConfig.d.ts +1 -1
  270. package/dist/openapi/models/NotifyConfig.js +1 -1
  271. package/dist/openapi/models/OperationCapability.d.ts +1 -1
  272. package/dist/openapi/models/OperationCapability.js +1 -1
  273. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  274. package/dist/openapi/models/OperationDefinition.js +1 -1
  275. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  276. package/dist/openapi/models/OperationDownload.js +1 -1
  277. package/dist/openapi/models/OperationInputModel.d.ts +1 -1
  278. package/dist/openapi/models/OperationInputModel.js +1 -1
  279. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  280. package/dist/openapi/models/OperationResponse.js +1 -1
  281. package/dist/openapi/models/OperationResult.d.ts +1 -1
  282. package/dist/openapi/models/OperationResult.js +1 -1
  283. package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
  284. package/dist/openapi/models/OperationResultMetadata.js +1 -1
  285. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  286. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  287. package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
  288. package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
  289. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  290. package/dist/openapi/models/OperationStatus.js +1 -1
  291. package/dist/openapi/models/OperationType.d.ts +1 -1
  292. package/dist/openapi/models/OperationType.js +1 -1
  293. package/dist/openapi/models/OperationsSchemaResponse.d.ts +7 -1
  294. package/dist/openapi/models/OperationsSchemaResponse.js +3 -1
  295. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
  296. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
  297. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
  298. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
  299. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
  300. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
  301. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
  302. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
  303. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
  304. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
  305. package/dist/openapi/models/OptionSchema.d.ts +1 -1
  306. package/dist/openapi/models/OptionSchema.js +1 -1
  307. package/dist/openapi/models/OutputProperties.d.ts +1 -1
  308. package/dist/openapi/models/OutputProperties.js +1 -1
  309. package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
  310. package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
  311. package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
  312. package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
  313. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
  314. package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
  315. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  316. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  317. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  318. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  319. package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
  320. package/dist/openapi/models/ProbePendingResponse.js +1 -1
  321. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  322. package/dist/openapi/models/ProcessingClass.js +1 -1
  323. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  324. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  325. package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
  326. package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
  327. package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
  328. package/dist/openapi/models/ProcessingClassEntry.js +1 -1
  329. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  330. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  331. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  332. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  333. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  334. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  335. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  336. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  337. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  338. package/dist/openapi/models/ProcessingPlan.js +1 -1
  339. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  340. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  341. package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
  342. package/dist/openapi/models/ReEncodeDecision.js +1 -1
  343. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  344. package/dist/openapi/models/ReadinessResponse.js +1 -1
  345. package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
  346. package/dist/openapi/models/RegisterUser422Response.js +1 -1
  347. package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
  348. package/dist/openapi/models/RegisterUserRequest.js +1 -1
  349. package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
  350. package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
  351. package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
  352. package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
  353. package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
  354. package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
  355. package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
  356. package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
  357. package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
  358. package/dist/openapi/models/ResetPasswordRequest.js +1 -1
  359. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  360. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  361. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  362. package/dist/openapi/models/RetryResponse.js +1 -1
  363. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  364. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  365. package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
  366. package/dist/openapi/models/SseCompletionBase.js +1 -1
  367. package/dist/openapi/models/SseEventType.d.ts +1 -1
  368. package/dist/openapi/models/SseEventType.js +1 -1
  369. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  370. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  371. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  372. package/dist/openapi/models/SseJobFailedData.js +1 -1
  373. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
  374. package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
  375. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
  376. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
  377. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
  378. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
  379. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
  380. package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
  381. package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
  382. package/dist/openapi/models/SseOperationCompletedData.js +1 -1
  383. package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
  384. package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
  385. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  386. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  387. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  388. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  389. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
  390. package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
  391. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  392. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  393. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  394. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  395. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  396. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  397. package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
  398. package/dist/openapi/models/UpdateProfile200Response.js +1 -1
  399. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
  400. package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
  401. package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
  402. package/dist/openapi/models/UpdateProfile422Response.js +1 -1
  403. package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
  404. package/dist/openapi/models/UpdateProfileRequest.js +1 -1
  405. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  406. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  407. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  408. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  409. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  410. package/dist/openapi/models/UploadFile403Response.js +1 -1
  411. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  412. package/dist/openapi/models/UploadFile422Response.js +1 -1
  413. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  414. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  415. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  416. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  417. package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
  418. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  419. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  420. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  421. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
  422. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
  423. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  424. package/dist/openapi/models/UploadResponse.js +1 -1
  425. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  426. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  427. package/dist/openapi/models/UploadSource.d.ts +1 -1
  428. package/dist/openapi/models/UploadSource.js +1 -1
  429. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  430. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  431. package/dist/openapi/models/UploadThresholds.d.ts +26 -5
  432. package/dist/openapi/models/UploadThresholds.js +1 -1
  433. package/dist/openapi/models/UserTier.d.ts +18 -58
  434. package/dist/openapi/models/UserTier.js +18 -58
  435. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  436. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  437. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  438. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  439. package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
  440. package/dist/openapi/models/VerifyEmailRequest.js +1 -1
  441. package/dist/openapi/models/WarningType.d.ts +1 -1
  442. package/dist/openapi/models/WarningType.js +1 -1
  443. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  444. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  445. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  446. package/dist/openapi/models/WebhookPayload.js +1 -1
  447. package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
  448. package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
  449. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
  450. package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
  451. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  452. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  453. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  454. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  455. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  456. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  457. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  458. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  459. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  460. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  461. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  462. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  463. package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
  464. package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
  465. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  466. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  467. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  468. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  469. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  470. package/dist/openapi/models/WorkflowEdge.js +1 -1
  471. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  472. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  473. package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
  474. package/dist/openapi/models/WorkflowListResponse.js +1 -1
  475. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
  476. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
  477. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  478. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  479. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  480. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  481. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  482. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  483. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  484. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  485. package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
  486. package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
  487. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
  488. package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
  489. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  490. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  491. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  492. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  493. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  494. package/dist/openapi/models/WorkflowSource.js +1 -1
  495. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  496. package/dist/openapi/models/WorkflowStatus.js +1 -1
  497. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  498. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  499. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  500. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  501. package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
  502. package/dist/openapi/models/WorkflowSummary.js +1 -1
  503. package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
  504. package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
  505. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  506. package/dist/openapi/models/WorkflowWarning.js +1 -1
  507. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  508. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  509. package/dist/openapi/models/index.d.ts +3 -0
  510. package/dist/openapi/models/index.js +3 -0
  511. package/dist/openapi/runtime.d.ts +1 -1
  512. package/dist/openapi/runtime.js +1 -1
  513. package/dist/operations/thumbnail.d.ts +30 -7
  514. package/dist/operations/thumbnail.js +34 -17
  515. package/dist/operations/thumbnail.metadata.js +29 -1
  516. package/openapi/README.md +1 -1
  517. package/openapi/api.yaml +659 -100
  518. package/operation-capabilities/operation-capabilities.json +1 -1
  519. package/operations/schemas/compress.yaml +67 -10
  520. package/operations/schemas/thumbnail.yaml +100 -1
  521. package/package.json +3 -3
package/README.md CHANGED
@@ -5,8 +5,8 @@
5
5
 
6
6
  | | |
7
7
  |---|---|
8
- | Package version | `0.67.0` |
9
- | Generated from spec | **`v2.196.0`** |
8
+ | Package version | `0.69.0` |
9
+ | Generated from spec | **`v2.199.0`** |
10
10
 
11
11
  ## Two version lines, and they are not comparable
12
12
 
@@ -1074,7 +1074,20 @@
1074
1074
  }
1075
1075
  },
1076
1076
  "thumbnail": {
1077
- "document": {
1077
+ "document_epub": {
1078
+ "accepted_options": {
1079
+ "*": [
1080
+ "fit",
1081
+ "format",
1082
+ "height",
1083
+ "quality",
1084
+ "source",
1085
+ "width"
1086
+ ]
1087
+ },
1088
+ "output_format_option": null
1089
+ },
1090
+ "document_office": {
1078
1091
  "accepted_options": {
1079
1092
  "*": [
1080
1093
  "fit",
@@ -1088,12 +1101,13 @@
1088
1101
  },
1089
1102
  "output_format_option": null
1090
1103
  },
1091
- "document_epub": {
1104
+ "document_pdf": {
1092
1105
  "accepted_options": {
1093
1106
  "*": [
1094
1107
  "fit",
1095
1108
  "format",
1096
1109
  "height",
1110
+ "page",
1097
1111
  "quality",
1098
1112
  "source",
1099
1113
  "width"
@@ -1200,5 +1214,5 @@
1200
1214
  }
1201
1215
  }
1202
1216
  },
1203
- "schema_version": "2.196.0"
1217
+ "schema_version": "2.199.0"
1204
1218
  }
@@ -246,5 +246,5 @@
246
246
  "source_op": "compress"
247
247
  }
248
248
  },
249
- "schema_version": "2.196.0"
249
+ "schema_version": "2.199.0"
250
250
  }
@@ -1,7 +1,7 @@
1
1
  asyncapi: 3.0.0
2
2
  info:
3
3
  title: GISL Compression Events
4
- version: 3.26.0
4
+ version: 3.28.0
5
5
  description: |
6
6
  Asynchronous event contracts for the GISL (Give It Smaller) compression service.
7
7
 
@@ -3212,6 +3212,12 @@ components:
3212
3212
  internal CI accounting only and never surfaces.
3213
3213
 
3214
3214
  See `schemas/FORMAT.md` §Availability Taxonomy for full rules.
3215
+ # CLOSED. A consumer uses this to decide whether to EXPOSE a feature, so an
3216
+ # unrecognised level cannot be handled safely in either direction — hiding a
3217
+ # live capability or surfacing one that is not. ADR-0001 §1.3 defines exactly
3218
+ # these five; a sixth is a contract event that consumers must be updated for,
3219
+ # and failing loudly is the correct way to require that.
3220
+ x-enum-openness: closed
3215
3221
  enum:
3216
3222
  - stable
3217
3223
  - beta
@@ -4995,6 +5001,11 @@ components:
4995
5001
  succeeded. Lambda-side failures on the async branch are
4996
5002
  signalled via `UploadProbeCompletion.error_code` and do not
4997
5003
  require populating this field.
5004
+ # OPEN. `ok` is the only proceed value and everything else is a reason not to,
5005
+ # so a consumer branches on `ok` rather than enumerating failures. A new
5006
+ # failure reason is additive and an old consumer treats it correctly as
5007
+ # not-ok.
5008
+ x-enum-openness: open
4998
5009
  enum:
4999
5010
  - ok
5000
5011
  - corrupt
@@ -5011,6 +5022,11 @@ components:
5011
5022
  Cross-spec parity is verified by
5012
5023
  `tests/test_upload_probe_schemas.py` — the OpenAPI side is
5013
5024
  the source of truth for the value set.
5025
+ # CLOSED. It GATES AN AFFORDANCE: `blocked` is a hard stop and the others
5026
+ # predict routing. An unrecognised class cannot be safely treated as routable —
5027
+ # a consumer guessing would offer an upload the server will refuse. A new
5028
+ # class must reach consumers deliberately.
5029
+ x-enum-openness: closed
5014
5030
  enum:
5015
5031
  - short_form
5016
5032
  - long_form
@@ -5325,6 +5341,13 @@ components:
5325
5341
  bytes unchanged) and is never dispatched as an
5326
5342
  `OperationRequest` message — so it carries no wire payload and
5327
5343
  needs no SNS routing value. Per ticket `4som89Uh`.
5344
+ # CLOSED on BOTH sides, and the two sides declare DIFFERENT VALUE SETS on
5345
+ # purpose — see schemas/cross-document-enums.yaml. openapi types the CREATE
5346
+ # SURFACE; asyncapi types the PAYLOAD FIELD, which stays coarse because the
5347
+ # thumbnail sub-types travel on the SNS message ATTRIBUTE, not in the payload.
5348
+ # Closed because an unrecognised operation type cannot be dispatched or
5349
+ # rendered; guessing is never right.
5350
+ x-enum-openness: closed
5328
5351
  enum:
5329
5352
  - compress
5330
5353
  - thumbnail
@@ -5458,6 +5481,10 @@ components:
5458
5481
 
5459
5482
  Named-schema form lifted from inline at
5460
5483
  `OperationMetrics.re_encode_decision` per ticket QokFw8VR.
5484
+ # OPEN. Purely diagnostic — it reports which path `auto` took so a caller can
5485
+ # see why. An unrecognised path does not change any decision a consumer makes,
5486
+ # so a new one is safely ignorable and additive.
5487
+ x-enum-openness: open
5461
5488
  enum:
5462
5489
  - stream_copy
5463
5490
  - re_encode
@@ -5548,6 +5575,10 @@ components:
5548
5575
  dedicated visibility. May pair with `phase_*` fields for
5549
5576
  multi-output operations.
5550
5577
  - `uploading`: Uploading result to S3.
5578
+ # OPEN. Named in `WarningType`'s precedent set in openapi/api.yaml — a
5579
+ # CROSS-DOCUMENT citation, so a generator reading only the REST spec could
5580
+ # not resolve it at all. Both halves carry the marker for that reason.
5581
+ x-enum-openness: open
5551
5582
  enum:
5552
5583
  - started
5553
5584
  - downloading
@@ -1,5 +1,6 @@
1
1
  {
2
- "capabilities_version": 182,
2
+ "capabilities_profile": "baseline",
3
+ "capabilities_version": 184,
3
4
  "endpoints": {
4
5
  "DELETE /api/auth/account": {
5
6
  "auth": "required",
@@ -22,6 +23,13 @@
22
23
  "operation_id": "exportAccountData",
23
24
  "required_tier": null
24
25
  },
26
+ "GET /api/auth/profile": {
27
+ "auth": "required",
28
+ "availability": "stable",
29
+ "identity_scoped": true,
30
+ "operation_id": "getProfile",
31
+ "required_tier": null
32
+ },
25
33
  "GET /api/operations/schema": {
26
34
  "auth": "optional",
27
35
  "availability": "stable",
@@ -1990,7 +1998,7 @@
1990
1998
  },
1991
1999
  "encoding_mode": {
1992
2000
  "default": "crf",
1993
- "description": "crf = constant quality (variable file size). target_size = constrained output file size (two-pass). target_size is LIVE for mp4/MOV output; for webm/ogg output and long-form the server returns `feature_not_available` (use crf there) until two-pass for this container ships.",
2001
+ "description": "`crf` = constant quality. `target_size` = constrained output file size\n(two-pass). `target_size` is LIVE for mp4/MOV output; for webm/ogg output\nand long-form the server returns `feature_not_available` (use `crf` there)\nuntil two-pass for this container ships.\n\n\ud83d\udd34 **`crf` DOES NOT MEAN UNCONSTRAINED FILE SIZE. THIS DESCRIPTION USED TO\nSAY \"variable file size\" AND THAT WAS FALSE BY OMISSION.** For **mp4/MOV\noutput**, the worker additionally derives a **source-relative peak-bitrate\nceiling of roughly 60% of the source video bitrate** (`-maxrate`/`-bufsize`),\nand **it binds regardless of an explicit `crf`** \u2014 constrained-CRF. The `crf`\nvalue is still honoured as the **quality ceiling**; the cap adds a peak\nceiling on top of it.\n\n\u26a0\ufe0f **Scope, because \"we cap every video\" would be a second false sentence:**\nthe cap is **mp4/MOV only** \u2014 WebM/VP9 discards it and skips the probe\nentirely \u2014 and it is **best-effort**, so an unprobeable source gets no cap.\n\n\u2b50 **Why it exists, which is also why the old wording surprised in the wrong\ndirection:** plain CRF alone **INFLATES already-efficient sources** \u2014 an\nefficient HEVC re-encoded to H.264 at CRF 23/25/30 grows. The compress\ncontract is *reduce file size*, so the cap is what makes shrinking reliable.\nA caller who deliberately pins a low `crf` on an efficient source therefore\ngets a constrained-CRF transcode rather than a byte-for-byte original: a\ndeliberate, accepted shift.\n\n\ud83d\udd34 **THIS DESCRIPTION IS BOUND TO THE WORKER, NOT DATED AGAINST IT.**\n`tests/test_bitrate_cap_disclosure_matches_the_worker.py` reads\n`compression_lambdas` at `origin/main` and fails if the cap stops\nbeing source-relative, stops being mp4/MOV-only, or stops deriving\nfrom a source probe. **An as-of date would make a superseded\nsentence look deliberate**; a gate makes it go red instead.\n",
1994
2002
  "type": "enum",
1995
2003
  "values": [
1996
2004
  "crf",
@@ -2054,7 +2062,7 @@
2054
2062
  },
2055
2063
  "preset": {
2056
2064
  "default": "medium",
2057
- "description": "Encoding speed vs compression ratio trade-off",
2065
+ "description": "x264/x265 encoder effort. **A SIZE LEVER, CONDITIONALLY** \u2014 it moves\noutput size **only while the mp4/MOV peak-bitrate cap is NOT binding.**\n\n**Measured by `compression_lambdas`, medium vs slow, all else held:**\n\n crf 30, cap inert 1,220,156 vs 1,144,043 bytes 6.2% apart\n crf 18, cap binding 2,514,788 vs 2,516,986 bytes 0.09% apart\n\n\ud83d\udd34 **THE MECHANISM IS MECHANICAL, NOT EMPIRICAL, AND EXPLAINS BOTH ROWS.**\nIn pure CRF the encoder targets constant QUALITY, so a slower preset spends\nits extra effort producing a **smaller file at the same quality**. Once\n`-maxrate` binds the encode is rate-limited, so the extra effort can only go\ninto **picture at a fixed size** \u2014 an axis a size measurement cannot see.\n\n\u26a0\ufe0f **This description previously said `preset` was effort-only and that `crf`\nwas the size lever. That was wrong**, and it was wrong because a 0.09% figure\nmeasured on a **cap-binding** clip was generalised into a property of `preset`.\n**A measurement is not a property until you know what held it.**\n\n\u21d2 **Callers optimising for size:** `crf` is the primary lever; `preset` adds\nreal reduction **only when the cap is not already constraining the encode** \u2014\nwhich is exactly the high-`crf`, small-output end. See `encoding_mode` for what\nthe cap is and when it applies.\n\n\u26a0\ufe0f **What the extra effort buys once the cap DOES bind is mechanically\nimplied and empirically UNCONFIRMED.** The mechanism says it must go\ninto picture; `compression_lambdas` could not see a difference on 2x\ncrops, but that was **one frame of one 5-second clip**, and preset\ndifferences concentrate in high-motion frames that were not\ndeliberately sampled. **Recorded as unestablished, not asserted.**\n",
2058
2066
  "type": "enum",
2059
2067
  "values": [
2060
2068
  "ultrafast",
@@ -4451,10 +4459,72 @@
4451
4459
  "description": "Resize an image to specific dimensions, or extract a preview frame/page from a video or document. For images this is a full resizer (1-16384px), not just small previews.",
4452
4460
  "input_model": "single",
4453
4461
  "mime_groups": {
4454
- "document": {
4462
+ "document_epub": {
4463
+ "max_input_size_bytes": 104857600,
4464
+ "max_output_pixels": 16000000,
4465
+ "mimes": [
4466
+ "application/epub+zip"
4467
+ ],
4468
+ "options": {
4469
+ "fit": {
4470
+ "default": "crop",
4471
+ "description": "Resize mode",
4472
+ "type": "enum",
4473
+ "values": [
4474
+ "max",
4475
+ "crop",
4476
+ "scale"
4477
+ ]
4478
+ },
4479
+ "format": {
4480
+ "default": "jpg",
4481
+ "description": "Output format for the thumbnail",
4482
+ "type": "enum",
4483
+ "values": [
4484
+ "jpg",
4485
+ "png",
4486
+ "webp"
4487
+ ]
4488
+ },
4489
+ "height": {
4490
+ "description": "Target height in pixels (1-16384; width*height <= 16MP). Optional \u2014 see `width` for the omitted-default behaviour.",
4491
+ "max": 16384,
4492
+ "min": 1,
4493
+ "type": "integer"
4494
+ },
4495
+ "quality": {
4496
+ "default": 85,
4497
+ "depends_on": {
4498
+ "format": [
4499
+ "jpg",
4500
+ "webp"
4501
+ ]
4502
+ },
4503
+ "description": "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless).",
4504
+ "max": 100,
4505
+ "min": 1,
4506
+ "type": "integer"
4507
+ },
4508
+ "source": {
4509
+ "default": "cover",
4510
+ "description": "`cover` (the only supported value) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. Cover lookup supports both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former would miss a large slice of real-world files. Both are staging-proven (pL16ZfOw Wave 3). A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a REAL and expected case: it fails with `error_code: processing_failed` and `is_retryable: false`. That is the live behaviour, not an aspiration \u2014 the worker classifies it as `CoverError::NoCoverDeclared` and maps it there (`epub/error.rs`), and non-retryability is DERIVED from the code rather than set per-call, so it cannot drift. A cover-less EPUB will not grow a cover, so retrying is always futile. A more specific code would be better, and is NOT promised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so adding one is a real cross-repo co-land (enum edit -> SDK regen -> lockstep). Until then this description states what actually happens \u2014 an undecided-reject note on a STABLE route would leave consumers unable to handle a case they will certainly meet.",
4511
+ "type": "enum",
4512
+ "values": [
4513
+ "cover"
4514
+ ]
4515
+ },
4516
+ "width": {
4517
+ "description": "Target width in pixels (1-16384; width*height <= 16MP). Optional \u2014 when omitted the server applies an aspect-preserving default (both omitted \u2192 longest edge 320px; only one of width/height provided \u2192 the other is derived from the source aspect ratio).",
4518
+ "max": 16384,
4519
+ "min": 1,
4520
+ "type": "integer"
4521
+ }
4522
+ }
4523
+ },
4524
+ "document_office": {
4525
+ "max_input_size_bytes": 157286400,
4455
4526
  "max_output_pixels": 16000000,
4456
4527
  "mimes": [
4457
- "application/pdf",
4458
4528
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
4459
4529
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
4460
4530
  "application/vnd.openxmlformats-officedocument.presentationml.presentation",
@@ -4528,10 +4598,11 @@
4528
4598
  }
4529
4599
  }
4530
4600
  },
4531
- "document_epub": {
4601
+ "document_pdf": {
4602
+ "input_size_bound": "processing_time",
4532
4603
  "max_output_pixels": 16000000,
4533
4604
  "mimes": [
4534
- "application/epub+zip"
4605
+ "application/pdf"
4535
4606
  ],
4536
4607
  "options": {
4537
4608
  "fit": {
@@ -4560,6 +4631,15 @@
4560
4631
  "min": 1,
4561
4632
  "type": "integer"
4562
4633
  },
4634
+ "page": {
4635
+ "default": 1,
4636
+ "depends_on": {
4637
+ "source": "page"
4638
+ },
4639
+ "description": "1-based index of the printed page to render, after print-layout pagination is applied. For office formats this is the page in the document's print layout \u2014 NOT a 1:1 sheet/slide index: a spreadsheet sheet may span multiple printed pages and multi-sheet workbooks paginate their sheets in order. For PDF inputs it is the PDF page number directly.",
4640
+ "min": 1,
4641
+ "type": "integer"
4642
+ },
4563
4643
  "quality": {
4564
4644
  "default": 85,
4565
4645
  "depends_on": {
@@ -4574,10 +4654,11 @@
4574
4654
  "type": "integer"
4575
4655
  },
4576
4656
  "source": {
4577
- "default": "cover",
4578
- "description": "`cover` (the only supported value) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. Cover lookup supports both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former would miss a large slice of real-world files. Both are staging-proven (pL16ZfOw Wave 3). A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a REAL and expected case: it fails with `error_code: processing_failed` and `is_retryable: false`. That is the live behaviour, not an aspiration \u2014 the worker classifies it as `CoverError::NoCoverDeclared` and maps it there (`epub/error.rs`), and non-retryability is DERIVED from the code rather than set per-call, so it cannot drift. A cover-less EPUB will not grow a cover, so retrying is always futile. A more specific code would be better, and is NOT promised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so adding one is a real cross-repo co-land (enum edit -> SDK regen -> lockstep). Until then this description states what actually happens \u2014 an undecided-reject note on a STABLE route would leave consumers unable to handle a case they will certainly meet.",
4657
+ "default": "page",
4658
+ "description": "`page` = render a specific page/slide. `cover` = extract a cover image \u2014 only meaningful for EPUB inputs, which are served by the `document_epub` group; on PDF/office/ODF it is accepted and IGNORED (retained for backward compatibility).",
4579
4659
  "type": "enum",
4580
4660
  "values": [
4661
+ "page",
4581
4662
  "cover"
4582
4663
  ]
4583
4664
  },
@@ -5135,7 +5216,7 @@
5135
5216
  "sole_op": true
5136
5217
  }
5137
5218
  },
5138
- "schema_version": "2.196.0",
5219
+ "schema_version": "2.199.0",
5139
5220
  "source_commit": null,
5140
5221
  "user_tier": null,
5141
5222
  "workflow_features": {
@@ -2803,7 +2803,7 @@
2803
2803
  },
2804
2804
  "encoding_mode": {
2805
2805
  "default": "crf",
2806
- "description": "crf = constant quality (variable file size). target_size = constrained output file size (two-pass). target_size is LIVE for mp4/MOV output; for webm/ogg output and long-form the server returns `feature_not_available` (use crf there) until two-pass for this container ships.",
2806
+ "description": "`crf` = constant quality. `target_size` = constrained output file size\n(two-pass). `target_size` is LIVE for mp4/MOV output; for webm/ogg output\nand long-form the server returns `feature_not_available` (use `crf` there)\nuntil two-pass for this container ships.\n\n\ud83d\udd34 **`crf` DOES NOT MEAN UNCONSTRAINED FILE SIZE. THIS DESCRIPTION USED TO\nSAY \"variable file size\" AND THAT WAS FALSE BY OMISSION.** For **mp4/MOV\noutput**, the worker additionally derives a **source-relative peak-bitrate\nceiling of roughly 60% of the source video bitrate** (`-maxrate`/`-bufsize`),\nand **it binds regardless of an explicit `crf`** \u2014 constrained-CRF. The `crf`\nvalue is still honoured as the **quality ceiling**; the cap adds a peak\nceiling on top of it.\n\n\u26a0\ufe0f **Scope, because \"we cap every video\" would be a second false sentence:**\nthe cap is **mp4/MOV only** \u2014 WebM/VP9 discards it and skips the probe\nentirely \u2014 and it is **best-effort**, so an unprobeable source gets no cap.\n\n\u2b50 **Why it exists, which is also why the old wording surprised in the wrong\ndirection:** plain CRF alone **INFLATES already-efficient sources** \u2014 an\nefficient HEVC re-encoded to H.264 at CRF 23/25/30 grows. The compress\ncontract is *reduce file size*, so the cap is what makes shrinking reliable.\nA caller who deliberately pins a low `crf` on an efficient source therefore\ngets a constrained-CRF transcode rather than a byte-for-byte original: a\ndeliberate, accepted shift.\n\n\ud83d\udd34 **THIS DESCRIPTION IS BOUND TO THE WORKER, NOT DATED AGAINST IT.**\n`tests/test_bitrate_cap_disclosure_matches_the_worker.py` reads\n`compression_lambdas` at `origin/main` and fails if the cap stops\nbeing source-relative, stops being mp4/MOV-only, or stops deriving\nfrom a source probe. **An as-of date would make a superseded\nsentence look deliberate**; a gate makes it go red instead.\n",
2807
2807
  "origin": "contract",
2808
2808
  "sdk_exposure": "expose",
2809
2809
  "surface_key": "encodingMode",
@@ -2908,7 +2908,7 @@
2908
2908
  },
2909
2909
  "preset": {
2910
2910
  "default": "medium",
2911
- "description": "Encoding speed vs compression ratio trade-off",
2911
+ "description": "x264/x265 encoder effort. **A SIZE LEVER, CONDITIONALLY** \u2014 it moves\noutput size **only while the mp4/MOV peak-bitrate cap is NOT binding.**\n\n**Measured by `compression_lambdas`, medium vs slow, all else held:**\n\n crf 30, cap inert 1,220,156 vs 1,144,043 bytes 6.2% apart\n crf 18, cap binding 2,514,788 vs 2,516,986 bytes 0.09% apart\n\n\ud83d\udd34 **THE MECHANISM IS MECHANICAL, NOT EMPIRICAL, AND EXPLAINS BOTH ROWS.**\nIn pure CRF the encoder targets constant QUALITY, so a slower preset spends\nits extra effort producing a **smaller file at the same quality**. Once\n`-maxrate` binds the encode is rate-limited, so the extra effort can only go\ninto **picture at a fixed size** \u2014 an axis a size measurement cannot see.\n\n\u26a0\ufe0f **This description previously said `preset` was effort-only and that `crf`\nwas the size lever. That was wrong**, and it was wrong because a 0.09% figure\nmeasured on a **cap-binding** clip was generalised into a property of `preset`.\n**A measurement is not a property until you know what held it.**\n\n\u21d2 **Callers optimising for size:** `crf` is the primary lever; `preset` adds\nreal reduction **only when the cap is not already constraining the encode** \u2014\nwhich is exactly the high-`crf`, small-output end. See `encoding_mode` for what\nthe cap is and when it applies.\n\n\u26a0\ufe0f **What the extra effort buys once the cap DOES bind is mechanically\nimplied and empirically UNCONFIRMED.** The mechanism says it must go\ninto picture; `compression_lambdas` could not see a difference on 2x\ncrops, but that was **one frame of one 5-second clip**, and preset\ndifferences concentrate in high-motion frames that were not\ndeliberately sampled. **Recorded as unestablished, not asserted.**\n",
2912
2912
  "enum_ref": "VideoPreset",
2913
2913
  "enum_translations": {
2914
2914
  "fast": "Fast",
@@ -6209,11 +6209,105 @@
6209
6209
  },
6210
6210
  "input_model": "single",
6211
6211
  "media_groups": {
6212
- "document": {
6212
+ "document_epub": {
6213
+ "max_input_size_bytes": 104857600,
6214
+ "max_output_pixels": 16000000,
6215
+ "media_group": "document",
6216
+ "mimes": [
6217
+ "application/epub+zip"
6218
+ ],
6219
+ "options": {
6220
+ "fit": {
6221
+ "default": "crop",
6222
+ "description": "Resize mode",
6223
+ "origin": "contract",
6224
+ "sdk_exposure": "expose",
6225
+ "surface_key": "fit",
6226
+ "type": "enum",
6227
+ "value_exposure": {
6228
+ "crop": "expose",
6229
+ "max": "expose",
6230
+ "scale": "expose"
6231
+ },
6232
+ "values": [
6233
+ "max",
6234
+ "crop",
6235
+ "scale"
6236
+ ]
6237
+ },
6238
+ "format": {
6239
+ "default": "jpg",
6240
+ "description": "Output format for the thumbnail",
6241
+ "origin": "contract",
6242
+ "sdk_exposure": "expose",
6243
+ "surface_key": "format",
6244
+ "type": "enum",
6245
+ "value_exposure": {
6246
+ "jpg": "expose",
6247
+ "png": "expose",
6248
+ "webp": "expose"
6249
+ },
6250
+ "values": [
6251
+ "jpg",
6252
+ "png",
6253
+ "webp"
6254
+ ]
6255
+ },
6256
+ "height": {
6257
+ "description": "Target height in pixels (1-16384; width*height <= 16MP). Optional \u2014 see `width` for the omitted-default behaviour.",
6258
+ "max": 16384,
6259
+ "min": 1,
6260
+ "origin": "contract",
6261
+ "sdk_exposure": "expose",
6262
+ "surface_key": "height",
6263
+ "type": "integer"
6264
+ },
6265
+ "quality": {
6266
+ "default": 85,
6267
+ "depends_on": {
6268
+ "format": [
6269
+ "jpg",
6270
+ "webp"
6271
+ ]
6272
+ },
6273
+ "description": "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless).",
6274
+ "max": 100,
6275
+ "min": 1,
6276
+ "origin": "contract",
6277
+ "sdk_exposure": "expose",
6278
+ "surface_key": "quality",
6279
+ "type": "integer"
6280
+ },
6281
+ "source": {
6282
+ "default": "cover",
6283
+ "description": "`cover` (the only supported value) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. Cover lookup supports both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former would miss a large slice of real-world files. Both are staging-proven (pL16ZfOw Wave 3). A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a REAL and expected case: it fails with `error_code: processing_failed` and `is_retryable: false`. That is the live behaviour, not an aspiration \u2014 the worker classifies it as `CoverError::NoCoverDeclared` and maps it there (`epub/error.rs`), and non-retryability is DERIVED from the code rather than set per-call, so it cannot drift. A cover-less EPUB will not grow a cover, so retrying is always futile. A more specific code would be better, and is NOT promised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so adding one is a real cross-repo co-land (enum edit -> SDK regen -> lockstep). Until then this description states what actually happens \u2014 an undecided-reject note on a STABLE route would leave consumers unable to handle a case they will certainly meet.",
6284
+ "origin": "contract",
6285
+ "sdk_exposure": "expose",
6286
+ "surface_key": "source",
6287
+ "type": "enum",
6288
+ "value_exposure": {
6289
+ "cover": "expose"
6290
+ },
6291
+ "values": [
6292
+ "cover"
6293
+ ]
6294
+ },
6295
+ "width": {
6296
+ "description": "Target width in pixels (1-16384; width*height <= 16MP). Optional \u2014 when omitted the server applies an aspect-preserving default (both omitted \u2192 longest edge 320px; only one of width/height provided \u2192 the other is derived from the source aspect ratio).",
6297
+ "max": 16384,
6298
+ "min": 1,
6299
+ "origin": "contract",
6300
+ "sdk_exposure": "expose",
6301
+ "surface_key": "width",
6302
+ "type": "integer"
6303
+ }
6304
+ }
6305
+ },
6306
+ "document_office": {
6307
+ "max_input_size_bytes": 157286400,
6213
6308
  "max_output_pixels": 16000000,
6214
6309
  "media_group": "document",
6215
6310
  "mimes": [
6216
- "application/pdf",
6217
6311
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
6218
6312
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
6219
6313
  "application/vnd.openxmlformats-officedocument.presentationml.presentation",
@@ -6322,11 +6416,12 @@
6322
6416
  }
6323
6417
  }
6324
6418
  },
6325
- "document_epub": {
6419
+ "document_pdf": {
6420
+ "input_size_bound": "processing_time",
6326
6421
  "max_output_pixels": 16000000,
6327
6422
  "media_group": "document",
6328
6423
  "mimes": [
6329
- "application/epub+zip"
6424
+ "application/pdf"
6330
6425
  ],
6331
6426
  "options": {
6332
6427
  "fit": {
@@ -6374,6 +6469,18 @@
6374
6469
  "surface_key": "height",
6375
6470
  "type": "integer"
6376
6471
  },
6472
+ "page": {
6473
+ "default": 1,
6474
+ "depends_on": {
6475
+ "source": "page"
6476
+ },
6477
+ "description": "1-based index of the printed page to render, after print-layout pagination is applied. For office formats this is the page in the document's print layout \u2014 NOT a 1:1 sheet/slide index: a spreadsheet sheet may span multiple printed pages and multi-sheet workbooks paginate their sheets in order. For PDF inputs it is the PDF page number directly.",
6478
+ "min": 1,
6479
+ "origin": "contract",
6480
+ "sdk_exposure": "expose",
6481
+ "surface_key": "page",
6482
+ "type": "integer"
6483
+ },
6377
6484
  "quality": {
6378
6485
  "default": 85,
6379
6486
  "depends_on": {
@@ -6391,16 +6498,18 @@
6391
6498
  "type": "integer"
6392
6499
  },
6393
6500
  "source": {
6394
- "default": "cover",
6395
- "description": "`cover` (the only supported value) = extract the EPUB's declared cover image \u2014 the cheap path, no rendering. Cover lookup supports both mechanisms: the EPUB 3 `cover-image` property on an OPF manifest item, AND the legacy EPUB 2 `<meta name=\"cover\" content=\"...\"/>` pointing at a manifest item \u2014 supporting only the former would miss a large slice of real-world files. Both are staging-proven (pL16ZfOw Wave 3). A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a REAL and expected case: it fails with `error_code: processing_failed` and `is_retryable: false`. That is the live behaviour, not an aspiration \u2014 the worker classifies it as `CoverError::NoCoverDeclared` and maps it there (`epub/error.rs`), and non-retryability is DERIVED from the code rather than set per-call, so it cannot drift. A cover-less EPUB will not grow a cover, so retrying is always futile. A more specific code would be better, and is NOT promised here: `ErrorCode` (asyncapi) is a CLOSED enum with no \"no cover\" member, so adding one is a real cross-repo co-land (enum edit -> SDK regen -> lockstep). Until then this description states what actually happens \u2014 an undecided-reject note on a STABLE route would leave consumers unable to handle a case they will certainly meet.",
6501
+ "default": "page",
6502
+ "description": "`page` = render a specific page/slide. `cover` = extract a cover image \u2014 only meaningful for EPUB inputs, which are served by the `document_epub` group; on PDF/office/ODF it is accepted and IGNORED (retained for backward compatibility).",
6396
6503
  "origin": "contract",
6397
6504
  "sdk_exposure": "expose",
6398
6505
  "surface_key": "source",
6399
6506
  "type": "enum",
6400
6507
  "value_exposure": {
6401
- "cover": "expose"
6508
+ "cover": "expose",
6509
+ "page": "expose"
6402
6510
  },
6403
6511
  "values": [
6512
+ "page",
6404
6513
  "cover"
6405
6514
  ]
6406
6515
  },
@@ -7188,7 +7297,7 @@
7188
7297
  }
7189
7298
  },
7190
7299
  "preset_config_hash": "sha256:354814f7906f85be6a6ca5ede6c0722c83cdc058fd658a9bb2b0996520466c6d",
7191
- "schema_version": "2.196.0",
7300
+ "schema_version": "2.199.0",
7192
7301
  "sdk_spec_version": "2.3.0",
7193
- "source_hash": "sha256:fdc78fe3247c6257926d39bd91dd179e26b07cd20bbf1ebdc810a6a134c2c231"
7302
+ "source_hash": "sha256:d844de0a7a64f056fb0dc237e268cad7d0c986b03e97d98dce5fcd4acbd685a4"
7194
7303
  }
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
4
  *
5
- * The version of the OpenAPI document: 2.196.0
5
+ * The version of the OpenAPI document: 2.199.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -38,8 +38,23 @@ export interface AccountLimitEntry {
38
38
  */
39
39
  tierDefault: number;
40
40
  /**
41
- * True iff a per-account override is active (i.e. `effective`
42
- * comes from an override rather than the tier default).
41
+ * Whether `effective` came from a per-account override rather than
42
+ * the tier default.
43
+ *
44
+ * 🔴 **RESERVED, AND STRUCTURALLY `false` TODAY — DO NOT BRANCH ON
45
+ * IT.** No per-account override store exists, and the API's resolver
46
+ * is called with no override for either limit, so **every response
47
+ * carries `false`, and will until an override store ships.**
48
+ * Measured by `compression_api` on 2026-08-28.
49
+ *
50
+ * ⚠️ It is declared **required**, so a consumer must handle a field
51
+ * that currently takes exactly one value. It is kept rather than
52
+ * removed because this is the shape an environment-overridable limit
53
+ * needs, and removing it would be a breaking change to re-make later.
54
+ *
55
+ * 📌 **A test asserting `overridden === false` would be a decoration
56
+ * — no input makes it fail.** When an override store exists, assert
57
+ * against that, not against this field now.
43
58
  *
44
59
  * @type {boolean}
45
60
  * @memberof AccountLimitEntry
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
6
  *
7
- * The version of the OpenAPI document: 2.196.0
7
+ * The version of the OpenAPI document: 2.199.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
4
  *
5
- * The version of the OpenAPI document: 2.196.0
5
+ * The version of the OpenAPI document: 2.199.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
6
  *
7
- * The version of the OpenAPI document: 2.196.0
7
+ * The version of the OpenAPI document: 2.199.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).