@giveitsmaller/contracts 0.51.0 → 0.53.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 +38 -1
- package/accepted-options/image-output-routes.json +1 -1
- package/asyncapi/events.yaml +283 -14
- package/availability/availability.json +155 -2
- package/code-builder/code-builder-metadata.json +7236 -0
- package/dist/asyncapi/OperationType.d.ts +2 -1
- package/dist/asyncapi/OperationType.js +1 -0
- 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 +13 -7
- 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 +4 -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/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/DownloadBundle.d.ts +1 -1
- package/dist/openapi/models/DownloadBundle.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/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 +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/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 +1 -1
- package/dist/openapi/models/OperationDownload.js +1 -1
- package/dist/openapi/models/OperationInputModel.d.ts +2 -2
- package/dist/openapi/models/OperationInputModel.js +2 -2
- 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 +4 -1
- package/dist/openapi/models/OperationType.js +4 -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/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 +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 +2 -2
- package/dist/openapi/models/ProcessingClassRejectReason.js +2 -2
- 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/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/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/index.d.ts +2 -0
- package/dist/operations/index.js +2 -0
- package/dist/operations/transform.d.ts +57 -0
- package/dist/operations/transform.js +50 -0
- package/dist/operations/transform.metadata.d.ts +2 -0
- package/dist/operations/transform.metadata.js +77 -0
- package/openapi/api.yaml +21 -9
- package/operation-capabilities/operation-capabilities.json +16 -1
- package/operations/schemas/transform.yaml +196 -0
- package/package.json +5 -2
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.154.0
|
|
93
93
|
contact:
|
|
94
94
|
name: API Support
|
|
95
95
|
|
|
@@ -7187,7 +7187,7 @@ components:
|
|
|
7187
7187
|
exceeds the per-input ceiling (`max_input_size_bytes` /
|
|
7188
7188
|
`max_input_duration`). Applies to single-input operations
|
|
7189
7189
|
(compress, convert, thumbnail, text_watermark,
|
|
7190
|
-
audio_watermark) AND per-input checks on multi-input
|
|
7190
|
+
audio_watermark, transform) AND per-input checks on multi-input
|
|
7191
7191
|
operations with per-input caps (image_watermark,
|
|
7192
7192
|
custom_luma, audio_overlay).
|
|
7193
7193
|
- `combined_size_exceeds_long_form` /
|
|
@@ -7594,6 +7594,8 @@ components:
|
|
|
7594
7594
|
- split: Fan one input file into N outputs across GIF / PDF / audio / video MIME families. Single-input per-mime-group catalog (mirrors merge/convert): GIF uses `frame_range` (REQUIRED) + `output_format`; PDF uses `page_range` OR `page_groups` (mutually exclusive); audio + video use a `mode` discriminator (interval/count/cut_points) + numeric-seconds wire format + `precision` flag (fast/exact). 200-output hard cap per ADR-0009 §D5 with per-mode preflight math; output naming `output-001..output-200`. Long-form video routes to a separate `split-video-fargate` worker via `processing_class`. `availability: beta` for the `audio` and `video` mime_groups (workers live on staging — shape-stable + opt-in, MUST NOT 422); video activates BOTH classes (`video.processing_class.short_form: beta` AND `long_form: beta` — `split-video-fargate` deployed + wired on staging but NOT yet proven end-to-end per [`rcwvUKhI`](https://trello.com/c/rcwvUKhI); the first customer-path soak has not completed, the 4GB+ speed-up is unmeasured, and the long-form fan-out is flag-gated dark). The `image_gif` and `document_pdf` mime_groups stay `availability: planned` and dispatch returns `feature_not_available` (422) until their workers ship. Per ticket [`vKI0CFDu`](https://trello.com/c/vKI0CFDu) + ADR-0014.
|
|
7595
7595
|
- passthrough: Inert lossless source operation. A single-input source job whose SOLE operation is `passthrough` emits its source bytes UNCHANGED — no compression, no Lambda. The API self-completes the job at publish (terminal output = the upload `{bucket, key}` unchanged). Its purpose is to feed an uploaded file into a multi-input operation LOSSLESSLY: because `JobInputV2.source` is narrowed to exclude upload-direct, an upload that must enter a `merge` / `archive` / `image_watermark` op enters via a `passthrough` source job referenced downstream by `{type: job_output, from: <id>}` — preserving billing / DAG / lineage. Distinct from `operations: []` (which keeps its implicit-compress meaning on a single-input upload job); `passthrough` is the EXPLICIT lossless path via the "non-empty `operations[]` without `compress` = compression opt-out" rule. Media-agnostic; no options. `availability: beta` — activated (the inputs[]-narrowing + passthrough self-complete mechanism is deployed API-side); workflow-create accepts `passthrough` source jobs and MUST NOT return `feature_not_available`. **Never published to SNS** — deliberately absent from the AsyncAPI routing enums (API self-completes; no `ops-passthrough` queue). Per ticket [`4som89Uh`](https://trello.com/c/4som89Uh) + ADR-0004 (planned→beta flip).
|
|
7596
7596
|
|
|
7597
|
+
- transform: Geometric/orientation transform — v1 = rotate (0/90/180/270) + flip (none/horizontal/vertical/both), ADR-0026. Single-input; `produces: same_as_input` (geometry preserves format/container). Chainable (NOT sole_op); canonical single-job chain order is `transform → convert → compress → thumbnail` (geometry before encode/derive so downstream width/height/fit refer to the final frame). Media groups: image (still jpeg/png/webp + animated `image_gif`), video (mp4/webm), document (PDF page-rotate only — no flip); audio not supported. ALL groups `availability: planned` (epic `fhiWebI0`) — workflow-create returns `feature_not_available` (422) until per-media Lambdas ship. A no-op transform (`rotate: 0` + `flip: none`) is rejected as `invalid_options`. The public operation type is `transform`; the API resolves an internal per-media SNS routing sub-type (`transform_image` / `transform_video` / `transform_document`) — those sub-types are routing-only and are NOT part of this public enum. Per ADR-0026.
|
|
7598
|
+
|
|
7597
7599
|
Both the legacy `thumbnail` value and the four sub-type values
|
|
7598
7600
|
are valid routing targets today during the thumbnail migration
|
|
7599
7601
|
window. See `asyncapi/events.yaml` for the full routing
|
|
@@ -7622,6 +7624,7 @@ components:
|
|
|
7622
7624
|
- video_watermark
|
|
7623
7625
|
- video_text_watermark
|
|
7624
7626
|
- split
|
|
7627
|
+
- transform
|
|
7625
7628
|
- passthrough
|
|
7626
7629
|
|
|
7627
7630
|
OperationInputModel:
|
|
@@ -7631,7 +7634,7 @@ components:
|
|
|
7631
7634
|
- single: One input file (compress, thumbnail, thumbnail_image,
|
|
7632
7635
|
thumbnail_video, thumbnail_document, thumbnail_office,
|
|
7633
7636
|
text_watermark, convert, audio_watermark,
|
|
7634
|
-
video_text_watermark, split, passthrough)
|
|
7637
|
+
video_text_watermark, split, transform, passthrough)
|
|
7635
7638
|
- multi: Multiple input files (merge, archive, image_watermark, custom_luma, audio_overlay, audio_to_video, video_watermark). audio_to_video is the first role-based op with an OPTIONAL role (min_inputs=1, max_inputs=2 — see `per_role_cardinality`); video_watermark is a fixed base+overlay pair (exactly one each, min_inputs=max_inputs=2) on video bases; image_watermark widened to base + 1–8 overlays (min 2 / max 9) with the multi_overlay_stack flip (2026-07-01).
|
|
7636
7639
|
enum:
|
|
7637
7640
|
- single
|
|
@@ -9408,12 +9411,18 @@ components:
|
|
|
9408
9411
|
description: |
|
|
9409
9412
|
The canonical pipeline spine (single mutated stream), as an
|
|
9410
9413
|
ordered list of `chain_group` stage names. The known image/AV
|
|
9411
|
-
spine is `
|
|
9412
|
-
→ `
|
|
9413
|
-
`derived` (fan-out:
|
|
9414
|
-
|
|
9415
|
-
|
|
9416
|
-
|
|
9414
|
+
spine is `transform` (geometry: rotate/flip) → `merge` (fan-in)
|
|
9415
|
+
→ `image_watermark` → `text_watermark` → `audio` → `encode`
|
|
9416
|
+
(terminal: convert+compress folded) → `derived` (fan-out:
|
|
9417
|
+
thumbnail/split). Informational — read per-op `chain_group` /
|
|
9418
|
+
`chain_position` for placement. The `transform` geometry stage
|
|
9419
|
+
(ADR-0026) runs FIRST — orientation before resize/encode so
|
|
9420
|
+
downstream width/height/fit refer to the final frame; its
|
|
9421
|
+
canonical single-job order is `transform → convert → compress →
|
|
9422
|
+
thumbnail`. It is `availability: planned` (epic `fhiWebI0`) — no
|
|
9423
|
+
transform nodes are produced until it activates. (Image
|
|
9424
|
+
resize/fit still live inside the `thumbnail` node — that is a
|
|
9425
|
+
separate stage from the `transform` op.)
|
|
9417
9426
|
|
|
9418
9427
|
**Open string, NOT a fixed enum** (mirrors
|
|
9419
9428
|
`ProcessingPlanJob.execution_pool`): the canonical model still
|
|
@@ -9493,6 +9502,9 @@ components:
|
|
|
9493
9502
|
`additionalProperties: false`; consumers MUST treat unknown
|
|
9494
9503
|
stage names as forward-compatible. The watermark stages are
|
|
9495
9504
|
**media-agnostic overlay stages**, not image-only. Known stages:
|
|
9505
|
+
- `transform`: geometry stage (rotate/flip) — covers the
|
|
9506
|
+
`transform` operation type. Runs first in the spine (ADR-0026);
|
|
9507
|
+
`availability: planned` until activation.
|
|
9496
9508
|
- `merge`: fan-in.
|
|
9497
9509
|
- `image_watermark`: raster/image-overlay watermark stage —
|
|
9498
9510
|
covers the `image_watermark` AND `video_watermark` operation
|
|
@@ -454,6 +454,21 @@
|
|
|
454
454
|
},
|
|
455
455
|
"sole_op": false
|
|
456
456
|
},
|
|
457
|
+
"transform": {
|
|
458
|
+
"accepts": [
|
|
459
|
+
"document",
|
|
460
|
+
"image",
|
|
461
|
+
"video"
|
|
462
|
+
],
|
|
463
|
+
"availability": "planned",
|
|
464
|
+
"input": {
|
|
465
|
+
"model": "single"
|
|
466
|
+
},
|
|
467
|
+
"produces": {
|
|
468
|
+
"same_as_input": true
|
|
469
|
+
},
|
|
470
|
+
"sole_op": false
|
|
471
|
+
},
|
|
457
472
|
"video_text_watermark": {
|
|
458
473
|
"accepts": [
|
|
459
474
|
"video"
|
|
@@ -565,5 +580,5 @@
|
|
|
565
580
|
"isAnimated": "maybe"
|
|
566
581
|
}
|
|
567
582
|
},
|
|
568
|
-
"schema_version": "2.
|
|
583
|
+
"schema_version": "2.154.0"
|
|
569
584
|
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
schema_version: "2.0.0"
|
|
2
|
+
|
|
3
|
+
operation:
|
|
4
|
+
type: transform
|
|
5
|
+
availability: planned
|
|
6
|
+
description: |
|
|
7
|
+
Apply a geometric / orientation transform to a media asset. **v1 supports
|
|
8
|
+
rotate + flip only** (orientation transforms) — it does NOT do crop, scale,
|
|
9
|
+
skew, or colour transforms. The name is deliberately `transform` (not
|
|
10
|
+
`orient`) to leave room for a future `crop` on the same op; do not read the
|
|
11
|
+
name as advertising arbitrary affine transforms. Full design + normative
|
|
12
|
+
order-of-operations, routing topology, chain order, media gating, and
|
|
13
|
+
billing model: ADR-0026.
|
|
14
|
+
|
|
15
|
+
**Params (per media group):**
|
|
16
|
+
- `rotate` — `0 | 90 | 180 | 270` degrees clockwise (default `0`).
|
|
17
|
+
- `flip` — `none | horizontal | vertical | both` mirror (default `none`).
|
|
18
|
+
`horizontal` = left↔right (the selfie/webcam mirror-correction),
|
|
19
|
+
`vertical` = top↔bottom, `both` = both axes.
|
|
20
|
+
|
|
21
|
+
**Normative order-of-operations (v1 has NO arbitrary sequence).** For a
|
|
22
|
+
single `transform` op the worker applies, in this fixed order:
|
|
23
|
+
1. (images) normalize display orientation from EXIF,
|
|
24
|
+
2. apply `rotate`,
|
|
25
|
+
3. apply `flip` in the FINAL (post-rotate) display axes,
|
|
26
|
+
4. (images) write pixels with the orientation tag reset/removed.
|
|
27
|
+
So `flip: horizontal` always means left↔right in the *visible result*, even
|
|
28
|
+
after a 90/270 rotate. See ADR-0026 §Order-of-operations.
|
|
29
|
+
|
|
30
|
+
**auto_orient coexistence.** `transform` reads the image honouring EXIF
|
|
31
|
+
orientation, applies rotate/flip, and emits normalized-orientation pixels —
|
|
32
|
+
so a downstream `compress`/`convert` `auto_orient` is a no-op. Raw
|
|
33
|
+
stored-pixel rotation that ignores EXIF is out of scope for v1.
|
|
34
|
+
|
|
35
|
+
**No-op is rejected at create.** A `transform` with `rotate: 0` AND
|
|
36
|
+
`flip: none` (for documents: `rotate: 0`) does nothing, so the API rejects
|
|
37
|
+
it as `invalid_options` at create — there is no billed, worker-dispatched
|
|
38
|
+
no-op (mirrors the API facade gate that rejects inert option combos). At
|
|
39
|
+
least one of `rotate`/`flip` must be non-default.
|
|
40
|
+
|
|
41
|
+
**Media scope (v1).** IMAGE **still-raster** (jpeg/png/webp) and animated
|
|
42
|
+
GIF; VIDEO (mp4/webm); DOCUMENT is PDF-rotate ONLY (no flip — the
|
|
43
|
+
`document_pdf` group offers `rotate` alone). AUDIO is intentionally absent
|
|
44
|
+
(no spatial geometry). SVG, HEIC/AVIF, and non-PDF documents
|
|
45
|
+
(Office/ODF/EPUB) are out of scope for v1 and are not advertised.
|
|
46
|
+
**Animated PNG (APNG) and animated WebP** are NOT covered by the
|
|
47
|
+
still-raster `image` group's activation proof — like animated GIF, a
|
|
48
|
+
pixel-baking geometry op would drop frames / animation metadata. Before the
|
|
49
|
+
`image` group flips stable the worker MUST either reject animated PNG/WebP
|
|
50
|
+
variants at probe or transform ALL frames + preserve animation metadata
|
|
51
|
+
(same bar as the `image_gif` group). Everything ships `availability:
|
|
52
|
+
planned` first and flips per media on worker capability-source proof
|
|
53
|
+
(ADR-0006) — each activation co-updates schema availability + AsyncAPI
|
|
54
|
+
routing + API OperationType/chain/pricing + the billing weight row together
|
|
55
|
+
(ADR-0026 §Rollout).
|
|
56
|
+
|
|
57
|
+
**Routing (thumbnail precedent).** The payload `operation_type` stays the
|
|
58
|
+
base value `transform`; the API publisher resolves the effective input MIME
|
|
59
|
+
to an SNS `operation_type` routing-attribute sub-type
|
|
60
|
+
(`transform_image` / `transform_video` / `transform_document`). Those
|
|
61
|
+
sub-types are ROUTING ATTRIBUTES ONLY — never persisted or public operation
|
|
62
|
+
types (they are absent from the OperationType payload enum). The
|
|
63
|
+
`document_pdf` group routes under `transform_document` (media-family level,
|
|
64
|
+
even though v1 is PDF-only). See ADR-0026 §Routing + asyncapi/events.yaml.
|
|
65
|
+
default: false
|
|
66
|
+
input_model: single
|
|
67
|
+
# Chains normally (ADR-0025: absent ≡ false; set explicitly to document intent).
|
|
68
|
+
# Canonical single-job order is transform -> convert -> compress -> thumbnail
|
|
69
|
+
# (ADR-0026): orientation runs before resize/encode so downstream width/height/fit
|
|
70
|
+
# refer to the final visual frame, and rotate never triggers a second video encode.
|
|
71
|
+
sole_op: false
|
|
72
|
+
|
|
73
|
+
mime_groups:
|
|
74
|
+
image:
|
|
75
|
+
# Still-raster first. availability:planned until the image worker
|
|
76
|
+
# (Rust `image` crate: fliph/flipv/rotate90/180/270 — already vendored for
|
|
77
|
+
# resize/thumbnail) is capability-proven, then flips stable per ADR-0006.
|
|
78
|
+
# STILL jpeg/png/webp only: animated PNG (APNG) + animated WebP are NOT
|
|
79
|
+
# covered by this group's still-raster proof (a pixel-bake drops frames /
|
|
80
|
+
# animation metadata) — they must be rejected at probe OR handled with
|
|
81
|
+
# all-frames + animation-metadata preservation (GIF bar) before the flip.
|
|
82
|
+
availability: planned
|
|
83
|
+
mimes:
|
|
84
|
+
- image/jpeg
|
|
85
|
+
- image/png
|
|
86
|
+
- image/webp
|
|
87
|
+
options:
|
|
88
|
+
rotate:
|
|
89
|
+
type: enum
|
|
90
|
+
value_type: integer
|
|
91
|
+
values: [0, 90, 180, 270]
|
|
92
|
+
default: 0
|
|
93
|
+
description: >-
|
|
94
|
+
Clockwise rotation in degrees. Applied BEFORE `flip` (see the
|
|
95
|
+
operation-level normative order-of-operations).
|
|
96
|
+
flip:
|
|
97
|
+
type: enum
|
|
98
|
+
values: [none, horizontal, vertical, both]
|
|
99
|
+
default: none
|
|
100
|
+
description: >-
|
|
101
|
+
Mirror the image. `horizontal` = left↔right, `vertical` = top↔bottom,
|
|
102
|
+
`both` = both axes. Applied AFTER `rotate`, in the final (post-rotate)
|
|
103
|
+
display axes, so `horizontal` always means left↔right in the visible
|
|
104
|
+
result.
|
|
105
|
+
|
|
106
|
+
image_gif:
|
|
107
|
+
# Animated GIF as a parallel planned group (mirrors image_watermark's
|
|
108
|
+
# image_gif). Only honest once the worker transforms ALL frames AND
|
|
109
|
+
# preserves animation metadata (frame delays, loop count, disposal);
|
|
110
|
+
# dispatch returns feature_not_available (422) until that ships. Do NOT
|
|
111
|
+
# flip stable on the still-raster proof alone.
|
|
112
|
+
availability: planned
|
|
113
|
+
mimes:
|
|
114
|
+
- image/gif
|
|
115
|
+
options:
|
|
116
|
+
rotate:
|
|
117
|
+
type: enum
|
|
118
|
+
value_type: integer
|
|
119
|
+
values: [0, 90, 180, 270]
|
|
120
|
+
default: 0
|
|
121
|
+
description: "Clockwise rotation in degrees (all frames). Applied before `flip`."
|
|
122
|
+
flip:
|
|
123
|
+
type: enum
|
|
124
|
+
values: [none, horizontal, vertical, both]
|
|
125
|
+
default: none
|
|
126
|
+
description: "Mirror all frames. Applied after `rotate`, in final display axes."
|
|
127
|
+
|
|
128
|
+
video:
|
|
129
|
+
# mp4/webm first (the FFmpeg containers we already decode AND encode).
|
|
130
|
+
# hflip/vflip + transpose bake into pixels → a real re-encode (no
|
|
131
|
+
# stream-copy shortcut), so it costs compute like any transcode (billing
|
|
132
|
+
# weight 10, ADR-0026). quicktime/mov and other containers follow the same
|
|
133
|
+
# decode-AND-encode proof discipline and are not advertised in v1.
|
|
134
|
+
mimes:
|
|
135
|
+
- video/mp4
|
|
136
|
+
- video/webm
|
|
137
|
+
processing_class:
|
|
138
|
+
# F8 long-form video tier (ADR-0011). Both classes ship planned; short_form
|
|
139
|
+
# is first-in-line to flip on the FFmpeg worker proof, long_form stays
|
|
140
|
+
# planned until the Fargate re-encode route is real and costed (ADR-0026).
|
|
141
|
+
short_form:
|
|
142
|
+
availability: planned
|
|
143
|
+
constraints:
|
|
144
|
+
max_input_duration: "PT5M"
|
|
145
|
+
max_input_size_bytes: 524288000
|
|
146
|
+
max_output_size_bytes: 524288000
|
|
147
|
+
long_form:
|
|
148
|
+
availability: planned
|
|
149
|
+
required_tier: pro
|
|
150
|
+
constraints: # baseline = Pro
|
|
151
|
+
max_input_duration: "PT12H"
|
|
152
|
+
max_input_size_bytes: 5000000000 # 5 GB (Pro)
|
|
153
|
+
max_output_size_bytes: 5000000000
|
|
154
|
+
per_tier_constraints:
|
|
155
|
+
max:
|
|
156
|
+
max_input_size_bytes: 50000000000 # 50 GB (Max self-serve band)
|
|
157
|
+
max_output_size_bytes: 50000000000
|
|
158
|
+
enterprise:
|
|
159
|
+
max_input_size_bytes: 120000000000 # 120 GB (Enterprise enforced ceiling)
|
|
160
|
+
max_output_size_bytes: 120000000000
|
|
161
|
+
options:
|
|
162
|
+
rotate:
|
|
163
|
+
type: enum
|
|
164
|
+
value_type: integer
|
|
165
|
+
values: [0, 90, 180, 270]
|
|
166
|
+
default: 0
|
|
167
|
+
description: >-
|
|
168
|
+
Clockwise rotation in degrees (FFmpeg `transpose`). Applied BEFORE
|
|
169
|
+
`flip`. Re-encodes the video.
|
|
170
|
+
flip:
|
|
171
|
+
type: enum
|
|
172
|
+
values: [none, horizontal, vertical, both]
|
|
173
|
+
default: none
|
|
174
|
+
description: >-
|
|
175
|
+
Mirror the video (FFmpeg `hflip` / `vflip`). `horizontal` = left↔right,
|
|
176
|
+
`vertical` = top↔bottom, `both` = both. Applied AFTER `rotate`, in the
|
|
177
|
+
final display axes. Re-encodes the video.
|
|
178
|
+
|
|
179
|
+
document_pdf:
|
|
180
|
+
# PDF-rotate ONLY (page rotation for scanned/phone PDFs). NO flip — mirror
|
|
181
|
+
# is not a clean promise for documents. Office/ODF/EPUB are NOT covered
|
|
182
|
+
# (page rotation there is not same_as_input). availability:planned,
|
|
183
|
+
# flips beta/stable separately on worker proof; routes under the
|
|
184
|
+
# media-family attribute transform_document (ADR-0026 §Routing).
|
|
185
|
+
availability: planned
|
|
186
|
+
mimes:
|
|
187
|
+
- application/pdf
|
|
188
|
+
options:
|
|
189
|
+
rotate:
|
|
190
|
+
type: enum
|
|
191
|
+
value_type: integer
|
|
192
|
+
values: [0, 90, 180, 270]
|
|
193
|
+
default: 0
|
|
194
|
+
description: >-
|
|
195
|
+
Clockwise page rotation in degrees, applied to the rendered page
|
|
196
|
+
orientation. `flip` is NOT offered for documents in v1.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@giveitsmaller/contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.53.0",
|
|
4
4
|
"description": "Generated contract types for GISL (Give It Smaller)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"./accepted-options/accepted-options.json": "./accepted-options/accepted-options.json",
|
|
30
30
|
"./accepted-options/image-output-routes.json": "./accepted-options/image-output-routes.json",
|
|
31
31
|
"./operation-capabilities/operation-capabilities.json": "./operation-capabilities/operation-capabilities.json",
|
|
32
|
+
"./code-builder/code-builder-metadata.json": "./code-builder/code-builder-metadata.json",
|
|
32
33
|
"./operations/schemas/archive.yaml": "./operations/schemas/archive.yaml",
|
|
33
34
|
"./operations/schemas/audio_overlay.yaml": "./operations/schemas/audio_overlay.yaml",
|
|
34
35
|
"./operations/schemas/audio_to_video.yaml": "./operations/schemas/audio_to_video.yaml",
|
|
@@ -43,6 +44,7 @@
|
|
|
43
44
|
"./operations/schemas/split.yaml": "./operations/schemas/split.yaml",
|
|
44
45
|
"./operations/schemas/text_watermark.yaml": "./operations/schemas/text_watermark.yaml",
|
|
45
46
|
"./operations/schemas/thumbnail.yaml": "./operations/schemas/thumbnail.yaml",
|
|
47
|
+
"./operations/schemas/transform.yaml": "./operations/schemas/transform.yaml",
|
|
46
48
|
"./operations/schemas/video_text_watermark.yaml": "./operations/schemas/video_text_watermark.yaml",
|
|
47
49
|
"./operations/schemas/video_watermark.yaml": "./operations/schemas/video_watermark.yaml"
|
|
48
50
|
},
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"availability/availability.json",
|
|
55
57
|
"accepted-options/accepted-options.json",
|
|
56
58
|
"accepted-options/image-output-routes.json",
|
|
57
|
-
"operation-capabilities/operation-capabilities.json"
|
|
59
|
+
"operation-capabilities/operation-capabilities.json",
|
|
60
|
+
"code-builder/code-builder-metadata.json"
|
|
58
61
|
],
|
|
59
62
|
"scripts": {
|
|
60
63
|
"clean": "node -e \"require('node:fs').rmSync('dist', {recursive: true, force: true})\"",
|