@giveitsmaller/contracts 0.4.0 → 0.7.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 (358) hide show
  1. package/asyncapi/events.yaml +455 -41
  2. package/availability/availability.json +706 -83
  3. package/dist/asyncapi/OperationType.d.ts +5 -1
  4. package/dist/asyncapi/OperationType.js +4 -0
  5. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
  6. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
  7. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
  8. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
  9. package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
  10. package/dist/openapi/models/AuthErrorResponse.js +1 -1
  11. package/dist/openapi/models/AuthErrorType.d.ts +1 -1
  12. package/dist/openapi/models/AuthErrorType.js +1 -1
  13. package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
  14. package/dist/openapi/models/AvailabilityValue.js +1 -1
  15. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
  16. package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
  17. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
  18. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
  19. package/dist/openapi/models/CallbackEventType.d.ts +1 -1
  20. package/dist/openapi/models/CallbackEventType.js +1 -1
  21. package/dist/openapi/models/ConnectionSource.d.ts +1 -1
  22. package/dist/openapi/models/ConnectionSource.js +1 -1
  23. package/dist/openapi/models/ContactRequest.d.ts +1 -1
  24. package/dist/openapi/models/ContactRequest.js +1 -1
  25. package/dist/openapi/models/ContactSubject.d.ts +1 -1
  26. package/dist/openapi/models/ContactSubject.js +1 -1
  27. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
  28. package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
  29. package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
  30. package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
  31. package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
  32. package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
  33. package/dist/openapi/models/CreateWorkflow422Response.d.ts +3 -2
  34. package/dist/openapi/models/CreateWorkflow422Response.js +8 -1
  35. package/dist/openapi/models/CreditTransaction.d.ts +1 -1
  36. package/dist/openapi/models/CreditTransaction.js +1 -1
  37. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
  38. package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
  39. package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
  40. package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
  41. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
  42. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
  43. package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
  44. package/dist/openapi/models/CreditsUsageResponse.js +1 -1
  45. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
  46. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
  47. package/dist/openapi/models/Delivery.d.ts +1 -1
  48. package/dist/openapi/models/Delivery.js +1 -1
  49. package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
  50. package/dist/openapi/models/DeliveryOutputRef.js +1 -1
  51. package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
  52. package/dist/openapi/models/DeliveryPlan.js +1 -1
  53. package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
  54. package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
  55. package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
  56. package/dist/openapi/models/DeliveryPlanReason.js +1 -1
  57. package/dist/openapi/models/DeliverySelection.d.ts +1 -1
  58. package/dist/openapi/models/DeliverySelection.js +1 -1
  59. package/dist/openapi/models/EndpointProjection.d.ts +98 -0
  60. package/dist/openapi/models/EndpointProjection.js +78 -0
  61. package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
  62. package/dist/openapi/models/ErrorEnvelope.js +1 -1
  63. package/dist/openapi/models/EstimateQuality.d.ts +1 -1
  64. package/dist/openapi/models/EstimateQuality.js +1 -1
  65. package/dist/openapi/models/EstimateRange.d.ts +1 -1
  66. package/dist/openapi/models/EstimateRange.js +1 -1
  67. package/dist/openapi/models/ExternalDestination.d.ts +1 -1
  68. package/dist/openapi/models/ExternalDestination.js +1 -1
  69. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
  70. package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
  71. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
  72. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
  73. package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
  74. package/dist/openapi/models/ExternalImportRequest.js +1 -1
  75. package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
  76. package/dist/openapi/models/ExternalImportToken.js +1 -1
  77. package/dist/openapi/models/ExternalSource.d.ts +1 -1
  78. package/dist/openapi/models/ExternalSource.js +1 -1
  79. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
  80. package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
  81. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
  82. package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
  83. package/dist/openapi/models/FeatureViolation.d.ts +1 -1
  84. package/dist/openapi/models/FeatureViolation.js +1 -1
  85. package/dist/openapi/models/JobDefinition.d.ts +17 -6
  86. package/dist/openapi/models/JobDefinition.js +1 -1
  87. package/dist/openapi/models/JobDownload.d.ts +1 -1
  88. package/dist/openapi/models/JobDownload.js +1 -1
  89. package/dist/openapi/models/JobInputV2.d.ts +16 -1
  90. package/dist/openapi/models/JobInputV2.js +1 -1
  91. package/dist/openapi/models/JobOutputSource.d.ts +1 -1
  92. package/dist/openapi/models/JobOutputSource.js +1 -1
  93. package/dist/openapi/models/JobResponse.d.ts +1 -1
  94. package/dist/openapi/models/JobResponse.js +1 -1
  95. package/dist/openapi/models/JobStatus.d.ts +1 -1
  96. package/dist/openapi/models/JobStatus.js +1 -1
  97. package/dist/openapi/models/JobType.d.ts +1 -1
  98. package/dist/openapi/models/JobType.js +1 -1
  99. package/dist/openapi/models/LivenessResponse.d.ts +1 -1
  100. package/dist/openapi/models/LivenessResponse.js +1 -1
  101. package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
  102. package/dist/openapi/models/LoginUser200Response.js +1 -1
  103. package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
  104. package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
  105. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
  106. package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
  107. package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
  108. package/dist/openapi/models/LoginUserRequest.js +1 -1
  109. package/dist/openapi/models/LogoutUser200Response.d.ts +1 -1
  110. package/dist/openapi/models/LogoutUser200Response.js +1 -1
  111. package/dist/openapi/models/MetadataResponse.d.ts +1 -1
  112. package/dist/openapi/models/MetadataResponse.js +1 -1
  113. package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
  114. package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
  115. package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
  116. package/dist/openapi/models/MetadataResponseExif.js +1 -1
  117. package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
  118. package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
  119. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
  120. package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
  121. package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
  122. package/dist/openapi/models/MimeGroupSchema.js +1 -1
  123. package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
  124. package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
  125. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
  126. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
  127. package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
  128. package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
  129. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
  130. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
  131. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
  132. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
  133. package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
  134. package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
  135. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
  136. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
  137. package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
  138. package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
  139. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
  140. package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
  141. package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
  142. package/dist/openapi/models/MultipartPartListing.js +1 -1
  143. package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
  144. package/dist/openapi/models/MultipartPresignRequest.js +1 -1
  145. package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
  146. package/dist/openapi/models/MultipartPresignResponse.js +1 -1
  147. package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
  148. package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
  149. package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
  150. package/dist/openapi/models/MultipartStatusResponse.js +1 -1
  151. package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
  152. package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
  153. package/dist/openapi/models/OperationDefinition.d.ts +1 -1
  154. package/dist/openapi/models/OperationDefinition.js +1 -1
  155. package/dist/openapi/models/OperationDownload.d.ts +1 -1
  156. package/dist/openapi/models/OperationDownload.js +1 -1
  157. package/dist/openapi/models/OperationInputModel.d.ts +4 -3
  158. package/dist/openapi/models/OperationInputModel.js +4 -3
  159. package/dist/openapi/models/OperationResponse.d.ts +1 -1
  160. package/dist/openapi/models/OperationResponse.js +1 -1
  161. package/dist/openapi/models/OperationResult.d.ts +1 -1
  162. package/dist/openapi/models/OperationResult.js +1 -1
  163. package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
  164. package/dist/openapi/models/OperationResultMetrics.js +1 -1
  165. package/dist/openapi/models/OperationSchemaDefinition.d.ts +23 -2
  166. package/dist/openapi/models/OperationSchemaDefinition.js +4 -1
  167. package/dist/openapi/models/OperationStatus.d.ts +1 -1
  168. package/dist/openapi/models/OperationStatus.js +1 -1
  169. package/dist/openapi/models/OperationType.d.ts +10 -2
  170. package/dist/openapi/models/OperationType.js +11 -3
  171. package/dist/openapi/models/OperationsSchemaResponse.d.ts +29 -1
  172. package/dist/openapi/models/OperationsSchemaResponse.js +4 -1
  173. package/dist/openapi/models/OptionSchema.d.ts +2 -1
  174. package/dist/openapi/models/OptionSchema.js +3 -2
  175. package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +47 -0
  176. package/dist/openapi/models/PerRoleCardinalityEntry.js +47 -0
  177. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
  178. package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
  179. package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
  180. package/dist/openapi/models/PresignedUrlPart.js +1 -1
  181. package/dist/openapi/models/ProbePendingResponse.d.ts +171 -0
  182. package/dist/openapi/models/ProbePendingResponse.js +75 -0
  183. package/dist/openapi/models/ProcessingClass.d.ts +1 -1
  184. package/dist/openapi/models/ProcessingClass.js +1 -1
  185. package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
  186. package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
  187. package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
  188. package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
  189. package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
  190. package/dist/openapi/models/ProcessingClassHint.js +1 -1
  191. package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
  192. package/dist/openapi/models/ProcessingClassReason.js +1 -1
  193. package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
  194. package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
  195. package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
  196. package/dist/openapi/models/ProcessingPlan.js +1 -1
  197. package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
  198. package/dist/openapi/models/ProcessingPlanJob.js +1 -1
  199. package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
  200. package/dist/openapi/models/ReadinessResponse.js +1 -1
  201. package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
  202. package/dist/openapi/models/ResponseEnvelope.js +1 -1
  203. package/dist/openapi/models/RetryResponse.d.ts +1 -1
  204. package/dist/openapi/models/RetryResponse.js +1 -1
  205. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
  206. package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
  207. package/dist/openapi/models/SseCompletionBase.d.ts +63 -0
  208. package/dist/openapi/models/SseCompletionBase.js +50 -0
  209. package/dist/openapi/models/SseEventType.d.ts +1 -1
  210. package/dist/openapi/models/SseEventType.js +1 -1
  211. package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
  212. package/dist/openapi/models/SseJobCompletedData.js +1 -1
  213. package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
  214. package/dist/openapi/models/SseJobFailedData.js +1 -1
  215. package/dist/openapi/models/SseMultiOutputCompletion.d.ts +60 -0
  216. package/dist/openapi/models/SseMultiOutputCompletion.js +51 -0
  217. package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +38 -0
  218. package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +43 -0
  219. package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +73 -0
  220. package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +61 -0
  221. package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +74 -0
  222. package/dist/openapi/models/SseMultiOutputResultEntry.js +51 -0
  223. package/dist/openapi/models/SseOperationCompletedData.d.ts +4 -4
  224. package/dist/openapi/models/SseOperationCompletedData.js +4 -4
  225. package/dist/openapi/models/SseOperationCompletionResult.d.ts +100 -0
  226. package/dist/openapi/models/SseOperationCompletionResult.js +47 -0
  227. package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
  228. package/dist/openapi/models/SseOperationFailedData.js +1 -1
  229. package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
  230. package/dist/openapi/models/SseOperationProgressData.js +1 -1
  231. package/dist/openapi/models/SseSingleOutputCompletion.d.ts +69 -0
  232. package/dist/openapi/models/SseSingleOutputCompletion.js +62 -0
  233. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
  234. package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
  235. package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
  236. package/dist/openapi/models/TierRestrictionKind.js +1 -1
  237. package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
  238. package/dist/openapi/models/TierRestrictionResponse.js +1 -1
  239. package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
  240. package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
  241. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
  242. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
  243. package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
  244. package/dist/openapi/models/UploadFile403Response.js +1 -1
  245. package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
  246. package/dist/openapi/models/UploadFile422Response.js +1 -1
  247. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
  248. package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
  249. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
  250. package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
  251. package/dist/openapi/models/UploadProbeResponse.d.ts +4 -2
  252. package/dist/openapi/models/UploadProbeResponse.js +1 -1
  253. package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
  254. package/dist/openapi/models/UploadProbeStatus.js +1 -1
  255. package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +56 -0
  256. package/dist/openapi/models/UploadProbeSuccessEnvelope.js +54 -0
  257. package/dist/openapi/models/UploadResponse.d.ts +1 -1
  258. package/dist/openapi/models/UploadResponse.js +1 -1
  259. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
  260. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
  261. package/dist/openapi/models/UploadSource.d.ts +1 -1
  262. package/dist/openapi/models/UploadSource.js +1 -1
  263. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
  264. package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
  265. package/dist/openapi/models/UploadThresholds.d.ts +1 -1
  266. package/dist/openapi/models/UploadThresholds.js +1 -1
  267. package/dist/openapi/models/UserTier.d.ts +1 -1
  268. package/dist/openapi/models/UserTier.js +1 -1
  269. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
  270. package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
  271. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
  272. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
  273. package/dist/openapi/models/WarningType.d.ts +1 -1
  274. package/dist/openapi/models/WarningType.js +1 -1
  275. package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
  276. package/dist/openapi/models/WebhookOperationContext.js +1 -1
  277. package/dist/openapi/models/WebhookPayload.d.ts +1 -1
  278. package/dist/openapi/models/WebhookPayload.js +1 -1
  279. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
  280. package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
  281. package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
  282. package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
  283. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
  284. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
  285. package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
  286. package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
  287. package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
  288. package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
  289. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
  290. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
  291. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
  292. package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
  293. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
  294. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
  295. package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
  296. package/dist/openapi/models/WorkflowEdge.js +1 -1
  297. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
  298. package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
  299. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
  300. package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
  301. package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
  302. package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
  303. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
  304. package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
  305. package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
  306. package/dist/openapi/models/WorkflowProcessing.js +1 -1
  307. package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
  308. package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
  309. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
  310. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
  311. package/dist/openapi/models/WorkflowSource.d.ts +1 -1
  312. package/dist/openapi/models/WorkflowSource.js +1 -1
  313. package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
  314. package/dist/openapi/models/WorkflowStatus.js +1 -1
  315. package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
  316. package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
  317. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
  318. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
  319. package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
  320. package/dist/openapi/models/WorkflowWarning.js +1 -1
  321. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
  322. package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
  323. package/dist/openapi/models/index.d.ts +11 -0
  324. package/dist/openapi/models/index.js +11 -0
  325. package/dist/openapi/runtime.d.ts +1 -1
  326. package/dist/openapi/runtime.js +1 -1
  327. package/dist/operations/audio_to_video.d.ts +20 -0
  328. package/dist/operations/audio_to_video.js +17 -0
  329. package/dist/operations/audio_to_video.metadata.d.ts +2 -0
  330. package/dist/operations/audio_to_video.metadata.js +29 -0
  331. package/dist/operations/image_watermark.d.ts +0 -18
  332. package/dist/operations/image_watermark.js +0 -12
  333. package/dist/operations/image_watermark.metadata.js +0 -41
  334. package/dist/operations/index.d.ts +8 -0
  335. package/dist/operations/index.js +8 -0
  336. package/dist/operations/metadata-types.d.ts +17 -0
  337. package/dist/operations/split.d.ts +50 -0
  338. package/dist/operations/split.js +34 -0
  339. package/dist/operations/split.metadata.d.ts +2 -0
  340. package/dist/operations/split.metadata.js +103 -0
  341. package/dist/operations/video_text_watermark.d.ts +31 -0
  342. package/dist/operations/video_text_watermark.js +22 -0
  343. package/dist/operations/video_text_watermark.metadata.d.ts +2 -0
  344. package/dist/operations/video_text_watermark.metadata.js +65 -0
  345. package/dist/operations/video_watermark.d.ts +18 -0
  346. package/dist/operations/video_watermark.js +13 -0
  347. package/dist/operations/video_watermark.metadata.d.ts +2 -0
  348. package/dist/operations/video_watermark.metadata.js +52 -0
  349. package/openapi/api.yaml +772 -72
  350. package/operations/schemas/audio_to_video.yaml +122 -0
  351. package/operations/schemas/compress.yaml +0 -3
  352. package/operations/schemas/convert.yaml +14 -1
  353. package/operations/schemas/image_watermark.yaml +15 -103
  354. package/operations/schemas/split.yaml +309 -0
  355. package/operations/schemas/thumbnail.yaml +7 -1
  356. package/operations/schemas/video_text_watermark.yaml +174 -0
  357. package/operations/schemas/video_watermark.yaml +136 -0
  358. package/package.json +8 -3
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
5
+ * The version of the OpenAPI document: 2.17.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -10,6 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import type { UserTier } from './UserTier.js';
13
+ import type { EndpointProjection } from './EndpointProjection.js';
13
14
  import type { OperationSchemaDefinition } from './OperationSchemaDefinition.js';
