@giveitsmaller/contracts 0.2.3 → 0.4.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 (397) hide show
  1. package/asyncapi/events.yaml +1777 -172
  2. package/availability/availability.json +2449 -0
  3. package/dist/asyncapi/Failure.d.ts +25 -0
  4. package/dist/asyncapi/Failure.js +1 -0
  5. package/dist/asyncapi/JobInputRole.d.ts +6 -0
  6. package/dist/asyncapi/JobInputRole.js +7 -0
  7. package/dist/asyncapi/MergeOutputType.d.ts +1 -3
  8. package/dist/asyncapi/MergeOutputType.js +0 -2
  9. package/dist/asyncapi/MultiOutputCompletion.d.ts +25 -0
  10. package/dist/asyncapi/MultiOutputCompletion.js +1 -0
  11. package/dist/asyncapi/NotificationsOperationsQueue.d.ts +4 -2
  12. package/dist/asyncapi/OperationMetrics.d.ts +3 -0
  13. package/dist/asyncapi/OperationProgress.d.ts +2 -0
  14. package/dist/asyncapi/OperationResult.d.ts +4 -19
  15. package/dist/asyncapi/OperationType.d.ts +6 -6
  16. package/dist/asyncapi/OperationType.js +5 -5
  17. package/dist/asyncapi/PageIndexed.d.ts +8 -0
  18. package/dist/asyncapi/PageIndexed.js +1 -0
  19. package/dist/asyncapi/PositionIndexed.d.ts +8 -0
  20. package/dist/asyncapi/PositionIndexed.js +1 -0
  21. package/dist/asyncapi/ProgressStatus.d.ts +3 -0
  22. package/dist/asyncapi/ProgressStatus.js +3 -0
  23. package/dist/asyncapi/ReEncodeDecision.d.ts +5 -0
  24. package/dist/asyncapi/ReEncodeDecision.js +6 -0
  25. package/dist/asyncapi/SingleOutputCompletion.d.ts +25 -0
  26. package/dist/asyncapi/SingleOutputCompletion.js +1 -0
  27. package/dist/asyncapi/SourceEntry.d.ts +2 -1
  28. package/dist/asyncapi/Unindexed.d.ts +8 -0
  29. package/dist/asyncapi/Unindexed.js +1 -0
  30. package/dist/asyncapi/UploadProbeCompletion.d.ts +16 -0
  31. package/dist/asyncapi/UploadProbeCompletion.js +1 -0
  32. package/dist/asyncapi/UploadProbeMediaMetadata.d.ts +18 -0
  33. package/dist/asyncapi/UploadProbeMediaMetadata.js +1 -0
  34. package/dist/asyncapi/UploadProbeProcessingClass.d.ts +6 -0
  35. package/dist/asyncapi/UploadProbeProcessingClass.js +7 -0
  36. package/dist/asyncapi/UploadProbeRequest.d.ts +10 -0
  37. package/dist/asyncapi/UploadProbeRequest.js +1 -0
  38. package/dist/asyncapi/UploadProbeStatus.d.ts +7 -0
  39. package/dist/asyncapi/UploadProbeStatus.js +8 -0
  40. package/dist/asyncapi/index.d.ts +13 -0
  41. package/dist/asyncapi/index.js +4 -0
  42. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +64 -0
  43. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +53 -0
  44. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +80 -0
  45. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +64 -0
  46. package/dist/openapi/models/AuthErrorResponse.d.ts +135 -0
  47. package/dist/openapi/models/AuthErrorResponse.js +66 -0
  48. package/dist/openapi/models/AuthErrorType.d.ts +73 -0
  49. package/dist/openapi/models/AuthErrorType.js +91 -0
  50. package/dist/openapi/models/AvailabilityValue.d.ts +43 -0
  51. package/dist/openapi/models/AvailabilityValue.js +61 -0
  52. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +176 -0
  53. package/dist/openapi/models/BalanceExhaustedResponse.js +86 -0
  54. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +38 -0
  55. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +43 -0
  56. package/dist/openapi/models/CallbackEventType.d.ts +2 -2
  57. package/dist/openapi/models/CallbackEventType.js +2 -2
  58. package/dist/openapi/models/ConnectionSource.d.ts +64 -0
  59. package/dist/openapi/models/ConnectionSource.js +57 -0
  60. package/dist/openapi/models/ContactRequest.d.ts +2 -2
  61. package/dist/openapi/models/ContactRequest.js +2 -2
  62. package/dist/openapi/models/ContactSubject.d.ts +2 -2
  63. package/dist/openapi/models/ContactSubject.js +2 -2
  64. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
  65. package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
  66. package/dist/openapi/models/CreateExternalImport403Response.d.ts +24 -0
  67. package/dist/openapi/models/CreateExternalImport403Response.js +58 -0
  68. package/dist/openapi/models/CreateExternalImport422Response.d.ts +23 -0
  69. package/dist/openapi/models/CreateExternalImport422Response.js +51 -0
  70. package/dist/openapi/models/CreateWorkflow422Response.d.ts +24 -0
  71. package/dist/openapi/models/CreateWorkflow422Response.js +58 -0
  72. package/dist/openapi/models/CreditTransaction.d.ts +186 -0
  73. package/dist/openapi/models/CreditTransaction.js +100 -0
  74. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +46 -0
  75. package/dist/openapi/models/CreditTransactionSourceBucket.js +64 -0
  76. package/dist/openapi/models/CreditsBalanceResponse.d.ts +84 -0
  77. package/dist/openapi/models/CreditsBalanceResponse.js +68 -0
  78. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +46 -0
  79. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +54 -0
  80. package/dist/openapi/models/CreditsUsageResponse.d.ts +51 -0
  81. package/dist/openapi/models/CreditsUsageResponse.js +56 -0
  82. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +46 -0
  83. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +54 -0
  84. package/dist/openapi/models/Delivery.d.ts +98 -0
  85. package/dist/openapi/models/Delivery.js +65 -0
  86. package/dist/openapi/models/DeliveryOutputRef.d.ts +44 -0
  87. package/dist/openapi/models/DeliveryOutputRef.js +45 -0
  88. package/dist/openapi/models/DeliveryPlan.d.ts +77 -0
  89. package/dist/openapi/models/DeliveryPlan.js +72 -0
  90. package/dist/openapi/models/DeliveryPlanOutput.d.ts +53 -0
  91. package/dist/openapi/models/DeliveryPlanOutput.js +52 -0
  92. package/dist/openapi/models/DeliveryPlanReason.d.ts +35 -0
  93. package/dist/openapi/models/DeliveryPlanReason.js +53 -0
  94. package/dist/openapi/models/DeliverySelection.d.ts +62 -0
  95. package/dist/openapi/models/DeliverySelection.js +54 -0
  96. package/dist/openapi/models/ErrorEnvelope.d.ts +102 -5
  97. package/dist/openapi/models/ErrorEnvelope.js +10 -2
  98. package/dist/openapi/models/EstimateQuality.d.ts +34 -0
  99. package/dist/openapi/models/EstimateQuality.js +52 -0
  100. package/dist/openapi/models/EstimateRange.d.ts +48 -0
  101. package/dist/openapi/models/EstimateRange.js +51 -0
  102. package/dist/openapi/models/ExternalDestination.d.ts +41 -0
  103. package/dist/openapi/models/ExternalDestination.js +47 -0
  104. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +49 -0
  105. package/dist/openapi/models/ExternalImportCreatedResponse.js +51 -0
  106. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +46 -0
  107. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +54 -0
  108. package/dist/openapi/models/ExternalImportRequest.d.ts +92 -0
  109. package/dist/openapi/models/ExternalImportRequest.js +61 -0
  110. package/dist/openapi/models/ExternalImportToken.d.ts +51 -0
  111. package/dist/openapi/models/ExternalImportToken.js +53 -0
  112. package/dist/openapi/models/ExternalSource.d.ts +31 -0
  113. package/dist/openapi/models/ExternalSource.js +47 -0
  114. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +163 -0
  115. package/dist/openapi/models/FeatureNotAvailableResponse.js +76 -0
  116. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +154 -0
  117. package/dist/openapi/models/FeatureTierRestrictedResponse.js +76 -0
  118. package/dist/openapi/models/FeatureViolation.d.ts +108 -0
  119. package/dist/openapi/models/FeatureViolation.js +63 -0
  120. package/dist/openapi/models/JobDefinition.d.ts +125 -14
  121. package/dist/openapi/models/JobDefinition.js +25 -4
  122. package/dist/openapi/models/JobDownload.d.ts +2 -2
  123. package/dist/openapi/models/JobDownload.js +2 -2
  124. package/dist/openapi/models/JobInputV2.d.ts +89 -0
  125. package/dist/openapi/models/JobInputV2.js +56 -0
  126. package/dist/openapi/models/JobOutputSource.d.ts +57 -0
  127. package/dist/openapi/models/JobOutputSource.js +55 -0
  128. package/dist/openapi/models/JobResponse.d.ts +2 -2
  129. package/dist/openapi/models/JobResponse.js +2 -2
  130. package/dist/openapi/models/JobStatus.d.ts +17 -8
  131. package/dist/openapi/models/JobStatus.js +17 -8
  132. package/dist/openapi/models/JobType.d.ts +2 -2
  133. package/dist/openapi/models/JobType.js +2 -2
  134. package/dist/openapi/models/LivenessResponse.d.ts +2 -2
  135. package/dist/openapi/models/LivenessResponse.js +2 -2
  136. package/dist/openapi/models/LoginUser200Response.d.ts +46 -0
  137. package/dist/openapi/models/LoginUser200Response.js +54 -0
  138. package/dist/openapi/models/LoginUser200ResponseData.d.ts +33 -0
  139. package/dist/openapi/models/LoginUser200ResponseData.js +44 -0
  140. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +50 -0
  141. package/dist/openapi/models/LoginUser200ResponseDataUser.js +51 -0
  142. package/dist/openapi/models/LoginUserRequest.d.ts +38 -0
  143. package/dist/openapi/models/LoginUserRequest.js +47 -0
  144. package/dist/openapi/models/LogoutUser200Response.d.ts +50 -0
  145. package/dist/openapi/models/LogoutUser200Response.js +53 -0
  146. package/dist/openapi/models/MetadataResponse.d.ts +13 -2
  147. package/dist/openapi/models/MetadataResponse.js +6 -2
  148. package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
  149. package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
  150. package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
  151. package/dist/openapi/models/MetadataResponseExif.js +3 -3
  152. package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
  153. package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
  154. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +3 -3
  155. package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
  156. package/dist/openapi/models/MimeGroupSchema.d.ts +46 -2
  157. package/dist/openapi/models/MimeGroupSchema.js +11 -2
  158. package/dist/openapi/models/MultipartCompleteRequest.d.ts +3 -3
  159. package/dist/openapi/models/MultipartCompleteRequest.js +2 -2
  160. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
  161. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
  162. package/dist/openapi/models/MultipartCompleteResponse.d.ts +7 -4
  163. package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
  164. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +3 -3
  165. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
  166. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +56 -0
  167. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +45 -0
  168. package/dist/openapi/models/MultipartInitiateResponse.d.ts +38 -6
  169. package/dist/openapi/models/MultipartInitiateResponse.js +7 -2
  170. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +3 -3
  171. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
  172. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +43 -0
  173. package/dist/openapi/models/MultipartKeepaliveResponse.js +47 -0
  174. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +46 -0
  175. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +54 -0
  176. package/dist/openapi/models/MultipartPartListing.d.ts +59 -0
  177. package/dist/openapi/models/MultipartPartListing.js +55 -0
  178. package/dist/openapi/models/MultipartPresignRequest.d.ts +41 -0
  179. package/dist/openapi/models/MultipartPresignRequest.js +43 -0
  180. package/dist/openapi/models/MultipartPresignResponse.d.ts +46 -0
  181. package/dist/openapi/models/MultipartPresignResponse.js +48 -0
  182. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +46 -0
  183. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +54 -0
  184. package/dist/openapi/models/MultipartStatusResponse.d.ts +103 -0
  185. package/dist/openapi/models/MultipartStatusResponse.js +76 -0
  186. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +46 -0
  187. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +54 -0
  188. package/dist/openapi/models/OperationDefinition.d.ts +2 -2
  189. package/dist/openapi/models/OperationDefinition.js +2 -2
  190. package/dist/openapi/models/OperationDownload.d.ts +30 -2
  191. package/dist/openapi/models/OperationDownload.js +6 -2
  192. package/dist/openapi/models/OperationInputModel.d.ts +4 -4
  193. package/dist/openapi/models/OperationInputModel.js +4 -4
  194. package/dist/openapi/models/OperationResponse.d.ts +21 -2
  195. package/dist/openapi/models/OperationResponse.js +6 -2
  196. package/dist/openapi/models/OperationResult.d.ts +2 -2
  197. package/dist/openapi/models/OperationResult.js +2 -2
  198. package/dist/openapi/models/OperationResultMetrics.d.ts +2 -2
  199. package/dist/openapi/models/OperationResultMetrics.js +2 -2
  200. package/dist/openapi/models/OperationSchemaDefinition.d.ts +52 -5
  201. package/dist/openapi/models/OperationSchemaDefinition.js +10 -6
  202. package/dist/openapi/models/OperationStatus.d.ts +2 -2
  203. package/dist/openapi/models/OperationStatus.js +2 -2
  204. package/dist/openapi/models/OperationType.d.ts +17 -5
  205. package/dist/openapi/models/OperationType.js +18 -6
  206. package/dist/openapi/models/OperationsSchemaResponse.d.ts +70 -10
  207. package/dist/openapi/models/OperationsSchemaResponse.js +17 -2
  208. package/dist/openapi/models/OptionSchema.d.ts +42 -4
  209. package/dist/openapi/models/OptionSchema.js +12 -2
  210. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +80 -0
  211. package/dist/openapi/models/PerValueAvailabilityEntry.js +53 -0
  212. package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
  213. package/dist/openapi/models/PresignedUrlPart.js +3 -3
  214. package/dist/openapi/models/ProcessingClass.d.ts +35 -0
  215. package/dist/openapi/models/ProcessingClass.js +53 -0
  216. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +149 -0
  217. package/dist/openapi/models/ProcessingClassBandViolation.js +81 -0
  218. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +174 -0
  219. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +76 -0
  220. package/dist/openapi/models/ProcessingClassHint.d.ts +36 -0
  221. package/dist/openapi/models/ProcessingClassHint.js +54 -0
  222. package/dist/openapi/models/ProcessingClassReason.d.ts +46 -0
  223. package/dist/openapi/models/ProcessingClassReason.js +64 -0
  224. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +53 -0
  225. package/dist/openapi/models/ProcessingClassRejectReason.js +71 -0
  226. package/dist/openapi/models/ProcessingPlan.d.ts +70 -0
  227. package/dist/openapi/models/ProcessingPlan.js +49 -0
  228. package/dist/openapi/models/ProcessingPlanJob.d.ts +81 -0
  229. package/dist/openapi/models/ProcessingPlanJob.js +71 -0
  230. package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
  231. package/dist/openapi/models/ReadinessResponse.js +2 -2
  232. package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
  233. package/dist/openapi/models/ResponseEnvelope.js +2 -2
  234. package/dist/openapi/models/RetryResponse.d.ts +5 -5
  235. package/dist/openapi/models/RetryResponse.js +2 -2
  236. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +3 -3
  237. package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
  238. package/dist/openapi/models/SseEventType.d.ts +2 -2
  239. package/dist/openapi/models/SseEventType.js +2 -2
  240. package/dist/openapi/models/SseJobCompletedData.d.ts +3 -3
  241. package/dist/openapi/models/SseJobCompletedData.js +2 -2
  242. package/dist/openapi/models/SseJobFailedData.d.ts +3 -3
  243. package/dist/openapi/models/SseJobFailedData.js +2 -2
  244. package/dist/openapi/models/SseOperationCompletedData.d.ts +4 -4
  245. package/dist/openapi/models/SseOperationCompletedData.js +2 -2
  246. package/dist/openapi/models/SseOperationFailedData.d.ts +3 -3
  247. package/dist/openapi/models/SseOperationFailedData.js +2 -2
  248. package/dist/openapi/models/SseOperationProgressData.d.ts +61 -3
  249. package/dist/openapi/models/SseOperationProgressData.js +22 -2
  250. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +26 -4
  251. package/dist/openapi/models/SseWorkflowTerminalData.js +4 -2
  252. package/dist/openapi/models/TierRestrictionKind.d.ts +33 -0
  253. package/dist/openapi/models/TierRestrictionKind.js +51 -0
  254. package/dist/openapi/models/TierRestrictionResponse.d.ts +173 -0
  255. package/dist/openapi/models/TierRestrictionResponse.js +83 -0
  256. package/dist/openapi/models/UploadConstraintsApplied.d.ts +70 -0
  257. package/dist/openapi/models/UploadConstraintsApplied.js +57 -0
  258. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +155 -0
  259. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +82 -0
  260. package/dist/openapi/models/UploadFile403Response.d.ts +27 -0
  261. package/dist/openapi/models/UploadFile403Response.js +47 -0
  262. package/dist/openapi/models/UploadFile422Response.d.ts +27 -0
  263. package/dist/openapi/models/UploadFile422Response.js +47 -0
  264. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +172 -0
  265. package/dist/openapi/models/UploadProbeMediaMetadata.js +69 -0
  266. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +33 -0
  267. package/dist/openapi/models/UploadProbeProcessingClass.js +51 -0
  268. package/dist/openapi/models/UploadProbeResponse.d.ts +58 -0
  269. package/dist/openapi/models/UploadProbeResponse.js +58 -0
  270. package/dist/openapi/models/UploadProbeStatus.d.ts +41 -0
  271. package/dist/openapi/models/UploadProbeStatus.js +59 -0
  272. package/dist/openapi/models/UploadResponse.d.ts +17 -3
  273. package/dist/openapi/models/UploadResponse.js +7 -2
  274. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +155 -0
  275. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +82 -0
  276. package/dist/openapi/models/UploadSource.d.ts +48 -0
  277. package/dist/openapi/models/UploadSource.js +53 -0
  278. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +3 -3
  279. package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
  280. package/dist/openapi/models/UploadThresholds.d.ts +126 -0
  281. package/dist/openapi/models/UploadThresholds.js +79 -0
  282. package/dist/openapi/models/UserTier.d.ts +41 -0
  283. package/dist/openapi/models/UserTier.js +59 -0
  284. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +51 -4
  285. package/dist/openapi/models/ValidationErrorEnvelope.js +10 -2
  286. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +37 -4
  287. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +6 -2
  288. package/dist/openapi/models/WarningType.d.ts +48 -0
  289. package/dist/openapi/models/WarningType.js +66 -0
  290. package/dist/openapi/models/WebhookOperationContext.d.ts +3 -3
  291. package/dist/openapi/models/WebhookOperationContext.js +2 -2
  292. package/dist/openapi/models/WebhookPayload.d.ts +2 -2
  293. package/dist/openapi/models/WebhookPayload.js +3 -3
  294. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +36 -0
  295. package/dist/openapi/models/WorkflowCancelBillingEffect.js +54 -0
  296. package/dist/openapi/models/WorkflowCancelResponse.d.ts +66 -0
  297. package/dist/openapi/models/WorkflowCancelResponse.js +62 -0
  298. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +46 -0
  299. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +54 -0
  300. package/dist/openapi/models/WorkflowCreateRequest.d.ts +39 -5
  301. package/dist/openapi/models/WorkflowCreateRequest.js +11 -5
  302. package/dist/openapi/models/WorkflowCreateResponse.d.ts +63 -2
  303. package/dist/openapi/models/WorkflowCreateResponse.js +21 -2
  304. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +3 -3
  305. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
  306. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
  307. package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
  308. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +3 -3
  309. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
  310. package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
  311. package/dist/openapi/models/WorkflowEdge.js +2 -2
  312. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +145 -0
  313. package/dist/openapi/models/WorkflowExpiredResponse.js +75 -0
  314. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +30 -0
  315. package/dist/openapi/models/WorkflowPauseRequiredAction.js +48 -0
  316. package/dist/openapi/models/WorkflowPausedDetail.d.ts +99 -0
  317. package/dist/openapi/models/WorkflowPausedDetail.js +65 -0
  318. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +47 -0
  319. package/dist/openapi/models/WorkflowPausedDetailLinks.js +45 -0
  320. package/dist/openapi/models/WorkflowProcessing.d.ts +36 -0
  321. package/dist/openapi/models/WorkflowProcessing.js +42 -0
  322. package/dist/openapi/models/WorkflowResumeResponse.d.ts +55 -0
  323. package/dist/openapi/models/WorkflowResumeResponse.js +57 -0
  324. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +46 -0
  325. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +54 -0
  326. package/dist/openapi/models/WorkflowSource.d.ts +40 -0
  327. package/dist/openapi/models/WorkflowSource.js +57 -0
  328. package/dist/openapi/models/WorkflowStatus.d.ts +31 -8
  329. package/dist/openapi/models/WorkflowStatus.js +32 -9
  330. package/dist/openapi/models/WorkflowStatusResponse.d.ts +34 -2
  331. package/dist/openapi/models/WorkflowStatusResponse.js +13 -2
  332. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +3 -3
  333. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
  334. package/dist/openapi/models/WorkflowWarning.d.ts +119 -0
  335. package/dist/openapi/models/WorkflowWarning.js +63 -0
  336. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +29 -0
  337. package/dist/openapi/models/WorkflowWarningSeverity.js +47 -0
  338. package/dist/openapi/models/index.d.ts +87 -3
  339. package/dist/openapi/models/index.js +87 -3
  340. package/dist/openapi/runtime.d.ts +2 -2
  341. package/dist/openapi/runtime.js +17 -2
  342. package/dist/operations/archive.metadata.d.ts +2 -0
  343. package/dist/operations/archive.metadata.js +13 -0
  344. package/dist/operations/audio_overlay.d.ts +48 -0
  345. package/dist/operations/audio_overlay.js +19 -0
  346. package/dist/operations/audio_overlay.metadata.d.ts +2 -0
  347. package/dist/operations/audio_overlay.metadata.js +167 -0
  348. package/dist/operations/audio_watermark.d.ts +42 -0
  349. package/dist/operations/audio_watermark.js +37 -0
  350. package/dist/operations/audio_watermark.metadata.d.ts +2 -0
  351. package/dist/operations/audio_watermark.metadata.js +94 -0
  352. package/dist/operations/compress.metadata.d.ts +2 -0
  353. package/dist/operations/compress.metadata.js +205 -0
  354. package/dist/operations/convert.metadata.d.ts +2 -0
  355. package/dist/operations/convert.metadata.js +85 -0
  356. package/dist/operations/custom_luma.d.ts +7 -0
  357. package/dist/operations/custom_luma.js +2 -0
  358. package/dist/operations/custom_luma.metadata.d.ts +2 -0
  359. package/dist/operations/custom_luma.metadata.js +49 -0
  360. package/dist/operations/image_watermark.d.ts +54 -0
  361. package/dist/operations/image_watermark.js +37 -0
  362. package/dist/operations/image_watermark.metadata.d.ts +2 -0
  363. package/dist/operations/image_watermark.metadata.js +97 -0
  364. package/dist/operations/index.d.ts +16 -1
  365. package/dist/operations/index.js +16 -1
  366. package/dist/operations/merge.d.ts +111 -31
  367. package/dist/operations/merge.js +106 -20
  368. package/dist/operations/merge.metadata.d.ts +2 -0
  369. package/dist/operations/merge.metadata.js +385 -0
  370. package/dist/operations/metadata-types.d.ts +47 -0
  371. package/dist/operations/metadata-types.js +2 -0
  372. package/dist/operations/text_watermark.d.ts +31 -0
  373. package/dist/operations/text_watermark.js +22 -0
  374. package/dist/operations/text_watermark.metadata.d.ts +2 -0
  375. package/dist/operations/text_watermark.metadata.js +46 -0
  376. package/dist/operations/thumbnail.metadata.d.ts +2 -0
  377. package/dist/operations/thumbnail.metadata.js +88 -0
  378. package/openapi/api.yaml +6413 -821
  379. package/operations/schemas/audio_overlay.yaml +409 -0
  380. package/operations/schemas/audio_watermark.yaml +192 -0
  381. package/operations/schemas/compress.yaml +26 -3
  382. package/operations/schemas/convert.yaml +25 -3
  383. package/operations/schemas/custom_luma.yaml +116 -0
  384. package/operations/schemas/image_watermark.yaml +287 -0
  385. package/operations/schemas/merge.yaml +301 -66
  386. package/operations/schemas/text_watermark.yaml +147 -0
  387. package/operations/schemas/thumbnail.yaml +22 -0
  388. package/package.json +10 -4
  389. package/dist/openapi/models/ExportConfig.d.ts +0 -63
  390. package/dist/openapi/models/ExportConfig.js +0 -59
  391. package/dist/openapi/models/JobInput.d.ts +0 -53
  392. package/dist/openapi/models/JobInput.js +0 -47
  393. package/dist/openapi/models/JobSource.d.ts +0 -43
  394. package/dist/openapi/models/JobSource.js +0 -45
  395. package/dist/operations/watermark.d.ts +0 -28
  396. package/dist/operations/watermark.js +0 -19
  397. package/operations/schemas/watermark.yaml +0 -87
