@giveitsmaller/contracts 0.8.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/asyncapi/events.yaml +806 -173
  2. package/availability/availability.json +355 -98
  3. package/dist/asyncapi/Failure.d.ts +2 -0
  4. package/dist/asyncapi/LongFormJobMessage.d.ts +4 -3
  5. package/dist/asyncapi/LongFormOperationType.d.ts +5 -0
  6. package/dist/asyncapi/LongFormOperationType.js +6 -0
  7. package/dist/asyncapi/LongFormProcessingClass.d.ts +4 -0
  8. package/dist/asyncapi/LongFormProcessingClass.js +5 -0
  9. package/dist/asyncapi/MultiOutputCompletion.d.ts +2 -0
  10. package/dist/asyncapi/{NotificationsOperationsQueue.d.ts → NotificationsJobsQueue.d.ts} +2 -2
  11. package/dist/asyncapi/OperationResultMetadata.d.ts +4 -0
  12. package/dist/asyncapi/OperationResultMetadata.js +1 -0
  13. package/dist/asyncapi/OperationType.d.ts +2 -1
  14. package/dist/asyncapi/OperationType.js +1 -0
  15. package/dist/asyncapi/PageIndexed.d.ts +1 -0
  16. package/dist/asyncapi/PositionIndexed.d.ts +1 -0
  17. package/dist/asyncapi/SingleOutputCompletion.d.ts +2 -0
  18. package/dist/asyncapi/SourceEntry.d.ts +4 -0
  19. package/dist/asyncapi/Unindexed.d.ts +1 -0
  20. package/dist/asyncapi/index.d.ts +4 -2
  21. package/dist/asyncapi/index.js +2 -1
  22. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +2 -2
  23. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +2 -2
  24. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +2 -2
  25. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +2 -2
  26. package/dist/openapi/models/AuthErrorResponse.d.ts +13 -2
  27. package/dist/openapi/models/AuthErrorResponse.js +2 -2
  28. package/dist/openapi/models/AuthErrorType.d.ts +2 -2
  29. package/dist/openapi/models/AuthErrorType.js +2 -2
  30. package/dist/openapi/models/AuthRejectionEnvelope.d.ts +126 -0
  31. package/dist/openapi/models/AuthRejectionEnvelope.js +72 -0
  32. package/dist/openapi/models/AvailabilityValue.d.ts +2 -2
  33. package/dist/openapi/models/AvailabilityValue.js +2 -2
  34. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +13 -2
  35. package/dist/openapi/models/BalanceExhaustedResponse.js +2 -2
  36. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +2 -2
  37. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +2 -2
  38. package/dist/openapi/models/CallbackEventType.d.ts +2 -2
  39. package/dist/openapi/models/CallbackEventType.js +2 -2
  40. package/dist/openapi/models/ChangePasswordRequest.d.ts +38 -0
  41. package/dist/openapi/models/ChangePasswordRequest.js +47 -0
  42. package/dist/openapi/models/CompositionPlan.d.ts +72 -0
  43. package/dist/openapi/models/CompositionPlan.js +53 -0
  44. package/dist/openapi/models/CompositionPlanJob.d.ts +39 -0
  45. package/dist/openapi/models/CompositionPlanJob.js +48 -0
  46. package/dist/openapi/models/CompositionPlanOperation.d.ts +116 -0
  47. package/dist/openapi/models/CompositionPlanOperation.js +62 -0
  48. package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +46 -0
  49. package/dist/openapi/models/ConfirmEmailChange200Response.js +54 -0
  50. package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +32 -0
  51. package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +43 -0
  52. package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +32 -0
  53. package/dist/openapi/models/ConfirmEmailChangeRequest.js +43 -0
  54. package/dist/openapi/models/ConnectionSource.d.ts +2 -2
  55. package/dist/openapi/models/ConnectionSource.js +2 -2
  56. package/dist/openapi/models/ContactRequest.d.ts +2 -2
  57. package/dist/openapi/models/ContactRequest.js +2 -2
  58. package/dist/openapi/models/ContactSubject.d.ts +2 -2
  59. package/dist/openapi/models/ContactSubject.js +2 -2
  60. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
  61. package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
  62. package/dist/openapi/models/CreateApiKey201Response.d.ts +46 -0
  63. package/dist/openapi/models/CreateApiKey201Response.js +54 -0
  64. package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +56 -0
  65. package/dist/openapi/models/CreateApiKey201ResponseData.js +59 -0
  66. package/dist/openapi/models/CreateApiKeyRequest.d.ts +32 -0
  67. package/dist/openapi/models/CreateApiKeyRequest.js +43 -0
  68. package/dist/openapi/models/CreateExternalImport403Response.d.ts +2 -2
  69. package/dist/openapi/models/CreateExternalImport403Response.js +2 -2
  70. package/dist/openapi/models/CreateExternalImport422Response.d.ts +7 -3
  71. package/dist/openapi/models/CreateExternalImport422Response.js +18 -22
  72. package/dist/openapi/models/CreateWorkflow422Response.d.ts +11 -3
  73. package/dist/openapi/models/CreateWorkflow422Response.js +28 -36
  74. package/dist/openapi/models/CreditTransaction.d.ts +2 -2
  75. package/dist/openapi/models/CreditTransaction.js +2 -2
  76. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +2 -2
  77. package/dist/openapi/models/CreditTransactionSourceBucket.js +2 -2
  78. package/dist/openapi/models/CreditsBalanceResponse.d.ts +2 -2
  79. package/dist/openapi/models/CreditsBalanceResponse.js +2 -2
  80. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +2 -2
  81. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +2 -2
  82. package/dist/openapi/models/CreditsUsageResponse.d.ts +2 -2
  83. package/dist/openapi/models/CreditsUsageResponse.js +2 -2
  84. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +2 -2
  85. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +2 -2
  86. package/dist/openapi/models/Delivery.d.ts +2 -2
  87. package/dist/openapi/models/Delivery.js +2 -2
  88. package/dist/openapi/models/DeliveryOutputRef.d.ts +9 -2
  89. package/dist/openapi/models/DeliveryOutputRef.js +2 -2
  90. package/dist/openapi/models/DeliveryPlan.d.ts +2 -2
  91. package/dist/openapi/models/DeliveryPlan.js +2 -2
  92. package/dist/openapi/models/DeliveryPlanOutput.d.ts +17 -2
  93. package/dist/openapi/models/DeliveryPlanOutput.js +4 -2
  94. package/dist/openapi/models/DeliveryPlanReason.d.ts +2 -2
  95. package/dist/openapi/models/DeliveryPlanReason.js +2 -2
  96. package/dist/openapi/models/DeliverySelection.d.ts +6 -4
  97. package/dist/openapi/models/DeliverySelection.js +2 -2
  98. package/dist/openapi/models/EmptySuccessEnvelope.d.ts +58 -0
  99. package/dist/openapi/models/EmptySuccessEnvelope.js +53 -0
  100. package/dist/openapi/models/EndpointProjection.d.ts +12 -3
  101. package/dist/openapi/models/EndpointProjection.js +2 -2
  102. package/dist/openapi/models/ErrorEnvelope.d.ts +13 -2
  103. package/dist/openapi/models/ErrorEnvelope.js +2 -2
  104. package/dist/openapi/models/EstimateQuality.d.ts +2 -2
  105. package/dist/openapi/models/EstimateQuality.js +2 -2
  106. package/dist/openapi/models/EstimateRange.d.ts +2 -2
  107. package/dist/openapi/models/EstimateRange.js +2 -2
  108. package/dist/openapi/models/ExternalDestination.d.ts +2 -2
  109. package/dist/openapi/models/ExternalDestination.js +2 -2
  110. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +2 -2
  111. package/dist/openapi/models/ExternalImportCreatedResponse.js +2 -2
  112. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +2 -2
  113. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +2 -2
  114. package/dist/openapi/models/ExternalImportRequest.d.ts +2 -2
  115. package/dist/openapi/models/ExternalImportRequest.js +2 -2
  116. package/dist/openapi/models/ExternalImportToken.d.ts +2 -2
  117. package/dist/openapi/models/ExternalImportToken.js +2 -2
  118. package/dist/openapi/models/ExternalSource.d.ts +2 -2
  119. package/dist/openapi/models/ExternalSource.js +2 -2
  120. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +19 -9
  121. package/dist/openapi/models/FeatureNotAvailableResponse.js +2 -2
  122. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +13 -2
  123. package/dist/openapi/models/FeatureTierRestrictedResponse.js +2 -2
  124. package/dist/openapi/models/FeatureViolation.d.ts +2 -2
  125. package/dist/openapi/models/FeatureViolation.js +2 -2
  126. package/dist/openapi/models/ForgotPasswordRequest.d.ts +32 -0
  127. package/dist/openapi/models/ForgotPasswordRequest.js +43 -0
  128. package/dist/openapi/models/ImageEncodeCapabilities.d.ts +65 -0
  129. package/dist/openapi/models/ImageEncodeCapabilities.js +55 -0
  130. package/dist/openapi/models/JobDefinition.d.ts +27 -8
  131. package/dist/openapi/models/JobDefinition.js +2 -2
  132. package/dist/openapi/models/JobDownload.d.ts +2 -2
  133. package/dist/openapi/models/JobDownload.js +2 -2
  134. package/dist/openapi/models/JobInputV2.d.ts +13 -9
  135. package/dist/openapi/models/JobInputV2.js +5 -5
  136. package/dist/openapi/models/JobMediaClass.d.ts +34 -0
  137. package/dist/openapi/models/JobMediaClass.js +52 -0
  138. package/dist/openapi/models/JobOutputSource.d.ts +2 -2
  139. package/dist/openapi/models/JobOutputSource.js +2 -2
  140. package/dist/openapi/models/JobResponse.d.ts +24 -2
  141. package/dist/openapi/models/JobResponse.js +5 -2
  142. package/dist/openapi/models/JobStatus.d.ts +2 -2
  143. package/dist/openapi/models/JobStatus.js +2 -2
  144. package/dist/openapi/models/JobType.d.ts +2 -2
  145. package/dist/openapi/models/JobType.js +2 -2
  146. package/dist/openapi/models/LivenessResponse.d.ts +2 -2
  147. package/dist/openapi/models/LivenessResponse.js +2 -2
  148. package/dist/openapi/models/LoginUser200Response.d.ts +2 -2
  149. package/dist/openapi/models/LoginUser200Response.js +2 -2
  150. package/dist/openapi/models/LoginUser200ResponseData.d.ts +2 -2
  151. package/dist/openapi/models/LoginUser200ResponseData.js +2 -2
  152. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +2 -2
  153. package/dist/openapi/models/LoginUser200ResponseDataUser.js +2 -2
  154. package/dist/openapi/models/LoginUserRequest.d.ts +2 -2
  155. package/dist/openapi/models/LoginUserRequest.js +2 -2
  156. package/dist/openapi/models/MetadataResponse.d.ts +2 -2
  157. package/dist/openapi/models/MetadataResponse.js +2 -2
  158. package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
  159. package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
  160. package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
  161. package/dist/openapi/models/MetadataResponseExif.js +2 -2
  162. package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
  163. package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
  164. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +2 -2
  165. package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
  166. package/dist/openapi/models/MimeGroupSchema.d.ts +37 -2
  167. package/dist/openapi/models/MimeGroupSchema.js +5 -2
  168. package/dist/openapi/models/MultiInputSource.d.ts +41 -0
  169. package/dist/openapi/models/MultiInputSource.js +52 -0
  170. package/dist/openapi/models/MultipartCompleteRequest.d.ts +2 -2
  171. package/dist/openapi/models/MultipartCompleteRequest.js +2 -2
  172. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
  173. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
  174. package/dist/openapi/models/MultipartCompleteResponse.d.ts +2 -2
  175. package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
  176. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +2 -2
  177. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
  178. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +2 -2
  179. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +2 -2
  180. package/dist/openapi/models/MultipartInitiateResponse.d.ts +2 -2
  181. package/dist/openapi/models/MultipartInitiateResponse.js +2 -2
  182. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +2 -2
  183. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
  184. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +2 -2
  185. package/dist/openapi/models/MultipartKeepaliveResponse.js +2 -2
  186. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +2 -2
  187. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +2 -2
  188. package/dist/openapi/models/MultipartPartListing.d.ts +2 -2
  189. package/dist/openapi/models/MultipartPartListing.js +2 -2
  190. package/dist/openapi/models/MultipartPresignRequest.d.ts +2 -2
  191. package/dist/openapi/models/MultipartPresignRequest.js +2 -2
  192. package/dist/openapi/models/MultipartPresignResponse.d.ts +2 -2
  193. package/dist/openapi/models/MultipartPresignResponse.js +2 -2
  194. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +2 -2
  195. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +2 -2
  196. package/dist/openapi/models/MultipartStatusResponse.d.ts +2 -2
  197. package/dist/openapi/models/MultipartStatusResponse.js +2 -2
  198. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +2 -2
  199. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +2 -2
  200. package/dist/openapi/models/OperationDefinition.d.ts +27 -2
  201. package/dist/openapi/models/OperationDefinition.js +11 -2
  202. package/dist/openapi/models/OperationDownload.d.ts +30 -2
  203. package/dist/openapi/models/OperationDownload.js +6 -2
  204. package/dist/openapi/models/OperationInputModel.d.ts +3 -3
  205. package/dist/openapi/models/OperationInputModel.js +3 -3
  206. package/dist/openapi/models/OperationResponse.d.ts +18 -2
  207. package/dist/openapi/models/OperationResponse.js +5 -2
  208. package/dist/openapi/models/OperationResult.d.ts +2 -2
  209. package/dist/openapi/models/OperationResult.js +2 -2
  210. package/dist/openapi/models/OperationResultMetadata.d.ts +48 -0
  211. package/dist/openapi/models/OperationResultMetadata.js +41 -0
  212. package/dist/openapi/models/OperationResultMetrics.d.ts +16 -3
  213. package/dist/openapi/models/OperationResultMetrics.js +2 -2
  214. package/dist/openapi/models/OperationSchemaDefinition.d.ts +6 -5
  215. package/dist/openapi/models/OperationSchemaDefinition.js +2 -2
  216. package/dist/openapi/models/OperationStatus.d.ts +2 -2
  217. package/dist/openapi/models/OperationStatus.js +2 -2
  218. package/dist/openapi/models/OperationType.d.ts +19 -14
  219. package/dist/openapi/models/OperationType.js +20 -15
  220. package/dist/openapi/models/OperationsSchemaResponse.d.ts +39 -4
  221. package/dist/openapi/models/OperationsSchemaResponse.js +8 -2
  222. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +55 -0
  223. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +42 -0
  224. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +40 -0
  225. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +45 -0
  226. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +45 -0
  227. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +43 -0
  228. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +33 -0
  229. package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +42 -0
  230. package/dist/openapi/models/OptionSchema.d.ts +2 -2
  231. package/dist/openapi/models/OptionSchema.js +2 -2
  232. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +2 -2
  233. package/dist/openapi/models/PerRoleCardinalityEntry.js +2 -2
  234. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +2 -2
  235. package/dist/openapi/models/PerValueAvailabilityEntry.js +2 -2
  236. package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
  237. package/dist/openapi/models/PresignedUrlPart.js +2 -2
  238. package/dist/openapi/models/ProbePendingResponse.d.ts +20 -8
  239. package/dist/openapi/models/ProbePendingResponse.js +2 -2
  240. package/dist/openapi/models/ProcessingClass.d.ts +2 -2
  241. package/dist/openapi/models/ProcessingClass.js +2 -2
  242. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +2 -2
  243. package/dist/openapi/models/ProcessingClassBandViolation.js +2 -2
  244. package/dist/openapi/models/ProcessingClassConstraints.d.ts +69 -0
  245. package/dist/openapi/models/ProcessingClassConstraints.js +49 -0
  246. package/dist/openapi/models/ProcessingClassEntry.d.ts +93 -0
  247. package/dist/openapi/models/ProcessingClassEntry.js +57 -0
  248. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +19 -6
  249. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +2 -2
  250. package/dist/openapi/models/ProcessingClassHint.d.ts +2 -2
  251. package/dist/openapi/models/ProcessingClassHint.js +2 -2
  252. package/dist/openapi/models/ProcessingClassReason.d.ts +2 -2
  253. package/dist/openapi/models/ProcessingClassReason.js +2 -2
  254. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +2 -2
  255. package/dist/openapi/models/ProcessingClassRejectReason.js +2 -2
  256. package/dist/openapi/models/ProcessingPlan.d.ts +2 -2
  257. package/dist/openapi/models/ProcessingPlan.js +2 -2
  258. package/dist/openapi/models/ProcessingPlanJob.d.ts +2 -2
  259. package/dist/openapi/models/ProcessingPlanJob.js +2 -2
  260. package/dist/openapi/models/ReEncodeDecision.d.ts +2 -2
  261. package/dist/openapi/models/ReEncodeDecision.js +2 -2
  262. package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
  263. package/dist/openapi/models/ReadinessResponse.js +2 -2
  264. package/dist/openapi/models/RegisterUser422Response.d.ts +27 -0
  265. package/dist/openapi/models/RegisterUser422Response.js +47 -0
  266. package/dist/openapi/models/RegisterUserRequest.d.ts +38 -0
  267. package/dist/openapi/models/RegisterUserRequest.js +47 -0
  268. package/dist/openapi/models/ResetPasswordRequest.d.ts +38 -0
  269. package/dist/openapi/models/ResetPasswordRequest.js +47 -0
  270. package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
  271. package/dist/openapi/models/ResponseEnvelope.js +2 -2
  272. package/dist/openapi/models/RetryResponse.d.ts +2 -2
  273. package/dist/openapi/models/RetryResponse.js +2 -2
  274. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +2 -2
  275. package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
  276. package/dist/openapi/models/SseCompletionBase.d.ts +2 -2
  277. package/dist/openapi/models/SseCompletionBase.js +2 -2
  278. package/dist/openapi/models/SseEventType.d.ts +2 -2
  279. package/dist/openapi/models/SseEventType.js +2 -2
  280. package/dist/openapi/models/SseJobCompletedData.d.ts +2 -2
  281. package/dist/openapi/models/SseJobCompletedData.js +2 -2
  282. package/dist/openapi/models/SseJobFailedData.d.ts +2 -2
  283. package/dist/openapi/models/SseJobFailedData.js +2 -2
  284. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +2 -2
  285. package/dist/openapi/models/SseMultiOutputCompletion.js +2 -2
  286. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +2 -2
  287. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +2 -2
  288. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +2 -2
  289. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +2 -2
  290. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +2 -2
  291. package/dist/openapi/models/SseMultiOutputResultEntry.js +2 -2
  292. package/dist/openapi/models/SseOperationCompletedData.d.ts +17 -3
  293. package/dist/openapi/models/SseOperationCompletedData.js +2 -2
  294. package/dist/openapi/models/SseOperationCompletionResult.d.ts +2 -2
  295. package/dist/openapi/models/SseOperationCompletionResult.js +2 -2
  296. package/dist/openapi/models/SseOperationFailedData.d.ts +2 -2
  297. package/dist/openapi/models/SseOperationFailedData.js +2 -2
  298. package/dist/openapi/models/SseOperationProgressData.d.ts +4 -3
  299. package/dist/openapi/models/SseOperationProgressData.js +2 -2
  300. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +2 -2
  301. package/dist/openapi/models/SseSingleOutputCompletion.js +2 -2
  302. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +2 -2
  303. package/dist/openapi/models/SseWorkflowTerminalData.js +2 -2
  304. package/dist/openapi/models/TierRestrictionKind.d.ts +2 -2
  305. package/dist/openapi/models/TierRestrictionKind.js +2 -2
  306. package/dist/openapi/models/TierRestrictionResponse.d.ts +13 -2
  307. package/dist/openapi/models/TierRestrictionResponse.js +2 -2
  308. package/dist/openapi/models/UpdateProfile200Response.d.ts +46 -0
  309. package/dist/openapi/models/UpdateProfile200Response.js +54 -0
  310. package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +71 -0
  311. package/dist/openapi/models/UpdateProfile200ResponseData.js +67 -0
  312. package/dist/openapi/models/UpdateProfile422Response.d.ts +27 -0
  313. package/dist/openapi/models/UpdateProfile422Response.js +47 -0
  314. package/dist/openapi/models/UpdateProfileRequest.d.ts +44 -0
  315. package/dist/openapi/models/UpdateProfileRequest.js +47 -0
  316. package/dist/openapi/models/UploadConstraintsApplied.d.ts +2 -2
  317. package/dist/openapi/models/UploadConstraintsApplied.js +2 -2
  318. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +13 -2
  319. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +2 -2
  320. package/dist/openapi/models/UploadFile403Response.d.ts +2 -2
  321. package/dist/openapi/models/UploadFile403Response.js +2 -2
  322. package/dist/openapi/models/UploadFile422Response.d.ts +2 -2
  323. package/dist/openapi/models/UploadFile422Response.js +2 -2
  324. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +2 -2
  325. package/dist/openapi/models/UploadProbeMediaMetadata.js +2 -2
  326. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +2 -2
  327. package/dist/openapi/models/UploadProbeProcessingClass.js +2 -2
  328. package/dist/openapi/models/UploadProbeResponse.d.ts +2 -2
  329. package/dist/openapi/models/UploadProbeResponse.js +2 -2
  330. package/dist/openapi/models/UploadProbeStatus.d.ts +2 -2
  331. package/dist/openapi/models/UploadProbeStatus.js +2 -2
  332. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +2 -2
  333. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +2 -2
  334. package/dist/openapi/models/UploadResponse.d.ts +2 -2
  335. package/dist/openapi/models/UploadResponse.js +2 -2
  336. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +13 -2
  337. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +2 -2
  338. package/dist/openapi/models/UploadSource.d.ts +2 -2
  339. package/dist/openapi/models/UploadSource.js +2 -2
  340. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +2 -2
  341. package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
  342. package/dist/openapi/models/UploadThresholds.d.ts +2 -2
  343. package/dist/openapi/models/UploadThresholds.js +2 -2
  344. package/dist/openapi/models/UserTier.d.ts +2 -2
  345. package/dist/openapi/models/UserTier.js +2 -2
  346. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +32 -5
  347. package/dist/openapi/models/ValidationErrorEnvelope.js +12 -2
  348. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +2 -2
  349. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +2 -2
  350. package/dist/openapi/models/VerifyEmailRequest.d.ts +32 -0
  351. package/dist/openapi/models/VerifyEmailRequest.js +43 -0
  352. package/dist/openapi/models/WarningType.d.ts +2 -2
  353. package/dist/openapi/models/WarningType.js +2 -2
  354. package/dist/openapi/models/WebhookOperationContext.d.ts +2 -2
  355. package/dist/openapi/models/WebhookOperationContext.js +2 -2
  356. package/dist/openapi/models/WebhookPayload.d.ts +2 -2
  357. package/dist/openapi/models/WebhookPayload.js +2 -2
  358. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +2 -2
  359. package/dist/openapi/models/WorkflowCancelBillingEffect.js +2 -2
  360. package/dist/openapi/models/WorkflowCancelResponse.d.ts +2 -2
  361. package/dist/openapi/models/WorkflowCancelResponse.js +2 -2
  362. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +2 -2
  363. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +2 -2
  364. package/dist/openapi/models/WorkflowCreateRequest.d.ts +64 -4
  365. package/dist/openapi/models/WorkflowCreateRequest.js +10 -6
  366. package/dist/openapi/models/WorkflowCreateResponse.d.ts +24 -2
  367. package/dist/openapi/models/WorkflowCreateResponse.js +5 -2
  368. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +2 -2
  369. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
  370. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
  371. package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
  372. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +2 -2
  373. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
  374. package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
  375. package/dist/openapi/models/WorkflowEdge.js +2 -2
  376. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +13 -2
  377. package/dist/openapi/models/WorkflowExpiredResponse.js +2 -2
  378. package/dist/openapi/models/WorkflowListResponse.d.ts +50 -0
  379. package/dist/openapi/models/WorkflowListResponse.js +50 -0
  380. package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +46 -0
  381. package/dist/openapi/models/WorkflowListSuccessEnvelope.js +54 -0
  382. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +2 -2
  383. package/dist/openapi/models/WorkflowPauseRequiredAction.js +2 -2
  384. package/dist/openapi/models/WorkflowPausedDetail.d.ts +2 -2
  385. package/dist/openapi/models/WorkflowPausedDetail.js +2 -2
  386. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +2 -2
  387. package/dist/openapi/models/WorkflowPausedDetailLinks.js +2 -2
  388. package/dist/openapi/models/WorkflowProcessing.d.ts +2 -2
  389. package/dist/openapi/models/WorkflowProcessing.js +2 -2
  390. package/dist/openapi/models/WorkflowResumeResponse.d.ts +2 -2
  391. package/dist/openapi/models/WorkflowResumeResponse.js +2 -2
  392. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +2 -2
  393. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +2 -2
  394. package/dist/openapi/models/WorkflowSource.d.ts +7 -4
  395. package/dist/openapi/models/WorkflowSource.js +2 -2
  396. package/dist/openapi/models/WorkflowStatus.d.ts +2 -2
  397. package/dist/openapi/models/WorkflowStatus.js +2 -2
  398. package/dist/openapi/models/WorkflowStatusResponse.d.ts +21 -2
  399. package/dist/openapi/models/WorkflowStatusResponse.js +5 -2
  400. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +2 -2
  401. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
  402. package/dist/openapi/models/WorkflowSummary.d.ts +60 -0
  403. package/dist/openapi/models/WorkflowSummary.js +57 -0
  404. package/dist/openapi/models/WorkflowSummaryJob.d.ts +57 -0
  405. package/dist/openapi/models/WorkflowSummaryJob.js +57 -0
  406. package/dist/openapi/models/WorkflowWarning.d.ts +2 -2
  407. package/dist/openapi/models/WorkflowWarning.js +2 -2
  408. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +2 -2
  409. package/dist/openapi/models/WorkflowWarningSeverity.js +2 -2
  410. package/dist/openapi/models/index.d.ts +35 -1
  411. package/dist/openapi/models/index.js +35 -1
  412. package/dist/openapi/runtime.d.ts +2 -2
  413. package/dist/openapi/runtime.js +2 -2
  414. package/dist/operations/audio_to_video.metadata.js +1 -1
  415. package/dist/operations/compress.d.ts +0 -9
  416. package/dist/operations/compress.js +0 -6
  417. package/dist/operations/compress.metadata.js +4 -12
  418. package/dist/operations/index.d.ts +3 -0
  419. package/dist/operations/index.js +3 -0
  420. package/dist/operations/merge.d.ts +4 -0
  421. package/dist/operations/merge.metadata.js +12 -3
  422. package/dist/operations/passthrough.metadata.d.ts +2 -0
  423. package/dist/operations/passthrough.metadata.js +6 -0
  424. package/dist/operations/render_variants.d.ts +24 -0
  425. package/dist/operations/render_variants.js +14 -0
  426. package/dist/operations/render_variants.metadata.d.ts +2 -0
  427. package/dist/operations/render_variants.metadata.js +18 -0
  428. package/dist/operations/split.d.ts +8 -1
  429. package/dist/operations/split.js +5 -0
  430. package/dist/operations/split.metadata.js +22 -5
  431. package/dist/operations/video_watermark.metadata.js +2 -2
  432. package/openapi/api.yaml +2566 -288
  433. package/operations/schemas/archive.yaml +1 -1
  434. package/operations/schemas/audio_overlay.yaml +29 -13
  435. package/operations/schemas/audio_to_video.yaml +12 -9
  436. package/operations/schemas/audio_watermark.yaml +18 -16
  437. package/operations/schemas/compress.yaml +34 -32
  438. package/operations/schemas/custom_luma.yaml +21 -7
  439. package/operations/schemas/image_watermark.yaml +22 -7
  440. package/operations/schemas/merge.yaml +94 -41
  441. package/operations/schemas/passthrough.yaml +49 -0
  442. package/operations/schemas/render_variants.yaml +117 -0
  443. package/operations/schemas/split.yaml +76 -15
  444. package/operations/schemas/text_watermark.yaml +6 -6
  445. package/operations/schemas/thumbnail.yaml +1 -1
  446. package/operations/schemas/video_text_watermark.yaml +2 -2
  447. package/operations/schemas/video_watermark.yaml +20 -9
  448. package/package.json +3 -1
  449. package/dist/asyncapi/AnonymousSchema_253.d.ts +0 -5
  450. package/dist/asyncapi/AnonymousSchema_253.js +0 -6
  451. package/dist/openapi/models/LogoutUser200Response.d.ts +0 -50
  452. package/dist/openapi/models/LogoutUser200Response.js +0 -53
  453. /package/dist/asyncapi/{NotificationsOperationsQueue.js → NotificationsJobsQueue.js} +0 -0
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * GISL Compression API
5
- * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
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.21.0
7
+ * The version of the OpenAPI document: 2.64.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -15,20 +15,22 @@
15
15
  * Available operation types:
16
16
  * - compress: Reduce file size (images, audio, video, documents)
17
17
  * - thumbnail: Legacy thumbnail value. Generates a preview image
18
- * for any media type via a single Lambda. Currently the only
19
- * thumbnail value the compression_api publisher emits; retirement
20
- * is planned after the publisher adopts the four sub-type values
21
- * below in a follow-up API PR.
18
+ * for any media type via a single Lambda. Retained as a valid
19
+ * routing target during the migration window, but the
20
+ * compression_api publisher no longer emits it it now resolves
21
+ * the per-media sub-type value below on the SNS `operation_type`
22
+ * attribute. The payload `operation_type` field stays `thumbnail`.
22
23
  * - thumbnail_image: Image thumbnail sub-type. Backed by a dedicated
23
- * Rust image Lambda. Not yet emitted by the publisher.
24
+ * Rust image Lambda. Emitted by the publisher for image inputs.
24
25
  * - thumbnail_video: Video thumbnail sub-type. Backed by a dedicated
25
- * FFmpeg Lambda. Not yet emitted.
26
+ * FFmpeg Lambda. Emitted by the publisher for video inputs.
26
27
  * - thumbnail_document: PDF/EPUB thumbnail sub-type. Backed by a
27
- * dedicated Ghostscript Lambda. Not yet emitted.
28
+ * dedicated Ghostscript Lambda. Emitted by the publisher for
29
+ * PDF/EPUB inputs.
28
30
  * - thumbnail_office: Office document (DOCX/XLSX/PPTX/ODT/ODS/ODP)
