@giveitsmaller/contracts 0.17.0 → 0.19.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 +22 -12
- package/availability/availability.json +107 -9
- package/dist/openapi/models/AccountLimitEntry.d.ts +54 -0
- package/dist/openapi/models/AccountLimitEntry.js +51 -0
- package/dist/openapi/models/AccountLimits.d.ts +60 -0
- package/dist/openapi/models/AccountLimits.js +49 -0
- package/dist/openapi/models/AccountLimitsLimits.d.ts +40 -0
- package/dist/openapi/models/AccountLimitsLimits.js +50 -0
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +54 -0
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
- package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
- package/dist/openapi/models/AuthErrorResponse.js +1 -1
- package/dist/openapi/models/AuthErrorType.d.ts +1 -1
- package/dist/openapi/models/AuthErrorType.js +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
- package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
- package/dist/openapi/models/AvailabilityValue.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/CallbackEventType.d.ts +1 -1
- package/dist/openapi/models/CallbackEventType.js +1 -1
- package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ChangePasswordRequest.js +1 -1
- package/dist/openapi/models/CompositionPlan.d.ts +1 -1
- package/dist/openapi/models/CompositionPlan.js +1 -1
- package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanJob.js +1 -1
- package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanOperation.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
- package/dist/openapi/models/ConnectionSource.d.ts +1 -1
- package/dist/openapi/models/ConnectionSource.js +1 -1
- package/dist/openapi/models/ContactRequest.d.ts +1 -1
- package/dist/openapi/models/ContactRequest.js +1 -1
- package/dist/openapi/models/ContactSubject.d.ts +1 -1
- package/dist/openapi/models/ContactSubject.js +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
- package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201Response.js +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
- package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
- package/dist/openapi/models/CreditTransaction.d.ts +1 -1
- package/dist/openapi/models/CreditTransaction.js +1 -1
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
- package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
- package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
- package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
- package/dist/openapi/models/CreditsUsageResponse.js +1 -1
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
- package/dist/openapi/models/Delivery.d.ts +1 -1
- package/dist/openapi/models/Delivery.js +1 -1
- package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
- package/dist/openapi/models/DeliveryOutputRef.js +1 -1
- package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlan.js +1 -1
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
- package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlanReason.js +1 -1
- package/dist/openapi/models/DeliverySelection.d.ts +1 -1
- package/dist/openapi/models/DeliverySelection.js +1 -1
- package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
- package/dist/openapi/models/EndpointProjection.d.ts +1 -1
- package/dist/openapi/models/EndpointProjection.js +1 -1
- package/dist/openapi/models/ErrorEnvelope.d.ts +1 -1
- package/dist/openapi/models/ErrorEnvelope.js +1 -1
- package/dist/openapi/models/EstimateQuality.d.ts +1 -1
- package/dist/openapi/models/EstimateQuality.js +1 -1
- package/dist/openapi/models/EstimateRange.d.ts +1 -1
- package/dist/openapi/models/EstimateRange.js +1 -1
- package/dist/openapi/models/ExternalDestination.d.ts +1 -1
- package/dist/openapi/models/ExternalDestination.js +1 -1
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
- package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
- package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
- package/dist/openapi/models/ExternalImportRequest.js +1 -1
- package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
- package/dist/openapi/models/ExternalImportToken.js +1 -1
- package/dist/openapi/models/ExternalSource.d.ts +1 -1
- package/dist/openapi/models/ExternalSource.js +1 -1
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
- package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
- package/dist/openapi/models/FeatureViolation.d.ts +1 -1
- package/dist/openapi/models/FeatureViolation.js +1 -1
- package/dist/openapi/models/ForgotPasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ForgotPasswordRequest.js +1 -1
- package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
- package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
- package/dist/openapi/models/JobDefinition.d.ts +1 -1
- package/dist/openapi/models/JobDefinition.js +1 -1
- package/dist/openapi/models/JobDownload.d.ts +1 -1
- package/dist/openapi/models/JobDownload.js +1 -1
- package/dist/openapi/models/JobInputV2.d.ts +1 -1
- package/dist/openapi/models/JobInputV2.js +1 -1
- package/dist/openapi/models/JobMediaClass.d.ts +1 -1
- package/dist/openapi/models/JobMediaClass.js +1 -1
- package/dist/openapi/models/JobOutputSource.d.ts +1 -1
- package/dist/openapi/models/JobOutputSource.js +1 -1
- package/dist/openapi/models/JobResponse.d.ts +1 -1
- package/dist/openapi/models/JobResponse.js +1 -1
- package/dist/openapi/models/JobStatus.d.ts +1 -1
- package/dist/openapi/models/JobStatus.js +1 -1
- package/dist/openapi/models/JobType.d.ts +1 -1
- package/dist/openapi/models/JobType.js +1 -1
- package/dist/openapi/models/LivenessResponse.d.ts +1 -1
- package/dist/openapi/models/LivenessResponse.js +1 -1
- package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
- package/dist/openapi/models/LoginUser200Response.js +1 -1
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
- package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
- package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
- package/dist/openapi/models/LoginUserRequest.js +1 -1
- package/dist/openapi/models/MetadataResponse.d.ts +1 -1
- package/dist/openapi/models/MetadataResponse.js +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
- package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExif.js +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MimeGroupSchema.d.ts +1 -1
- package/dist/openapi/models/MimeGroupSchema.js +1 -1
- package/dist/openapi/models/MultiInputSource.d.ts +1 -1
- package/dist/openapi/models/MultiInputSource.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
- package/dist/openapi/models/MultipartPartListing.js +1 -1
- package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignRequest.js +1 -1
- package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignResponse.js +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusResponse.js +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/OperationDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationDefinition.js +1 -1
- package/dist/openapi/models/OperationDownload.d.ts +1 -1
- package/dist/openapi/models/OperationDownload.js +1 -1
- package/dist/openapi/models/OperationInputModel.d.ts +1 -1
- package/dist/openapi/models/OperationInputModel.js +1 -1
- package/dist/openapi/models/OperationResponse.d.ts +1 -1
- package/dist/openapi/models/OperationResponse.js +1 -1
- package/dist/openapi/models/OperationResult.d.ts +1 -1
- package/dist/openapi/models/OperationResult.js +1 -1
- package/dist/openapi/models/OperationResultMetadata.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetadata.js +1 -1
- package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetrics.js +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
- package/dist/openapi/models/OperationStatus.d.ts +1 -1
- package/dist/openapi/models/OperationStatus.js +1 -1
- package/dist/openapi/models/OperationType.d.ts +2 -2
- package/dist/openapi/models/OperationType.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
- package/dist/openapi/models/OptionSchema.d.ts +18 -6
- package/dist/openapi/models/OptionSchema.js +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
- package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
- package/dist/openapi/models/PresignedUrlPart.js +1 -1
- package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
- package/dist/openapi/models/ProbePendingResponse.js +1 -1
- package/dist/openapi/models/ProcessingClass.d.ts +1 -1
- package/dist/openapi/models/ProcessingClass.js +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
- package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassEntry.js +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
- package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassHint.js +1 -1
- package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassReason.js +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
- package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlan.js +1 -1
- package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlanJob.js +1 -1
- package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
- package/dist/openapi/models/ReEncodeDecision.js +1 -1
- package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
- package/dist/openapi/models/ReadinessResponse.js +1 -1
- package/dist/openapi/models/RegisterUser422Response.d.ts +1 -1
- package/dist/openapi/models/RegisterUser422Response.js +1 -1
- package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
- package/dist/openapi/models/RegisterUserRequest.js +1 -1
- package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ResetPasswordRequest.js +1 -1
- package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
- package/dist/openapi/models/ResponseEnvelope.js +1 -1
- package/dist/openapi/models/RetryResponse.d.ts +1 -1
- package/dist/openapi/models/RetryResponse.js +1 -1
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
- package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
- package/dist/openapi/models/SseCompletionBase.js +1 -1
- package/dist/openapi/models/SseEventType.d.ts +1 -1
- package/dist/openapi/models/SseEventType.js +1 -1
- package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
- package/dist/openapi/models/SseJobCompletedData.js +1 -1
- package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
- package/dist/openapi/models/SseJobFailedData.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
- package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
- package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
- package/dist/openapi/models/SseOperationCompletedData.js +1 -1
- package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
- package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
- package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
- package/dist/openapi/models/SseOperationFailedData.js +1 -1
- package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
- package/dist/openapi/models/SseOperationProgressData.js +1 -1
- package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
- package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
- package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
- package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
- package/dist/openapi/models/TierRestrictionKind.js +1 -1
- package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
- package/dist/openapi/models/TierRestrictionResponse.js +1 -1
- package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile200Response.js +1 -1
- package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
- package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile422Response.js +1 -1
- package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
- package/dist/openapi/models/UpdateProfileRequest.js +1 -1
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
- package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
- package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
- package/dist/openapi/models/UploadFile403Response.js +1 -1
- package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
- package/dist/openapi/models/UploadFile422Response.js +1 -1
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
- package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
- package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
- package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
- package/dist/openapi/models/UploadProbeResponse.js +1 -1
- package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
- package/dist/openapi/models/UploadProbeStatus.js +1 -1
- package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/UploadResponse.d.ts +1 -1
- package/dist/openapi/models/UploadResponse.js +1 -1
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
- package/dist/openapi/models/UploadSource.d.ts +1 -1
- package/dist/openapi/models/UploadSource.js +1 -1
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/UploadThresholds.d.ts +1 -1
- package/dist/openapi/models/UploadThresholds.js +1 -1
- package/dist/openapi/models/UserTier.d.ts +11 -4
- package/dist/openapi/models/UserTier.js +11 -4
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
- package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
- package/dist/openapi/models/VerifyEmailRequest.js +1 -1
- package/dist/openapi/models/WarningType.d.ts +1 -1
- package/dist/openapi/models/WarningType.js +1 -1
- package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
- package/dist/openapi/models/WebhookOperationContext.js +1 -1
- package/dist/openapi/models/WebhookPayload.d.ts +1 -1
- package/dist/openapi/models/WebhookPayload.js +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
- package/dist/openapi/models/WorkflowEdge.js +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
- package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowListResponse.js +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
- package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
- package/dist/openapi/models/WorkflowProcessing.js +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSource.d.ts +1 -1
- package/dist/openapi/models/WorkflowSource.js +1 -1
- package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatus.js +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowSummary.js +1 -1
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
- package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
- package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarning.js +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
- package/dist/openapi/models/index.d.ts +4 -0
- package/dist/openapi/models/index.js +4 -0
- package/dist/openapi/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/compress.d.ts +9 -0
- package/dist/operations/compress.js +9 -0
- package/dist/operations/compress.metadata.js +44 -2
- package/dist/operations/convert.metadata.js +8 -1
- package/dist/operations/thumbnail.metadata.js +8 -1
- package/openapi/api.yaml +220 -15
- package/operations/schemas/compress.yaml +93 -5
- package/operations/schemas/convert.yaml +19 -1
- package/operations/schemas/split.yaml +10 -7
- package/operations/schemas/thumbnail.yaml +6 -0
- package/package.json +1 -1
package/openapi/api.yaml
CHANGED
|
@@ -89,7 +89,7 @@ info:
|
|
|
89
89
|
of truth instead of hardcoding magic numbers. A runtime
|
|
90
90
|
`GET /api/uploads/limits` endpoint for dynamic discovery
|
|
91
91
|
(per-tier / per-environment overrides) is a deferred follow-up.
|
|
92
|
-
version: 2.
|
|
92
|
+
version: 2.73.0
|
|
93
93
|
contact:
|
|
94
94
|
name: API Support
|
|
95
95
|
|
|
@@ -168,7 +168,7 @@ paths:
|
|
|
168
168
|
mime_type: "image/jpeg"
|
|
169
169
|
size_bytes: 2457600
|
|
170
170
|
constraints_applied:
|
|
171
|
-
max_size_bytes:
|
|
171
|
+
max_size_bytes: 10485760
|
|
172
172
|
max_duration_seconds: null
|
|
173
173
|
processing_class_pre_assignment: short_form
|
|
174
174
|
'400':
|
|
@@ -232,7 +232,7 @@ paths:
|
|
|
232
232
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
233
233
|
example:
|
|
234
234
|
success: false
|
|
235
|
-
error: "File size exceeds maximum allowed (
|
|
235
|
+
error: "File size exceeds maximum allowed (100 GiB)"
|
|
236
236
|
'415':
|
|
237
237
|
description: |
|
|
238
238
|
Unsupported file type at the contract level (no tier permits
|
|
@@ -280,13 +280,13 @@ paths:
|
|
|
280
280
|
upload_duration_exceeds_tier: '#/components/schemas/UploadDurationExceedsTierResponse'
|
|
281
281
|
examples:
|
|
282
282
|
size_exceeds_tier:
|
|
283
|
-
summary: Free-tier caller uploads a 200MB file (cap is
|
|
283
|
+
summary: Free-tier caller uploads a 200MB file (cap is 10 MiB)
|
|
284
284
|
value:
|
|
285
285
|
success: false
|
|
286
|
-
error: "Upload exceeds size cap for free tier (max
|
|
286
|
+
error: "Upload exceeds size cap for free tier (max 10 MiB; pro permits up to 5 GiB)."
|
|
287
287
|
error_type: "upload_size_exceeds_tier"
|
|
288
288
|
current_tier: "free"
|
|
289
|
-
max_size_bytes:
|
|
289
|
+
max_size_bytes: 10485760
|
|
290
290
|
required_tier: "pro"
|
|
291
291
|
duration_exceeds_tier:
|
|
292
292
|
summary: Pro-tier caller uploads a 30-minute video (cap is 5min on short_form)
|
|
@@ -4465,6 +4465,100 @@ paths:
|
|
|
4465
4465
|
schema:
|
|
4466
4466
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
4467
4467
|
|
|
4468
|
+
# ============================================
|
|
4469
|
+
# ACCOUNT LIMITS ENDPOINT
|
|
4470
|
+
# ============================================
|
|
4471
|
+
|
|
4472
|
+
/api/v2/account/limits:
|
|
4473
|
+
get:
|
|
4474
|
+
summary: Get the caller's effective account limits
|
|
4475
|
+
description: |
|
|
4476
|
+
Returns the authed caller's **effective** (override-aware) account
|
|
4477
|
+
limits. `effective = per-account override ?? tier_default`. Until a
|
|
4478
|
+
per-account override is set, every limit's `effective` equals its
|
|
4479
|
+
`tier_default` and `overridden` is `false`.
|
|
4480
|
+
|
|
4481
|
+
These are **request-level tier-quota** limits — the per-file upload
|
|
4482
|
+
cap (`UserTier.maxFileSizeBytes`) and the merge combined-size band.
|
|
4483
|
+
They are **distinct** from the per-operation **processing-class**
|
|
4484
|
+
band caps in each operation schema's `processing_class.constraints`
|
|
4485
|
+
(which `GET /api/operations/schema` advertises account-agnostically
|
|
4486
|
+
as tier DEFAULTS). This endpoint is the account-scoped,
|
|
4487
|
+
override-aware **effective** view — the pre-upload cap surface
|
|
4488
|
+
previously missing (tickets
|
|
4489
|
+
[`zcRRQHVC`](https://trello.com/c/zcRRQHVC) +
|
|
4490
|
+
[`uKsFzORi`](https://trello.com/c/uKsFzORi)).
|
|
4491
|
+
|
|
4492
|
+
v1 keys: `max_upload_size_bytes` (per-file upload cap) and
|
|
4493
|
+
`max_total_input_size_bytes` (merge combined-size band). SDKs/FE
|
|
4494
|
+
gate the upload affordance on
|
|
4495
|
+
`limits.max_upload_size_bytes.effective`, surface
|
|
4496
|
+
`tier_default` for upgrade-prompt copy, and show an
|
|
4497
|
+
"extended limit" affordance when `overridden` is `true`.
|
|
4498
|
+
|
|
4499
|
+
Per ticket [`ViRVI2MP`](https://trello.com/c/ViRVI2MP).
|
|
4500
|
+
operationId: getAccountLimits
|
|
4501
|
+
security: [{bearerAuth: []}, {sessionAuth: []}] # required (identity-scoped to caller's account)
|
|
4502
|
+
x-identity-scoped: true # caller's account limits — per ADR-0016 §D4 sample
|
|
4503
|
+
tags:
|
|
4504
|
+
- Billing
|
|
4505
|
+
responses:
|
|
4506
|
+
'200':
|
|
4507
|
+
description: Effective account-limits snapshot
|
|
4508
|
+
content:
|
|
4509
|
+
application/json:
|
|
4510
|
+
schema:
|
|
4511
|
+
$ref: '#/components/schemas/AccountLimitsSuccessEnvelope'
|
|
4512
|
+
examples:
|
|
4513
|
+
free_tier_defaults:
|
|
4514
|
+
summary: Free tier, no overrides (effective == tier_default)
|
|
4515
|
+
value:
|
|
4516
|
+
success: true
|
|
4517
|
+
data:
|
|
4518
|
+
tier: free
|
|
4519
|
+
limits:
|
|
4520
|
+
max_upload_size_bytes:
|
|
4521
|
+
effective: 10485760
|
|
4522
|
+
tier_default: 10485760
|
|
4523
|
+
overridden: false
|
|
4524
|
+
max_total_input_size_bytes:
|
|
4525
|
+
effective: 1073741824
|
|
4526
|
+
tier_default: 1073741824
|
|
4527
|
+
overridden: false
|
|
4528
|
+
enterprise_with_upload_override:
|
|
4529
|
+
summary: Enterprise tier with a raised per-account upload override
|
|
4530
|
+
value:
|
|
4531
|
+
success: true
|
|
4532
|
+
data:
|
|
4533
|
+
tier: enterprise
|
|
4534
|
+
limits:
|
|
4535
|
+
max_upload_size_bytes:
|
|
4536
|
+
effective: 128849018880
|
|
4537
|
+
tier_default: 107374182400
|
|
4538
|
+
overridden: true
|
|
4539
|
+
max_total_input_size_bytes:
|
|
4540
|
+
effective: 120000000000
|
|
4541
|
+
tier_default: 120000000000
|
|
4542
|
+
overridden: false
|
|
4543
|
+
'401':
|
|
4544
|
+
description: Authentication required.
|
|
4545
|
+
content:
|
|
4546
|
+
application/json:
|
|
4547
|
+
schema:
|
|
4548
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
4549
|
+
'429':
|
|
4550
|
+
description: Rate limit exceeded
|
|
4551
|
+
content:
|
|
4552
|
+
application/json:
|
|
4553
|
+
schema:
|
|
4554
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
4555
|
+
'500':
|
|
4556
|
+
description: Internal server error
|
|
4557
|
+
content:
|
|
4558
|
+
application/json:
|
|
4559
|
+
schema:
|
|
4560
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
4561
|
+
|
|
4468
4562
|
# ============================================
|
|
4469
4563
|
# CONTACT ENDPOINT
|
|
4470
4564
|
# ============================================
|
|
@@ -5645,6 +5739,98 @@ components:
|
|
|
5645
5739
|
data:
|
|
5646
5740
|
$ref: '#/components/schemas/CreditsBalanceResponse'
|
|
5647
5741
|
|
|
5742
|
+
AccountLimitsSuccessEnvelope:
|
|
5743
|
+
type: object
|
|
5744
|
+
additionalProperties: false
|
|
5745
|
+
required:
|
|
5746
|
+
- success
|
|
5747
|
+
- data
|
|
5748
|
+
properties:
|
|
5749
|
+
success:
|
|
5750
|
+
type: boolean
|
|
5751
|
+
enum: [true]
|
|
5752
|
+
data:
|
|
5753
|
+
$ref: '#/components/schemas/AccountLimits'
|
|
5754
|
+
|
|
5755
|
+
AccountLimits:
|
|
5756
|
+
type: object
|
|
5757
|
+
# Open payload (response data target stays open for additive evolution —
|
|
5758
|
+
# the success-envelope tightening convention; new top-level fields may
|
|
5759
|
+
# be added without a breaking change).
|
|
5760
|
+
description: |
|
|
5761
|
+
The caller's effective (override-aware) account limits
|
|
5762
|
+
(`GET /api/v2/account/limits`, ticket
|
|
5763
|
+
[`ViRVI2MP`](https://trello.com/c/ViRVI2MP)). `tier` is the caller's
|
|
5764
|
+
subscription tier; `limits` maps a fixed v1 key set to each limit's
|
|
5765
|
+
effective / tier-default / override state.
|
|
5766
|
+
|
|
5767
|
+
**v1 limit keys** (both REQUIRED):
|
|
5768
|
+
- `max_upload_size_bytes`: the per-FILE upload cap
|
|
5769
|
+
(`UserTier.maxFileSizeBytes` — the request-level tier quota the
|
|
5770
|
+
upload endpoints enforce). **Distinct** from the per-operation
|
|
5771
|
+
processing ceiling `max_input_size_bytes` in operation schemas
|
|
5772
|
+
(different axis AND number). Tier defaults: free 10 MiB, pro 5 GiB,
|
|
5773
|
+
enterprise 100 GiB.
|
|
5774
|
+
- `max_total_input_size_bytes`: the effective merge combined-input
|
|
5775
|
+
size cap (the summed-inputs ceiling). Same key as the
|
|
5776
|
+
operation-schema merge band; the band is processing-class +
|
|
5777
|
+
tier dependent (`short_form_concat` baseline 1 GiB; the
|
|
5778
|
+
`long_form_re_encode` band where the tier permits it — Pro 5 GB,
|
|
5779
|
+
Enterprise 120 GB). The server resolves the effective value for
|
|
5780
|
+
the caller.
|
|
5781
|
+
required:
|
|
5782
|
+
- tier
|
|
5783
|
+
- limits
|
|
5784
|
+
properties:
|
|
5785
|
+
tier:
|
|
5786
|
+
$ref: '#/components/schemas/UserTier'
|
|
5787
|
+
limits:
|
|
5788
|
+
type: object
|
|
5789
|
+
# Typed-open: the v1 keys below are REQUIRED + frozen, but future
|
|
5790
|
+
# limit keys may be added additively (each an AccountLimitEntry) —
|
|
5791
|
+
# forward-compatible per the open-payload convention.
|
|
5792
|
+
additionalProperties:
|
|
5793
|
+
$ref: '#/components/schemas/AccountLimitEntry'
|
|
5794
|
+
required:
|
|
5795
|
+
- max_upload_size_bytes
|
|
5796
|
+
- max_total_input_size_bytes
|
|
5797
|
+
properties:
|
|
5798
|
+
max_upload_size_bytes:
|
|
5799
|
+
$ref: '#/components/schemas/AccountLimitEntry'
|
|
5800
|
+
max_total_input_size_bytes:
|
|
5801
|
+
$ref: '#/components/schemas/AccountLimitEntry'
|
|
5802
|
+
|
|
5803
|
+
AccountLimitEntry:
|
|
5804
|
+
type: object
|
|
5805
|
+
additionalProperties: false
|
|
5806
|
+
description: |
|
|
5807
|
+
One account limit: the effective value (override ?? tier default),
|
|
5808
|
+
the tier default, and whether a per-account override is active. The
|
|
5809
|
+
override mechanism / store is NOT exposed — only the resolved
|
|
5810
|
+
numbers plus the `overridden` flag.
|
|
5811
|
+
required:
|
|
5812
|
+
- effective
|
|
5813
|
+
- tier_default
|
|
5814
|
+
- overridden
|
|
5815
|
+
properties:
|
|
5816
|
+
effective:
|
|
5817
|
+
type: integer
|
|
5818
|
+
minimum: 1
|
|
5819
|
+
description: |
|
|
5820
|
+
The cap in force for this account, in bytes
|
|
5821
|
+
(`override ?? tier_default`).
|
|
5822
|
+
tier_default:
|
|
5823
|
+
type: integer
|
|
5824
|
+
minimum: 1
|
|
5825
|
+
description: |
|
|
5826
|
+
The tier's default cap for this limit, in bytes (already public
|
|
5827
|
+
via the tier model).
|
|
5828
|
+
overridden:
|
|
5829
|
+
type: boolean
|
|
5830
|
+
description: |
|
|
5831
|
+
True iff a per-account override is active (i.e. `effective`
|
|
5832
|
+
comes from an override rather than the tier default).
|
|
5833
|
+
|
|
5648
5834
|
CreditTransaction:
|
|
5649
5835
|
type: object
|
|
5650
5836
|
description: |
|
|
@@ -6263,13 +6449,20 @@ components:
|
|
|
6263
6449
|
|
|
6264
6450
|
Tier capability summary (informational; canonical limits are
|
|
6265
6451
|
enforced server-side per `UserTier.php`):
|
|
6266
|
-
- `free`: 10
|
|
6452
|
+
- `free`: 10 MiB max upload; image MIMEs only; 50 monthly credits;
|
|
6267
6453
|
0 overdraft; 1× rate-limit baseline.
|
|
6268
|
-
- `pro`:
|
|
6454
|
+
- `pro`: 5 GiB max upload; image + video + document MIMEs; 1000
|
|
6269
6455
|
monthly credits; 200 overdraft; 5× rate-limit.
|
|
6270
|
-
- `enterprise`:
|
|
6456
|
+
- `enterprise`: 100 GiB max upload; image + video + document + audio
|
|
6271
6457
|
MIMEs; 10000 monthly credits; 5000 overdraft; 20× rate-limit.
|
|
6272
6458
|
|
|
6459
|
+
The "max upload" figures are the per-file upload cap
|
|
6460
|
+
(`UserTier.maxFileSizeBytes`) — the request-level tier quota,
|
|
6461
|
+
surfaced override-aware via `GET /api/v2/account/limits`
|
|
6462
|
+
(`max_upload_size_bytes`). They are DISTINCT from the per-operation
|
|
6463
|
+
processing-class band caps (`processing_class.constraints` in the
|
|
6464
|
+
operation schemas; e.g. the 120 GB Enterprise merge combined band).
|
|
6465
|
+
|
|
6273
6466
|
Used by `TierRestrictionResponse.current_tier` /
|
|
6274
6467
|
`TierRestrictionResponse.required_tier` and by
|
|
6275
6468
|
`FeatureViolation.required_tier`.
|
|
@@ -6920,7 +7113,7 @@ components:
|
|
|
6920
7113
|
- audio_to_video: Produce a video from an audio input plus an OPTIONAL still image overlay. Multi-input role-based with the first OPTIONAL role on the contract (`role: base` audio required, `role: overlay` image 0..1 — see `per_role_cardinality`). When overlay is omitted, the video uses a solid background colour. `availability: beta` (Wave A — Lambda backend live; opt-in, MUST NOT return `feature_not_available`; may change with notice). Per ticket [`SlluxMBN`](https://trello.com/c/SlluxMBN) + ADR-0015 (introduces `per_role_cardinality` vocab).
|
|
6921
7114
|
- video_watermark: Apply an image overlay onto a base video via FFmpeg's `overlay` filter. Multi-input role-based (`role: base` video + `role: overlay` image, exactly one of each per `per_role_cardinality`). Re-encode required; audio stream-copy passthrough. Distinct from `image_watermark` (pure-Rust/image-only). `availability: beta` (Wave A — Lambda backend live; opt-in, MUST NOT 422; `short_form` is beta, `long_form` stays `planned` — no live Fargate worker; `multi_overlay_stack` stays `planned`). Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
|
|
6922
7115
|
- video_text_watermark: Render a text overlay onto a base video via FFmpeg's `drawtext` filter. Single-input — text and styling in options. Same `watermark_mode` (single/tiled), anchor + margin vocab as `text_watermark`. Re-encode required; audio stream-copy passthrough. `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
|
|
6923
|
-
- split: Fan one input file into N outputs across GIF / PDF / audio / video MIME families. Single-input per-mime-group catalog (mirrors merge/convert): GIF uses `frame_range` (REQUIRED) + `output_format`; PDF uses `page_range` OR `page_groups` (mutually exclusive); audio + video use a `mode` discriminator (interval/count/cut_points) + numeric-seconds wire format + `precision` flag (fast/exact). 200-output hard cap per ADR-0009 §D5 with per-mode preflight math; output naming `output-001..output-200`. Long-form video routes to a separate `split-video-fargate` worker via `processing_class`. `availability: beta` for the `audio` and `video` mime_groups (workers live on staging — shape-stable + opt-in, MUST NOT 422); video activates BOTH classes (`video.processing_class.short_form: beta` AND `long_form: beta` — `split-video-fargate`
|
|
7116
|
+
- split: Fan one input file into N outputs across GIF / PDF / audio / video MIME families. Single-input per-mime-group catalog (mirrors merge/convert): GIF uses `frame_range` (REQUIRED) + `output_format`; PDF uses `page_range` OR `page_groups` (mutually exclusive); audio + video use a `mode` discriminator (interval/count/cut_points) + numeric-seconds wire format + `precision` flag (fast/exact). 200-output hard cap per ADR-0009 §D5 with per-mode preflight math; output naming `output-001..output-200`. Long-form video routes to a separate `split-video-fargate` worker via `processing_class`. `availability: beta` for the `audio` and `video` mime_groups (workers live on staging — shape-stable + opt-in, MUST NOT 422); video activates BOTH classes (`video.processing_class.short_form: beta` AND `long_form: beta` — `split-video-fargate` deployed + wired on staging but NOT yet proven end-to-end per [`rcwvUKhI`](https://trello.com/c/rcwvUKhI); the first customer-path soak has not completed, the 4GB+ speed-up is unmeasured, and the long-form fan-out is flag-gated dark). The `image_gif` and `document_pdf` mime_groups stay `availability: planned` and dispatch returns `feature_not_available` (422) until their workers ship. Per ticket [`vKI0CFDu`](https://trello.com/c/vKI0CFDu) + ADR-0014.
|
|
6924
7117
|
- passthrough: Inert lossless source operation. A single-input source job whose SOLE operation is `passthrough` emits its source bytes UNCHANGED — no compression, no Lambda. The API self-completes the job at publish (terminal output = the upload `{bucket, key}` unchanged). Its purpose is to feed an uploaded file into a multi-input operation LOSSLESSLY: because `JobInputV2.source` is narrowed to exclude upload-direct, an upload that must enter a `merge` / `archive` / `image_watermark` op enters via a `passthrough` source job referenced downstream by `{type: job_output, from: <id>}` — preserving billing / DAG / lineage. Distinct from `operations: []` (which keeps its implicit-compress meaning on a single-input upload job); `passthrough` is the EXPLICIT lossless path via the "non-empty `operations[]` without `compress` = compression opt-out" rule. Media-agnostic; no options. `availability: beta` — activated (the inputs[]-narrowing + passthrough self-complete mechanism is deployed API-side); workflow-create accepts `passthrough` source jobs and MUST NOT return `feature_not_available`. **Never published to SNS** — deliberately absent from the AsyncAPI routing enums (API self-completes; no `ops-passthrough` queue). Per ticket [`4som89Uh`](https://trello.com/c/4som89Uh) + ADR-0004 (planned→beta flip).
|
|
6925
7118
|
|
|
6926
7119
|
Both the legacy `thumbnail` value and the four sub-type values
|
|
@@ -10885,12 +11078,24 @@ components:
|
|
|
10885
11078
|
when `type: enum`. Keys MUST be a subset of `values[]`;
|
|
10886
11079
|
each entry value is a `depends_on`-shaped condition mapping
|
|
10887
11080
|
that the named enum value REQUIRES. Distinct from
|
|
10888
|
-
option-level `depends_on
|
|
10889
|
-
|
|
10890
|
-
|
|
10891
|
-
|
|
11081
|
+
option-level `depends_on`, which gates the WHOLE option's
|
|
11082
|
+
applicability and IS enforced by the API at workflow-create
|
|
11083
|
+
(`OperationOptionsValidator`: a submitted option whose gate is
|
|
11084
|
+
unmet is rejected as `invalid_options`; an absent one is
|
|
11085
|
+
inactive). `per_value_depends_on` instead constrains a single
|
|
11086
|
+
VALUE of an otherwise-active option. ENFORCEMENT NOTE: the API's
|
|
11087
|
+
create-time validator does NOT yet evaluate `per_value_depends_on`
|
|
11088
|
+
(only option-level `depends_on`); it is shape-checked metadata
|
|
11089
|
+
that SDK/FE consume to gate the value, with the worker as the
|
|
11090
|
+
reject backstop (a future API version may add create-time
|
|
11091
|
+
enforcement, contract-first). When unmet it logically requires
|
|
11092
|
+
the request be rejected as `invalid_options` (intent; per the
|
|
11093
|
+
enforcement note above this is not yet API-create-enforced), the
|
|
11094
|
+
option itself staying active. The KEY/SHAPE (keys are a subset of
|
|
11095
|
+
`values[]`; condition cross-refs resolve) is verified by
|
|
10892
11096
|
`make check-per-value-depends-on` (CI guard, ticket
|
|
10893
|
-
[`bsV3FWM5`](https://trello.com/c/bsV3FWM5))
|
|
11097
|
+
[`bsV3FWM5`](https://trello.com/c/bsV3FWM5)) — shape only, NOT
|
|
11098
|
+
runtime/worker enforcement. Runtime
|
|
10894
11099
|
emission ships verbatim alongside other availability
|
|
10895
11100
|
metadata. See `schemas/FORMAT.md` §per_value_depends_on.
|
|
10896
11101
|
additionalProperties: true
|
|
@@ -16,6 +16,18 @@ operation:
|
|
|
16
16
|
- image/svg+xml
|
|
17
17
|
- image/tiff
|
|
18
18
|
- image/avif
|
|
19
|
+
per_mime_availability:
|
|
20
|
+
# avif INPUT decode shipped in the compress-image worker via libheif
|
|
21
|
+
# (lambdas w34Taquf, #210). beta: live + opt-in, shape-stable.
|
|
22
|
+
# Re-add after the v2.67.0 interim crash-window drop (aYPbNVKD Phase 2).
|
|
23
|
+
# image/heic is intentionally NOT re-added to compress: compress is
|
|
24
|
+
# decode-only and there is no HEIC encoder, so the worker rejects a
|
|
25
|
+
# declared image/heic (FormatMismatch). heic stays on convert+thumbnail.
|
|
26
|
+
# WORKER LIMIT (not yet contract-expressible — F3 follow-up): the
|
|
27
|
+
# compress-image worker caps avif INPUT at 20MB (compression_processor.rs),
|
|
28
|
+
# below the general image size budget. Per-MIME input-size caps have no
|
|
29
|
+
# contract vocab today; tracked for the image-size-cap mechanism (F3).
|
|
30
|
+
image/avif: { availability: beta }
|
|
19
31
|
options:
|
|
20
32
|
mode:
|
|
21
33
|
type: enum
|
|
@@ -55,9 +67,35 @@ operation:
|
|
|
55
67
|
type: enum
|
|
56
68
|
values: [original, auto, smallest, jpeg, png, webp, avif]
|
|
57
69
|
default: original
|
|
70
|
+
per_value_availability:
|
|
71
|
+
# FACADE (VcPeRWdD): "compress + change format" resolves to a SINGLE
|
|
72
|
+
# combined convert-with-size-cap pass canonicalized API-side (the
|
|
73
|
+
# compress worker stays same-format — it never reads output_format).
|
|
74
|
+
# Non-`original` values were a live untagged-`stable` silent no-op
|
|
75
|
+
# (worker ignored them, returned a same-format file at 200) — the
|
|
76
|
+
# hlKCslIu-class over-claim. Tagged `planned` until each value's
|
|
77
|
+
# facade piece lands (API canonicalization + lambdas encode), then
|
|
78
|
+
# flipped `stable` per value with capability proof (ADR-0001/0006).
|
|
79
|
+
# ALL non-`original` values are tagged `planned`: the compress+format
|
|
80
|
+
# FACADE path (API canonicalization → convert) is not live for ANY
|
|
81
|
+
# value until [API] IsjNT2PJ ships, so even jpeg/avif are dormant-safe
|
|
82
|
+
# `planned` in this lead PR (without the marker the canonicalizer would
|
|
83
|
+
# dispatch them to a not-live path). They flip `stable` per value as
|
|
84
|
+
# each facade piece lands + capability proof (ADR-0001/0006): jpeg/avif
|
|
85
|
+
# first (closest — shipped foldImageEncodeOperations), then png (API
|
|
86
|
+
# fold), webp (lambdas lossy-webp PfGs5PBT), auto/smallest (runtime
|
|
87
|
+
# selection, unbuilt). `original` (same-format, today's behaviour) stays stable.
|
|
88
|
+
auto: { availability: planned } # runtime Accept-best selection — unbuilt
|
|
89
|
+
smallest: { availability: planned } # runtime try-all-smallest selection — unbuilt
|
|
90
|
+
jpeg: { availability: planned } # facade path not live until IsjNT2PJ
|
|
91
|
+
png: { availability: planned } # facade path not live until IsjNT2PJ
|
|
92
|
+
webp: { availability: planned } # + needs lambdas lossy-webp (PfGs5PBT)
|
|
93
|
+
avif: { availability: planned } # facade path not live until IsjNT2PJ
|
|
58
94
|
description: >-
|
|
59
|
-
Output format. original = keep input format
|
|
60
|
-
(AVIF > WebP > JPEG
|
|
95
|
+
Output format. original = keep input format (default); auto = best for browser
|
|
96
|
+
support (AVIF > WebP > JPEG via Accept hint); smallest = try all supported formats,
|
|
97
|
+
return the smallest. Non-`original` values are served by the API "compress+format"
|
|
98
|
+
facade (one combined convert-with-size-cap pass); see per_value_availability + FORMAT.md.
|
|
61
99
|
|
|
62
100
|
audio:
|
|
63
101
|
mimes:
|
|
@@ -68,12 +106,47 @@ operation:
|
|
|
68
106
|
- audio/wav
|
|
69
107
|
- audio/mp4
|
|
70
108
|
options:
|
|
109
|
+
output_format:
|
|
110
|
+
type: enum
|
|
111
|
+
values: [original, mp3, aac, ogg, flac, wav]
|
|
112
|
+
default: original
|
|
113
|
+
per_value_availability:
|
|
114
|
+
# FACADE (VcPeRWdD): "compress audio + change format" resolves to a
|
|
115
|
+
# SINGLE API-canonicalized convert pass (the API computes a discrete
|
|
116
|
+
# target bitrate; convert honours it via -b:a — no compress-worker
|
|
117
|
+
# change, no source-relative cap needed for audio). Non-`original`
|
|
118
|
+
# values are facade-pending until the API canonicalization lands,
|
|
119
|
+
# then flipped `stable` per value. `original` (same-format, today's
|
|
120
|
+
# behaviour) stays stable. Values mirror convert.audio.output_format.
|
|
121
|
+
mp3: { availability: planned }
|
|
122
|
+
aac: { availability: planned }
|
|
123
|
+
ogg: { availability: planned }
|
|
124
|
+
flac: { availability: planned }
|
|
125
|
+
wav: { availability: planned }
|
|
126
|
+
description: >-
|
|
127
|
+
Output audio format. original = keep input format (default, same-format
|
|
128
|
+
compression). Non-`original` values re-target the container/codec via the
|
|
129
|
+
API "compress+format" facade (one canonicalized convert pass); see FORMAT.md.
|
|
71
130
|
bitrate:
|
|
72
131
|
type: enum
|
|
73
132
|
value_type: integer
|
|
74
133
|
values: [64, 96, 128, 192, 256, 320]
|
|
75
134
|
default: 128
|
|
76
|
-
description:
|
|
135
|
+
description: >
|
|
136
|
+
Output bitrate in kbps (CBR/ABR). Applies to lossy OUTPUTS. Only a
|
|
137
|
+
caller-EXPLICIT bitrate against a lossless output is rejected as
|
|
138
|
+
invalid_options (flac/wav have no bitrate target); the `default: 128` is
|
|
139
|
+
never the basis for a rejection (ADR-0020 D1 — a default a caller did not set
|
|
140
|
+
is the server's to resolve, and is dropped for a lossless target). The output
|
|
141
|
+
is the input format unless `output_format` re-targets it: with
|
|
142
|
+
`output_format: original` the lossy/lossless distinction follows the input MIME
|
|
143
|
+
(mpeg/aac/ogg/mp4 = lossy → bitrate applies; flac/wav input → an explicit
|
|
144
|
+
bitrate is rejected); with an explicit `output_format`, it follows that target
|
|
145
|
+
(flac/wav target → an explicit bitrate is rejected). Not expressed as
|
|
146
|
+
`depends_on` — the lossy-output condition is an output-value × input-MIME
|
|
147
|
+
cross-axis the option-to-option `depends_on` cannot model without dropping
|
|
148
|
+
`original` and breaking same-format callers. The other knobs
|
|
149
|
+
(channels/sample_rate/normalize) apply to all formats.
|
|
77
150
|
channels:
|
|
78
151
|
type: integer
|
|
79
152
|
min: 1
|
|
@@ -219,8 +292,23 @@ operation:
|
|
|
219
292
|
type: enum
|
|
220
293
|
value_type: integer
|
|
221
294
|
values: [64, 96, 128, 192, 256, 320]
|
|
222
|
-
|
|
223
|
-
|
|
295
|
+
# depends_on is ENFORCED AT CREATE: the API's OperationOptionsValidator
|
|
296
|
+
# excludes an option whose dependsOn is unmet from the active set, then
|
|
297
|
+
# flags a SUBMITTED inactive option as unknownOption → invalid_options.
|
|
298
|
+
# So an explicit audio_bitrate with audio_codec copy/omitted is REJECTED
|
|
299
|
+
# at workflow-create (staging-triage #4's "validate at CREATE"). FE/SDK
|
|
300
|
+
# also prune it pre-submit; the worker (video_encode_options.rs) is the
|
|
301
|
+
# deeper backstop. The reported failure is closed by the create-reject
|
|
302
|
+
# + the preset audioBitrate drop. NO API code needed (existing validator).
|
|
303
|
+
depends_on: { audio_codec: [aac, opus, vorbis] }
|
|
304
|
+
description: >
|
|
305
|
+
Audio track bitrate in kbps. Only valid with an explicit re-encode
|
|
306
|
+
audio_codec (aac/opus/vorbis): an explicit audio_bitrate with
|
|
307
|
+
audio_codec `copy`/omitted is rejected as `invalid_options` at
|
|
308
|
+
workflow-create (the API enforces this `depends_on`); copy preserves
|
|
309
|
+
the source bitrate. FE/SDK also prune it pre-submit. No default: a
|
|
310
|
+
bitrate is only meaningful on an explicit re-encode (matches the
|
|
311
|
+
worker, which applies none).
|
|
224
312
|
trim_start:
|
|
225
313
|
type: float
|
|
226
314
|
min: 0
|
|
@@ -19,6 +19,13 @@ operation:
|
|
|
19
19
|
- image/vnd.microsoft.icon
|
|
20
20
|
- image/avif
|
|
21
21
|
- image/heic
|
|
22
|
+
per_mime_availability:
|
|
23
|
+
# avif/heic input decode shipped in the convert worker via libheif
|
|
24
|
+
# (lambdas w34Taquf, #210). beta: live + opt-in, shape-stable.
|
|
25
|
+
# Re-add after the v2.67.0 interim crash-window drop (aYPbNVKD Phase 2).
|
|
26
|
+
# (avif is also a valid OUTPUT via output_format — ravif encode.)
|
|
27
|
+
image/avif: { availability: beta }
|
|
28
|
+
image/heic: { availability: beta }
|
|
22
29
|
options:
|
|
23
30
|
output_format:
|
|
24
31
|
type: enum
|
|
@@ -73,18 +80,29 @@ operation:
|
|
|
73
80
|
codec:
|
|
74
81
|
type: enum
|
|
75
82
|
values: [h264, h265, vp9, av1]
|
|
83
|
+
depends_on: { output_format: [mp4, webm, ogg] }
|
|
76
84
|
description: >
|
|
77
85
|
Video codec for target format. Defaults to the format's standard
|
|
78
86
|
codec (no literal default — the required output_format determines
|
|
79
87
|
it). This is the container-conditional-default principle applied via
|
|
80
88
|
an explicit container choice. See FORMAT.md
|
|
81
89
|
"Container-conditional defaults" + ADR-0020.
|
|
90
|
+
Not applicable to a `gif` output (no video codec): an explicit
|
|
91
|
+
`codec` on a `gif` output is rejected as `invalid_options` at
|
|
92
|
+
workflow-create (the API enforces this `depends_on`); FE/SDK prune
|
|
93
|
+
it pre-submit.
|
|
82
94
|
quality:
|
|
83
95
|
type: integer
|
|
84
96
|
min: 0
|
|
85
97
|
max: 51
|
|
86
98
|
default: 23
|
|
87
|
-
|
|
99
|
+
depends_on: { output_format: [mp4, webm, ogg] }
|
|
100
|
+
description: >
|
|
101
|
+
CRF value (0 = lossless, 51 = worst). Video outputs only — NOT
|
|
102
|
+
applicable to a `gif` output (frame extraction has no CRF). An
|
|
103
|
+
explicit `quality` on a `gif` output is rejected as `invalid_options`
|
|
104
|
+
at workflow-create (the API enforces this `depends_on`); FE/SDK
|
|
105
|
+
prune it pre-submit.
|
|
88
106
|
|
|
89
107
|
audio:
|
|
90
108
|
mimes:
|
|
@@ -69,9 +69,11 @@ operation:
|
|
|
69
69
|
`availability: beta` for the `audio` and `video` mime_groups
|
|
70
70
|
(workers live on staging — shape-stable + opt-in, MUST NOT 422).
|
|
71
71
|
Video activates **both classes**: `video.processing_class.short_form`
|
|
72
|
-
AND `long_form` are `beta` — the `split-video-fargate` worker is
|
|
73
|
-
on staging
|
|
74
|
-
[`rcwvUKhI`](https://trello.com/c/rcwvUKhI)
|
|
72
|
+
AND `long_form` are `beta` — the `split-video-fargate` worker is
|
|
73
|
+
deployed + wired on staging but NOT yet proven end-to-end
|
|
74
|
+
([`rcwvUKhI`](https://trello.com/c/rcwvUKhI); the first customer-path
|
|
75
|
+
soak has not completed and the 4GB+ speed-up is unmeasured; the
|
|
76
|
+
long-form fan-out is flag-gated dark). The `image_gif` and
|
|
75
77
|
`document_pdf` mime_groups stay `availability: planned` until their
|
|
76
78
|
cross-repo Lambda workers ship ([`vKI0CFDu`](https://trello.com/c/vKI0CFDu)
|
|
77
79
|
+ lambdas L1); dispatch returns `feature_not_available` (422) for the
|
|
@@ -296,10 +298,11 @@ operation:
|
|
|
296
298
|
max_input_size_bytes: 524288000
|
|
297
299
|
max_output_size_bytes: 524288000
|
|
298
300
|
long_form:
|
|
299
|
-
# planned -> beta (rcwvUKhI): split-video-fargate worker
|
|
300
|
-
# staging
|
|
301
|
-
#
|
|
302
|
-
#
|
|
301
|
+
# planned -> beta (rcwvUKhI): split-video-fargate worker deployed +
|
|
302
|
+
# wired on staging but NOT yet proven end-to-end (first customer-path
|
|
303
|
+
# soak incomplete; 4GB+ speed-up unmeasured; fan-out flag-gated dark).
|
|
304
|
+
# Routes per ADR-0014 §D10 — same split OperationType, dedicated
|
|
305
|
+
# stream-copy segmenter binary (NOT the long-form compress worker).
|
|
303
306
|
availability: beta
|
|
304
307
|
required_tier: pro
|
|
305
308
|
constraints: # baseline = Pro
|
|
@@ -17,6 +17,12 @@ operation:
|
|
|
17
17
|
- image/bmp
|
|
18
18
|
- image/avif
|
|
19
19
|
- image/heic
|
|
20
|
+
per_mime_availability:
|
|
21
|
+
# avif/heic decode shipped in the thumbnail-image worker via libheif
|
|
22
|
+
# (lambdas w34Taquf, #210). beta: live + opt-in, shape-stable.
|
|
23
|
+
# Re-add after the v2.67.0 interim crash-window drop (aYPbNVKD Phase 2).
|
|
24
|
+
image/avif: { availability: beta }
|
|
25
|
+
image/heic: { availability: beta }
|
|
20
26
|
options:
|
|
21
27
|
width:
|
|
22
28
|
type: integer
|