@giveitsmaller/contracts 0.58.0 → 0.59.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 +15 -1
- package/accepted-options/image-output-routes.json +1 -1
- package/asyncapi/events.yaml +17 -9
- package/availability/availability.json +123 -7
- package/code-builder/code-builder-metadata.json +127 -7
- 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/BillingCheckoutRequest.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
- package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutSession.js +1 -1
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
- package/dist/openapi/models/CallbackEventType.d.ts +1 -1
- package/dist/openapi/models/CallbackEventType.js +1 -1
- package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
- package/dist/openapi/models/CapabilityCondition.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
- package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
- package/dist/openapi/models/CapabilityConstraint.js +1 -1
- package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
- package/dist/openapi/models/CapabilityInputSpec.js +1 -1
- package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
- package/dist/openapi/models/CapabilityProduces.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
- package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ChangePasswordRequest.js +1 -1
- package/dist/openapi/models/CodegenSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSource.js +1 -1
- package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceInput.js +1 -1
- package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJob.js +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
- package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceOperation.js +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.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/CreateBillingCheckoutSession422Response.d.ts +1 -1
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.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/CreateWorkflow401Response.d.ts +1 -1
- package/dist/openapi/models/CreateWorkflow401Response.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 +43 -1
- package/dist/openapi/models/CreditsUsageResponse.js +5 -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/DownloadBundle.d.ts +1 -1
- package/dist/openapi/models/DownloadBundle.js +1 -1
- package/dist/openapi/models/EmailNotify.d.ts +1 -1
- package/dist/openapi/models/EmailNotify.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/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 +23 -1
- package/dist/openapi/models/JobResponse.js +3 -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/LoginUser401Response.d.ts +1 -1
- package/dist/openapi/models/LoginUser401Response.js +1 -1
- package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
- package/dist/openapi/models/LoginUserRequest.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.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 +38 -1
- package/dist/openapi/models/MimeGroupSchema.js +5 -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/NotifyConfig.d.ts +1 -1
- package/dist/openapi/models/NotifyConfig.js +1 -1
- package/dist/openapi/models/OperationCapability.d.ts +1 -1
- package/dist/openapi/models/OperationCapability.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 +103 -5
- 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 +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 +10 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +4 -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/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +33 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +42 -0
- package/dist/openapi/models/OptionSchema.d.ts +1 -1
- package/dist/openapi/models/OptionSchema.js +1 -1
- package/dist/openapi/models/OutputProperties.d.ts +1 -1
- package/dist/openapi/models/OutputProperties.js +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.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 +23 -6
- package/dist/openapi/models/ProcessingClassHint.js +23 -6
- 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/ResendVerificationEmailRequest.d.ts +1 -1
- package/dist/openapi/models/ResendVerificationEmailRequest.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 +9 -4
- 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 -19
- package/dist/openapi/models/UploadSource.js +1 -3
- 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/WorkflowArchiveResponse.d.ts +81 -0
- package/dist/openapi/models/WorkflowArchiveResponse.js +71 -0
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +54 -0
- 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/WorkflowCreditSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.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/WorkflowRestoreResponse.d.ts +60 -0
- package/dist/openapi/models/WorkflowRestoreResponse.js +58 -0
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +54 -0
- 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 +24 -1
- package/dist/openapi/models/WorkflowSummary.js +5 -1
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +11 -5
- 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 +5 -0
- package/dist/openapi/models/index.js +5 -0
- package/dist/openapi/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/compress.metadata.js +3 -0
- package/dist/operations/thumbnail.d.ts +23 -0
- package/dist/operations/thumbnail.js +17 -0
- package/dist/operations/thumbnail.metadata.js +29 -0
- package/openapi/api.yaml +565 -36
- package/operation-capabilities/operation-capabilities.json +1 -1
- package/operations/schemas/audio_to_video.yaml +1 -0
- package/operations/schemas/compress.yaml +52 -2
- package/operations/schemas/convert.yaml +6 -1
- package/operations/schemas/split.yaml +13 -3
- package/operations/schemas/thumbnail.yaml +143 -2
- package/package.json +1 -1
|
@@ -90,6 +90,7 @@ operation:
|
|
|
90
90
|
# Resize-inside-Output shares the convert resize engine's 16MP output-area
|
|
91
91
|
# wall — the per-axis 16384 cap can't express it (FORMAT.md §max_output_pixels).
|
|
92
92
|
max_output_pixels: 16000000
|
|
93
|
+
max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
|
|
93
94
|
options:
|
|
94
95
|
quality:
|
|
95
96
|
type: integer
|
|
@@ -261,6 +262,7 @@ operation:
|
|
|
261
262
|
mimes:
|
|
262
263
|
- image/png
|
|
263
264
|
max_output_pixels: 16000000
|
|
265
|
+
max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
|
|
264
266
|
options:
|
|
265
267
|
quality:
|
|
266
268
|
type: integer
|
|
@@ -385,6 +387,7 @@ operation:
|
|
|
385
387
|
mimes:
|
|
386
388
|
- image/avif
|
|
387
389
|
max_output_pixels: 16000000
|
|
390
|
+
max_input_size_bytes: 20971520 # 20 MiB compress input ceiling (uKsFzORi; AVIF decode OOM guard, worker AVIF_MAX_MB)
|
|
388
391
|
options:
|
|
389
392
|
quality:
|
|
390
393
|
type: integer
|
|
@@ -544,6 +547,7 @@ operation:
|
|
|
544
547
|
mimes:
|
|
545
548
|
- image/webp
|
|
546
549
|
max_output_pixels: 16000000
|
|
550
|
+
max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
|
|
547
551
|
options:
|
|
548
552
|
quality:
|
|
549
553
|
type: integer
|
|
@@ -701,8 +705,32 @@ operation:
|
|
|
701
705
|
# optimiser `lossless` knob does not apply. SVG compression is SVGO; only
|
|
702
706
|
# quality/metadata/output_format carry. NO Resize / lossless / area cap here.
|
|
703
707
|
image_svg:
|
|
708
|
+
# G9O6yrQD (2026-07-17): the SAME-FORMAT route only (`output_format: original`,
|
|
709
|
+
# SVG -> SVG via SVGO) is downgraded stable -> planned — see the
|
|
710
|
+
# `output_format.per_value_availability` below. The worker does not implement
|
|
711
|
+
# it: `compression_lambdas/manifests/compression-image.yaml:17` verbatim,
|
|
712
|
+
# "SVG is a follow-up." An unimplemented route advertised `stable` violates
|
|
713
|
+
# "stable MUST NOT 422" (ADR-0001) — the defect fixed for `class_hint` in
|
|
714
|
+
# v2.172.0.
|
|
715
|
+
#
|
|
716
|
+
# THE GROUP STAYS STABLE ON PURPOSE. A group-level `planned` here would ALSO
|
|
717
|
+
# gate off `output_format: webp`, which WORKS TODAY: the webp facade route
|
|
718
|
+
# canonicalizes to `convert` (see the output_format description below), and
|
|
719
|
+
# `convert.image_svg` is stable. Gating the group would advertise LESS than we
|
|
720
|
+
# actually built — the exact over-narrow the user's standing rule forbids
|
|
721
|
+
# ("exclude only on EVIDENCE OF BREAKAGE", 2026-07-07). Caught by codex on #322.
|
|
722
|
+
#
|
|
723
|
+
# `output_format`-VALUE granularity is the right axis AND is enforced: per
|
|
724
|
+
# FORMAT.md the API create-gate enforces planned -> feature_not_available (422)
|
|
725
|
+
# at group / operation / output_format-VALUE granularity. (Contrast a planned
|
|
726
|
+
# INPUT MIME, which needs a parallel group because per_mime_availability is
|
|
727
|
+
# advisory-only. The input here is fine; only one output route is unbuilt.)
|
|
728
|
+
#
|
|
729
|
+
# Flip `original` back to stable when lambdas lands SVGO + a Form-A manifest
|
|
730
|
+
# entry (ADR-0006). `convert.image_svg` (SVG -> raster) is UNAFFECTED.
|
|
704
731
|
mimes:
|
|
705
732
|
- image/svg+xml
|
|
733
|
+
max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi; image/* default)
|
|
706
734
|
options:
|
|
707
735
|
# No `quality`: compress SVG is SVG->SVG via SVGO (lossless vector optimise);
|
|
708
736
|
# `quality` is never passed to the worker, so a quality slider here is a no-op
|
|
@@ -726,11 +754,29 @@ operation:
|
|
|
726
754
|
values: [original, webp, auto, smallest]
|
|
727
755
|
default: original
|
|
728
756
|
per_value_availability:
|
|
757
|
+
original: { availability: planned }
|
|
729
758
|
auto: { availability: planned }
|
|
730
759
|
smallest: { availability: planned }
|
|
731
760
|
description: >-
|
|
732
|
-
Output format. original = keep input format
|
|
733
|
-
|
|
761
|
+
Output format. `original` = keep input format — SVG -> SVG optimisation via
|
|
762
|
+
SVGO. **`original` is PLANNED** (G9O6yrQD): the worker does not implement
|
|
763
|
+
SVG->SVG optimisation yet ("SVG is a follow-up"), so it returns
|
|
764
|
+
`feature_not_available` (422) rather than 422ing under a `stable` claim.
|
|
765
|
+
It is also the schema `default`. **KNOWN ENFORCEMENT GAP (api co-land
|
|
766
|
+
owed):** the API's per-value gate only inspects an EXPLICITLY submitted
|
|
767
|
+
`output_format` (`CreateWorkflowCommandHandler`: `$requestedFormat =
|
|
768
|
+
$opDef->options['output_format'] ?? null; if (is_scalar(...))`), so an
|
|
769
|
+
OMITTED value is not materialized to its default before the check and
|
|
770
|
+
bypasses this tag — a bare `compress` on an SVG still dispatches and
|
|
771
|
+
fails at the worker instead of returning a clean 422. `original` is the
|
|
772
|
+
first PLANNED DEFAULT in the contract, so nothing exercised that path
|
|
773
|
+
before. The tag is correct and truthful regardless; closing the gap is
|
|
774
|
+
api's (gate against the effective default). Ask for `webp` meanwhile —
|
|
775
|
+
that route works.
|
|
776
|
+
`webp` = recompress to WebP: **STABLE and working today** — this facade
|
|
777
|
+
route canonicalizes to the `convert` operation (`convert.image_svg` carries
|
|
778
|
+
its own quality), which is why this group is NOT gated at group level.
|
|
779
|
+
Concrete format changes are handled by the convert operation. `auto` /
|
|
734
780
|
`smallest` are PLANNED auto-format directives (the server picks the
|
|
735
781
|
best/smallest candidate format, reported via the result `mime_type`) —
|
|
736
782
|
selection strategies, not concrete targets, planned until supported. See
|
|
@@ -743,6 +789,7 @@ operation:
|
|
|
743
789
|
- image/gif
|
|
744
790
|
- image/tiff
|
|
745
791
|
max_output_pixels: 16000000
|
|
792
|
+
max_input_size_bytes: 524288000 # 500 MiB compress input ceiling (uKsFzORi)
|
|
746
793
|
options:
|
|
747
794
|
quality:
|
|
748
795
|
type: integer
|
|
@@ -1173,6 +1220,7 @@ operation:
|
|
|
1173
1220
|
- application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
|
1174
1221
|
- application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
|
1175
1222
|
- application/vnd.openxmlformats-officedocument.presentationml.presentation
|
|
1223
|
+
max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
|
|
1176
1224
|
# See the document_pdf honesty note: the worker reads ONLY `quality` today;
|
|
1177
1225
|
# the per-format options are `planned` (advertised-ahead, FE-hidden).
|
|
1178
1226
|
options:
|
|
@@ -1208,6 +1256,7 @@ operation:
|
|
|
1208
1256
|
- application/vnd.oasis.opendocument.text
|
|
1209
1257
|
- application/vnd.oasis.opendocument.spreadsheet
|
|
1210
1258
|
- application/vnd.oasis.opendocument.presentation
|
|
1259
|
+
max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
|
|
1211
1260
|
# See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
|
|
1212
1261
|
options:
|
|
1213
1262
|
quality:
|
|
@@ -1235,6 +1284,7 @@ operation:
|
|
|
1235
1284
|
document_epub:
|
|
1236
1285
|
mimes:
|
|
1237
1286
|
- application/epub+zip
|
|
1287
|
+
max_input_size_bytes: 104857600 # 100 MiB compress input ceiling (uKsFzORi; zip-based worker MAX_INPUT_SIZE)
|
|
1238
1288
|
# See the document_pdf honesty note: worker reads ONLY `quality`; the rest `planned`.
|
|
1239
1289
|
options:
|
|
1240
1290
|
quality:
|
|
@@ -463,7 +463,12 @@ operation:
|
|
|
463
463
|
default: "1"
|
|
464
464
|
description: |
|
|
465
465
|
Page selection (e.g. '1-5,8'). Each resolved page produces a
|
|
466
|
-
separate output file
|
|
466
|
+
separate output file whose `page_index` is the **literal source
|
|
467
|
+
page number** — a sparse selection stays sparse: `pages: '1-5,8'`
|
|
468
|
+
yields outputs with `page_index` `1,2,3,4,5,8` (NOT renumbered
|
|
469
|
+
`1..6`), and `pages: '5-7'` yields `5,6,7`. The download `filename`
|
|
470
|
+
suffix is a separate 0-based array position and does NOT track the
|
|
471
|
+
page number. **Maximum 200 resolved entries per
|
|
467
472
|
request** — aligns with the `OperationResult.outputs[]`
|
|
468
473
|
`maxItems: 200` cap. Expressions resolving to more than 200
|
|
469
474
|
entries (e.g. `'1-201'`, `'1-100,102-205'`) are out of
|
|
@@ -44,13 +44,23 @@ operation:
|
|
|
44
44
|
(cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))
|
|
45
45
|
- GIF: resolved frame count after expansion `<= 200`
|
|
46
46
|
|
|
47
|
-
**Output naming**:
|
|
48
|
-
`output-200
|
|
47
|
+
**Output naming (S3 object key)**: the object-key leaf is 3-digit
|
|
48
|
+
zero-padded — `output-001` .. `output-200` (ADR-0014 §D9). This binds the
|
|
49
|
+
**S3 object key**, NOT the user-facing download filename — the API
|
|
50
|
+
synthesises that separately (see `OperationDownload.filename` in
|
|
51
|
+
`openapi/api.yaml`). Only the **3-digit zero-padding** follows the convert
|
|
52
|
+
PDF→N precedent — convert keys are `page-NNN.ext`, split keys are
|
|
53
|
+
`output-NNN.ext`.
|
|
49
54
|
|
|
50
55
|
**Output envelope binding**:
|
|
51
56
|
- `image_gif`: `PositionIndexed` (frame stream-position 0-based
|
|
52
57
|
ordinal)
|
|
53
|
-
- `document_pdf`: `PageIndexed` (1-based
|
|
58
|
+
- `document_pdf`: `PageIndexed` (1-based literal source page number).
|
|
59
|
+
**`mode: page_range` only** — each output is one page, so `page_index` is
|
|
60
|
+
that page. For **`mode: page_groups`** an output spans multiple source
|
|
61
|
+
pages, so a single `page_index` cannot name them all; that grouped-output
|
|
62
|
+
semantics is NOT specified by this correction and is deferred (do not
|
|
63
|
+
assume it is the group's first page — that is unverified).
|
|
54
64
|
- `audio`: `PositionIndexed` (cut stream-position ordinal)
|
|
55
65
|
- `video`: `PositionIndexed` (cut stream-position ordinal)
|
|
56
66
|
|
|
@@ -163,7 +163,6 @@ operation:
|
|
|
163
163
|
document:
|
|
164
164
|
mimes:
|
|
165
165
|
- application/pdf
|
|
166
|
-
- application/epub+zip
|
|
167
166
|
- application/vnd.openxmlformats-officedocument.wordprocessingml.document
|
|
168
167
|
- application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
|
|
169
168
|
- application/vnd.openxmlformats-officedocument.presentationml.presentation
|
|
@@ -179,7 +178,22 @@ operation:
|
|
|
179
178
|
type: enum
|
|
180
179
|
values: [page, cover]
|
|
181
180
|
default: page
|
|
182
|
-
|
|
181
|
+
# `cover` is RETAINED here deliberately (G9O6yrQD / codex #322). EPUB — the
|
|
182
|
+
# only input it ever meant anything for — moved to the `document_epub`
|
|
183
|
+
# group, so `cover` is now inert for every mime in THIS group. Removing it
|
|
184
|
+
# looked like tidying a phantom, but it is a REQUEST-ENUM NARROWING: a
|
|
185
|
+
# caller sending `source: cover` with a PDF succeeds today (the worker
|
|
186
|
+
# ignores it) and would start getting a 422 invalid_options. That is a
|
|
187
|
+
# caller-visible break for zero benefit, and "nobody sends it" is not a
|
|
188
|
+
# reason (the same reasoning was wrong for declared_duration_seconds, which
|
|
189
|
+
# turned out settable on npm-latest). Retiring it properly = tag it
|
|
190
|
+
# `deprecated` -> migrate -> remove, which is its own cut, not a drive-by
|
|
191
|
+
# in a defect fix.
|
|
192
|
+
description: >-
|
|
193
|
+
`page` = render a specific page/slide. `cover` = extract a cover image —
|
|
194
|
+
only meaningful for EPUB inputs, which are served by the `document_epub`
|
|
195
|
+
group; on PDF/office/ODF it is accepted and IGNORED (retained for
|
|
196
|
+
backward compatibility).
|
|
183
197
|
page:
|
|
184
198
|
type: integer
|
|
185
199
|
min: 1
|
|
@@ -225,3 +239,130 @@ operation:
|
|
|
225
239
|
default: 85
|
|
226
240
|
depends_on: { format: [jpg, webp] }
|
|
227
241
|
description: "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless)."
|
|
242
|
+
|
|
243
|
+
document_epub:
|
|
244
|
+
availability: planned
|
|
245
|
+
# G9O6yrQD (2026-07-17): split out of `document` and downgraded stable ->
|
|
246
|
+
# planned. EPUB thumbnails are NOT implemented and 422 today:
|
|
247
|
+
# `compression_lambdas/crates/thumbnail-documents/src/document_thumbnailer.rs:229`
|
|
248
|
+
# calls `pdftocairo` with the input format literally "pdf" and the crate has NO
|
|
249
|
+
# non-PDF path — an EPUB is a ZIP of XHTML, which pdftocairo cannot open. A
|
|
250
|
+
# stable claim that 422s violates "stable MUST NOT 422" (ADR-0001) — the same
|
|
251
|
+
# defect fixed for `class_hint` in v2.172.0. Likely provenance: the mime leaked
|
|
252
|
+
# from `compress.document_epub` (which genuinely DOES handle EPUB via zip
|
|
253
|
+
# re-pack) into `thumbnail.document`. Swept the siblings — this was the ONLY
|
|
254
|
+
# leak; the office/ODF mimes shared with compress are legitimately served by
|
|
255
|
+
# the `operation-thumbnail-office` (LibreOffice) Lambda.
|
|
256
|
+
#
|
|
257
|
+
# `planned`, NOT dropped — the USER wants EPUB thumbnails BUILT (2026-07-17):
|
|
258
|
+
# "we advertise EPUB thumbnails <-- ... we should be able to open them no??".
|
|
259
|
+
# `planned` = spec defined, backend returns feature_not_available (422) until it
|
|
260
|
+
# ships. lambdas is costing the build.
|
|
261
|
+
#
|
|
262
|
+
# A PARALLEL GROUP is REQUIRED — NOT `per_mime_availability: planned` on the
|
|
263
|
+
# `document` group. Per FORMAT.md, per-MIME `planned` is advisory and NOT
|
|
264
|
+
# enforced: it would leave the API accepting the job and dispatching it to a
|
|
265
|
+
# worker that cannot handle it (a silent accept-then-fail — worse than not
|
|
266
|
+
# advertising). Group-level `availability` is what the API create-gate enforces.
|
|
267
|
+
# Same pattern as the image_watermark `image_tiff`/`image_bmp` groups while
|
|
268
|
+
# planned (UANjD38A), which flipped stable together once the encoders shipped.
|
|
269
|
+
#
|
|
270
|
+
# `source: cover` is only MEANINGFUL here — it was always EPUB-only ("ignored
|
|
271
|
+
# for other formats"). It is deliberately RETAINED in the `document` group too,
|
|
272
|
+
# accepted-and-ignored for backward compatibility: removing it there would be a
|
|
273
|
+
# request-enum narrowing that 422s callers who send `cover` with a PDF today
|
|
274
|
+
# (codex, #322). Inert-but-accepted there; load-bearing here. It is also the
|
|
275
|
+
# design of record for
|
|
276
|
+
# how this ships: extract the OPF-declared cover from the zip and resize (no
|
|
277
|
+
# renderer, no new heavy dep — reuses the zip path compress.document_epub
|
|
278
|
+
# already has). `source: page` on an EPUB is the separate, expensive half
|
|
279
|
+
# (paginate + render XHTML). Both advertised planned; they may graduate
|
|
280
|
+
# independently.
|
|
281
|
+
mimes:
|
|
282
|
+
- application/epub+zip
|
|
283
|
+
max_output_pixels: 16000000
|
|
284
|
+
options:
|
|
285
|
+
source:
|
|
286
|
+
type: enum
|
|
287
|
+
values: [page, cover]
|
|
288
|
+
default: cover
|
|
289
|
+
# Group-scoped default: `cover`, NOT the `document` group's `page`.
|
|
290
|
+
# `cover` is the half being built; `page` (paginate + render XHTML) is out
|
|
291
|
+
# of reach — LibreOffice's EPUB filter is EXPORT-ONLY (it writes EPUB,
|
|
292
|
+
# cannot open one), leaving a headless browser (Lambda-hostile) or a
|
|
293
|
+
# pure-Rust renderer that doesn't exist at thumbnail quality. Defaulting
|
|
294
|
+
# to `page` would route every bare EPUB request into the unbuilt half.
|
|
295
|
+
#
|
|
296
|
+
# 2026-07-17: FOUR COST CLAIMS STRUCK from this comment — every one was
|
|
297
|
+
# false, and they were stamped "lambdas-confirmed", so a reader got them
|
|
298
|
+
# back from the CONTRACT as settled fact. Struck rather than corrected:
|
|
299
|
+
# a cost estimate does not belong in a contract at all. It cannot be
|
|
300
|
+
# tested, it rots silently, and this file is the press that made it
|
|
301
|
+
# quotable — lambdas' own guess reached them back through here as
|
|
302
|
+
# corroboration, which is how it survived three re-quotes.
|
|
303
|
+
# "~200-250 lines" -> measured ~1,150-1,200. Grew 5x, and never
|
|
304
|
+
# once downward: every rise came from someone
|
|
305
|
+
# opening the code instead of quoting the file.
|
|
306
|
+
# "`infer` already detects EPUB" -> `infer` is a dep of `shared` only
|
|
307
|
+
# and is NEVER called on the thumbnail path.
|
|
308
|
+
# (It was read from a code COMMENT, not a call.)
|
|
309
|
+
# "`zip` already does the re-pack" -> true of a DIFFERENT crate.
|
|
310
|
+
# "quick-xml/roxmltree the ONLY new dep" -> 5-6 deps. And they are not
|
|
311
|
+
# interchangeable: `roxmltree` is already in
|
|
312
|
+
# Cargo.lock via usvg; `quick-xml` is absent.
|
|
313
|
+
# The build's real shape lives in the ticket and in lambdas' crate. This
|
|
314
|
+
# file states the CONTRACT: what is advertised, and what the API gates.
|
|
315
|
+
description: >-
|
|
316
|
+
`cover` (default) = extract the EPUB's declared cover image — the cheap
|
|
317
|
+
path, no rendering. `page` = render a paginated page of the book's XHTML.
|
|
318
|
+
Cover lookup MUST support both mechanisms: the EPUB 3 `cover-image`
|
|
319
|
+
property on an OPF manifest item, AND the legacy EPUB 2
|
|
320
|
+
`<meta name="cover" content="..."/>` pointing at a manifest item —
|
|
321
|
+
supporting only the former misses a large slice of real-world files.
|
|
322
|
+
A cover image is OPTIONAL per W3C EPUB 3.3, so a cover-less EPUB is a
|
|
323
|
+
real case. The reject shape for it is NOT yet decided and is deliberately
|
|
324
|
+
unpromised here: `ErrorCode` (asyncapi) is a CLOSED enum with no
|
|
325
|
+
"no cover" member, so a distinct code is a real cross-repo co-land
|
|
326
|
+
(enum edit -> SDK regen -> lockstep), not a free string. It is settled
|
|
327
|
+
when this group graduates — do not infer one from this description.
|
|
328
|
+
page:
|
|
329
|
+
type: integer
|
|
330
|
+
min: 1
|
|
331
|
+
default: 1
|
|
332
|
+
depends_on: { source: page }
|
|
333
|
+
description: >-
|
|
334
|
+
1-based index of the printed page to render, after the book's
|
|
335
|
+
print-layout pagination is applied.
|
|
336
|
+
width:
|
|
337
|
+
type: integer
|
|
338
|
+
min: 1
|
|
339
|
+
max: 16384
|
|
340
|
+
description: >-
|
|
341
|
+
Target width in pixels (1-16384; width*height <= 16MP). Optional — when
|
|
342
|
+
omitted the server applies an aspect-preserving default (both omitted →
|
|
343
|
+
longest edge 320px; only one of width/height provided → the other is
|
|
344
|
+
derived from the source aspect ratio).
|
|
345
|
+
height:
|
|
346
|
+
type: integer
|
|
347
|
+
min: 1
|
|
348
|
+
max: 16384
|
|
349
|
+
description: >-
|
|
350
|
+
Target height in pixels (1-16384; width*height <= 16MP). Optional — see
|
|
351
|
+
`width` for the omitted-default behaviour.
|
|
352
|
+
fit:
|
|
353
|
+
type: enum
|
|
354
|
+
values: [max, crop, scale]
|
|
355
|
+
default: crop
|
|
356
|
+
description: "Resize mode"
|
|
357
|
+
format:
|
|
358
|
+
type: enum
|
|
359
|
+
values: [jpg, png, webp]
|
|
360
|
+
default: jpg
|
|
361
|
+
description: "Output format for the thumbnail"
|
|
362
|
+
quality:
|
|
363
|
+
type: integer
|
|
364
|
+
min: 1
|
|
365
|
+
max: 100
|
|
366
|
+
default: 85
|
|
367
|
+
depends_on: { format: [jpg, webp] }
|
|
368
|
+
description: "Output quality for lossy thumbnail formats (jpg/webp): higher = better quality, larger file. Ignored for png (lossless)."
|