@giveitsmaller/contracts 0.2.3 → 0.3.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 (369) hide show
  1. package/asyncapi/events.yaml +1777 -172
  2. package/availability/availability.json +2403 -0
  3. package/dist/asyncapi/AnonymousSchema_13.d.ts +6 -0
  4. package/dist/asyncapi/AnonymousSchema_13.js +7 -0
  5. package/dist/asyncapi/AnonymousSchema_152.d.ts +5 -0
  6. package/dist/asyncapi/AnonymousSchema_152.js +6 -0
  7. package/dist/asyncapi/Failure.d.ts +25 -0
  8. package/dist/asyncapi/Failure.js +1 -0
  9. package/dist/asyncapi/JobInputRole.d.ts +6 -0
  10. package/dist/asyncapi/JobInputRole.js +7 -0
  11. package/dist/asyncapi/MergeOutputType.d.ts +1 -3
  12. package/dist/asyncapi/MergeOutputType.js +0 -2
  13. package/dist/asyncapi/MultiOutputCompletion.d.ts +25 -0
  14. package/dist/asyncapi/MultiOutputCompletion.js +1 -0
  15. package/dist/asyncapi/NotificationsOperationsQueue.d.ts +4 -2
  16. package/dist/asyncapi/OperationMetrics.d.ts +3 -0
  17. package/dist/asyncapi/OperationProgress.d.ts +2 -0
  18. package/dist/asyncapi/OperationResult.d.ts +4 -19
  19. package/dist/asyncapi/OperationType.d.ts +6 -6
  20. package/dist/asyncapi/OperationType.js +5 -5
  21. package/dist/asyncapi/PageIndexed.d.ts +8 -0
  22. package/dist/asyncapi/PageIndexed.js +1 -0
  23. package/dist/asyncapi/PositionIndexed.d.ts +8 -0
  24. package/dist/asyncapi/PositionIndexed.js +1 -0
  25. package/dist/asyncapi/ProgressStatus.d.ts +3 -0
  26. package/dist/asyncapi/ProgressStatus.js +3 -0
  27. package/dist/asyncapi/ReEncodeDecision.d.ts +5 -0
  28. package/dist/asyncapi/ReEncodeDecision.js +6 -0
  29. package/dist/asyncapi/SingleOutputCompletion.d.ts +25 -0
  30. package/dist/asyncapi/SingleOutputCompletion.js +1 -0
  31. package/dist/asyncapi/SourceEntry.d.ts +2 -1
  32. package/dist/asyncapi/Unindexed.d.ts +8 -0
  33. package/dist/asyncapi/Unindexed.js +1 -0
  34. package/dist/asyncapi/UploadProbeCompletion.d.ts +16 -0
  35. package/dist/asyncapi/UploadProbeCompletion.js +1 -0
  36. package/dist/asyncapi/UploadProbeMediaMetadata.d.ts +18 -0
  37. package/dist/asyncapi/UploadProbeMediaMetadata.js +1 -0
  38. package/dist/asyncapi/UploadProbeProcessingClass.d.ts +6 -0
  39. package/dist/asyncapi/UploadProbeProcessingClass.js +7 -0
  40. package/dist/asyncapi/UploadProbeRequest.d.ts +10 -0
  41. package/dist/asyncapi/UploadProbeRequest.js +1 -0
  42. package/dist/asyncapi/UploadProbeStatus.d.ts +7 -0
  43. package/dist/asyncapi/UploadProbeStatus.js +8 -0
  44. package/dist/asyncapi/index.d.ts +13 -0
  45. package/dist/asyncapi/index.js +4 -0
  46. package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +64 -0
  47. package/dist/openapi/models/AudioWatermarkDecodeRequest.js +53 -0
  48. package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +80 -0
  49. package/dist/openapi/models/AudioWatermarkDecodeResponse.js +64 -0
  50. package/dist/openapi/models/AuthErrorResponse.d.ts +116 -0
  51. package/dist/openapi/models/AuthErrorResponse.js +66 -0
  52. package/dist/openapi/models/AuthErrorType.d.ts +73 -0
  53. package/dist/openapi/models/AuthErrorType.js +91 -0
  54. package/dist/openapi/models/AvailabilityValue.d.ts +43 -0
  55. package/dist/openapi/models/AvailabilityValue.js +61 -0
  56. package/dist/openapi/models/BalanceExhaustedResponse.d.ts +157 -0
  57. package/dist/openapi/models/BalanceExhaustedResponse.js +86 -0
  58. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +38 -0
  59. package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +43 -0
  60. package/dist/openapi/models/CallbackEventType.d.ts +2 -2
  61. package/dist/openapi/models/CallbackEventType.js +2 -2
  62. package/dist/openapi/models/ConnectionSource.d.ts +64 -0
  63. package/dist/openapi/models/ConnectionSource.js +57 -0
  64. package/dist/openapi/models/ContactRequest.d.ts +2 -2
  65. package/dist/openapi/models/ContactRequest.js +2 -2
  66. package/dist/openapi/models/ContactSubject.d.ts +2 -2
  67. package/dist/openapi/models/ContactSubject.js +2 -2
  68. package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
  69. package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
  70. package/dist/openapi/models/CreateExternalImport403Response.d.ts +24 -0
  71. package/dist/openapi/models/CreateExternalImport403Response.js +58 -0
  72. package/dist/openapi/models/CreateWorkflow422Response.d.ts +23 -0
  73. package/dist/openapi/models/CreateWorkflow422Response.js +51 -0
  74. package/dist/openapi/models/CreditTransaction.d.ts +186 -0
  75. package/dist/openapi/models/CreditTransaction.js +100 -0
  76. package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +46 -0
  77. package/dist/openapi/models/CreditTransactionSourceBucket.js +64 -0
  78. package/dist/openapi/models/CreditsBalanceResponse.d.ts +84 -0
  79. package/dist/openapi/models/CreditsBalanceResponse.js +68 -0
  80. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +46 -0
  81. package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +54 -0
  82. package/dist/openapi/models/CreditsUsageResponse.d.ts +51 -0
  83. package/dist/openapi/models/CreditsUsageResponse.js +56 -0
  84. package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +46 -0
  85. package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +54 -0
  86. package/dist/openapi/models/Delivery.d.ts +98 -0
  87. package/dist/openapi/models/Delivery.js +65 -0
  88. package/dist/openapi/models/DeliveryOutputRef.d.ts +44 -0
  89. package/dist/openapi/models/DeliveryOutputRef.js +45 -0
  90. package/dist/openapi/models/DeliveryPlan.d.ts +77 -0
  91. package/dist/openapi/models/DeliveryPlan.js +72 -0
  92. package/dist/openapi/models/DeliveryPlanOutput.d.ts +53 -0
  93. package/dist/openapi/models/DeliveryPlanOutput.js +52 -0
  94. package/dist/openapi/models/DeliveryPlanReason.d.ts +35 -0
  95. package/dist/openapi/models/DeliveryPlanReason.js +53 -0
  96. package/dist/openapi/models/DeliverySelection.d.ts +62 -0
  97. package/dist/openapi/models/DeliverySelection.js +54 -0
  98. package/dist/openapi/models/ErrorEnvelope.d.ts +83 -5
  99. package/dist/openapi/models/ErrorEnvelope.js +10 -2
  100. package/dist/openapi/models/EstimateQuality.d.ts +34 -0
  101. package/dist/openapi/models/EstimateQuality.js +52 -0
  102. package/dist/openapi/models/EstimateRange.d.ts +48 -0
  103. package/dist/openapi/models/EstimateRange.js +51 -0
  104. package/dist/openapi/models/ExternalDestination.d.ts +41 -0
  105. package/dist/openapi/models/ExternalDestination.js +47 -0
  106. package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +49 -0
  107. package/dist/openapi/models/ExternalImportCreatedResponse.js +51 -0
  108. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +46 -0
  109. package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +54 -0
  110. package/dist/openapi/models/ExternalImportRequest.d.ts +92 -0
  111. package/dist/openapi/models/ExternalImportRequest.js +61 -0
  112. package/dist/openapi/models/ExternalImportToken.d.ts +51 -0
  113. package/dist/openapi/models/ExternalImportToken.js +53 -0
  114. package/dist/openapi/models/ExternalSource.d.ts +31 -0
  115. package/dist/openapi/models/ExternalSource.js +47 -0
  116. package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +140 -0
  117. package/dist/openapi/models/FeatureNotAvailableResponse.js +76 -0
  118. package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +135 -0
  119. package/dist/openapi/models/FeatureTierRestrictedResponse.js +76 -0
  120. package/dist/openapi/models/FeatureViolation.d.ts +108 -0
  121. package/dist/openapi/models/FeatureViolation.js +63 -0
  122. package/dist/openapi/models/JobDefinition.d.ts +125 -14
  123. package/dist/openapi/models/JobDefinition.js +25 -4
  124. package/dist/openapi/models/JobDownload.d.ts +2 -2
  125. package/dist/openapi/models/JobDownload.js +2 -2
  126. package/dist/openapi/models/JobInputV2.d.ts +89 -0
  127. package/dist/openapi/models/JobInputV2.js +56 -0
  128. package/dist/openapi/models/JobOutputSource.d.ts +57 -0
  129. package/dist/openapi/models/JobOutputSource.js +55 -0
  130. package/dist/openapi/models/JobResponse.d.ts +2 -2
  131. package/dist/openapi/models/JobResponse.js +2 -2
  132. package/dist/openapi/models/JobStatus.d.ts +17 -8
  133. package/dist/openapi/models/JobStatus.js +17 -8
  134. package/dist/openapi/models/JobType.d.ts +2 -2
  135. package/dist/openapi/models/JobType.js +2 -2
  136. package/dist/openapi/models/LivenessResponse.d.ts +2 -2
  137. package/dist/openapi/models/LivenessResponse.js +2 -2
  138. package/dist/openapi/models/LoginUser200Response.d.ts +46 -0
  139. package/dist/openapi/models/LoginUser200Response.js +54 -0
  140. package/dist/openapi/models/LoginUser200ResponseData.d.ts +33 -0
  141. package/dist/openapi/models/LoginUser200ResponseData.js +44 -0
  142. package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +50 -0
  143. package/dist/openapi/models/LoginUser200ResponseDataUser.js +51 -0
  144. package/dist/openapi/models/LoginUserRequest.d.ts +38 -0
  145. package/dist/openapi/models/LoginUserRequest.js +47 -0
  146. package/dist/openapi/models/LogoutUser200Response.d.ts +50 -0
  147. package/dist/openapi/models/LogoutUser200Response.js +53 -0
  148. package/dist/openapi/models/MetadataResponse.d.ts +13 -2
  149. package/dist/openapi/models/MetadataResponse.js +6 -2
  150. package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
  151. package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
  152. package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
  153. package/dist/openapi/models/MetadataResponseExif.js +3 -3
  154. package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
  155. package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
  156. package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +3 -3
  157. package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
  158. package/dist/openapi/models/MimeGroupSchema.d.ts +46 -2
  159. package/dist/openapi/models/MimeGroupSchema.js +11 -2
  160. package/dist/openapi/models/MultipartCompleteRequest.d.ts +3 -3
  161. package/dist/openapi/models/MultipartCompleteRequest.js +2 -2
  162. package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
  163. package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
  164. package/dist/openapi/models/MultipartCompleteResponse.d.ts +7 -4
  165. package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
  166. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +3 -3
  167. package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
  168. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +56 -0
  169. package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +45 -0
  170. package/dist/openapi/models/MultipartInitiateResponse.d.ts +19 -3
  171. package/dist/openapi/models/MultipartInitiateResponse.js +7 -2
  172. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +3 -3
  173. package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
  174. package/dist/openapi/models/OperationDefinition.d.ts +2 -2
  175. package/dist/openapi/models/OperationDefinition.js +2 -2
  176. package/dist/openapi/models/OperationDownload.d.ts +2 -2
  177. package/dist/openapi/models/OperationDownload.js +2 -2
  178. package/dist/openapi/models/OperationInputModel.d.ts +4 -4
  179. package/dist/openapi/models/OperationInputModel.js +4 -4
  180. package/dist/openapi/models/OperationResponse.d.ts +2 -2
  181. package/dist/openapi/models/OperationResponse.js +2 -2
  182. package/dist/openapi/models/OperationResult.d.ts +2 -2
  183. package/dist/openapi/models/OperationResult.js +2 -2
  184. package/dist/openapi/models/OperationResultMetrics.d.ts +2 -2
  185. package/dist/openapi/models/OperationResultMetrics.js +2 -2
  186. package/dist/openapi/models/OperationSchemaDefinition.d.ts +52 -5
  187. package/dist/openapi/models/OperationSchemaDefinition.js +10 -6
  188. package/dist/openapi/models/OperationStatus.d.ts +2 -2
  189. package/dist/openapi/models/OperationStatus.js +2 -2
  190. package/dist/openapi/models/OperationType.d.ts +17 -5
  191. package/dist/openapi/models/OperationType.js +18 -6
  192. package/dist/openapi/models/OperationsSchemaResponse.d.ts +70 -10
  193. package/dist/openapi/models/OperationsSchemaResponse.js +17 -2
  194. package/dist/openapi/models/OptionSchema.d.ts +42 -4
  195. package/dist/openapi/models/OptionSchema.js +12 -2
  196. package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +80 -0
  197. package/dist/openapi/models/PerValueAvailabilityEntry.js +53 -0
  198. package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
  199. package/dist/openapi/models/PresignedUrlPart.js +3 -3
  200. package/dist/openapi/models/ProcessingClass.d.ts +35 -0
  201. package/dist/openapi/models/ProcessingClass.js +53 -0
  202. package/dist/openapi/models/ProcessingClassHint.d.ts +36 -0
  203. package/dist/openapi/models/ProcessingClassHint.js +54 -0
  204. package/dist/openapi/models/ProcessingClassReason.d.ts +46 -0
  205. package/dist/openapi/models/ProcessingClassReason.js +64 -0
  206. package/dist/openapi/models/ProcessingPlan.d.ts +70 -0
  207. package/dist/openapi/models/ProcessingPlan.js +49 -0
  208. package/dist/openapi/models/ProcessingPlanJob.d.ts +81 -0
  209. package/dist/openapi/models/ProcessingPlanJob.js +71 -0
  210. package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
  211. package/dist/openapi/models/ReadinessResponse.js +2 -2
  212. package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
  213. package/dist/openapi/models/ResponseEnvelope.js +2 -2
  214. package/dist/openapi/models/RetryResponse.d.ts +5 -5
  215. package/dist/openapi/models/RetryResponse.js +2 -2
  216. package/dist/openapi/models/RetrySuccessEnvelope.d.ts +3 -3
  217. package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
  218. package/dist/openapi/models/SseEventType.d.ts +2 -2
  219. package/dist/openapi/models/SseEventType.js +2 -2
  220. package/dist/openapi/models/SseJobCompletedData.d.ts +3 -3
  221. package/dist/openapi/models/SseJobCompletedData.js +2 -2
  222. package/dist/openapi/models/SseJobFailedData.d.ts +3 -3
  223. package/dist/openapi/models/SseJobFailedData.js +2 -2
  224. package/dist/openapi/models/SseOperationCompletedData.d.ts +4 -4
  225. package/dist/openapi/models/SseOperationCompletedData.js +2 -2
  226. package/dist/openapi/models/SseOperationFailedData.d.ts +3 -3
  227. package/dist/openapi/models/SseOperationFailedData.js +2 -2
  228. package/dist/openapi/models/SseOperationProgressData.d.ts +61 -3
  229. package/dist/openapi/models/SseOperationProgressData.js +22 -2
  230. package/dist/openapi/models/SseWorkflowTerminalData.d.ts +26 -4
  231. package/dist/openapi/models/SseWorkflowTerminalData.js +4 -2
  232. package/dist/openapi/models/TierRestrictionKind.d.ts +33 -0
  233. package/dist/openapi/models/TierRestrictionKind.js +51 -0
  234. package/dist/openapi/models/TierRestrictionResponse.d.ts +154 -0
  235. package/dist/openapi/models/TierRestrictionResponse.js +83 -0
  236. package/dist/openapi/models/UploadConstraintsApplied.d.ts +70 -0
  237. package/dist/openapi/models/UploadConstraintsApplied.js +57 -0
  238. package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +136 -0
  239. package/dist/openapi/models/UploadDurationExceedsTierResponse.js +82 -0
  240. package/dist/openapi/models/UploadFile403Response.d.ts +27 -0
  241. package/dist/openapi/models/UploadFile403Response.js +47 -0
  242. package/dist/openapi/models/UploadFile422Response.d.ts +27 -0
  243. package/dist/openapi/models/UploadFile422Response.js +47 -0
  244. package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +172 -0
  245. package/dist/openapi/models/UploadProbeMediaMetadata.js +69 -0
  246. package/dist/openapi/models/UploadProbeProcessingClass.d.ts +33 -0
  247. package/dist/openapi/models/UploadProbeProcessingClass.js +51 -0
  248. package/dist/openapi/models/UploadProbeResponse.d.ts +58 -0
  249. package/dist/openapi/models/UploadProbeResponse.js +58 -0
  250. package/dist/openapi/models/UploadProbeStatus.d.ts +41 -0
  251. package/dist/openapi/models/UploadProbeStatus.js +59 -0
  252. package/dist/openapi/models/UploadResponse.d.ts +17 -3
  253. package/dist/openapi/models/UploadResponse.js +7 -2
  254. package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +136 -0
  255. package/dist/openapi/models/UploadSizeExceedsTierResponse.js +82 -0
  256. package/dist/openapi/models/UploadSource.d.ts +48 -0
  257. package/dist/openapi/models/UploadSource.js +53 -0
  258. package/dist/openapi/models/UploadSuccessEnvelope.d.ts +3 -3
  259. package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
  260. package/dist/openapi/models/UploadThresholds.d.ts +119 -0
  261. package/dist/openapi/models/UploadThresholds.js +79 -0
  262. package/dist/openapi/models/UserTier.d.ts +41 -0
  263. package/dist/openapi/models/UserTier.js +59 -0
  264. package/dist/openapi/models/ValidationErrorEnvelope.d.ts +51 -4
  265. package/dist/openapi/models/ValidationErrorEnvelope.js +10 -2
  266. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +37 -4
  267. package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +6 -2
  268. package/dist/openapi/models/WarningType.d.ts +48 -0
  269. package/dist/openapi/models/WarningType.js +66 -0
  270. package/dist/openapi/models/WebhookOperationContext.d.ts +3 -3
  271. package/dist/openapi/models/WebhookOperationContext.js +2 -2
  272. package/dist/openapi/models/WebhookPayload.d.ts +2 -2
  273. package/dist/openapi/models/WebhookPayload.js +3 -3
  274. package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +36 -0
  275. package/dist/openapi/models/WorkflowCancelBillingEffect.js +54 -0
  276. package/dist/openapi/models/WorkflowCancelResponse.d.ts +66 -0
  277. package/dist/openapi/models/WorkflowCancelResponse.js +62 -0
  278. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +46 -0
  279. package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +54 -0
  280. package/dist/openapi/models/WorkflowCreateRequest.d.ts +39 -5
  281. package/dist/openapi/models/WorkflowCreateRequest.js +11 -5
  282. package/dist/openapi/models/WorkflowCreateResponse.d.ts +63 -2
  283. package/dist/openapi/models/WorkflowCreateResponse.js +21 -2
  284. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +3 -3
  285. package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
  286. package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
  287. package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
  288. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +3 -3
  289. package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
  290. package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
  291. package/dist/openapi/models/WorkflowEdge.js +2 -2
  292. package/dist/openapi/models/WorkflowExpiredResponse.d.ts +126 -0
  293. package/dist/openapi/models/WorkflowExpiredResponse.js +75 -0
  294. package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +30 -0
  295. package/dist/openapi/models/WorkflowPauseRequiredAction.js +48 -0
  296. package/dist/openapi/models/WorkflowPausedDetail.d.ts +99 -0
  297. package/dist/openapi/models/WorkflowPausedDetail.js +65 -0
  298. package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +47 -0
  299. package/dist/openapi/models/WorkflowPausedDetailLinks.js +45 -0
  300. package/dist/openapi/models/WorkflowProcessing.d.ts +36 -0
  301. package/dist/openapi/models/WorkflowProcessing.js +42 -0
  302. package/dist/openapi/models/WorkflowResumeResponse.d.ts +55 -0
  303. package/dist/openapi/models/WorkflowResumeResponse.js +57 -0
  304. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +46 -0
  305. package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +54 -0
  306. package/dist/openapi/models/WorkflowSource.d.ts +40 -0
  307. package/dist/openapi/models/WorkflowSource.js +57 -0
  308. package/dist/openapi/models/WorkflowStatus.d.ts +31 -8
  309. package/dist/openapi/models/WorkflowStatus.js +32 -9
  310. package/dist/openapi/models/WorkflowStatusResponse.d.ts +34 -2
  311. package/dist/openapi/models/WorkflowStatusResponse.js +13 -2
  312. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +3 -3
  313. package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
  314. package/dist/openapi/models/WorkflowWarning.d.ts +119 -0
  315. package/dist/openapi/models/WorkflowWarning.js +63 -0
  316. package/dist/openapi/models/WorkflowWarningSeverity.d.ts +29 -0
  317. package/dist/openapi/models/WorkflowWarningSeverity.js +47 -0
  318. package/dist/openapi/models/index.d.ts +75 -3
  319. package/dist/openapi/models/index.js +75 -3
  320. package/dist/openapi/runtime.d.ts +2 -2
  321. package/dist/openapi/runtime.js +17 -2
  322. package/dist/operations/archive.metadata.d.ts +2 -0
  323. package/dist/operations/archive.metadata.js +13 -0
  324. package/dist/operations/audio_overlay.d.ts +48 -0
  325. package/dist/operations/audio_overlay.js +19 -0
  326. package/dist/operations/audio_overlay.metadata.d.ts +2 -0
  327. package/dist/operations/audio_overlay.metadata.js +167 -0
  328. package/dist/operations/audio_watermark.d.ts +42 -0
  329. package/dist/operations/audio_watermark.js +37 -0
  330. package/dist/operations/audio_watermark.metadata.d.ts +2 -0
  331. package/dist/operations/audio_watermark.metadata.js +94 -0
  332. package/dist/operations/compress.metadata.d.ts +2 -0
  333. package/dist/operations/compress.metadata.js +205 -0
  334. package/dist/operations/convert.metadata.d.ts +2 -0
  335. package/dist/operations/convert.metadata.js +85 -0
  336. package/dist/operations/custom_luma.d.ts +7 -0
  337. package/dist/operations/custom_luma.js +2 -0
  338. package/dist/operations/custom_luma.metadata.d.ts +2 -0
  339. package/dist/operations/custom_luma.metadata.js +49 -0
  340. package/dist/operations/image_watermark.d.ts +54 -0
  341. package/dist/operations/image_watermark.js +37 -0
  342. package/dist/operations/image_watermark.metadata.d.ts +2 -0
  343. package/dist/operations/image_watermark.metadata.js +97 -0
  344. package/dist/operations/index.d.ts +16 -1
  345. package/dist/operations/index.js +16 -1
  346. package/dist/operations/merge.d.ts +111 -31
  347. package/dist/operations/merge.js +106 -20
  348. package/dist/operations/merge.metadata.d.ts +2 -0
  349. package/dist/operations/merge.metadata.js +385 -0
  350. package/dist/operations/metadata-types.d.ts +47 -0
  351. package/dist/operations/metadata-types.js +2 -0
  352. package/dist/operations/text_watermark.d.ts +31 -0
  353. package/dist/operations/text_watermark.js +22 -0
  354. package/dist/operations/text_watermark.metadata.d.ts +2 -0
  355. package/dist/operations/text_watermark.metadata.js +46 -0
  356. package/dist/operations/thumbnail.metadata.d.ts +2 -0
  357. package/dist/operations/thumbnail.metadata.js +88 -0
  358. package/openapi/api.yaml +5070 -449
  359. package/operations/schemas/audio_overlay.yaml +397 -0
  360. package/operations/schemas/audio_watermark.yaml +184 -0
  361. package/operations/schemas/compress.yaml +20 -3
  362. package/operations/schemas/convert.yaml +18 -3
  363. package/operations/schemas/custom_luma.yaml +109 -0
  364. package/operations/schemas/image_watermark.yaml +280 -0
  365. package/operations/schemas/merge.yaml +295 -66
  366. package/operations/schemas/text_watermark.yaml +147 -0
  367. package/operations/schemas/thumbnail.yaml +15 -0
  368. package/package.json +10 -4
  369. package/operations/schemas/watermark.yaml +0 -87