@@ -1,36 +1,96 @@
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, watermark, merge, archive, convert) - 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 (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
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. - **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. - **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). - **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.0.0
5
+ * The version of the OpenAPI document: 2.12.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { UserTier } from './UserTier.js';
12
13
  import type { OperationSchemaDefinition } from './OperationSchemaDefinition.js';
13
14
  /**
14
- * Operations meta-schema. Describes all available operation types, their options,
15
- * constraints, defaults, and MIME type applicability. Returned raw (no envelope)
16
- * for CDN cacheability.
15
+ * Operations meta-schema. Describes all available operation types,
16
+ * their options, constraints, defaults, MIME type applicability, and
17
+ * **availability metadata** (operation/mime_group/option-level via
18
+ * `availability:` per ADR-0001 §1.3 + ticket I1; per-enum-value via
19
+ * `per_value_availability:` per ADR-0001 §1.4 + ticket I17).
17
20
  *
18
- * Each operation defines options with types, constraints, and conditional
19
- * dependencies (via `depends_on`). Clients use this to build dynamic forms
20
- * and validate options before submission.
21
+ * Each operation defines options with types, constraints, and
22
+ * conditional dependencies (via `depends_on`). Clients use this to
23
+ * build dynamic forms and validate options before submission.
24
+ *
25
+ * **Tier-scoped per caller.** The response varies by the caller's
26
+ * subscription tier (`free` / `pro` / `enterprise`) — features gated
27
+ * by `required_tier` are rendered as `availability: planned` (or the
28
+ * appropriate tier-restriction state) for callers below the gating
29
+ * tier. Anonymous (unauthenticated) callers receive the `free` tier
30
+ * baseline (`user_tier: null` on the wire).
31
+ *
32
+ * **Caching.** Per-tier private caching with ETag-based revalidation
33
+ * (per ADR-0002). Public CDN caching is NOT used because the cache
34
+ * key includes the caller's `user_tier`. Clients send
35
+ * `If-None-Match` (and/or `If-Modified-Since`) to revalidate; the
36
+ * server returns `304 Not Modified` when fresh.
37
+ *
38
+ * Cache-key composition: `user_tier + schema_version + capabilities_version + environment`.
21
39
  *
22
40
  * @export
23
41
  * @interface OperationsSchemaResponse
24
42
  */