29
31
  * thumbnail sub-type. Backed by a dedicated LibreOffice Lambda.
30
- * Not yet emitted.
31
- * - image_watermark: Image overlay (file or external_source) onto a base IMAGE asset. Multi-input (Path B with role: base + overlay). Stable for static-image bases (jpeg/png/webp); animated GIF is advertised as `planned` via the `image_gif` mime_group — dispatch returns `feature_not_available` (422) until Lambda support ships. Video bases are NOT supported by image_watermark — use the dedicated `video_watermark` operation per ADR-0013. Per ADR-0004 + I4-CONS + I5 (Trello AKZiOXnd).
32
+ * Emitted by the publisher for office-document inputs.
33
+ * - image_watermark: Image overlay onto a base IMAGE asset. Multi-input (Path B with role: base + overlay). Each input is a `MultiInputSource` (external_import / connection / job_output — no upload-direct); an uploaded base or overlay enters via a `passthrough` source job referenced by `job_output`. Stable for static-image bases (jpeg/png/webp); animated GIF is advertised as `planned` via the `image_gif` mime_group — dispatch returns `feature_not_available` (422) until Lambda support ships. Video bases are NOT supported by image_watermark — use the dedicated `video_watermark` operation per ADR-0013. Per ADR-0004 + I4-CONS + I5 (Trello AKZiOXnd).
32
34
  * - text_watermark: Text overlay rendered onto an image (Liberation Sans). Single-input. Per ADR-0004 + I4-CONS.
