@giveitsmaller/contracts 0.2.0 → 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.
- package/asyncapi/events.yaml +3617 -0
- package/availability/availability.json +2403 -0
- package/dist/asyncapi/AnonymousSchema_13.d.ts +6 -0
- package/dist/asyncapi/AnonymousSchema_13.js +7 -0
- package/dist/asyncapi/AnonymousSchema_152.d.ts +5 -0
- package/dist/asyncapi/AnonymousSchema_152.js +6 -0
- package/dist/asyncapi/Failure.d.ts +25 -0
- package/dist/asyncapi/Failure.js +1 -0
- package/dist/asyncapi/JobInputRole.d.ts +6 -0
- package/dist/asyncapi/JobInputRole.js +7 -0
- package/dist/asyncapi/MergeOutputType.d.ts +1 -3
- package/dist/asyncapi/MergeOutputType.js +0 -2
- package/dist/asyncapi/MultiOutputCompletion.d.ts +25 -0
- package/dist/asyncapi/MultiOutputCompletion.js +1 -0
- package/dist/asyncapi/NotificationsOperationsQueue.d.ts +4 -2
- package/dist/asyncapi/OperationMetrics.d.ts +3 -0
- package/dist/asyncapi/OperationProgress.d.ts +2 -0
- package/dist/asyncapi/OperationResult.d.ts +4 -19
- package/dist/asyncapi/OperationType.d.ts +6 -6
- package/dist/asyncapi/OperationType.js +5 -5
- package/dist/asyncapi/PageIndexed.d.ts +8 -0
- package/dist/asyncapi/PageIndexed.js +1 -0
- package/dist/asyncapi/PositionIndexed.d.ts +8 -0
- package/dist/asyncapi/PositionIndexed.js +1 -0
- package/dist/asyncapi/ProgressStatus.d.ts +3 -0
- package/dist/asyncapi/ProgressStatus.js +3 -0
- package/dist/asyncapi/ReEncodeDecision.d.ts +5 -0
- package/dist/asyncapi/ReEncodeDecision.js +6 -0
- package/dist/asyncapi/SingleOutputCompletion.d.ts +25 -0
- package/dist/asyncapi/SingleOutputCompletion.js +1 -0
- package/dist/asyncapi/SourceEntry.d.ts +2 -1
- package/dist/asyncapi/Unindexed.d.ts +8 -0
- package/dist/asyncapi/Unindexed.js +1 -0
- package/dist/asyncapi/UploadProbeCompletion.d.ts +16 -0
- package/dist/asyncapi/UploadProbeCompletion.js +1 -0
- package/dist/asyncapi/UploadProbeMediaMetadata.d.ts +18 -0
- package/dist/asyncapi/UploadProbeMediaMetadata.js +1 -0
- package/dist/asyncapi/UploadProbeProcessingClass.d.ts +6 -0
- package/dist/asyncapi/UploadProbeProcessingClass.js +7 -0
- package/dist/asyncapi/UploadProbeRequest.d.ts +10 -0
- package/dist/asyncapi/UploadProbeRequest.js +1 -0
- package/dist/asyncapi/UploadProbeStatus.d.ts +7 -0
- package/dist/asyncapi/UploadProbeStatus.js +8 -0
- package/dist/asyncapi/index.d.ts +13 -0
- package/dist/asyncapi/index.js +4 -0
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +64 -0
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +53 -0
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +80 -0
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +64 -0
- package/dist/openapi/models/AuthErrorResponse.d.ts +116 -0
- package/dist/openapi/models/AuthErrorResponse.js +66 -0
- package/dist/openapi/models/AuthErrorType.d.ts +73 -0
- package/dist/openapi/models/AuthErrorType.js +91 -0
- package/dist/openapi/models/AvailabilityValue.d.ts +43 -0
- package/dist/openapi/models/AvailabilityValue.js +61 -0
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +157 -0
- package/dist/openapi/models/BalanceExhaustedResponse.js +86 -0
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +38 -0
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +43 -0
- package/dist/openapi/models/CallbackEventType.d.ts +2 -2
- package/dist/openapi/models/CallbackEventType.js +2 -2
- package/dist/openapi/models/ConnectionSource.d.ts +64 -0
- package/dist/openapi/models/ConnectionSource.js +57 -0
- package/dist/openapi/models/ContactRequest.d.ts +2 -2
- package/dist/openapi/models/ContactRequest.js +2 -2
- package/dist/openapi/models/ContactSubject.d.ts +2 -2
- package/dist/openapi/models/ContactSubject.js +2 -2
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
- package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
- package/dist/openapi/models/CreateExternalImport403Response.d.ts +24 -0
- package/dist/openapi/models/CreateExternalImport403Response.js +58 -0
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +23 -0
- package/dist/openapi/models/CreateWorkflow422Response.js +51 -0
- package/dist/openapi/models/CreditTransaction.d.ts +186 -0
- package/dist/openapi/models/CreditTransaction.js +100 -0
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +46 -0
- package/dist/openapi/models/CreditTransactionSourceBucket.js +64 -0
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +84 -0
- package/dist/openapi/models/CreditsBalanceResponse.js +68 -0
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +54 -0
- package/dist/openapi/models/CreditsUsageResponse.d.ts +51 -0
- package/dist/openapi/models/CreditsUsageResponse.js +56 -0
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +54 -0
- package/dist/openapi/models/Delivery.d.ts +98 -0
- package/dist/openapi/models/Delivery.js +65 -0
- package/dist/openapi/models/DeliveryOutputRef.d.ts +44 -0
- package/dist/openapi/models/DeliveryOutputRef.js +45 -0
- package/dist/openapi/models/DeliveryPlan.d.ts +77 -0
- package/dist/openapi/models/DeliveryPlan.js +72 -0
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +53 -0
- package/dist/openapi/models/DeliveryPlanOutput.js +52 -0
- package/dist/openapi/models/DeliveryPlanReason.d.ts +35 -0
- package/dist/openapi/models/DeliveryPlanReason.js +53 -0
- package/dist/openapi/models/DeliverySelection.d.ts +62 -0
- package/dist/openapi/models/DeliverySelection.js +54 -0
- package/dist/openapi/models/ErrorEnvelope.d.ts +83 -5
- package/dist/openapi/models/ErrorEnvelope.js +10 -2
- package/dist/openapi/models/EstimateQuality.d.ts +34 -0
- package/dist/openapi/models/EstimateQuality.js +52 -0
- package/dist/openapi/models/EstimateRange.d.ts +48 -0
- package/dist/openapi/models/EstimateRange.js +51 -0
- package/dist/openapi/models/ExternalDestination.d.ts +41 -0
- package/dist/openapi/models/ExternalDestination.js +47 -0
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +49 -0
- package/dist/openapi/models/ExternalImportCreatedResponse.js +51 -0
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +54 -0
- package/dist/openapi/models/ExternalImportRequest.d.ts +92 -0
- package/dist/openapi/models/ExternalImportRequest.js +61 -0
- package/dist/openapi/models/ExternalImportToken.d.ts +51 -0
- package/dist/openapi/models/ExternalImportToken.js +53 -0
- package/dist/openapi/models/ExternalSource.d.ts +31 -0
- package/dist/openapi/models/ExternalSource.js +47 -0
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +140 -0
- package/dist/openapi/models/FeatureNotAvailableResponse.js +76 -0
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +135 -0
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +76 -0
- package/dist/openapi/models/FeatureViolation.d.ts +108 -0
- package/dist/openapi/models/FeatureViolation.js +63 -0
- package/dist/openapi/models/JobDefinition.d.ts +125 -14
- package/dist/openapi/models/JobDefinition.js +25 -4
- package/dist/openapi/models/JobDownload.d.ts +2 -2
- package/dist/openapi/models/JobDownload.js +2 -2
- package/dist/openapi/models/JobInputV2.d.ts +89 -0
- package/dist/openapi/models/JobInputV2.js +56 -0
- package/dist/openapi/models/JobOutputSource.d.ts +57 -0
- package/dist/openapi/models/JobOutputSource.js +55 -0
- package/dist/openapi/models/JobResponse.d.ts +2 -2
- package/dist/openapi/models/JobResponse.js +2 -2
- package/dist/openapi/models/JobStatus.d.ts +17 -8
- package/dist/openapi/models/JobStatus.js +17 -8
- package/dist/openapi/models/JobType.d.ts +2 -2
- package/dist/openapi/models/JobType.js +2 -2
- package/dist/openapi/models/LivenessResponse.d.ts +2 -2
- package/dist/openapi/models/LivenessResponse.js +2 -2
- package/dist/openapi/models/LoginUser200Response.d.ts +46 -0
- package/dist/openapi/models/LoginUser200Response.js +54 -0
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +33 -0
- package/dist/openapi/models/LoginUser200ResponseData.js +44 -0
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +50 -0
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +51 -0
- package/dist/openapi/models/LoginUserRequest.d.ts +38 -0
- package/dist/openapi/models/LoginUserRequest.js +47 -0
- package/dist/openapi/models/LogoutUser200Response.d.ts +50 -0
- package/dist/openapi/models/LogoutUser200Response.js +53 -0
- package/dist/openapi/models/MetadataResponse.d.ts +13 -2
- package/dist/openapi/models/MetadataResponse.js +6 -2
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
- package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExif.js +3 -3
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MimeGroupSchema.d.ts +46 -2
- package/dist/openapi/models/MimeGroupSchema.js +11 -2
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +4 -4
- package/dist/openapi/models/MultipartCompleteRequest.js +5 -5
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +53 -0
- package/dist/openapi/models/MultipartCompleteResponse.js +53 -0
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +54 -0
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +56 -0
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +45 -0
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +20 -4
- package/dist/openapi/models/MultipartInitiateResponse.js +10 -5
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/OperationDefinition.d.ts +2 -2
- package/dist/openapi/models/OperationDefinition.js +2 -2
- package/dist/openapi/models/OperationDownload.d.ts +2 -2
- package/dist/openapi/models/OperationDownload.js +2 -2
- package/dist/openapi/models/OperationInputModel.d.ts +4 -4
- package/dist/openapi/models/OperationInputModel.js +4 -4
- package/dist/openapi/models/OperationResponse.d.ts +2 -2
- package/dist/openapi/models/OperationResponse.js +2 -2
- package/dist/openapi/models/OperationResult.d.ts +2 -2
- package/dist/openapi/models/OperationResult.js +2 -2
- package/dist/openapi/models/OperationResultMetrics.d.ts +2 -2
- package/dist/openapi/models/OperationResultMetrics.js +2 -2
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +52 -5
- package/dist/openapi/models/OperationSchemaDefinition.js +10 -6
- package/dist/openapi/models/OperationStatus.d.ts +2 -2
- package/dist/openapi/models/OperationStatus.js +2 -2
- package/dist/openapi/models/OperationType.d.ts +17 -5
- package/dist/openapi/models/OperationType.js +18 -6
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +70 -10
- package/dist/openapi/models/OperationsSchemaResponse.js +17 -2
- package/dist/openapi/models/OptionSchema.d.ts +42 -4
- package/dist/openapi/models/OptionSchema.js +12 -2
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +80 -0
- package/dist/openapi/models/PerValueAvailabilityEntry.js +53 -0
- package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
- package/dist/openapi/models/PresignedUrlPart.js +3 -3
- package/dist/openapi/models/ProcessingClass.d.ts +35 -0
- package/dist/openapi/models/ProcessingClass.js +53 -0
- package/dist/openapi/models/ProcessingClassHint.d.ts +36 -0
- package/dist/openapi/models/ProcessingClassHint.js +54 -0
- package/dist/openapi/models/ProcessingClassReason.d.ts +46 -0
- package/dist/openapi/models/ProcessingClassReason.js +64 -0
- package/dist/openapi/models/ProcessingPlan.d.ts +70 -0
- package/dist/openapi/models/ProcessingPlan.js +49 -0
- package/dist/openapi/models/ProcessingPlanJob.d.ts +81 -0
- package/dist/openapi/models/ProcessingPlanJob.js +71 -0
- package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
- package/dist/openapi/models/ReadinessResponse.js +2 -2
- package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
- package/dist/openapi/models/ResponseEnvelope.js +2 -2
- package/dist/openapi/models/RetryResponse.d.ts +5 -5
- package/dist/openapi/models/RetryResponse.js +2 -2
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
- package/dist/openapi/models/SseEventType.d.ts +2 -2
- package/dist/openapi/models/SseEventType.js +2 -2
- package/dist/openapi/models/SseJobCompletedData.d.ts +3 -3
- package/dist/openapi/models/SseJobCompletedData.js +2 -2
- package/dist/openapi/models/SseJobFailedData.d.ts +3 -3
- package/dist/openapi/models/SseJobFailedData.js +2 -2
- package/dist/openapi/models/SseOperationCompletedData.d.ts +4 -4
- package/dist/openapi/models/SseOperationCompletedData.js +2 -2
- package/dist/openapi/models/SseOperationFailedData.d.ts +3 -3
- package/dist/openapi/models/SseOperationFailedData.js +2 -2
- package/dist/openapi/models/SseOperationProgressData.d.ts +61 -3
- package/dist/openapi/models/SseOperationProgressData.js +22 -2
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +26 -4
- package/dist/openapi/models/SseWorkflowTerminalData.js +4 -2
- package/dist/openapi/models/TierRestrictionKind.d.ts +33 -0
- package/dist/openapi/models/TierRestrictionKind.js +51 -0
- package/dist/openapi/models/TierRestrictionResponse.d.ts +154 -0
- package/dist/openapi/models/TierRestrictionResponse.js +83 -0
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +70 -0
- package/dist/openapi/models/UploadConstraintsApplied.js +57 -0
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +136 -0
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +82 -0
- package/dist/openapi/models/UploadFile403Response.d.ts +27 -0
- package/dist/openapi/models/UploadFile403Response.js +47 -0
- package/dist/openapi/models/UploadFile422Response.d.ts +27 -0
- package/dist/openapi/models/UploadFile422Response.js +47 -0
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +172 -0
- package/dist/openapi/models/UploadProbeMediaMetadata.js +69 -0
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +33 -0
- package/dist/openapi/models/UploadProbeProcessingClass.js +51 -0
- package/dist/openapi/models/UploadProbeResponse.d.ts +58 -0
- package/dist/openapi/models/UploadProbeResponse.js +58 -0
- package/dist/openapi/models/UploadProbeStatus.d.ts +41 -0
- package/dist/openapi/models/UploadProbeStatus.js +59 -0
- package/dist/openapi/models/UploadResponse.d.ts +17 -3
- package/dist/openapi/models/UploadResponse.js +7 -2
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +136 -0
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +82 -0
- package/dist/openapi/models/UploadSource.d.ts +48 -0
- package/dist/openapi/models/UploadSource.js +53 -0
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/UploadThresholds.d.ts +119 -0
- package/dist/openapi/models/UploadThresholds.js +79 -0
- package/dist/openapi/models/UserTier.d.ts +41 -0
- package/dist/openapi/models/UserTier.js +59 -0
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +51 -4
- package/dist/openapi/models/ValidationErrorEnvelope.js +10 -2
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +37 -4
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +6 -2
- package/dist/openapi/models/WarningType.d.ts +48 -0
- package/dist/openapi/models/WarningType.js +66 -0
- package/dist/openapi/models/WebhookOperationContext.d.ts +3 -3
- package/dist/openapi/models/WebhookOperationContext.js +2 -2
- package/dist/openapi/models/WebhookPayload.d.ts +2 -2
- package/dist/openapi/models/WebhookPayload.js +3 -3
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +36 -0
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +54 -0
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +66 -0
- package/dist/openapi/models/WorkflowCancelResponse.js +62 -0
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +39 -5
- package/dist/openapi/models/WorkflowCreateRequest.js +11 -5
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +63 -2
- package/dist/openapi/models/WorkflowCreateResponse.js +21 -2
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
- package/dist/openapi/models/WorkflowEdge.js +2 -2
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +126 -0
- package/dist/openapi/models/WorkflowExpiredResponse.js +75 -0
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +30 -0
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +48 -0
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +99 -0
- package/dist/openapi/models/WorkflowPausedDetail.js +65 -0
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +47 -0
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +45 -0
- package/dist/openapi/models/WorkflowProcessing.d.ts +36 -0
- package/dist/openapi/models/WorkflowProcessing.js +42 -0
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +55 -0
- package/dist/openapi/models/WorkflowResumeResponse.js +57 -0
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowSource.d.ts +40 -0
- package/dist/openapi/models/WorkflowSource.js +57 -0
- package/dist/openapi/models/WorkflowStatus.d.ts +31 -8
- package/dist/openapi/models/WorkflowStatus.js +32 -9
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +34 -2
- package/dist/openapi/models/WorkflowStatusResponse.js +13 -2
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +3 -3
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowWarning.d.ts +119 -0
- package/dist/openapi/models/WorkflowWarning.js +63 -0
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +29 -0
- package/dist/openapi/models/WorkflowWarningSeverity.js +47 -0
- package/dist/openapi/models/index.d.ts +77 -3
- package/dist/openapi/models/index.js +77 -3
- package/dist/openapi/runtime.d.ts +2 -2
- package/dist/openapi/runtime.js +17 -2
- package/dist/operations/archive.metadata.d.ts +2 -0
- package/dist/operations/archive.metadata.js +13 -0
- package/dist/operations/audio_overlay.d.ts +48 -0
- package/dist/operations/audio_overlay.js +19 -0
- package/dist/operations/audio_overlay.metadata.d.ts +2 -0
- package/dist/operations/audio_overlay.metadata.js +167 -0
- package/dist/operations/audio_watermark.d.ts +42 -0
- package/dist/operations/audio_watermark.js +37 -0
- package/dist/operations/audio_watermark.metadata.d.ts +2 -0
- package/dist/operations/audio_watermark.metadata.js +94 -0
- package/dist/operations/compress.metadata.d.ts +2 -0
- package/dist/operations/compress.metadata.js +205 -0
- package/dist/operations/convert.metadata.d.ts +2 -0
- package/dist/operations/convert.metadata.js +85 -0
- package/dist/operations/custom_luma.d.ts +7 -0
- package/dist/operations/custom_luma.js +2 -0
- package/dist/operations/custom_luma.metadata.d.ts +2 -0
- package/dist/operations/custom_luma.metadata.js +49 -0
- package/dist/operations/image_watermark.d.ts +54 -0
- package/dist/operations/image_watermark.js +37 -0
- package/dist/operations/image_watermark.metadata.d.ts +2 -0
- package/dist/operations/image_watermark.metadata.js +97 -0
- package/dist/operations/index.d.ts +16 -1
- package/dist/operations/index.js +16 -1
- package/dist/operations/merge.d.ts +111 -31
- package/dist/operations/merge.js +106 -20
- package/dist/operations/merge.metadata.d.ts +2 -0
- package/dist/operations/merge.metadata.js +385 -0
- package/dist/operations/metadata-types.d.ts +47 -0
- package/dist/operations/metadata-types.js +2 -0
- package/dist/operations/text_watermark.d.ts +31 -0
- package/dist/operations/text_watermark.js +22 -0
- package/dist/operations/text_watermark.metadata.d.ts +2 -0
- package/dist/operations/text_watermark.metadata.js +46 -0
- package/dist/operations/thumbnail.metadata.d.ts +2 -0
- package/dist/operations/thumbnail.metadata.js +88 -0
- package/openapi/api.yaml +7154 -0
- package/operations/schemas/archive.yaml +22 -0
- package/operations/schemas/audio_overlay.yaml +397 -0
- package/operations/schemas/audio_watermark.yaml +184 -0
- package/operations/schemas/compress.yaml +297 -0
- package/operations/schemas/convert.yaml +119 -0
- package/operations/schemas/custom_luma.yaml +109 -0
- package/operations/schemas/image_watermark.yaml +280 -0
- package/operations/schemas/merge.yaml +440 -0
- package/operations/schemas/text_watermark.yaml +147 -0
- package/operations/schemas/thumbnail.yaml +135 -0
- package/package.json +20 -3
|
@@ -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,
|
|
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.
|
|
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 {
|
|
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,
|
|
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.
|
|
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
|
+
}
|