25
43
  export interface OperationsSchemaResponse {
26
44
  /**
27
- * Schema version for cache-busting
45
+ * Schema-format version (semver). Bumps on YAML schema-format
46
+ * changes (e.g. new `OptionSchema` fields, structural changes).
47
+ * Used as part of the cache key. Pinned to the OpenAPI
48
+ * `info.version` value to keep runtime + static sidecar
49
+ * (`availability.json`, ticket I3b) consistent.
50
+ *
28
51
  * @type {string}
29
52
  * @memberof OperationsSchemaResponse
30
53
  */
31
54
  schemaVersion: string;
32
55
  /**
33
- * Map of operation type to its schema definition
56
+ * Monotonically-increasing capability matrix version. Bumps
57
+ * independently of `schema_version` whenever the underlying
58
+ * availability matrix changes (Lambda capability flips, tier
59
+ * policy updates, V2-planned op promotions). Used as part of the
60
+ * cache key. Per ADR-0002.
61
+ *
62
+ * @type {number}
63
+ * @memberof OperationsSchemaResponse
64
+ */
65
+ capabilitiesVersion: number;
66
+ /**
67
+ *
68
+ * @type {Date}
69
+ * @memberof OperationsSchemaResponse
70
+ */
71
+ generatedAt: Date | null;
72
+ /**
73
+ *
74
+ * @type {string}
75
+ * @memberof OperationsSchemaResponse
76
+ */
77
+ sourceCommit?: string | null;
78
+ /**
79
+ *
80
+ * @type {string}
81
+ * @memberof OperationsSchemaResponse
82
+ */
83
+ environment?: string | null;
84
+ /**
85
+ *
86
+ * @type {UserTier}
87
+ * @memberof OperationsSchemaResponse
88
+ */
89
+ userTier?: UserTier | null;
90
+ /**
91
+ * Map of operation type to its schema definition (with
92
+ * availability metadata per I1 / I17).
93
+ *
34
94
  * @type {{ [key: string]: OperationSchemaDefinition; }}
35
95
  * @memberof OperationsSchemaResponse
36
96
  */
@@ -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, watermark, merge, archive, convert) - 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 (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
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. - **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. - **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). - **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.0.0
7
+ * The version of the OpenAPI document: 2.12.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -12,6 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { mapValues } from '../runtime.js';
15
+ import { UserTierFromJSON, UserTierToJSON, } from './UserTier.js';
15
16
  import { OperationSchemaDefinitionFromJSON, OperationSchemaDefinitionToJSON, } from './OperationSchemaDefinition.js';