@@ -0,0 +1,136 @@
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.7.1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { UserTier } from './UserTier.js';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface UploadSizeExceedsTierResponse
17
+ */
18
+ export interface UploadSizeExceedsTierResponse {
19
+ /**
20
+ *
21
+ * @type {UploadSizeExceedsTierResponseSuccessEnum}
22
+ * @memberof UploadSizeExceedsTierResponse
23
+ */
24
+ success: UploadSizeExceedsTierResponseSuccessEnum;
25
+ /**
26
+ * Stable, machine-readable error code (e.g.
27
+ * `INVALID_OPTIONS`, `BALANCE_EXHAUSTED`,
28
+ * `REQUIRES_REENCODE`). Canonical English; never localised.
29
+ * SDKs duck-type on this field for typed error-branch
30
+ * helpers.
31
+ *
32
+ * @type {string}
33
+ * @memberof UploadSizeExceedsTierResponse
34
+ */
35
+ error: string;
36
+ /**
37
+ * Human-readable error message, localised per the
38
+ * request's `Accept-Language` header (fallback locale
39
+ * `en-GB`). The response carries `Content-Language:
40
+ * <locale>` + `Vary: Accept-Language` headers. **Never
41
+ * parse this field for control flow** — it changes per
42
+ * locale.
43
+ *
44
+ * @type {string}
45
+ * @memberof UploadSizeExceedsTierResponse
46
+ */
47
+ message?: string;
48
+ /**
49
+ * Stable canonical lookup key for the message (e.g.
50
+ * `error.balance_exhausted.add_credits`,
51
+ * `error.upload_size_exceeds_tier`). Never localised. SDK +
52
+ * frontend translation layers gate on this for client-side
53
+ * i18n catalogs (per ticket X19, cross-repo SDK companion
54
+ * work). Stable across server message-prose updates.
55
+ *
56
+ * @type {string}
57
+ * @memberof UploadSizeExceedsTierResponse
58
+ */
59
+ messageKey?: string;
60
+ /**
61
+ * BCP 47 locale tag echoing the resolved `Content-Language`
62
+ * response header value (e.g. `en-GB`, `pt-BR`, `ja-JP`).
63
+ * Lets the SDK confirm which locale the server selected
64
+ * when the request used q-value negotiation across multiple
65
+ * `Accept-Language` values.
66
+ *
67
+ * @type {string}
68
+ * @memberof UploadSizeExceedsTierResponse
69
+ */
70
+ locale?: string;
71
+ /**
72
+ * Optional interpolation values for the localised
73
+ * `message`. Keys are stable parameter names referenced by
74
+ * the translation table (e.g.
75
+ * `{ "filename": "photo.heic", "max_size_mb": 100 }`).
76
+ * **Excludes cost / monetary numbers** per plan v5 §F11
77
+ * round-13 narrowing — pricing-related localisation reads
78
+ * numeric state from `GET /api/v2/credits/balance`, not
79
+ * from this field. Values are JSON-native scalars
80
+ * (`string` / `integer` / `number` / `boolean` / `null`)
81
+ * — no nested objects, to keep translation-table
82
+ * integration simple.
83
+ *
84
+ * @type {{ [key: string]: any; }}
85
+ * @memberof UploadSizeExceedsTierResponse
86
+ */
87
+ messageParams?: {
88
+ [key: string]: any;
89
+ };
90
+ /**
91
+ *
92
+ * @type {UploadSizeExceedsTierResponseErrorTypeEnum}
93
+ * @memberof UploadSizeExceedsTierResponse
94
+ */
95
+ errorType: UploadSizeExceedsTierResponseErrorTypeEnum;
96
+ /**
97
+ *
98
+ * @type {UserTier}
99
+ * @memberof UploadSizeExceedsTierResponse
100
+ */
101
+ currentTier: UserTier;
102
+ /**
103
+ * Max size permitted at the caller's current tier + MIME.
104
+ * @type {number}
105
+ * @memberof UploadSizeExceedsTierResponse
106
+ */
107
+ maxSizeBytes: number;
108
+ /**
109
+ *
110
+ * @type {UserTier}
111
+ * @memberof UploadSizeExceedsTierResponse
112
+ */
113
+ requiredTier?: UserTier | null;
114
+ }
115
+ /**
116
+ * @export
117
+ */
118
+ export declare const UploadSizeExceedsTierResponseSuccessEnum: {
119
+ readonly false: false;
120
+ };
121
+ export type UploadSizeExceedsTierResponseSuccessEnum = typeof UploadSizeExceedsTierResponseSuccessEnum[keyof typeof UploadSizeExceedsTierResponseSuccessEnum];
122
+ /**
123
+ * @export
124
+ */
125
+ export declare const UploadSizeExceedsTierResponseErrorTypeEnum: {
126
+ readonly upload_size_exceeds_tier: "upload_size_exceeds_tier";
127
+ };
128
+ export type UploadSizeExceedsTierResponseErrorTypeEnum = typeof UploadSizeExceedsTierResponseErrorTypeEnum[keyof typeof UploadSizeExceedsTierResponseErrorTypeEnum];
129
+ /**
130
+ * Check if a given object implements the UploadSizeExceedsTierResponse interface.
131
+ */
132
+ export declare function instanceOfUploadSizeExceedsTierResponse(value: object): value is UploadSizeExceedsTierResponse;
133
+ export declare function UploadSizeExceedsTierResponseFromJSON(json: any): UploadSizeExceedsTierResponse;
134
+ export declare function UploadSizeExceedsTierResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadSizeExceedsTierResponse;
135
+ export declare function UploadSizeExceedsTierResponseToJSON(json: any): UploadSizeExceedsTierResponse;
136
+ export declare function UploadSizeExceedsTierResponseToJSONTyped(value?: UploadSizeExceedsTierResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,82 @@
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.7.1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { UserTierFromJSON, UserTierToJSON, } from './UserTier.js';
15
+ /**
16
+ * @export
17
+ */
18
+ export const UploadSizeExceedsTierResponseSuccessEnum = {
19
+ false: false
20
+ };
21
+ /**
22
+ * @export
23
+ */
24
+ export const UploadSizeExceedsTierResponseErrorTypeEnum = {
25
+ upload_size_exceeds_tier: 'upload_size_exceeds_tier'
26
+ };
27
+ /**
28
+ * Check if a given object implements the UploadSizeExceedsTierResponse interface.
29
+ */
30
+ export function instanceOfUploadSizeExceedsTierResponse(value) {
31
+ if (!('success' in value) || value['success'] === undefined)
32
+ return false;
33
+ if (!('error' in value) || value['error'] === undefined)
34
+ return false;
35
+ if (!('errorType' in value) || value['errorType'] === undefined)
36
+ return false;
37
+ if (!('currentTier' in value) || value['currentTier'] === undefined)
38
+ return false;
39
+ if (!('maxSizeBytes' in value) || value['maxSizeBytes'] === undefined)
40
+ return false;
41
+ return true;
42
+ }
43
+ export function UploadSizeExceedsTierResponseFromJSON(json) {
44
+ return UploadSizeExceedsTierResponseFromJSONTyped(json, false);
45
+ }
46
+ export function UploadSizeExceedsTierResponseFromJSONTyped(json, ignoreDiscriminator) {
47
+ if (json == null) {
48
+ return json;
49
+ }
50
+ return {
51
+ 'success': json['success'],
52
+ 'error': json['error'],
53
+ 'message': json['message'] == null ? undefined : json['message'],
54
+ 'messageKey': json['message_key'] == null ? undefined : json['message_key'],
55
+ 'locale': json['locale'] == null ? undefined : json['locale'],
56
+ 'messageParams': json['message_params'] == null ? undefined : json['message_params'],
57
+ 'errorType': json['error_type'],
58
+ 'currentTier': UserTierFromJSON(json['current_tier']),
59
+ 'maxSizeBytes': json['max_size_bytes'],
60
+ 'requiredTier': json['required_tier'] == null ? undefined : UserTierFromJSON(json['required_tier']),
61
+ };
62
+ }
63
+ export function UploadSizeExceedsTierResponseToJSON(json) {
64
+ return UploadSizeExceedsTierResponseToJSONTyped(json, false);
65
+ }
66
+ export function UploadSizeExceedsTierResponseToJSONTyped(value, ignoreDiscriminator = false) {
67
+ if (value == null) {
68
+ return value;
69
+ }
70
+ return {
71
+ 'success': value['success'],
72
+ 'error': value['error'],
73
+ 'message': value['message'],
74
+ 'message_key': value['messageKey'],
75
+ 'locale': value['locale'],
76
+ 'message_params': value['messageParams'],
77
+ 'error_type': value['errorType'],
78
+ 'current_tier': UserTierToJSON(value['currentTier']),
79
+ 'max_size_bytes': value['maxSizeBytes'],
80
+ 'required_tier': UserTierToJSON(value['requiredTier']),
81
+ };
82
+ }
@@ -0,0 +1,48 @@
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.7.1
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
+ * References an upload created via `POST /api/uploads` (single)
14
+ * or completed via `POST /api/uploads/multipart/complete`
15
+ * (multipart). Both flows yield the same `file_id` shape.
16
+ *
17
+ * @export
18
+ * @interface UploadSource
19
+ */
20
+ export interface UploadSource {
21
+ /**
22
+ *
23
+ * @type {UploadSourceTypeEnum}
24
+ * @memberof UploadSource
25
+ */
26
+ type: UploadSourceTypeEnum;
27
+ /**
28
+ * UUID v7 format identifier (time-ordered)
29
+ * @type {string}
30
+ * @memberof UploadSource
31
+ */
32
+ fileId: string;
33
+ }
34
+ /**
35
+ * @export
36
+ */
37
+ export declare const UploadSourceTypeEnum: {
38
+ readonly upload: "upload";
39
+ };
40
+ export type UploadSourceTypeEnum = typeof UploadSourceTypeEnum[keyof typeof UploadSourceTypeEnum];
41
+ /**
42
+ * Check if a given object implements the UploadSource interface.
43
+ */
44
+ export declare function instanceOfUploadSource(value: object): value is UploadSource;
45
+ export declare function UploadSourceFromJSON(json: any): UploadSource;
46
+ export declare function UploadSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadSource;
47
+ export declare function UploadSourceToJSON(json: any): UploadSource;
48
+ export declare function UploadSourceToJSONTyped(value?: UploadSource | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,53 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * GISL Compression API
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
+ *
7
+ * The version of the OpenAPI document: 2.7.1
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 UploadSourceTypeEnum = {
18
+ upload: 'upload'
19
+ };
20
+ /**
21
+ * Check if a given object implements the UploadSource interface.
22
+ */
23
+ export function instanceOfUploadSource(value) {
24
+ if (!('type' in value) || value['type'] === undefined)
25
+ return false;
26
+ if (!('fileId' in value) || value['fileId'] === undefined)
27
+ return false;
28
+ return true;
29
+ }
30
+ export function UploadSourceFromJSON(json) {
31
+ return UploadSourceFromJSONTyped(json, false);
32
+ }
33
+ export function UploadSourceFromJSONTyped(json, ignoreDiscriminator) {
34
+ if (json == null) {
35
+ return json;
36
+ }
37
+ return {
38
+ 'type': json['type'],
39
+ 'fileId': json['file_id'],
40
+ };
41
+ }
42
+ export function UploadSourceToJSON(json) {
43
+ return UploadSourceToJSONTyped(json, false);
44
+ }
45
+ export function UploadSourceToJSONTyped(value, ignoreDiscriminator = false) {
46
+ if (value == null) {
47
+ return value;
48
+ }
49
+ return {
50
+ 'type': value['type'],
51
+ 'file_id': value['fileId'],
52
+ };
53
+ }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * GISL Compression API
3
- * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
3
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
4
4
  *
5
- * The version of the OpenAPI document: 2.0.0
5
+ * The version of the OpenAPI document: 2.7.1
6
6
  *
7
7
  *
8
8
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -18,7 +18,7 @@ import type { UploadResponse } from './UploadResponse.js';
18
18
  export interface UploadSuccessEnvelope {
19
19
  /**
20
20
  *
21
- * @type {boolean}
21
+ * @type {UploadSuccessEnvelopeSuccessEnum}
22
22
  * @memberof UploadSuccessEnvelope
23
23
  */
24
24
  success: UploadSuccessEnvelopeSuccessEnum;
@@ -2,9 +2,9 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * GISL Compression API
5
- * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, watermark, merge, archive, convert) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (CDN-cacheable), health probes return flat objects, and `POST /api/contact` returns 204 with no body.
5
+ * REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
6
6
  *
7
- * The version of the OpenAPI document: 2.0.0
7
+ * The version of the OpenAPI document: 2.7.1
8
8
  *
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -0,0 +1,119 @@
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.7.1
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
+ * Canonical upload threshold constants. Per ticket
14
+ * [u0ar7Yye](https://trello.com/c/u0ar7Yye). All values are
15
+ * `const:`-pinned so SDK generators emit them as typed binding
16
+ * constants — frontend / API / SDKs reference these instead
17
+ * of hardcoding magic numbers.
18
+ *
19
+ * These are CONTRACT VALUES, not runtime-discoverable settings.
20
+ * A future runtime `GET /api/uploads/limits` endpoint may
21
+ * overlay per-tier or per-environment overrides on top of
22
+ * these baselines (deferred follow-up).
23
+ *
24
+ * @export
25
+ * @interface UploadThresholds
26
+ */
27
+ export interface UploadThresholds {
28
+ /**
29
+ * Maximum file size in bytes for the single-shot upload
30
+ * path (`POST /api/uploads`). Files above this size MUST
31
+ * use the multipart flow
32
+ * (`POST /api/uploads/multipart/initiate` → chunk PUTs →
33
+ * `POST /api/uploads/multipart/complete`). 10 MB /
34
+ * 10,000,000 bytes — chosen to match the ALB-fronted
35
+ * single-request body cap. Raising this requires
36
+ * infrastructure work (ALB swap or rearchitect; out of
37
+ * scope for this ticket).
38
+ *
39
+ * @type {UploadThresholdsSingleShotMaxBytesEnum}
40
+ * @memberof UploadThresholds
41
+ */
42
+ singleShotMaxBytes: UploadThresholdsSingleShotMaxBytesEnum;
43
+ /**
44
+ * Recommended chunk size in bytes for multipart upload
45
+ * chunks (5 MiB / 5,242,880 bytes — 1024-based). Matches
46
+ * the existing TS SDK default. The server's
47
+ * `MultipartInitiateResponse` returns a
48
+ * `recommended_chunk_size` per file based on first-chunk
49
+ * throughput; SDKs SHOULD prefer that runtime value when
50
+ * present and fall back to this constant otherwise.
51
+ *
52
+ * @type {UploadThresholdsMultipartChunkSizeEnum}
53
+ * @memberof UploadThresholds
54
+ */
55
+ multipartChunkSize: UploadThresholdsMultipartChunkSizeEnum;
56
+ /**
57
+ * Recommended parallel-upload count for multipart chunks
58
+ * (4 simultaneous PUT requests). Matches the existing TS
59
+ * SDK default. Tuning above 4 risks throttling at the S3 +
60
+ * client-bandwidth layers; below 4 hurts overall
61
+ * throughput on typical broadband.
62
+ *
63
+ * @type {UploadThresholdsMultipartConcurrencyDefaultEnum}
64
+ * @memberof UploadThresholds
65
+ */
66
+ multipartConcurrencyDefault: UploadThresholdsMultipartConcurrencyDefaultEnum;
67
+ /**
68
+ * Fixed size in bytes for the FIRST chunk PUT in a multipart
69
+ * upload (8 MiB / 8,388,608 bytes — 1024-based). The server
70
+ * uses this chunk for MIME-type detection and throughput
71
+ * measurement; the 8 MiB window is assumed by the server's
72
+ * container-metadata probe (see
73
+ * `MultipartInitiateRequest.metadata_hint`). SDKs MUST send
74
+ * exactly this size for chunk index 0; for chunks 1+ they
75
+ * SHOULD prefer the runtime
76
+ * `MultipartInitiateResponse.recommended_chunk_size` and
77
+ * fall back to `multipart_chunk_size` when absent.
78
+ *
79
+ * @type {UploadThresholdsMultipartFirstChunkSizeEnum}
80
+ * @memberof UploadThresholds
81
+ */
82
+ multipartFirstChunkSize: UploadThresholdsMultipartFirstChunkSizeEnum;
83
+ }
84
+ /**
85
+ * @export
86
+ */
87
+ export declare const UploadThresholdsSingleShotMaxBytesEnum: {
88
+ readonly NUMBER_10000000: 10000000;
89
+ };
90
+ export type UploadThresholdsSingleShotMaxBytesEnum = typeof UploadThresholdsSingleShotMaxBytesEnum[keyof typeof UploadThresholdsSingleShotMaxBytesEnum];
91
+ /**
92
+ * @export
93
+ */
94
+ export declare const UploadThresholdsMultipartChunkSizeEnum: {
95
+ readonly NUMBER_5242880: 5242880;
96
+ };
97
+ export type UploadThresholdsMultipartChunkSizeEnum = typeof UploadThresholdsMultipartChunkSizeEnum[keyof typeof UploadThresholdsMultipartChunkSizeEnum];
98
+ /**
99
+ * @export
100
+ */
101
+ export declare const UploadThresholdsMultipartConcurrencyDefaultEnum: {
102
+ readonly NUMBER_4: 4;
103
+ };
104
+ export type UploadThresholdsMultipartConcurrencyDefaultEnum = typeof UploadThresholdsMultipartConcurrencyDefaultEnum[keyof typeof UploadThresholdsMultipartConcurrencyDefaultEnum];
105
+ /**
106
+ * @export
107
+ */
108
+ export declare const UploadThresholdsMultipartFirstChunkSizeEnum: {
109
+ readonly NUMBER_8388608: 8388608;
110
+ };
111
+ export type UploadThresholdsMultipartFirstChunkSizeEnum = typeof UploadThresholdsMultipartFirstChunkSizeEnum[keyof typeof UploadThresholdsMultipartFirstChunkSizeEnum];
112
+ /**
113
+ * Check if a given object implements the UploadThresholds interface.
114
+ */
115
+ export declare function instanceOfUploadThresholds(value: object): value is UploadThresholds;
116
+ export declare function UploadThresholdsFromJSON(json: any): UploadThresholds;
117
+ export declare function UploadThresholdsFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadThresholds;
118
+ export declare function UploadThresholdsToJSON(json: any): UploadThresholds;
119
+ export declare function UploadThresholdsToJSONTyped(value?: UploadThresholds | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,79 @@
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.7.1
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 UploadThresholdsSingleShotMaxBytesEnum = {
18
+ NUMBER_10000000: 10000000
19
+ };
20
+ /**
21
+ * @export
22
+ */
23
+ export const UploadThresholdsMultipartChunkSizeEnum = {
24
+ NUMBER_5242880: 5242880
25
+ };
26
+ /**
27
+ * @export
28
+ */
29
+ export const UploadThresholdsMultipartConcurrencyDefaultEnum = {
30
+ NUMBER_4: 4
31
+ };
32
+ /**
33
+ * @export
34
+ */
35
+ export const UploadThresholdsMultipartFirstChunkSizeEnum = {
36
+ NUMBER_8388608: 8388608
37
+ };
38
+ /**
39
+ * Check if a given object implements the UploadThresholds interface.
40
+ */
41
+ export function instanceOfUploadThresholds(value) {
42
+ if (!('singleShotMaxBytes' in value) || value['singleShotMaxBytes'] === undefined)
43
+ return false;
44
+ if (!('multipartChunkSize' in value) || value['multipartChunkSize'] === undefined)
45
+ return false;
46
+ if (!('multipartConcurrencyDefault' in value) || value['multipartConcurrencyDefault'] === undefined)
47
+ return false;
48
+ if (!('multipartFirstChunkSize' in value) || value['multipartFirstChunkSize'] === undefined)
49
+ return false;
50
+ return true;
51
+ }
52
+ export function UploadThresholdsFromJSON(json) {
53
+ return UploadThresholdsFromJSONTyped(json, false);
54
+ }
55
+ export function UploadThresholdsFromJSONTyped(json, ignoreDiscriminator) {
56
+ if (json == null) {
57
+ return json;
58
+ }
59
+ return {
60
+ 'singleShotMaxBytes': json['single_shot_max_bytes'],
61
+ 'multipartChunkSize': json['multipart_chunk_size'],
62
+ 'multipartConcurrencyDefault': json['multipart_concurrency_default'],
63
+ 'multipartFirstChunkSize': json['multipart_first_chunk_size'],
64
+ };
65
+ }
66
+ export function UploadThresholdsToJSON(json) {
67
+ return UploadThresholdsToJSONTyped(json, false);
68
+ }
69
+ export function UploadThresholdsToJSONTyped(value, ignoreDiscriminator = false) {
70
+ if (value == null) {
71
+ return value;
72
+ }
73
+ return {
74
+ 'single_shot_max_bytes': value['singleShotMaxBytes'],
75
+ 'multipart_chunk_size': value['multipartChunkSize'],
76
+ 'multipart_concurrency_default': value['multipartConcurrencyDefault'],
77
+ 'multipart_first_chunk_size': value['multipartFirstChunkSize'],
78
+ };
79
+ }