33
35
  * - merge: Concatenate/combine multiple files into one (images, video, audio). Multi-input. Image inputs merge into animated GIF or slideshow video; image collage/grid and PDF concatenation are not supported by the V1 Lambda.
34
36
  * - archive: Bundle files into ZIP/tar.gz (all types). Multi-input.
@@ -36,10 +38,11 @@
36
38
  * - custom_luma: Apply a caller-uploaded luma matte to a base video for a custom luma-matte transition effect. Multi-input (`role: base` + `role: transition_mask`). `availability: planned` + `required_tier: pro`; dispatch returns `feature_not_available` (422) until Lambda ships. Distinct from FFmpeg `xfade=custom` (which is an expression, not an operation). Per ticket I29 (Trello EPUE5Vs1).
37
39
  * - audio_overlay: Mix a secondary audio asset over a primary audio or video base (DJ tags, podcast intros/outros, station IDs, jingles). Multi-input (`role: base` + `role: overlay`). `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. **NOT** the same as `audio_watermark` — that operation is steganographic (imperceptible identifier embedded for ownership tracking), tracked separately by I20. Per ticket I19 (Trello Xr3Z4GBF).
38
40
  * - audio_watermark: Embed a steganographic forensic watermark into an audio asset (or a video's audio track) — Cinavia / Resemble PerTh territory. Single-input. `availability: planned` + `required_tier: enterprise`; dispatch returns `feature_not_available` (422) until Lambda ships. Pairs with `POST /api/audio-watermark/decode` for own-watermarks-only extraction. Per ticket I20 (Trello omiCq7Vn).
39
- * - audio_to_video: Produce a video from an audio input plus an OPTIONAL still image overlay. Multi-input role-based with the first OPTIONAL role on the contract (`role: base` audio required, `role: overlay` image 0..1 — see `per_role_cardinality`). When overlay is omitted, the video uses a solid background colour. `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. Per ticket [`SlluxMBN`](https://trello.com/c/SlluxMBN) + ADR-0015 (introduces `per_role_cardinality` vocab).
40
- * - video_watermark: Apply an image overlay onto a base video via FFmpeg's `overlay` filter. Multi-input role-based (`role: base` video + `role: overlay` image, exactly one of each per `per_role_cardinality`). Re-encode required; audio stream-copy passthrough. Distinct from `image_watermark` (pure-Rust/image-only). `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
41
+ * - audio_to_video: Produce a video from an audio input plus an OPTIONAL still image overlay. Multi-input role-based with the first OPTIONAL role on the contract (`role: base` audio required, `role: overlay` image 0..1 — see `per_role_cardinality`). When overlay is omitted, the video uses a solid background colour. `availability: beta` (Wave A — Lambda backend live; opt-in, MUST NOT return `feature_not_available`; may change with notice). Per ticket [`SlluxMBN`](https://trello.com/c/SlluxMBN) + ADR-0015 (introduces `per_role_cardinality` vocab).
42
+ * - video_watermark: Apply an image overlay onto a base video via FFmpeg's `overlay` filter. Multi-input role-based (`role: base` video + `role: overlay` image, exactly one of each per `per_role_cardinality`). Re-encode required; audio stream-copy passthrough. Distinct from `image_watermark` (pure-Rust/image-only). `availability: beta` (Wave A — Lambda backend live; opt-in, MUST NOT 422; `short_form` is beta, `long_form` stays `planned` — no live Fargate worker; `multi_overlay_stack` stays `planned`). Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
41
43
  * - video_text_watermark: Render a text overlay onto a base video via FFmpeg's `drawtext` filter. Single-input — text and styling in options. Same `watermark_mode` (single/tiled), anchor + margin vocab as `text_watermark`. Re-encode required; audio stream-copy passthrough. `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
42
- * - split: Fan one input file into N outputs across GIF / PDF / audio / video MIME families. Single-input per-mime-group catalog (mirrors merge/convert): GIF uses `frame_range` (REQUIRED) + `output_format`; PDF uses `page_range` OR `page_groups` (mutually exclusive); audio + video use a `mode` discriminator (interval/count/cut_points) + numeric-seconds wire format + `precision` flag (fast/exact). 200-output hard cap per ADR-0009 §D5 with per-mode preflight math; output naming `output-001..output-200`. Long-form video routes to a separate `split-video-fargate` worker via `processing_class`. `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. Per ticket [`vKI0CFDu`](https://trello.com/c/vKI0CFDu) + ADR-0014.
44
+ * - split: Fan one input file into N outputs across GIF / PDF / audio / video MIME families. Single-input per-mime-group catalog (mirrors merge/convert): GIF uses `frame_range` (REQUIRED) + `output_format`; PDF uses `page_range` OR `page_groups` (mutually exclusive); audio + video use a `mode` discriminator (interval/count/cut_points) + numeric-seconds wire format + `precision` flag (fast/exact). 200-output hard cap per ADR-0009 §D5 with per-mode preflight math; output naming `output-001..output-200`. Long-form video routes to a separate `split-video-fargate` worker via `processing_class`. `availability: beta` for the `audio` and `video` mime_groups (workers live on staging — shape-stable + opt-in, MUST NOT 422); video activates short-form only (`video.processing_class.short_form: beta`; `long_form` / `split-video-fargate` stays `planned`). The `image_gif` and `document_pdf` mime_groups stay `availability: planned` and dispatch returns `feature_not_available` (422) until their workers ship. Per ticket [`vKI0CFDu`](https://trello.com/c/vKI0CFDu) + ADR-0014.
45
+ * - passthrough: Inert lossless source operation. A single-input source job whose SOLE operation is `passthrough` emits its source bytes UNCHANGED — no compression, no Lambda. The API self-completes the job at publish (terminal output = the upload `{bucket, key}` unchanged). Its purpose is to feed an uploaded file into a multi-input operation LOSSLESSLY: because `JobInputV2.source` is narrowed to exclude upload-direct, an upload that must enter a `merge` / `archive` / `image_watermark` op enters via a `passthrough` source job referenced downstream by `{type: job_output, from: <id>}` — preserving billing / DAG / lineage. Distinct from `operations: []` (which keeps its implicit-compress meaning on a single-input upload job); `passthrough` is the EXPLICIT lossless path via the "non-empty `operations[]` without `compress` = compression opt-out" rule. Media-agnostic; no options. `availability: beta` — activated (the inputs[]-narrowing + passthrough self-complete mechanism is deployed API-side); workflow-create accepts `passthrough` source jobs and MUST NOT return `feature_not_available`. **Never published to SNS** — deliberately absent from the AsyncAPI routing enums (API self-completes; no `ops-passthrough` queue). Per ticket [`4som89Uh`](https://trello.com/c/4som89Uh) + ADR-0004 (planned→beta flip).
43
46
  *
44
47
  * Both the legacy `thumbnail` value and the four sub-type values
45
48
  * are valid routing targets today during the thumbnail migration
@@ -61,6 +64,7 @@ export const OperationType = {
61
64
  thumbnail_office: 'thumbnail_office',
62
65
  image_watermark: 'image_watermark',
63
66
  text_watermark: 'text_watermark',
67
+ render_variants: 'render_variants',
64
68
  merge: 'merge',
65
69
  archive: 'archive',
66
70
  convert: 'convert',
@@ -70,7 +74,8 @@ export const OperationType = {
70
74
  audio_to_video: 'audio_to_video',
71
75
  video_watermark: 'video_watermark',
72
76
  video_text_watermark: 'video_text_watermark',
73
- split: 'split'
77
+ split: 'split',
78
+ passthrough: 'passthrough'
74
79
  };
75
80
  export function instanceOfOperationType(value) {
76
81
  for (const key in OperationType) {
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * GISL Compression API
3
- * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
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.21.0
5
+ * The version of the OpenAPI document: 2.64.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -10,7 +10,9 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { UserTier } from './UserTier.js';
13
+ import type { ImageEncodeCapabilities } from './ImageEncodeCapabilities.js';
13
14
  import type { EndpointProjection } from './EndpointProjection.js';
15
+ import type { OperationsSchemaResponseWorkflowFeatures } from './OperationsSchemaResponseWorkflowFeatures.js';
14
16
  import type { OperationSchemaDefinition } from './OperationSchemaDefinition.js';
15
17
  /**
16
18
  * Operations meta-schema. Describes all available operation types,
@@ -33,8 +35,10 @@ import type { OperationSchemaDefinition } from './OperationSchemaDefinition.js';
33
35
  * **Caching.** Per-tier private caching with ETag-based revalidation
34
36
  * (per ADR-0002). Public CDN caching is NOT used because the cache
35
37
  * key includes the caller's `user_tier`. Clients send
36
- * `If-None-Match` (and/or `If-Modified-Since`) to revalidate; the
37
- * server returns `304 Not Modified` when fresh.
38
+ * `If-None-Match` to revalidate; the server returns `304 Not
39
+ * Modified` when fresh. The content `ETag` is the sole conditional
40
+ * validator — `If-Modified-Since` is not honored and `Last-Modified`
41
+ * is informational only (per `sUyA9ZXD`).
38
42
  *
39
43
  * Cache-key composition: `user_tier + schema_version + capabilities_version + environment`.
40
44
  *
@@ -125,6 +129,37 @@ export interface OperationsSchemaResponse {
125
129
  endpoints?: {
126
130
  [key: string]: EndpointProjection;
127
131
  };
132
+ /**
133
+ *
134
+ * @type {OperationsSchemaResponseWorkflowFeatures}
135
+ * @memberof OperationsSchemaResponse
136
+ */
137
+ workflowFeatures?: OperationsSchemaResponseWorkflowFeatures;
138
+ /**
139
+ * Pre-flight image-encode capability matrix
140
+ * (`webp_quality_supported`, `background_flatten`, …) — **IDENTICAL
141
+ * shape to `composition_plan.capabilities`** on the create-workflow
142
+ * 201, surfaced here so SDK/FE can fail-fast guard
143
+ * format/quality/alpha-flatten choices BEFORE submitting a workflow.
144
+ * Reuses the same API-side producer so the two can never disagree.
145
+ *
146
+ * **Tier-invariant.** This is a fixed codec/hardware capability fact
147
+ * (what the image encoders CAN do), NOT an entitlement — identical
148
+ * for every tier including anonymous. Deliberately carries no
149
+ * `availability` tag, no `per_value_availability`, and does NOT vary
150
+ * by `user_tier` (even though the enclosing response is tier-scoped).
151
+ *
152
+ * **Optional in the wire envelope** (same incremental-mirroring
153
+ * stance as `endpoints` / `workflow_features`): the committed sidecar
154
+ * MAY emit it; the runtime `GET /api/operations/schema` emits it once
155
+ * the API generator catches up. Consumers MUST tolerate its absence
156
+ * and its presence from either source. Per ticket
157
+ * [`kybXQe2S`](https://trello.com/c/kybXQe2S).
158
+ *
159
+ * @type {ImageEncodeCapabilities}
160
+ * @memberof OperationsSchemaResponse
161
+ */
162
+ imageEncodeCapabilities?: ImageEncodeCapabilities;
128
163
  }
129
164
  /**
130
165
  * Check if a given object implements the OperationsSchemaResponse interface.
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * GISL Compression API
5
- * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
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.21.0
7
+ * The version of the OpenAPI document: 2.64.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -13,7 +13,9 @@
13
13
  */
14
14
  import { mapValues } from '../runtime.js';
15
15
  import { UserTierFromJSON, UserTierToJSON, } from './UserTier.js';
16
+ import { ImageEncodeCapabilitiesFromJSON, ImageEncodeCapabilitiesToJSON, } from './ImageEncodeCapabilities.js';
16
17
  import { EndpointProjectionFromJSON, EndpointProjectionToJSON, } from './EndpointProjection.js';
18
+ import { OperationsSchemaResponseWorkflowFeaturesFromJSON, OperationsSchemaResponseWorkflowFeaturesToJSON, } from './OperationsSchemaResponseWorkflowFeatures.js';
17
19
  import { OperationSchemaDefinitionFromJSON, OperationSchemaDefinitionToJSON, } from './OperationSchemaDefinition.js';
18
20
  /**
19
21
  * Check if a given object implements the OperationsSchemaResponse interface.
@@ -45,6 +47,8 @@ export function OperationsSchemaResponseFromJSONTyped(json, ignoreDiscriminator)
45
47
  'userTier': json['user_tier'] == null ? undefined : UserTierFromJSON(json['user_tier']),
46
48
  'operations': (mapValues(json['operations'], OperationSchemaDefinitionFromJSON)),
47
49
  'endpoints': json['endpoints'] == null ? undefined : (mapValues(json['endpoints'], EndpointProjectionFromJSON)),
50
+ 'workflowFeatures': json['workflow_features'] == null ? undefined : OperationsSchemaResponseWorkflowFeaturesFromJSON(json['workflow_features']),
51
+ 'imageEncodeCapabilities': json['image_encode_capabilities'] == null ? undefined : ImageEncodeCapabilitiesFromJSON(json['image_encode_capabilities']),
48
52
  };
49
53
  }
50
54
  export function OperationsSchemaResponseToJSON(json) {
@@ -63,5 +67,7 @@ export function OperationsSchemaResponseToJSONTyped(value, ignoreDiscriminator =
63
67
  'user_tier': UserTierToJSON(value['userTier']),
64
68
  'operations': (mapValues(value['operations'], OperationSchemaDefinitionToJSON)),
65
69
  'endpoints': value['endpoints'] == null ? undefined : (mapValues(value['endpoints'], EndpointProjectionToJSON)),
70
+ 'workflow_features': OperationsSchemaResponseWorkflowFeaturesToJSON(value['workflowFeatures']),
71
+ 'image_encode_capabilities': ImageEncodeCapabilitiesToJSON(value['imageEncodeCapabilities']),
66
72
  };
67
73
  }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
+ *
5
+ * The version of the OpenAPI document: 2.64.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { OperationsSchemaResponseWorkflowFeaturesDelivery } from './OperationsSchemaResponseWorkflowFeaturesDelivery.js';
13
+ /**
14
+ * Workflow-level option availability projection (ticket
15
+ * [`1ZQjSm0j`](https://trello.com/c/1ZQjSm0j)). Surfaces
16
+ * `per_value_availability` for workflow-level options that live in
17
+ * OpenAPI **component** schemas (not the per-operation
18
+ * `schemas/operations/*.yaml` that drive the `operations` map),
19
+ * keyed by REQUEST-shape path:
20
+ * - `delivery.mode.per_value_availability` (from the `Delivery.mode`
21
+ * schema)
22
+ * - `delivery.selection.type.per_value_availability` (from the
23
+ * `DeliverySelection.type` schema)
24
+ *
25
+ * Closes the co0CERtJ (v2.19.0) authority-hierarchy gap: those
26
+ * `planned` downgrades lived only in the (decorative per ADR-0001
27
+ * §1.5) openapi component tags; this surfaces them in the
28
+ * authoritative sidecar.
29
+ *
30
+ * **Optional in the wire envelope** (same incremental-mirroring
31
+ * stance as `endpoints`): the committed sidecar emits this block
32
+ * authoritatively; the runtime `GET /api/operations/schema` MAY
33
+ * mirror it once the API generator catches up. Consumers MUST
34
+ * tolerate its absence from the runtime endpoint (read the sidecar)
35
+ * and its presence from either source.
36
+ *
37
+ * @export
38
+ * @interface OperationsSchemaResponseWorkflowFeatures
39
+ */
40
+ export interface OperationsSchemaResponseWorkflowFeatures {
41
+ /**
42
+ *
43
+ * @type {OperationsSchemaResponseWorkflowFeaturesDelivery}
44
+ * @memberof OperationsSchemaResponseWorkflowFeatures
45
+ */
46
+ delivery?: OperationsSchemaResponseWorkflowFeaturesDelivery;
47
+ }
48
+ /**
49
+ * Check if a given object implements the OperationsSchemaResponseWorkflowFeatures interface.
50
+ */
51
+ export declare function instanceOfOperationsSchemaResponseWorkflowFeatures(value: object): value is OperationsSchemaResponseWorkflowFeatures;
52
+ export declare function OperationsSchemaResponseWorkflowFeaturesFromJSON(json: any): OperationsSchemaResponseWorkflowFeatures;
53
+ export declare function OperationsSchemaResponseWorkflowFeaturesFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationsSchemaResponseWorkflowFeatures;
54
+ export declare function OperationsSchemaResponseWorkflowFeaturesToJSON(json: any): OperationsSchemaResponseWorkflowFeatures;
55
+ export declare function OperationsSchemaResponseWorkflowFeaturesToJSONTyped(value?: OperationsSchemaResponseWorkflowFeatures | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,42 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
+ *
7
+ * The version of the OpenAPI document: 2.64.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { OperationsSchemaResponseWorkflowFeaturesDeliveryFromJSON, OperationsSchemaResponseWorkflowFeaturesDeliveryToJSON, } from './OperationsSchemaResponseWorkflowFeaturesDelivery.js';
15
+ /**
16
+ * Check if a given object implements the OperationsSchemaResponseWorkflowFeatures interface.
17
+ */
18
+ export function instanceOfOperationsSchemaResponseWorkflowFeatures(value) {
19
+ return true;
20
+ }
21
+ export function OperationsSchemaResponseWorkflowFeaturesFromJSON(json) {
22
+ return OperationsSchemaResponseWorkflowFeaturesFromJSONTyped(json, false);
23
+ }
24
+ export function OperationsSchemaResponseWorkflowFeaturesFromJSONTyped(json, ignoreDiscriminator) {
25
+ if (json == null) {
26
+ return json;
27
+ }
28
+ return {
29
+ 'delivery': json['delivery'] == null ? undefined : OperationsSchemaResponseWorkflowFeaturesDeliveryFromJSON(json['delivery']),
30
+ };
31
+ }
32
+ export function OperationsSchemaResponseWorkflowFeaturesToJSON(json) {
33
+ return OperationsSchemaResponseWorkflowFeaturesToJSONTyped(json, false);
34
+ }
35
+ export function OperationsSchemaResponseWorkflowFeaturesToJSONTyped(value, ignoreDiscriminator = false) {
36
+ if (value == null) {
37
+ return value;
38
+ }
39
+ return {
40
+ 'delivery': OperationsSchemaResponseWorkflowFeaturesDeliveryToJSON(value['delivery']),
41
+ };
42
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
+ *
5
+ * The version of the OpenAPI document: 2.64.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { OperationsSchemaResponseWorkflowFeaturesDeliveryMode } from './OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js';
13
+ import type { OperationsSchemaResponseWorkflowFeaturesDeliverySelection } from './OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface OperationsSchemaResponseWorkflowFeaturesDelivery
18
+ */
19
+ export interface OperationsSchemaResponseWorkflowFeaturesDelivery {
20
+ /**
21
+ *
22
+ * @type {OperationsSchemaResponseWorkflowFeaturesDeliveryMode}
23
+ * @memberof OperationsSchemaResponseWorkflowFeaturesDelivery
24
+ */
25
+ mode?: OperationsSchemaResponseWorkflowFeaturesDeliveryMode;
26
+ /**
27
+ *
28
+ * @type {OperationsSchemaResponseWorkflowFeaturesDeliverySelection}
29
+ * @memberof OperationsSchemaResponseWorkflowFeaturesDelivery
30
+ */
31
+ selection?: OperationsSchemaResponseWorkflowFeaturesDeliverySelection;
32
+ }
33
+ /**
34
+ * Check if a given object implements the OperationsSchemaResponseWorkflowFeaturesDelivery interface.
35
+ */
36
+ export declare function instanceOfOperationsSchemaResponseWorkflowFeaturesDelivery(value: object): value is OperationsSchemaResponseWorkflowFeaturesDelivery;
37
+ export declare function OperationsSchemaResponseWorkflowFeaturesDeliveryFromJSON(json: any): OperationsSchemaResponseWorkflowFeaturesDelivery;
38
+ export declare function OperationsSchemaResponseWorkflowFeaturesDeliveryFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationsSchemaResponseWorkflowFeaturesDelivery;
39
+ export declare function OperationsSchemaResponseWorkflowFeaturesDeliveryToJSON(json: any): OperationsSchemaResponseWorkflowFeaturesDelivery;
40
+ export declare function OperationsSchemaResponseWorkflowFeaturesDeliveryToJSONTyped(value?: OperationsSchemaResponseWorkflowFeaturesDelivery | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,45 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
+ *
7
+ * The version of the OpenAPI document: 2.64.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { OperationsSchemaResponseWorkflowFeaturesDeliveryModeFromJSON, OperationsSchemaResponseWorkflowFeaturesDeliveryModeToJSON, } from './OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js';
15
+ import { OperationsSchemaResponseWorkflowFeaturesDeliverySelectionFromJSON, OperationsSchemaResponseWorkflowFeaturesDeliverySelectionToJSON, } from './OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js';
16
+ /**
17
+ * Check if a given object implements the OperationsSchemaResponseWorkflowFeaturesDelivery interface.
18
+ */
19
+ export function instanceOfOperationsSchemaResponseWorkflowFeaturesDelivery(value) {
20
+ return true;
21
+ }
22
+ export function OperationsSchemaResponseWorkflowFeaturesDeliveryFromJSON(json) {
23
+ return OperationsSchemaResponseWorkflowFeaturesDeliveryFromJSONTyped(json, false);
24
+ }
25
+ export function OperationsSchemaResponseWorkflowFeaturesDeliveryFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'mode': json['mode'] == null ? undefined : OperationsSchemaResponseWorkflowFeaturesDeliveryModeFromJSON(json['mode']),
31
+ 'selection': json['selection'] == null ? undefined : OperationsSchemaResponseWorkflowFeaturesDeliverySelectionFromJSON(json['selection']),
32
+ };
33
+ }
34
+ export function OperationsSchemaResponseWorkflowFeaturesDeliveryToJSON(json) {
35
+ return OperationsSchemaResponseWorkflowFeaturesDeliveryToJSONTyped(json, false);
36
+ }
37
+ export function OperationsSchemaResponseWorkflowFeaturesDeliveryToJSONTyped(value, ignoreDiscriminator = false) {
38
+ if (value == null) {
39
+ return value;
40
+ }
41
+ return {
42
+ 'mode': OperationsSchemaResponseWorkflowFeaturesDeliveryModeToJSON(value['mode']),
43
+ 'selection': OperationsSchemaResponseWorkflowFeaturesDeliverySelectionToJSON(value['selection']),
44
+ };
45
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
+ *
5
+ * The version of the OpenAPI document: 2.64.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { PerValueAvailabilityEntry } from './PerValueAvailabilityEntry.js';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface OperationsSchemaResponseWorkflowFeaturesDeliveryMode
17
+ */
18
+ export interface OperationsSchemaResponseWorkflowFeaturesDeliveryMode {
19
+ /**
20
+ * Map of enum-value → `PerValueAvailabilityEntry`. Attached to an
21
+ * option's `per_value_availability` field when individual enum
22
+ * values need different availability tags.
23
+ *
24
+ * Keys MUST be a subset of the option's `values[]` array. Used by
25
+ * the runtime capability endpoint ([I3 `eCWIpug8`](https://trello.com/c/eCWIpug8))
26
+ * and sidecar `availability.json` ([I3b `GbQU8FaS`](https://trello.com/c/GbQU8FaS))
27
+ * to surface per-value granularity. Consumed by SDK generators
28
+ * (TypeScript / PHP / Python / Rust) when emitting typed enum
29
+ * bindings with availability metadata.
30
+ *
31
+ * @type {{ [key: string]: PerValueAvailabilityEntry; }}
32
+ * @memberof OperationsSchemaResponseWorkflowFeaturesDeliveryMode
33
+ */
34
+ perValueAvailability?: {
35
+ [key: string]: PerValueAvailabilityEntry;
36
+ };
37
+ }
38
+ /**
39
+ * Check if a given object implements the OperationsSchemaResponseWorkflowFeaturesDeliveryMode interface.
40
+ */
41
+ export declare function instanceOfOperationsSchemaResponseWorkflowFeaturesDeliveryMode(value: object): value is OperationsSchemaResponseWorkflowFeaturesDeliveryMode;
42
+ export declare function OperationsSchemaResponseWorkflowFeaturesDeliveryModeFromJSON(json: any): OperationsSchemaResponseWorkflowFeaturesDeliveryMode;
43
+ export declare function OperationsSchemaResponseWorkflowFeaturesDeliveryModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): OperationsSchemaResponseWorkflowFeaturesDeliveryMode;
44
+ export declare function OperationsSchemaResponseWorkflowFeaturesDeliveryModeToJSON(json: any): OperationsSchemaResponseWorkflowFeaturesDeliveryMode;
45
+ export declare function OperationsSchemaResponseWorkflowFeaturesDeliveryModeToJSONTyped(value?: OperationsSchemaResponseWorkflowFeaturesDeliveryMode | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,43 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
+ *
7
+ * The version of the OpenAPI document: 2.64.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { mapValues } from '../runtime.js';
15
+ import { PerValueAvailabilityEntryFromJSON, PerValueAvailabilityEntryToJSON, } from './PerValueAvailabilityEntry.js';
16
+ /**
17
+ * Check if a given object implements the OperationsSchemaResponseWorkflowFeaturesDeliveryMode interface.
18
+ */
19
+ export function instanceOfOperationsSchemaResponseWorkflowFeaturesDeliveryMode(value) {
20
+ return true;
21
+ }
22
+ export function OperationsSchemaResponseWorkflowFeaturesDeliveryModeFromJSON(json) {
23
+ return OperationsSchemaResponseWorkflowFeaturesDeliveryModeFromJSONTyped(json, false);
24
+ }
25
+ export function OperationsSchemaResponseWorkflowFeaturesDeliveryModeFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'perValueAvailability': json['per_value_availability'] == null ? undefined : (mapValues(json['per_value_availability'], PerValueAvailabilityEntryFromJSON)),
31
+ };
32
+ }
33
+ export function OperationsSchemaResponseWorkflowFeaturesDeliveryModeToJSON(json) {
34
+ return OperationsSchemaResponseWorkflowFeaturesDeliveryModeToJSONTyped(json, false);
35
+ }
36
+ export function OperationsSchemaResponseWorkflowFeaturesDeliveryModeToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'per_value_availability': value['perValueAvailability'] == null ? undefined : (mapValues(value['perValueAvailability'], PerValueAvailabilityEntryToJSON)),
42
+ };
43
+ }