@giveitsmaller/contracts 0.22.0 → 0.23.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/accepted-options/accepted-options.json +153 -25
- package/availability/availability.json +305 -84
- package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
- package/dist/openapi/models/AccountLimitEntry.js +1 -1
- package/dist/openapi/models/AccountLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
- 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 +3 -3
- 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 +21 -1
- package/dist/openapi/models/OperationSchemaDefinition.js +3 -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 +1 -1
- package/dist/openapi/models/OperationType.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/openapi/models/UserTier.js +1 -1
- 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/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/archive.metadata.js +5 -1
- package/dist/operations/compress.d.ts +58 -16
- package/dist/operations/compress.js +42 -15
- package/dist/operations/compress.metadata.js +126 -7
- package/dist/operations/convert.d.ts +2 -8
- package/dist/operations/convert.js +1 -7
- package/dist/operations/convert.metadata.js +1 -4
- package/dist/operations/thumbnail.d.ts +3 -0
- package/dist/operations/thumbnail.metadata.js +9 -0
- package/openapi/api.yaml +30 -13
- package/operations/schemas/archive.yaml +9 -1
- package/operations/schemas/audio_overlay.yaml +1 -0
- package/operations/schemas/audio_to_video.yaml +1 -0
- package/operations/schemas/compress.yaml +226 -73
- package/operations/schemas/convert.yaml +22 -24
- package/operations/schemas/custom_luma.yaml +1 -0
- package/operations/schemas/image_watermark.yaml +1 -0
- package/operations/schemas/merge.yaml +1 -0
- package/operations/schemas/split.yaml +1 -0
- package/operations/schemas/text_watermark.yaml +1 -0
- package/operations/schemas/thumbnail.yaml +21 -0
- package/operations/schemas/video_text_watermark.yaml +1 -0
- package/operations/schemas/video_watermark.yaml +1 -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.83.0
|
|
93
93
|
contact:
|
|
94
94
|
name: API Support
|
|
95
95
|
|
|
@@ -1321,7 +1321,6 @@ paths:
|
|
|
1321
1321
|
operations:
|
|
1322
1322
|
- type: compress
|
|
1323
1323
|
options:
|
|
1324
|
-
mode: lossy
|
|
1325
1324
|
quality: 80
|
|
1326
1325
|
v2_flat_single_source:
|
|
1327
1326
|
summary: >-
|
|
@@ -1336,7 +1335,6 @@ paths:
|
|
|
1336
1335
|
operations:
|
|
1337
1336
|
- type: compress
|
|
1338
1337
|
options:
|
|
1339
|
-
mode: lossy
|
|
1340
1338
|
quality: 80
|
|
1341
1339
|
- type: thumbnail
|
|
1342
1340
|
base: original
|
|
@@ -2440,7 +2438,8 @@ paths:
|
|
|
2440
2438
|
- `operation`: Filter to a specific operation type
|
|
2441
2439
|
|
|
2442
2440
|
The schema includes conditional validation rules using
|
|
2443
|
-
`depends_on` (e.g. `
|
|
2441
|
+
`depends_on` (e.g. `crf` is only valid when `encoding_mode: crf`
|
|
2442
|
+
for compress video).
|
|
2444
2443
|
Per-enum-value availability uses the `per_value_availability` map
|
|
2445
2444
|
on `OptionSchema` (ticket I17). Clients should use these to build
|
|
2446
2445
|
dynamic forms with availability-aware UX.
|
|
@@ -2540,18 +2539,19 @@ paths:
|
|
|
2540
2539
|
# ticket IXE7QDxe — operation-level `options`
|
|
2541
2540
|
# is omitted for ops with mime_groups.
|
|
2542
2541
|
mime_groups:
|
|
2543
|
-
image
|
|
2544
|
-
|
|
2542
|
+
# Illustrative shape only. Real compress.image ships
|
|
2543
|
+
# per-input-format groups (image_jpeg/image_png/
|
|
2544
|
+
# image_avif/image); image compress is lossy-only
|
|
2545
|
+
# (Option B) — no `mode`/`icc_profile`.
|
|
2546
|
+
image_jpeg:
|
|
2547
|
+
mimes: ["image/jpeg"]
|
|
2545
2548
|
options:
|
|
2546
|
-
mode:
|
|
2547
|
-
type: "enum"
|
|
2548
|
-
values: ["lossy", "lossless", "auto"]
|
|
2549
2549
|
quality:
|
|
2550
2550
|
type: "integer"
|
|
2551
2551
|
min: 1
|
|
2552
2552
|
max: 100
|
|
2553
|
-
|
|
2554
|
-
|
|
2553
|
+
progressive:
|
|
2554
|
+
type: "boolean"
|
|
2555
2555
|
thumbnail:
|
|
2556
2556
|
description: "Generate a preview image from the source file"
|
|
2557
2557
|
default: false
|
|
@@ -8481,8 +8481,8 @@ components:
|
|
|
8481
8481
|
See `GET /api/operations/schema` for the full schema.
|
|
8482
8482
|
|
|
8483
8483
|
Options are validated against the schema using JSON Schema if/then/else
|
|
8484
|
-
rules. For example, `
|
|
8485
|
-
compress operations.
|
|
8484
|
+
rules. For example, `crf` is only valid when `encoding_mode: crf`
|
|
8485
|
+
for compress video operations.
|
|
8486
8486
|
additionalProperties: true
|
|
8487
8487
|
base:
|
|
8488
8488
|
type: string
|
|
@@ -10982,6 +10982,23 @@ components:
|
|
|
10982
10982
|
max_inputs:
|
|
10983
10983
|
type: integer
|
|
10984
10984
|
description: Maximum number of inputs (multi-input operations only)
|
|
10985
|
+
sole_op:
|
|
10986
|
+
type: boolean
|
|
10987
|
+
description: |
|
|
10988
|
+
When `true`, this operation MUST be the only operation in its job —
|
|
10989
|
+
it cannot be chained with other operations in the same job's
|
|
10990
|
+
`operations[]`. To combine it with another operation (e.g. watermark
|
|
10991
|
+
+ compress), model them as SEPARATE jobs linked via `workflow_edges`
|
|
10992
|
+
(the downstream job's `source` references the upstream via
|
|
10993
|
+
`job_output`). Optional — absent means `false` (the operation chains
|
|
10994
|
+
normally). Set on the ten ops the API bars from co-bundling
|
|
10995
|
+
(`OperationType::bypassesV1ChainValidator()`): the multi-input ops
|
|
10996
|
+
(merge, archive, image_watermark, video_watermark, audio_overlay,
|
|
10997
|
+
audio_to_video, custom_luma) and the single-input fan-out / leaf ops
|
|
10998
|
+
(text_watermark, video_text_watermark, split). SDK + frontend gate on
|
|
10999
|
+
this to DISABLE-or-EXPLAIN an invalid op-combination before submit,
|
|
11000
|
+
instead of surfacing a workflow-create 422. Per ADR-0025 (interim
|
|
11001
|
+
signal ahead of the full operation-compatibility model, ADR-0024).
|
|
10985
11002
|
per_role_cardinality:
|
|
10986
11003
|
$ref: '#/components/schemas/PerRoleCardinality'
|
|
10987
11004
|
description: |
|
|
@@ -5,6 +5,7 @@ operation:
|
|
|
5
5
|
description: "Bundle multiple files into a single archive"
|
|
6
6
|
default: false
|
|
7
7
|
input_model: multi
|
|
8
|
+
sole_op: true # bypasses V1 chain validation — must be the only operation in its job (ADR-0025)
|
|
8
9
|
min_inputs: 2
|
|
9
10
|
max_inputs: 50
|
|
10
11
|
accepts_mixed_types: true
|
|
@@ -19,4 +20,11 @@ operation:
|
|
|
19
20
|
type: enum
|
|
20
21
|
values: [flat, by_job]
|
|
21
22
|
default: flat
|
|
22
|
-
|
|
23
|
+
per_value_availability:
|
|
24
|
+
# The archive worker produces a FLAT bundle today; it does not yet read
|
|
25
|
+
# folder_structure (lambdas-confirmed — the option was a silent no-op for
|
|
26
|
+
# `by_job`). `flat` (the default, today's behaviour) stays stable; `by_job`
|
|
27
|
+
# is advertised-ahead `planned` (returns feature_not_available) until the
|
|
28
|
+
# worker implements per-source subfoldering. Honesty pass 2026-06-20.
|
|
29
|
+
by_job: { availability: planned }
|
|
30
|
+
description: "flat = all files together at the top level (default); by_job = a separate subfolder for each source (planned — not yet honored by the worker)"
|
|
@@ -7,86 +7,186 @@ operation:
|
|
|
7
7
|
input_model: single
|
|
8
8
|
|
|
9
9
|
mime_groups:
|
|
10
|
-
|
|
10
|
+
# ---- IMAGE compress: per-input-format groups (Option B honesty pass) ----
|
|
11
|
+
# compress is SAME-FORMAT — the libcaesium worker recompresses the input
|
|
12
|
+
# format; an output format change is the API "compress+format" facade
|
|
13
|
+
# (output_format, below). Option applicability genuinely varies by input
|
|
14
|
+
# format, so image ships as parallel per-format mime_groups (FORMAT.md
|
|
15
|
+
# "Parallel mime_group naming" — materially different option shape):
|
|
16
|
+
# image_jpeg -> + progressive (JPEG-only)
|
|
17
|
+
# image_png -> + optimization_level (PNG-only)
|
|
18
|
+
# image_avif -> + avif_speed (AVIF-only)
|
|
19
|
+
# image -> webp/gif/svg/tiff (quality + output_format only)
|
|
20
|
+
# The worker reads quality/progressive/optimization_level/avif_speed (+ a
|
|
21
|
+
# `lossless` bool the API never emits). It HARDCODES metadata-strip, so
|
|
22
|
+
# `metadata` is a single fixed `all`. `mode` (lossy/lossless/auto) and
|
|
23
|
+
# `icc_profile` were REMOVED — the worker never read them and the API passed
|
|
24
|
+
# them verbatim; image compress is LOSSY-ONLY today (product decision
|
|
25
|
+
# 2026-06-20, lossless parked). width/height/fit/auto_orient stay removed
|
|
26
|
+
# (EsD1hs5u — worker recompresses only; resize -> thumbnail, format -> convert).
|
|
27
|
+
#
|
|
28
|
+
# output_format FACADE (replicated identically per group): non-`original`
|
|
29
|
+
# values resolve to a SINGLE API-canonicalized convert-with-size-cap pass
|
|
30
|
+
# (the compress worker never reads output_format). `webp` is live+proven
|
|
31
|
+
# (untagged = stable, ADR-0001 §1.4); auto/smallest/jpeg/png/avif stay
|
|
32
|
+
# `planned` until each value's canonicalization lands (per-value stable-flip
|
|
33
|
+
# with capability proof, ADR-0001/0006). `original` stays stable.
|
|
34
|
+
image_jpeg:
|
|
11
35
|
mimes:
|
|
12
36
|
- image/jpeg
|
|
37
|
+
options:
|
|
38
|
+
quality:
|
|
39
|
+
type: integer
|
|
40
|
+
min: 1
|
|
41
|
+
max: 100
|
|
42
|
+
default: 80
|
|
43
|
+
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
44
|
+
metadata:
|
|
45
|
+
type: enum
|
|
46
|
+
values: [all]
|
|
47
|
+
default: all
|
|
48
|
+
description: >-
|
|
49
|
+
Metadata handling. `all` = strip all EXIF/IPTC/XMP — the only supported
|
|
50
|
+
behaviour (the compress worker always strips; preservation is not
|
|
51
|
+
currently available).
|
|
52
|
+
progressive:
|
|
53
|
+
type: boolean
|
|
54
|
+
default: true
|
|
55
|
+
description: "Enable progressive JPEG rendering (a low-quality preview renders first, then refines). JPEG only."
|
|
56
|
+
output_format:
|
|
57
|
+
type: enum
|
|
58
|
+
values: [original, auto, smallest, jpeg, png, webp, avif]
|
|
59
|
+
default: original
|
|
60
|
+
per_value_availability:
|
|
61
|
+
auto: { availability: planned } # runtime Accept-best selection — unbuilt
|
|
62
|
+
smallest: { availability: planned } # runtime try-all-smallest selection — unbuilt
|
|
63
|
+
jpeg: { availability: planned } # facade path not live until its own canonicalization
|
|
64
|
+
png: { availability: planned } # facade path not live until its own canonicalization
|
|
65
|
+
avif: { availability: planned } # facade path not live until its own canonicalization
|
|
66
|
+
description: >-
|
|
67
|
+
Output format. original = keep input format (default); auto = best for browser
|
|
68
|
+
support (AVIF > WebP > JPEG via Accept hint); smallest = try all supported formats,
|
|
69
|
+
return the smallest. Non-`original` values are served by the API "compress+format"
|
|
70
|
+
facade (one combined convert-with-size-cap pass); see per_value_availability + FORMAT.md.
|
|
71
|
+
|
|
72
|
+
image_png:
|
|
73
|
+
mimes:
|
|
13
74
|
- image/png
|
|
14
|
-
|
|
75
|
+
options:
|
|
76
|
+
quality:
|
|
77
|
+
type: integer
|
|
78
|
+
min: 1
|
|
79
|
+
max: 100
|
|
80
|
+
default: 80
|
|
81
|
+
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
82
|
+
metadata:
|
|
83
|
+
type: enum
|
|
84
|
+
values: [all]
|
|
85
|
+
default: all
|
|
86
|
+
description: >-
|
|
87
|
+
Metadata handling. `all` = strip all EXIF/IPTC/XMP — the only supported
|
|
88
|
+
behaviour (the compress worker always strips; preservation is not
|
|
89
|
+
currently available).
|
|
90
|
+
optimization_level:
|
|
91
|
+
type: integer
|
|
92
|
+
min: 0
|
|
93
|
+
max: 6
|
|
94
|
+
default: 3
|
|
95
|
+
description: "PNG optimization effort (0-6, oxipng). Higher = smaller file, slower encode. Default 3."
|
|
96
|
+
output_format:
|
|
97
|
+
type: enum
|
|
98
|
+
values: [original, auto, smallest, jpeg, png, webp, avif]
|
|
99
|
+
default: original
|
|
100
|
+
per_value_availability:
|
|
101
|
+
auto: { availability: planned } # runtime Accept-best selection — unbuilt
|
|
102
|
+
smallest: { availability: planned } # runtime try-all-smallest selection — unbuilt
|
|
103
|
+
jpeg: { availability: planned } # facade path not live until its own canonicalization
|
|
104
|
+
png: { availability: planned } # facade path not live until its own canonicalization
|
|
105
|
+
avif: { availability: planned } # facade path not live until its own canonicalization
|
|
106
|
+
description: >-
|
|
107
|
+
Output format. original = keep input format (default); auto = best for browser
|
|
108
|
+
support (AVIF > WebP > JPEG via Accept hint); smallest = try all supported formats,
|
|
109
|
+
return the smallest. Non-`original` values are served by the API "compress+format"
|
|
110
|
+
facade (one combined convert-with-size-cap pass); see per_value_availability + FORMAT.md.
|
|
111
|
+
|
|
112
|
+
image_avif:
|
|
113
|
+
availability: beta
|
|
114
|
+
# avif INPUT decode shipped in the compress-image worker via libheif
|
|
115
|
+
# (lambdas w34Taquf, #210). beta: live + opt-in, shape-stable.
|
|
116
|
+
# image/heic is intentionally NOT a compress input: compress is decode-only
|
|
117
|
+
# and there is no HEIC encoder, so the worker rejects a declared image/heic
|
|
118
|
+
# (FormatMismatch). heic stays on convert+thumbnail.
|
|
119
|
+
# WORKER LIMIT (not yet contract-expressible — F3 follow-up): the
|
|
120
|
+
# compress-image worker caps avif INPUT at 20MB (compression_processor.rs),
|
|
121
|
+
# below the general image size budget. Per-MIME input-size caps have no
|
|
122
|
+
# contract vocab today; tracked for the image-size-cap mechanism (F3).
|
|
123
|
+
mimes:
|
|
124
|
+
- image/avif
|
|
125
|
+
options:
|
|
126
|
+
quality:
|
|
127
|
+
type: integer
|
|
128
|
+
min: 1
|
|
129
|
+
max: 100
|
|
130
|
+
default: 80
|
|
131
|
+
description: "Compression quality (1 = smallest file, 100 = best quality)."
|
|
132
|
+
metadata:
|
|
133
|
+
type: enum
|
|
134
|
+
values: [all]
|
|
135
|
+
default: all
|
|
136
|
+
description: >-
|
|
137
|
+
Metadata handling. `all` = strip all EXIF/IPTC/XMP — the only supported
|
|
138
|
+
behaviour (the compress worker always strips; preservation is not
|
|
139
|
+
currently available).
|
|
140
|
+
avif_speed:
|
|
141
|
+
type: integer
|
|
142
|
+
min: 1
|
|
143
|
+
max: 10
|
|
144
|
+
default: 4
|
|
145
|
+
description: "AVIF encode speed (1-10, ravif). Lower = smaller file, slower encode; higher = faster, larger. Default 4."
|
|
146
|
+
output_format:
|
|
147
|
+
type: enum
|
|
148
|
+
values: [original, auto, smallest, jpeg, png, webp, avif]
|
|
149
|
+
default: original
|
|
150
|
+
per_value_availability:
|
|
151
|
+
auto: { availability: planned } # runtime Accept-best selection — unbuilt
|
|
152
|
+
smallest: { availability: planned } # runtime try-all-smallest selection — unbuilt
|
|
153
|
+
jpeg: { availability: planned } # facade path not live until its own canonicalization
|
|
154
|
+
png: { availability: planned } # facade path not live until its own canonicalization
|
|
155
|
+
avif: { availability: planned } # facade path not live until its own canonicalization
|
|
156
|
+
description: >-
|
|
157
|
+
Output format. original = keep input format (default); auto = best for browser
|
|
158
|
+
support (AVIF > WebP > JPEG via Accept hint); smallest = try all supported formats,
|
|
159
|
+
return the smallest. Non-`original` values are served by the API "compress+format"
|
|
160
|
+
facade (one combined convert-with-size-cap pass); see per_value_availability + FORMAT.md.
|
|
161
|
+
|
|
162
|
+
image:
|
|
163
|
+
mimes:
|
|
15
164
|
- image/webp
|
|
165
|
+
- image/gif
|
|
16
166
|
- image/svg+xml
|
|
17
167
|
- image/tiff
|
|
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 }
|
|
31
168
|
options:
|
|
32
|
-
mode:
|
|
33
|
-
type: enum
|
|
34
|
-
values: [lossy, lossless, auto]
|
|
35
|
-
default: lossy
|
|
36
|
-
description: "Compression algorithm. lossy = smaller file, lossless = no quality loss, auto = best for format"
|
|
37
169
|
quality:
|
|
38
170
|
type: integer
|
|
39
171
|
min: 1
|
|
40
172
|
max: 100
|
|
41
173
|
default: 80
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
# per EsD1hs5u — the libcaesium image-compress worker recompresses
|
|
46
|
-
# ONLY and silently IGNORED them (accept-then-ignore). Image resize +
|
|
47
|
-
# EXIF auto-orient are served by the `thumbnail` op; format change by
|
|
48
|
-
# `convert`. The `video` mime_group KEEPS width/height/fit (ffmpeg
|
|
49
|
-
# honors them — do not remove there).
|
|
174
|
+
description: >-
|
|
175
|
+
Compression quality (1 = smallest file, 100 = best quality). For animated
|
|
176
|
+
GIF the worker honours this but real-world size reduction is typically small.
|
|
50
177
|
metadata:
|
|
51
178
|
type: enum
|
|
52
|
-
values: [all
|
|
179
|
+
values: [all]
|
|
53
180
|
default: all
|
|
54
181
|
description: >-
|
|
55
|
-
Metadata handling. all = strip
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
type: enum
|
|
59
|
-
values: [preserve, strip, srgb]
|
|
60
|
-
default: preserve
|
|
61
|
-
description: "ICC color profile handling. preserve = keep original, strip = remove, srgb = convert to sRGB"
|
|
62
|
-
progressive:
|
|
63
|
-
type: boolean
|
|
64
|
-
default: true
|
|
65
|
-
description: "Enable progressive rendering (JPEG only). Renders low-quality preview first, then refines."
|
|
182
|
+
Metadata handling. `all` = strip all EXIF/IPTC/XMP — the only supported
|
|
183
|
+
behaviour (the compress worker always strips; preservation is not
|
|
184
|
+
currently available).
|
|
66
185
|
output_format:
|
|
67
186
|
type: enum
|
|
68
187
|
values: [original, auto, smallest, jpeg, png, webp, avif]
|
|
69
188
|
default: original
|
|
70
189
|
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
|
-
# Values flip `stable` per value as each facade piece lands: `webp` is
|
|
80
|
-
# DONE (see the stable-flip note below); the rest stay `planned` — auto/
|
|
81
|
-
# smallest (runtime selection, unbuilt), jpeg/png/avif (no canonicalization
|
|
82
|
-
# live yet). `original` (same-format, today's behaviour) stays stable.
|
|
83
|
-
# WEBP STABLE-FLIP (VcPeRWdD): webp is now FUNCTIONAL end-to-end — API B
|
|
84
|
-
# (#422) canonicalizes compress(image,webp)→convert(webp,quality) + lambdas
|
|
85
|
-
# lossy-webp (PfGs5PBT) is live+proven on staging — so webp is removed from
|
|
86
|
-
# this map (untagged = stable, ADR-0001 §1.4). jpeg/png/avif/auto/smallest
|
|
87
|
-
# stay `planned` (their canonicalization is NOT in API B — flipping them now
|
|
88
|
-
# would stop the 422 while they still dispatch to the same-format worker =
|
|
89
|
-
# silent no-op, re-opening the over-claim).
|
|
90
190
|
auto: { availability: planned } # runtime Accept-best selection — unbuilt
|
|
91
191
|
smallest: { availability: planned } # runtime try-all-smallest selection — unbuilt
|
|
92
192
|
jpeg: { availability: planned } # facade path not live until its own canonicalization
|
|
@@ -381,86 +481,139 @@ operation:
|
|
|
381
481
|
document_pdf:
|
|
382
482
|
mimes:
|
|
383
483
|
- application/pdf
|
|
484
|
+
# DOCUMENT-COMPRESS HONESTY (2026-06-20): the worker reads ONLY `quality`
|
|
485
|
+
# and maps it to a Ghostscript preset (76-100=/prepress, 51-75=/printer,
|
|
486
|
+
# 26-50=/ebook, 0-25=/screen) + a DPI-analysis fallback (compression-documents
|
|
487
|
+
# pdf.rs, lambdas-confirmed). The per-format options (profile/colorspace/
|
|
488
|
+
# pages/flatten_forms) are spec-defined but NOT yet read by the worker, so
|
|
489
|
+
# they are tagged `availability: planned` (advertised-ahead; FE hides them
|
|
490
|
+
# per the bare-planned-hide rule) rather than pruned — preserving the
|
|
491
|
+
# designed feature set for a future build (hub ruling). Per ADR-0001 §1.4.
|
|
384
492
|
options:
|
|
493
|
+
quality:
|
|
494
|
+
type: integer
|
|
495
|
+
min: 1
|
|
496
|
+
max: 100
|
|
497
|
+
default: 50
|
|
498
|
+
description: "Compression quality (1 = smallest, 100 = best). Maps to a document compression preset (the only worker-honored document option today)."
|
|
385
499
|
profile:
|
|
386
500
|
type: enum
|
|
387
501
|
values: [web, print, archive, max]
|
|
388
502
|
default: web
|
|
389
|
-
|
|
503
|
+
availability: planned
|
|
504
|
+
description: >-
|
|
505
|
+
Optimization profile. web = aggressive (downsample images, strip
|
|
506
|
+
metadata), print = preserve quality, archive = PDF/A compliance,
|
|
507
|
+
max = smallest file. `planned` — not yet read by the worker (use `quality`).
|
|
390
508
|
colorspace:
|
|
391
509
|
type: enum
|
|
392
510
|
values: [unchanged, rgb, cmyk, grayscale]
|
|
393
511
|
default: unchanged
|
|
394
|
-
|
|
512
|
+
availability: planned
|
|
513
|
+
description: "Output color space. `planned` — not yet read by the worker."
|
|
395
514
|
pages:
|
|
396
515
|
type: string
|
|
397
|
-
|
|
516
|
+
availability: planned
|
|
517
|
+
description: "Page selection (e.g. '1-5,8,10-12'). Omit to keep all pages. `planned` — not yet read by the worker."
|
|
398
518
|
flatten_forms:
|
|
399
519
|
type: boolean
|
|
400
520
|
default: false
|
|
401
|
-
|
|
521
|
+
availability: planned
|
|
522
|
+
description: "Flatten interactive form fields into static content. `planned` — not yet read by the worker."
|
|
402
523
|
|
|
403
524
|
document_office:
|
|
404
525
|
mimes:
|
|
405
526
|
- application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
|
406
527
|
- application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
|
407
528
|
- application/vnd.openxmlformats-officedocument.presentationml.presentation
|
|
529
|
+
# See the document_pdf honesty note: the worker reads ONLY `quality` today;
|
|
530
|
+
# the per-format options are `planned` (advertised-ahead, FE-hidden).
|
|
408
531
|
options:
|
|
532
|
+
quality:
|
|
533
|
+
type: integer
|
|
534
|
+
min: 1
|
|
535
|
+
max: 100
|
|
536
|
+
default: 50
|
|
537
|
+
description: "Compression quality (1 = smallest, 100 = best). The only worker-honored document option today."
|
|
409
538
|
image_quality:
|
|
410
539
|
type: integer
|
|
411
540
|
min: 1
|
|
412
541
|
max: 100
|
|
413
542
|
default: 80
|
|
414
|
-
|
|
543
|
+
availability: planned
|
|
544
|
+
description: "Recompress embedded images at this quality level (1 = smallest, 100 = best). `planned` — not yet read by the worker (use `quality`)."
|
|
415
545
|
strip_macros:
|
|
416
546
|
type: boolean
|
|
417
547
|
default: true
|
|
418
|
-
|
|
548
|
+
availability: planned
|
|
549
|
+
description: "Remove VBA macros and ActiveX controls. `planned` — not yet read by the worker."
|
|
419
550
|
strip_hidden_data:
|
|
420
551
|
type: boolean
|
|
421
552
|
default: true
|
|
422
|
-
|
|
553
|
+
availability: planned
|
|
554
|
+
description: "Remove revisions, comments, personal info, hidden rows/columns, and speaker notes. `planned` — not yet read by the worker."
|
|
423
555
|
strip_unused_fonts:
|
|
424
556
|
type: boolean
|
|
425
557
|
default: false
|
|
426
|
-
|
|
558
|
+
availability: planned
|
|
559
|
+
description: "Remove embedded fonts not referenced in the document. Risk: may affect rendering on systems without the font installed. `planned` — not yet read by the worker."
|
|
427
560
|
|
|
428
561
|
document_odf:
|
|
429
562
|
mimes:
|
|
430
563
|
- application/vnd.oasis.opendocument.text
|
|
431
564
|
- application/vnd.oasis.opendocument.spreadsheet
|
|
432
565
|
- application/vnd.oasis.opendocument.presentation
|
|
566
|
+
# See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
|
|
433
567
|
options:
|
|
568
|
+
quality:
|
|
569
|
+
type: integer
|
|
570
|
+
min: 1
|
|
571
|
+
max: 100
|
|
572
|
+
default: 50
|
|
573
|
+
description: "Compression quality (1 = smallest, 100 = best). The only worker-honored document option today."
|
|
434
574
|
image_quality:
|
|
435
575
|
type: integer
|
|
436
576
|
min: 1
|
|
437
577
|
max: 100
|
|
438
578
|
default: 80
|
|
439
|
-
|
|
579
|
+
availability: planned
|
|
580
|
+
description: "Recompress embedded images at this quality level. `planned` — not yet read by the worker (use `quality`)."
|
|
440
581
|
strip_metadata:
|
|
441
582
|
type: boolean
|
|
442
583
|
default: true
|
|
443
|
-
|
|
584
|
+
availability: planned
|
|
585
|
+
description: "Remove document metadata (author, revision history, comments). `planned` — not yet read by the worker."
|
|
444
586
|
strip_unused_styles:
|
|
445
587
|
type: boolean
|
|
446
588
|
default: false
|
|
447
|
-
|
|
589
|
+
availability: planned
|
|
590
|
+
description: "Remove style definitions not referenced in document content. `planned` — not yet read by the worker."
|
|
448
591
|
|
|
449
592
|
document_epub:
|
|
450
593
|
mimes:
|
|
451
594
|
- application/epub+zip
|
|
595
|
+
# See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
|
|
452
596
|
options:
|
|
597
|
+
quality:
|
|
598
|
+
type: integer
|
|
599
|
+
min: 1
|
|
600
|
+
max: 100
|
|
601
|
+
default: 50
|
|
602
|
+
description: "Compression quality (1 = smallest, 100 = best). The only worker-honored document option today."
|
|
453
603
|
image_quality:
|
|
454
604
|
type: integer
|
|
455
605
|
min: 1
|
|
456
606
|
max: 100
|
|
457
607
|
default: 80
|
|
458
|
-
|
|
608
|
+
availability: planned
|
|
609
|
+
description: "Recompress embedded images at this quality level. `planned` — not yet read by the worker (use `quality`)."
|
|
459
610
|
font_subsetting:
|
|
460
611
|
type: boolean
|
|
461
612
|
default: true
|
|
462
|
-
|
|
613
|
+
availability: planned
|
|
614
|
+
description: "Subset embedded fonts to only include glyphs used in the document. Significant size reduction for books with large font files. `planned` — not yet read by the worker."
|
|
463
615
|
strip_unused_css:
|
|
464
616
|
type: boolean
|
|
465
617
|
default: false
|
|
466
|
-
|
|
618
|
+
availability: planned
|
|
619
|
+
description: "Remove CSS rules not referenced by any content. Risk: may affect rendering in some readers. `planned` — not yet read by the worker."
|
|
@@ -76,33 +76,29 @@ operation:
|
|
|
76
76
|
type: enum
|
|
77
77
|
values: [mp4, webm, ogg, gif]
|
|
78
78
|
required: true
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
an explicit container choice. See FORMAT.md
|
|
89
|
-
"Container-conditional defaults" + ADR-0023 (supersedes 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.
|
|
94
|
-
quality:
|
|
79
|
+
# The video codec is DETERMINED by the target container, NOT a caller
|
|
80
|
+
# choice: the convert-video worker hard-wires it per container
|
|
81
|
+
# (mp4 -> H.264/libx264, webm -> VP9, ogg -> Theora, gif -> palette;
|
|
82
|
+
# lambdas-confirmed video_convert.rs). The former `codec` option
|
|
83
|
+
# (enum h264/h265/vp9/av1) was a SILENT NO-OP — the worker never read
|
|
84
|
+
# it — so it was removed (honesty pass, 2026-06-20). To choose a codec,
|
|
85
|
+
# use compress.video (which has a real, worker-honored `codec`).
|
|
86
|
+
description: "Target format. The video codec is fixed by the container (mp4->H.264, webm->VP9, ogg->Theora, gif->palette) — not caller-selectable."
|
|
87
|
+
crf:
|
|
95
88
|
type: integer
|
|
96
89
|
min: 0
|
|
97
90
|
max: 51
|
|
98
91
|
default: 23
|
|
99
92
|
depends_on: { output_format: [mp4, webm, ogg] }
|
|
93
|
+
# Renamed `quality` -> `crf` (2026-06-20) to match compress.video.crf
|
|
94
|
+
# and stop the misnomer: this is a Constant Rate Factor (0=best/lossless,
|
|
95
|
+
# 51=worst), the INVERSE of convert.image.quality (1-100, higher=better).
|
|
100
96
|
description: >
|
|
101
|
-
CRF
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
prune it pre-submit.
|
|
97
|
+
CRF (Constant Rate Factor): 0 = lossless/best, 51 = worst. Lower = higher
|
|
98
|
+
quality + larger file (the inverse of image `quality`). Video outputs only —
|
|
99
|
+
NOT applicable to a `gif` output (frame extraction has no CRF). An explicit
|
|
100
|
+
`crf` on a `gif` output is rejected as `invalid_options` at workflow-create
|
|
101
|
+
(the API enforces this `depends_on`); FE/SDK prune it pre-submit.
|
|
106
102
|
|
|
107
103
|
audio:
|
|
108
104
|
mimes:
|
|
@@ -115,16 +111,18 @@ operation:
|
|
|
115
111
|
options:
|
|
116
112
|
output_format:
|
|
117
113
|
type: enum
|
|
118
|
-
values: [mp3, aac, ogg, flac, wav]
|
|
114
|
+
values: [mp3, aac, ogg, opus, flac, wav]
|
|
119
115
|
required: true
|
|
116
|
+
# `opus` added 2026-06-20 — the convert-audio worker produces it
|
|
117
|
+
# (audio/ogg container, .opus extension; lambdas-confirmed live).
|
|
120
118
|
description: "Target format"
|
|
121
119
|
bitrate:
|
|
122
120
|
type: enum
|
|
123
121
|
value_type: integer
|
|
124
122
|
values: [64, 96, 128, 192, 256, 320]
|
|
125
123
|
default: 128
|
|
126
|
-
depends_on: { output_format: [mp3, aac, ogg] }
|
|
127
|
-
description: "Output bitrate in kbps (lossy formats only)"
|
|
124
|
+
depends_on: { output_format: [mp3, aac, ogg, opus] }
|
|
125
|
+
description: "Output bitrate in kbps (lossy formats only — mp3/aac/ogg/opus)"
|
|
128
126
|
|
|
129
127
|
# Only PDF conversion is supported. Office/ODF/EPUB conversion would require
|
|
130
128
|
# LibreOffice which is not available in the document Lambda.
|
|
@@ -5,6 +5,7 @@ operation:
|
|
|
5
5
|
description: "Combine multiple files into one"
|
|
6
6
|
default: false
|
|
7
7
|
input_model: multi
|
|
8
|
+
sole_op: true # bypasses V1 chain validation — must be the only operation in its job (ADR-0025)
|
|
8
9
|
min_inputs: 2
|
|
9
10
|
max_inputs: 10
|
|
10
11
|
# All merge operations route to the single `ops-merge` Lambda via
|