16
17
  /**
17
18
  * Check if a given object implements the OperationsSchemaResponse interface.
@@ -19,6 +20,10 @@ import { OperationSchemaDefinitionFromJSON, OperationSchemaDefinitionToJSON, } f
19
20
  export function instanceOfOperationsSchemaResponse(value) {
20
21
  if (!('schemaVersion' in value) || value['schemaVersion'] === undefined)
21
22
  return false;
23
+ if (!('capabilitiesVersion' in value) || value['capabilitiesVersion'] === undefined)
24
+ return false;
25
+ if (!('generatedAt' in value) || value['generatedAt'] === undefined)
26
+ return false;
22
27
  if (!('operations' in value) || value['operations'] === undefined)
23
28
  return false;
24
29
  return true;
@@ -32,6 +37,11 @@ export function OperationsSchemaResponseFromJSONTyped(json, ignoreDiscriminator)
32
37
  }
33
38
  return {
34
39
  'schemaVersion': json['schema_version'],
40
+ 'capabilitiesVersion': json['capabilities_version'],
41
+ 'generatedAt': (json['generated_at'] == null ? null : new Date(json['generated_at'])),
42
+ 'sourceCommit': json['source_commit'] == null ? undefined : json['source_commit'],
43
+ 'environment': json['environment'] == null ? undefined : json['environment'],
44
+ 'userTier': json['user_tier'] == null ? undefined : UserTierFromJSON(json['user_tier']),
35
45
  'operations': (mapValues(json['operations'], OperationSchemaDefinitionFromJSON)),
36
46
  };
37
47
  }
@@ -44,6 +54,11 @@ export function OperationsSchemaResponseToJSONTyped(value, ignoreDiscriminator =
44
54
  }
45
55
  return {
46
56
  'schema_version': value['schemaVersion'],
57
+ 'capabilities_version': value['capabilitiesVersion'],
58
+ 'generated_at': value['generatedAt'] == null ? value['generatedAt'] : value['generatedAt'].toISOString(),
59
+ 'source_commit': value['sourceCommit'],
60
+ 'environment': value['environment'],
61
+ 'user_tier': UserTierToJSON(value['userTier']),
47
62
  'operations': (mapValues(value['operations'], OperationSchemaDefinitionToJSON)),
48
63
  };
49
64
  }
@@ -1,14 +1,17 @@
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, watermark, merge, archive, convert) - 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 (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
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. - **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. - **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). - **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.0.0
5
+ * The version of the OpenAPI document: 2.12.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { PerValueAvailabilityEntry } from './PerValueAvailabilityEntry.js';
13
+ import type { UserTier } from './UserTier.js';
14
+ import type { AvailabilityValue } from './AvailabilityValue.js';
12
15
  /**
13
16
  * Schema for a single operation option
14
17
  * @export
@@ -17,7 +20,7 @@
17
20
  export interface OptionSchema {
18
21
  /**
19
22
  * Option value type
20
- * @type {string}
23
+ * @type {OptionSchemaTypeEnum}
21
24
  * @memberof OptionSchema
22
25
  */