14
15
  /**
15
16
  * Operations meta-schema. Describes all available operation types,
@@ -97,6 +98,33 @@ export interface OperationsSchemaResponse {
97
98
  operations: {
98
99
  [key: string]: OperationSchemaDefinition;
99
100
  };
101
+ /**
102
+ * Flat per-endpoint auth/identity projection per
103
+ * [ADR-0016](../docs/decisions/0016-per-endpoint-auth-identity-modeling.md)
104
+ * §D4. Keys are `<METHOD> <PATH>` literals (e.g.
105
+ * `"POST /api/workflows"`); values declare the auth axis +
106
+ * identity-scoping + reserved tier/availability slots +
107
+ * operation_id for SDK ergonomic-layer consumption.
108
+ *
109
+ * Webhook operations are EXCLUDED per ADR-0016 §D5 — outbound
110
+ * HMAC-signed callbacks use a separate auth model.
111
+ *
112
+ * **Optional in the wire envelope** to keep the runtime
113
+ * endpoint's mirroring obligation incremental: the
114
+ * committed sidecar (yN309QVb-B3 / v2.17.0+) emits this
115
+ * block authoritatively; the runtime `GET /api/operations/
116
+ * schema` MAY mirror it once the API team's runtime
117
+ * generator catches up. Consumers MUST tolerate absent
118
+ * `endpoints` from the runtime endpoint (read the sidecar
119
+ * instead) and MUST tolerate present `endpoints` from
120
+ * either source.
121
+ *
122
+ * @type {{ [key: string]: EndpointProjection; }}
123
+ * @memberof OperationsSchemaResponse
124
+ */
125
+ endpoints?: {
126
+ [key: string]: EndpointProjection;
127
+ };
100
128
  }
101
129
  /**
102
130
  * Check if a given object implements the OperationsSchemaResponse interface.
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
7
+ * The version of the OpenAPI document: 2.17.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -13,6 +13,7 @@
13
13
  */
14
14
  import { mapValues } from '../runtime.js';
15
15
  import { UserTierFromJSON, UserTierToJSON, } from './UserTier.js';
16
+ import { EndpointProjectionFromJSON, EndpointProjectionToJSON, } from './EndpointProjection.js';
16
17
  import { OperationSchemaDefinitionFromJSON, OperationSchemaDefinitionToJSON, } from './OperationSchemaDefinition.js';
17
18
  /**
18
19
  * Check if a given object implements the OperationsSchemaResponse interface.
@@ -43,6 +44,7 @@ export function OperationsSchemaResponseFromJSONTyped(json, ignoreDiscriminator)
43
44
  'environment': json['environment'] == null ? undefined : json['environment'],
44
45
  'userTier': json['user_tier'] == null ? undefined : UserTierFromJSON(json['user_tier']),
45
46
  'operations': (mapValues(json['operations'], OperationSchemaDefinitionFromJSON)),
47
+ 'endpoints': json['endpoints'] == null ? undefined : (mapValues(json['endpoints'], EndpointProjectionFromJSON)),
46
48
  };
47
49
  }
48
50
  export function OperationsSchemaResponseToJSON(json) {
@@ -60,5 +62,6 @@ export function OperationsSchemaResponseToJSONTyped(value, ignoreDiscriminator =
60
62
  'environment': value['environment'],
61
63
  'user_tier': UserTierToJSON(value['userTier']),
62
64
  'operations': (mapValues(value['operations'], OperationSchemaDefinitionToJSON)),
65
+ 'endpoints': value['endpoints'] == null ? undefined : (mapValues(value['endpoints'], EndpointProjectionToJSON)),
63
66
  };
64
67
  }
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
5
+ * The version of the OpenAPI document: 2.17.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -126,6 +126,7 @@ export declare const OptionSchemaTypeEnum: {
126
126
  readonly boolean: "boolean";
127
127
  readonly enum: "enum";
128
128
  readonly string: "string";
129
+ readonly array: "array";
129
130
  };
130
131
  export type OptionSchemaTypeEnum = typeof OptionSchemaTypeEnum[keyof typeof OptionSchemaTypeEnum];
131
132
  /**
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
7
+ * The version of the OpenAPI document: 2.17.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -23,7 +23,8 @@ export const OptionSchemaTypeEnum = {
23
23
  float: 'float',
24
24
  boolean: 'boolean',
25
25
  enum: 'enum',
26
- string: 'string'
26
+ string: 'string',
27
+ array: 'array'
27
28
  };
28
29
  /**
29
30
  * @export
@@ -0,0 +1,47 @@
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.17.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
+ * Per-role cardinality entry. `min: 0` makes the role optional.
14
+ * `max: 1` is the most common upper bound (one base, one
15
+ * overlay); future role-based ops may declare higher maxima
16
+ * (e.g. multi-overlay video composites). Both fields default to
17
+ * `1` when absent on a role key — but consumers SHOULD treat
18
+ * absence of either field as a contract bug surfaced by
19
+ * `scripts/check-per-role-cardinality.py` rather than silently
20
+ * defaulting.
21
+ *
22
+ * @export
23
+ * @interface PerRoleCardinalityEntry
24
+ */
25
+ export interface PerRoleCardinalityEntry {
26
+ /**
27
+ * Minimum input count for this role (0 = optional).
28
+ * @type {number}
29
+ * @memberof PerRoleCardinalityEntry
30
+ */
31
+ min: number;
32
+ /**
33
+ * Maximum input count for this role. MUST be >= `min`.
34
+ *
35
+ * @type {number}
36
+ * @memberof PerRoleCardinalityEntry
37
+ */
38
+ max: number;
39
+ }
40
+ /**
41
+ * Check if a given object implements the PerRoleCardinalityEntry interface.
42
+ */
43
+ export declare function instanceOfPerRoleCardinalityEntry(value: object): value is PerRoleCardinalityEntry;
44
+ export declare function PerRoleCardinalityEntryFromJSON(json: any): PerRoleCardinalityEntry;
45
+ export declare function PerRoleCardinalityEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PerRoleCardinalityEntry;
46
+ export declare function PerRoleCardinalityEntryToJSON(json: any): PerRoleCardinalityEntry;
47
+ export declare function PerRoleCardinalityEntryToJSONTyped(value?: PerRoleCardinalityEntry | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,47 @@
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.17.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
+ * Check if a given object implements the PerRoleCardinalityEntry interface.
16
+ */
17
+ export function instanceOfPerRoleCardinalityEntry(value) {
18
+ if (!('min' in value) || value['min'] === undefined)
19
+ return false;
20
+ if (!('max' in value) || value['max'] === undefined)
21
+ return false;
22
+ return true;
23
+ }
24
+ export function PerRoleCardinalityEntryFromJSON(json) {
25
+ return PerRoleCardinalityEntryFromJSONTyped(json, false);
26
+ }
27
+ export function PerRoleCardinalityEntryFromJSONTyped(json, ignoreDiscriminator) {
28
+ if (json == null) {
29
+ return json;
30
+ }
31
+ return {
32
+ 'min': json['min'],
33
+ 'max': json['max'],
34
+ };
35
+ }
36
+ export function PerRoleCardinalityEntryToJSON(json) {
37
+ return PerRoleCardinalityEntryToJSONTyped(json, false);
38
+ }
39
+ export function PerRoleCardinalityEntryToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'min': value['min'],
45
+ 'max': value['max'],
46
+ };
47
+ }
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
5
+ * The version of the OpenAPI document: 2.17.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
7
+ * The version of the OpenAPI document: 2.17.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
5
+ * The version of the OpenAPI document: 2.17.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
7
+ * The version of the OpenAPI document: 2.17.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -0,0 +1,171 @@
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.17.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
+ * 422 response on `POST /api/workflows` when the probe-pending
14
+ * gate (API `av1J0rEF`, shipped behind a default-OFF feature flag)
15
+ * is enabled and a job references an upload whose server-side
16
+ * probe has not yet completed at workflow-create time. Rather than
17
+ * silently routing the job as `short_form` (which hard-fails long
18
+ * video clips), the server rejects with this envelope so the
19
+ * client can recover deterministically.
20
+ *
21
+ * **Recovery contract.** Poll `POST /api/uploads/{id}/probe` for
22
+ * the pending upload until its `probe_status` is terminal
23
+ * (`ok` → re-`POST /api/workflows` the same request; `corrupt` /
24
+ * `unsupported_codec` → surface the probe error, do not retry).
25
+ * The `Retry-After` response header (when present) carries the
26
+ * suggested delay in seconds before the next poll/retry.
27
+ *
28
+ * Delivered alongside `ValidationErrorEnvelope`,
29
+ * `FeatureNotAvailableResponse`, and
30
+ * `ProcessingClassExceedsBandResponse` via the naked `oneOf` on
31
+ * the 422 response — duck-typed on required-field shape: this
32
+ * branch is the only one carrying `error_type: probe_pending`
33
+ * and it has neither `details` (ValidationErrorEnvelope) nor
34
+ * `violations` (the other two typed envelopes), so it matches
35
+ * exactly one branch.
36
+ *
37
+ * @export
38
+ * @interface ProbePendingResponse
39
+ */
40
+ export interface ProbePendingResponse {
41
+ /**
42
+ *
43
+ * @type {ProbePendingResponseSuccessEnum}
44
+ * @memberof ProbePendingResponse
45
+ */
46
+ success: ProbePendingResponseSuccessEnum;
47
+ /**
48
+ * Stable, machine-readable error code (e.g.
49
+ * `INVALID_OPTIONS`, `BALANCE_EXHAUSTED`,
50
+ * `REQUIRES_REENCODE`). Canonical English; never localised.
51
+ * SDKs duck-type on this field for typed error-branch
52
+ * helpers.
53
+ *
54
+ * Multipart-session resume codes (per ticket
55
+ * [`HxUmVr3Y`](https://trello.com/c/HxUmVr3Y), V2.10.0):
56
+ * - `MULTIPART_SESSION_NOT_FOUND` (404) — upload_id does
57
+ * not match an in-flight session (expired / never
58
+ * existed / wrong account namespace). Fired by /status,
59
+ * /presign, /keepalive.
60
+ * - `MULTIPART_SESSION_OWNERSHIP` (403) — authenticated
61
+ * caller is not the session owner. Fired by /status,
62
+ * /presign, /keepalive, /complete (when manifest.userId
63
+ * is non-null and differs).
64
+ * - `MULTIPART_SESSION_AUTH_REQUIRED` (403) — session was
65
+ * anonymously initiated; the three resume endpoints
66
+ * require authentication. The `8LABloaz` follow-up will
67
+ * flip `/initiate` to also require auth.
68
+ * - `FILE_TOO_LARGE_FOR_MULTIPART` (422) — assembled object
69
+ * would exceed the S3 multipart capacity cap. Pre-S3
70
+ * server-side capacity gate; distinct from tier-quota
71
+ * rejections (`upload_size_exceeds_tier`).
72
+ *
73
+ * @type {string}
74
+ * @memberof ProbePendingResponse
75
+ */
76
+ error: string;
77
+ /**
78
+ * Human-readable error message, localised per the
79
+ * request's `Accept-Language` header (fallback locale
80
+ * `en-GB`). The response carries `Content-Language:
81
+ * <locale>` + `Vary: Accept-Language` headers. **Never
82
+ * parse this field for control flow** — it changes per
83
+ * locale.
84
+ *
85
+ * @type {string}
86
+ * @memberof ProbePendingResponse
87
+ */
88
+ message?: string;
89
+ /**
90
+ * Stable canonical lookup key for the message (e.g.
91
+ * `error.balance_exhausted.add_credits`,
92
+ * `error.upload_size_exceeds_tier`). Never localised. SDK +
93
+ * frontend translation layers gate on this for client-side
94
+ * i18n catalogs (per ticket X19, cross-repo SDK companion
95
+ * work). Stable across server message-prose updates.
96
+ *
97
+ * @type {string}
98
+ * @memberof ProbePendingResponse
99
+ */
100
+ messageKey?: string;
101
+ /**
102
+ * BCP 47 locale tag echoing the resolved `Content-Language`
103
+ * response header value (e.g. `en-GB`, `pt-BR`, `ja-JP`).
104
+ * Lets the SDK confirm which locale the server selected
105
+ * when the request used q-value negotiation across multiple
106
+ * `Accept-Language` values.
107
+ *
108
+ * @type {string}
109
+ * @memberof ProbePendingResponse
110
+ */
111
+ locale?: string;
112
+ /**
113
+ * Optional interpolation values for the localised
114
+ * `message`. Keys are stable parameter names referenced by
115
+ * the translation table (e.g.
116
+ * `{ "filename": "photo.heic", "max_size_mb": 100 }`).
117
+ * **Excludes cost / monetary numbers** per plan v5 §F11
118
+ * round-13 narrowing — pricing-related localisation reads
119
+ * numeric state from `GET /api/v2/credits/balance`, not
120
+ * from this field. Values are JSON-native scalars
121
+ * (`string` / `integer` / `number` / `boolean` / `null`)
122
+ * — no nested objects, to keep translation-table
123
+ * integration simple.
124
+ *
125
+ * @type {{ [key: string]: any; }}
126
+ * @memberof ProbePendingResponse
127
+ */
128
+ messageParams?: {
129
+ [key: string]: any;
130
+ };
131
+ /**
132
+ * Discriminator for the 422 oneOf. Always `probe_pending`.
133
+ * @type {ProbePendingResponseErrorTypeEnum}
134
+ * @memberof ProbePendingResponse
135
+ */
136
+ errorType: ProbePendingResponseErrorTypeEnum;
137
+ /**
138
+ * Workflow-local identifier of the job whose upload-probe
139
+ * has not landed — `JobDefinition.id` if the caller
140
+ * supplied one, else the auto-generated `job_N` token.
141
+ * Mirrors `ProcessingClassBandViolation.job_ref`; NOT
142
+ * `format: uuid` because workflow-create rejects fire
143
+ * before server-side UUIDs are assigned.
144
+ *
145
+ * @type {string}
146
+ * @memberof ProbePendingResponse
147
+ */
148
+ jobRef: string;
149
+ }
150
+ /**
151
+ * @export
152
+ */
153
+ export declare const ProbePendingResponseSuccessEnum: {
154
+ readonly false: false;
155
+ };
156
+ export type ProbePendingResponseSuccessEnum = typeof ProbePendingResponseSuccessEnum[keyof typeof ProbePendingResponseSuccessEnum];
157
+ /**
158
+ * @export
159
+ */
160
+ export declare const ProbePendingResponseErrorTypeEnum: {
161
+ readonly probe_pending: "probe_pending";
162
+ };
163
+ export type ProbePendingResponseErrorTypeEnum = typeof ProbePendingResponseErrorTypeEnum[keyof typeof ProbePendingResponseErrorTypeEnum];
164
+ /**
165
+ * Check if a given object implements the ProbePendingResponse interface.
166
+ */
167
+ export declare function instanceOfProbePendingResponse(value: object): value is ProbePendingResponse;
168
+ export declare function ProbePendingResponseFromJSON(json: any): ProbePendingResponse;
169
+ export declare function ProbePendingResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProbePendingResponse;
170
+ export declare function ProbePendingResponseToJSON(json: any): ProbePendingResponse;
171
+ export declare function ProbePendingResponseToJSONTyped(value?: ProbePendingResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,75 @@
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.17.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * @export
16
+ */
17
+ export const ProbePendingResponseSuccessEnum = {
18
+ false: false
19
+ };
20
+ /**
21
+ * @export
22
+ */
23
+ export const ProbePendingResponseErrorTypeEnum = {
24
+ probe_pending: 'probe_pending'
25
+ };
26
+ /**
27
+ * Check if a given object implements the ProbePendingResponse interface.
28
+ */
29
+ export function instanceOfProbePendingResponse(value) {
30
+ if (!('success' in value) || value['success'] === undefined)
31
+ return false;
32
+ if (!('error' in value) || value['error'] === undefined)
33
+ return false;
34
+ if (!('errorType' in value) || value['errorType'] === undefined)
35
+ return false;
36
+ if (!('jobRef' in value) || value['jobRef'] === undefined)
37
+ return false;
38
+ return true;
39
+ }
40
+ export function ProbePendingResponseFromJSON(json) {
41
+ return ProbePendingResponseFromJSONTyped(json, false);
42
+ }
43
+ export function ProbePendingResponseFromJSONTyped(json, ignoreDiscriminator) {
44
+ if (json == null) {
45
+ return json;
46
+ }
47
+ return {
48
+ 'success': json['success'],
49
+ 'error': json['error'],
50
+ 'message': json['message'] == null ? undefined : json['message'],
51
+ 'messageKey': json['message_key'] == null ? undefined : json['message_key'],
52
+ 'locale': json['locale'] == null ? undefined : json['locale'],
53
+ 'messageParams': json['message_params'] == null ? undefined : json['message_params'],
54
+ 'errorType': json['error_type'],
55
+ 'jobRef': json['job_ref'],
56
+ };
57
+ }
58
+ export function ProbePendingResponseToJSON(json) {
59
+ return ProbePendingResponseToJSONTyped(json, false);
60
+ }
61
+ export function ProbePendingResponseToJSONTyped(value, ignoreDiscriminator = false) {
62
+ if (value == null) {
63
+ return value;
64
+ }
65
+ return {
66
+ 'success': value['success'],
67
+ 'error': value['error'],
68
+ 'message': value['message'],
69
+ 'message_key': value['messageKey'],
70
+ 'locale': value['locale'],
71
+ 'message_params': value['messageParams'],
72
+ 'error_type': value['errorType'],
73
+ 'job_ref': value['jobRef'],
74
+ };
75
+ }
@@ -2,7 +2,7 @@
2
2
  * GISL Compression API
3
3
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
5
+ * The version of the OpenAPI document: 2.17.0
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -4,7 +4,7 @@
4
4
  * GISL Compression API
5
5
  * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/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.12.0
7
+ * The version of the OpenAPI document: 2.17.0
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).