23
26
  type: OptionSchemaTypeEnum;
@@ -49,10 +52,45 @@ export interface OptionSchema {
49
52
  * Actual type of enum values when not strings (e.g. "integer" for numeric bitrate enums).
50
53
  * Consumers should parse/display values as this type rather than as strings.
51
54
  *
52
- * @type {string}
55
+ * @type {OptionSchemaValueTypeEnum}
53
56
  * @memberof OptionSchema
54
57
  */
55
58
  valueType?: OptionSchemaValueTypeEnum;
59
+ /**
60
+ * Option-level availability tag. Optional — absent ≡ `stable`.
61
+ * See `OperationSchemaDefinition.availability` for runtime
62
+ * emission timeline (lands with I3).
63
+ *
64
+ * @type {AvailabilityValue}
65
+ * @memberof OptionSchema
66
+ */
67
+ availability?: AvailabilityValue;
68
+ /**
69
+ * Option-level minimum subscription tier. Optional — absent
70
+ * means no tier restriction at the option level. Same
71
+ * semantics as `OperationSchemaDefinition.required_tier` but
72
+ * scoped to a single option (e.g. an operation may have a
73
+ * free-tier base option set with one or two `pro`-tier
74
+ * advanced options gated this way).
75
+ *
76
+ * @type {UserTier}
77
+ * @memberof OptionSchema
78
+ */
79
+ requiredTier?: UserTier;
80
+ /**
81
+ * Per-enum-value availability map, only meaningful when
82
+ * `type: enum`. Keys MUST be a subset of `values[]`.
83
+ * Untagged values default to `availability: stable`. Verified
84
+ * by `make check-per-value-availability` (CI guard, ticket
85
+ * [I17 `0gwtwCav`](https://trello.com/c/0gwtwCav)). Runtime
86
+ * emission lands with I3.
87
+ *
88
+ * @type {{ [key: string]: PerValueAvailabilityEntry; }}
89
+ * @memberof OptionSchema
90
+ */
91
+ perValueAvailability?: {
92
+ [key: string]: PerValueAvailabilityEntry;
93
+ };
56
94
  /**
57
95
  * Minimum value (for integer/float types)
58
96
  * @type {number}
@@ -2,15 +2,19 @@
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, watermark, merge, archive, convert) - 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 (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
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. - **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. - **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). - **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.0.0
7
+ * The version of the OpenAPI document: 2.12.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { mapValues } from '../runtime.js';
15
+ import { PerValueAvailabilityEntryFromJSON, PerValueAvailabilityEntryToJSON, } from './PerValueAvailabilityEntry.js';
16
+ import { UserTierFromJSON, UserTierToJSON, } from './UserTier.js';
17
+ import { AvailabilityValueFromJSON, AvailabilityValueToJSON, } from './AvailabilityValue.js';
14
18
  /**
15
19
  * @export
16
20
  */
@@ -50,6 +54,9 @@ export function OptionSchemaFromJSONTyped(json, ignoreDiscriminator) {
50
54
  '_default': json['default'] == null ? undefined : json['default'],
51
55
  'values': json['values'] == null ? undefined : json['values'],
52
56
  'valueType': json['value_type'] == null ? undefined : json['value_type'],
57
+ 'availability': json['availability'] == null ? undefined : AvailabilityValueFromJSON(json['availability']),
58
+ 'requiredTier': json['required_tier'] == null ? undefined : UserTierFromJSON(json['required_tier']),
59
+ 'perValueAvailability': json['per_value_availability'] == null ? undefined : (mapValues(json['per_value_availability'], PerValueAvailabilityEntryFromJSON)),
53
60
  'min': json['min'] == null ? undefined : json['min'],
54
61
  'max': json['max'] == null ? undefined : json['max'],
55
62
  'dependsOn': json['depends_on'] == null ? undefined : json['depends_on'],
@@ -69,6 +76,9 @@ export function OptionSchemaToJSONTyped(value, ignoreDiscriminator = false) {
69
76
  'default': value['_default'],
70
77
  'values': value['values'],
71
78
  'value_type': value['valueType'],
79
+ 'availability': AvailabilityValueToJSON(value['availability']),
80
+ 'required_tier': UserTierToJSON(value['requiredTier']),
81
+ 'per_value_availability': value['perValueAvailability'] == null ? undefined : (mapValues(value['perValueAvailability'], PerValueAvailabilityEntryToJSON)),
72
82
  'min': value['min'],
73
83
  'max': value['max'],
74
84
  'depends_on': value['dependsOn'],
@@ -0,0 +1,80 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **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. - **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). - **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.12.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 { UserTier } from './UserTier.js';
13
+ import type { AvailabilityValue } from './AvailabilityValue.js';
14
+ /**
15
+ * Single per-enum-value availability entry. Attached as a value
16
+ * within an option's `per_value_availability` map (per
17
+ * `schemas/FORMAT.md` §Availability Taxonomy → "per_value_availability").
18
+ *
19
+ * Used to tag individual enum values when an option's values ship
20
+ * at different availability levels. Example: FFmpeg xfade
21
+ * transition catalog where some values are `stable`
22
+ * (`none` / `fade` / `dissolve`), others `beta` (smooth/circle
23
+ * variants), and some `planned` (custom_luma transitions).
24
+ *
25
+ * Untagged enum values default to `availability: stable` per the
26
+ * absent-equals-stable parser obligation (ADR-0001 §1.4). Keys
27
+ * present in this map MUST be a subset of the option's `values[]`
28
+ * array — verified by `make check-per-value-availability`
29
+ * (`scripts/check-per-value-availability.py`).
30
+ *
31
+ * @export
32
+ * @interface PerValueAvailabilityEntry
33
+ */
34
+ export interface PerValueAvailabilityEntry {
35
+ /**
36
+ *
37
+ * @type {AvailabilityValue}
38
+ * @memberof PerValueAvailabilityEntry
39
+ */
40
+ availability: AvailabilityValue;
41
+ /**
42
+ *
43
+ * @type {UserTier}
44
+ * @memberof PerValueAvailabilityEntry
45
+ */
46
+ requiredTier?: UserTier | null;
47
+ /**
48
+ * ISO-8601 date (`2026-09-15`) or quarter (`2026-Q3`) when this
49
+ * value is expected to ship. Only meaningful for
50
+ * `availability: planned`.
51
+ *
52
+ * @type {string}
53
+ * @memberof PerValueAvailabilityEntry
54
+ */
55
+ eta?: string;
56
+ /**
57
+ *
58
+ * @type {string}
59
+ * @memberof PerValueAvailabilityEntry
60
+ */
61
+ documentationUrl?: string;
62
+ /**
63
+ * Sunset date for `availability: deprecated` entries. The
64
+ * server emits paired `Deprecation` and `Sunset` HTTP headers
65
+ * (RFC 9745 / RFC 8594) when handling requests that touch a
66
+ * deprecated value.
67
+ *
68
+ * @type {Date}
69
+ * @memberof PerValueAvailabilityEntry
70
+ */
71
+ sunset?: Date;
72
+ }
73
+ /**
74
+ * Check if a given object implements the PerValueAvailabilityEntry interface.
75
+ */
76
+ export declare function instanceOfPerValueAvailabilityEntry(value: object): value is PerValueAvailabilityEntry;
77
+ export declare function PerValueAvailabilityEntryFromJSON(json: any): PerValueAvailabilityEntry;
78
+ export declare function PerValueAvailabilityEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PerValueAvailabilityEntry;
79
+ export declare function PerValueAvailabilityEntryToJSON(json: any): PerValueAvailabilityEntry;
80
+ export declare function PerValueAvailabilityEntryToJSONTyped(value?: PerValueAvailabilityEntry | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,53 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **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. - **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). - **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.12.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 { UserTierFromJSON, UserTierToJSON, } from './UserTier.js';
15
+ import { AvailabilityValueFromJSON, AvailabilityValueToJSON, } from './AvailabilityValue.js';
16
+ /**
17
+ * Check if a given object implements the PerValueAvailabilityEntry interface.
18
+ */
19
+ export function instanceOfPerValueAvailabilityEntry(value) {
20
+ if (!('availability' in value) || value['availability'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ export function PerValueAvailabilityEntryFromJSON(json) {
25
+ return PerValueAvailabilityEntryFromJSONTyped(json, false);
26
+ }
27
+ export function PerValueAvailabilityEntryFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'availability': AvailabilityValueFromJSON(json['availability']),
33
+ 'requiredTier': json['required_tier'] == null ? undefined : UserTierFromJSON(json['required_tier']),
34
+ 'eta': json['eta'] == null ? undefined : json['eta'],
35
+ 'documentationUrl': json['documentation_url'] == null ? undefined : json['documentation_url'],
36
+ 'sunset': json['sunset'] == null ? undefined : (new Date(json['sunset'])),
37
+ };
38
+ }
39
+ export function PerValueAvailabilityEntryToJSON(json) {
40
+ return PerValueAvailabilityEntryToJSONTyped(json, false);
41
+ }
42
+ export function PerValueAvailabilityEntryToJSONTyped(value, ignoreDiscriminator = false) {
43
+ if (value == null) {
44
+ return value;
45
+ }
46
+ return {
47
+ 'availability': AvailabilityValueToJSON(value['availability']),
48
+ 'required_tier': UserTierToJSON(value['requiredTier']),
49
+ 'eta': value['eta'],
50
+ 'documentation_url': value['documentationUrl'],
51
+ 'sunset': value['sunset'] == null ? value['sunset'] : value['sunset'].toISOString().substring(0, 10),
52
+ };
53
+ }
@@ -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, watermark, merge, archive, convert) - 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 (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
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. - **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. - **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). - **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.0.0
5
+ * The version of the OpenAPI document: 2.12.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -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, watermark, merge, archive, convert) - 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 (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
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. - **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. - **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). - **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.0.0
7
+ * The version of the OpenAPI document: 2.12.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -46,6 +46,6 @@ export function PresignedUrlPartToJSONTyped(value, ignoreDiscriminator = false)
46
46
  return {
47
47
  'part_number': value['partNumber'],
48
48
  'url': value['url'],
49
- 'expires_at': ((value['expiresAt']).toISOString()),
49
+ 'expires_at': value['expiresAt'].toISOString(),
50
50
  };
51
51
  }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * GISL Compression API
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **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. - **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). - **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.12.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Logical processing-class identifier. Public contract uses
14
+ * logical names only — backend selection is server-decided per
15
+ * plan v5 §F8 + ticket
16
+ * [I15-CONS](https://trello.com/c/YZpBKzOM). `short_form` /
17
+ * `long_form` are the canonical pair; `short_form_concat` /
18
+ * `long_form_re_encode` are merge-only aliases (the merge
19
+ * differentiator is concat-compatibility per ticket I16-CONS,
20
+ * not size/duration).
21
+ *
22
+ * @export
23
+ */
24
+ export declare const ProcessingClass: {
25
+ readonly short_form: "short_form";
26
+ readonly long_form: "long_form";
27
+ readonly short_form_concat: "short_form_concat";
28
+ readonly long_form_re_encode: "long_form_re_encode";
29
+ };
30
+ export type ProcessingClass = typeof ProcessingClass[keyof typeof ProcessingClass];
31
+ export declare function instanceOfProcessingClass(value: any): boolean;
32
+ export declare function ProcessingClassFromJSON(json: any): ProcessingClass;
33
+ export declare function ProcessingClassFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProcessingClass;
34
+ export declare function ProcessingClassToJSON(value?: ProcessingClass | null): any;
35
+ export declare function ProcessingClassToJSONTyped(value: any, ignoreDiscriminator: boolean): ProcessingClass;
@@ -0,0 +1,53 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **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. - **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). - **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.12.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Logical processing-class identifier. Public contract uses
16
+ * logical names only — backend selection is server-decided per
17
+ * plan v5 §F8 + ticket
18
+ * [I15-CONS](https://trello.com/c/YZpBKzOM). `short_form` /
19
+ * `long_form` are the canonical pair; `short_form_concat` /
20
+ * `long_form_re_encode` are merge-only aliases (the merge
21
+ * differentiator is concat-compatibility per ticket I16-CONS,
22
+ * not size/duration).
23
+ *
24
+ * @export
25
+ */
26
+ export const ProcessingClass = {
27
+ short_form: 'short_form',
28
+ long_form: 'long_form',
29
+ short_form_concat: 'short_form_concat',
30
+ long_form_re_encode: 'long_form_re_encode'
31
+ };
32
+ export function instanceOfProcessingClass(value) {
33
+ for (const key in ProcessingClass) {
34
+ if (Object.prototype.hasOwnProperty.call(ProcessingClass, key)) {
35
+ if (ProcessingClass[key] === value) {
36
+ return true;
37
+ }
38
+ }
39
+ }
40
+ return false;
41
+ }
42
+ export function ProcessingClassFromJSON(json) {
43
+ return ProcessingClassFromJSONTyped(json, false);
44
+ }
45
+ export function ProcessingClassFromJSONTyped(json, ignoreDiscriminator) {
46
+ return json;
47
+ }
48
+ export function ProcessingClassToJSON(value) {
49
+ return value;
50
+ }
51
+ export function ProcessingClassToJSONTyped(value, ignoreDiscriminator) {
52
+ return value;
53
+ }