@giveitsmaller/contracts 0.50.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 +40 -2
- package/accepted-options/image-output-routes.json +1 -1
- package/asyncapi/events.yaml +293 -20
- package/availability/availability.json +217 -6
- 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 +75 -0
- package/dist/openapi/models/BillingCheckoutRequest.js +64 -0
- package/dist/openapi/models/BillingCheckoutSession.d.ts +42 -0
- package/dist/openapi/models/BillingCheckoutSession.js +47 -0
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +54 -0
- 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 +23 -0
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +51 -0
- 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 +3 -3
- package/dist/openapi/models/OperationInputModel.js +3 -3
- 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 +5 -2
- package/dist/openapi/models/OperationType.js +5 -2
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponse.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
- package/dist/openapi/models/OptionSchema.d.ts +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 +22 -56
- package/dist/openapi/models/WorkflowCreditSummary.js +4 -24
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
- package/dist/openapi/models/WorkflowEdge.js +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
- package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowListResponse.js +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
- package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
- package/dist/openapi/models/WorkflowProcessing.js +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSource.d.ts +1 -1
- package/dist/openapi/models/WorkflowSource.js +1 -1
- package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatus.js +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowSummary.js +1 -1
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
- package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
- package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarning.js +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
- package/dist/openapi/models/index.d.ts +4 -0
- package/dist/openapi/models/index.js +4 -0
- package/dist/openapi/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/image_watermark.d.ts +19 -0
- package/dist/operations/image_watermark.js +12 -0
- package/dist/operations/image_watermark.metadata.js +5 -2
- 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 +321 -63
- package/operation-capabilities/operation-capabilities.json +57 -2
- package/operations/schemas/image_watermark.yaml +121 -13
- package/operations/schemas/transform.yaml +196 -0
- package/package.json +5 -2
|
@@ -44,30 +44,53 @@ operation:
|
|
|
44
44
|
input_model: multi
|
|
45
45
|
sole_op: true # bypasses V1 chain validation — must be the only operation in its job (ADR-0025)
|
|
46
46
|
min_inputs: 2
|
|
47
|
-
max_inputs:
|
|
47
|
+
max_inputs: 9
|
|
48
48
|
|
|
49
|
-
# Per-role input-count constraints (ADR-0015).
|
|
50
|
-
#
|
|
51
|
-
# - sum(role.min) == min_inputs
|
|
52
|
-
#
|
|
49
|
+
# Per-role input-count constraints (ADR-0015). base REQUIRED exactly one;
|
|
50
|
+
# overlay 1-8 (multi-overlay stack LIVE 2026-07-01). Arithmetic-consistency
|
|
51
|
+
# rule (CI-checked): sum(role.min) == min_inputs (1 + 1 = 2); sum(role.max) ==
|
|
52
|
+
# max_inputs (1 + 8 = 9). Per-role counts are WORKER-enforced (the API validates
|
|
53
|
+
# only the coarse TOTAL via input min/max); per_role_cardinality is advisory.
|
|
53
54
|
per_role_cardinality:
|
|
54
55
|
base:
|
|
55
56
|
min: 1
|
|
56
57
|
max: 1
|
|
57
58
|
overlay:
|
|
58
59
|
min: 1
|
|
59
|
-
max:
|
|
60
|
+
max: 8
|
|
60
61
|
|
|
61
62
|
features:
|
|
62
63
|
multi_overlay_stack:
|
|
63
|
-
|
|
64
|
+
# LIVE 2026-07-01: flipped planned->stable on the lambdas worker proof
|
|
65
|
+
# (operation-image-watermark git-2999507, digest-verified;
|
|
66
|
+
# prove-multi-overlay-staging.sh — 3 index-aligned overlays each rendering
|
|
67
|
+
# their own colour at their anchor; mutex + cardinality worker-enforced).
|
|
68
|
+
# Co-landed with `input` max 2->9 + per_role overlay{1,8} + overlays[]
|
|
69
|
+
# executable + api's overlays[] validation & FNA-gate removal (uUdre4jg).
|
|
70
|
+
# availability set EXPLICITLY (matches the audio_overlay / video_watermark
|
|
71
|
+
# multi_overlay_stack features, which stay `planned` — their workers are
|
|
72
|
+
# unproven for multi-overlay).
|
|
73
|
+
availability: stable
|
|
64
74
|
description: |
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
Stack up to 8 overlay inputs on one base image, each with its own
|
|
76
|
+
placement via the `overlays[]` array option (index-aligned to the
|
|
77
|
+
overlay-role sources; see the `image` group's `overlays` option).
|
|
78
|
+
`overlays[]` is mutually exclusive with the flat single-overlay options,
|
|
79
|
+
which remain the 1-overlay back-compat path.
|
|
80
|
+
|
|
81
|
+
**Base-format scope: multi-overlay (`overlays[]`) is on the `image`
|
|
82
|
+
group (jpeg/png/webp) ONLY** — the format the worker proved. The
|
|
83
|
+
stable `image_tiff` / `image_bmp` bases support the SINGLE-overlay flat
|
|
84
|
+
options but NOT `overlays[]` yet (multi-overlay on those bases needs its
|
|
85
|
+
own worker proof — a base-format extension, separate from the group's
|
|
86
|
+
stable single-overlay flip). GIF / video bases remain out of scope.
|
|
87
|
+
|
|
88
|
+
The op-level `input` max 9 / `per_role_cardinality` overlay `{1,8}` is
|
|
89
|
+
the MAXIMUM (the jpeg/png/webp base); input-cardinality has no per-mime-
|
|
90
|
+
group primitive, so a `>1`-overlay request on a tiff/bmp base — which
|
|
91
|
+
has no `overlays[]` to place the extra overlays — is rejected as
|
|
92
|
+
`invalid_options` (API + worker). Effective per-base overlay count:
|
|
93
|
+
jpeg/png/webp = 1–8, tiff/bmp = 1.
|
|
71
94
|
|
|
72
95
|
mime_groups:
|
|
73
96
|
image:
|
|
@@ -144,6 +167,91 @@ operation:
|
|
|
144
167
|
Optional overlay width as either pixels (e.g. "200px") or
|
|
145
168
|
percentage of base image width (e.g. "30%"). Aspect ratio is
|
|
146
169
|
preserved. Omit to use the original overlay size.
|
|
170
|
+
overlays:
|
|
171
|
+
type: array
|
|
172
|
+
minItems: 1
|
|
173
|
+
maxItems: 8
|
|
174
|
+
# LIVE 2026-07-01 (no availability tag = stable): the multi-overlay-stack
|
|
175
|
+
# surface (features.multi_overlay_stack), flipped planned->stable on the
|
|
176
|
+
# lambdas worker proof (git-2999507). INDEX-ALIGNED to the overlay-role
|
|
177
|
+
# sources: overlays[i] applies to overlay source i. The option DSL has no
|
|
178
|
+
# source-array-length-match primitive, so `len(overlays) == overlay-source
|
|
179
|
+
# count` is WORKER-enforced (invalid_options otherwise) — prose below.
|
|
180
|
+
# Cardinality (co-design with lambdas + api): per-role counts are
|
|
181
|
+
# WORKER-enforced (base{1,1} + overlay{1,8}); the API validates only the
|
|
182
|
+
# coarse TOTAL input count via `input` min/max (2..9), so
|
|
183
|
+
# per_role_cardinality stays ADVISORY. The item sub-schema mirrors the flat
|
|
184
|
+
# single-overlay options (JSON-Schema forms per the render_variants.targets
|
|
185
|
+
# array-of-objects precedent).
|
|
186
|
+
# COEXISTENCE: `overlays[]` is MUTUALLY EXCLUSIVE with the flat
|
|
187
|
+
# single-overlay options (anchor/margin_x/margin_y/opacity/
|
|
188
|
+
# overlay_width) — setting both in one request is `invalid_options`
|
|
189
|
+
# (api create-validation + worker). No silent precedence; the caller
|
|
190
|
+
# picks ONE mode. (The option DSL has no cross-option-group mutex
|
|
191
|
+
# primitive, so this is validator-enforced, documented here + in prose.)
|
|
192
|
+
description: |
|
|
193
|
+
Per-overlay placement for the multi-overlay stack — one entry per
|
|
194
|
+
overlay source, INDEX-ALIGNED: `overlays[i]` applies to overlay
|
|
195
|
+
source `i`. Stacks up to 8 overlays on one base
|
|
196
|
+
(`features.multi_overlay_stack`). `len(overlays)` MUST equal the
|
|
197
|
+
number of overlay-role sources (worker-enforced; `invalid_options`
|
|
198
|
+
otherwise).
|
|
199
|
+
|
|
200
|
+
**Z-order = array index (painter's order, bottom → top).** Overlays
|
|
201
|
+
are composited in array/source order: `overlays[0]` first (bottom),
|
|
202
|
+
then `overlays[1]`, … `overlays[N-1]` LAST (on top). Where two
|
|
203
|
+
overlays overlap, the higher index wins. There is no per-overlay
|
|
204
|
+
`z` field — the index IS the z-order. (Deterministic in the worker;
|
|
205
|
+
identical per-frame for animated-WebP bases.)
|
|
206
|
+
|
|
207
|
+
**Mutually exclusive with the flat single-overlay options**
|
|
208
|
+
(`anchor` / `margin_x` / `margin_y` / `opacity` / `overlay_width`):
|
|
209
|
+
a request that sets BOTH `overlays[]` and any flat option is
|
|
210
|
+
rejected as `invalid_options` (API create-validation + worker) —
|
|
211
|
+
there is no silent precedence. Use the flat options for the
|
|
212
|
+
single-overlay path, `overlays[]` for the multi path.
|
|
213
|
+
|
|
214
|
+
LIVE (flipped `planned` -> stable 2026-07-01 on the lambdas worker
|
|
215
|
+
proof, co-landed with `input` max 2 -> 9 + `per_role_cardinality`
|
|
216
|
+
overlay `{1,8}` + api's overlays[] validation & FNA-gate removal).
|
|
217
|
+
The single-overlay FLAT options remain the 1-overlay back-compat path.
|
|
218
|
+
items:
|
|
219
|
+
type: object
|
|
220
|
+
properties:
|
|
221
|
+
anchor:
|
|
222
|
+
type: string
|
|
223
|
+
enum:
|
|
224
|
+
- top_left
|
|
225
|
+
- top_center
|
|
226
|
+
- top_right
|
|
227
|
+
- center_left
|
|
228
|
+
- center
|
|
229
|
+
- center_right
|
|
230
|
+
- bottom_left
|
|
231
|
+
- bottom_center
|
|
232
|
+
- bottom_right
|
|
233
|
+
default: bottom_right
|
|
234
|
+
description: 9-grid anchor position on the base image (per-overlay; see the flat `anchor`).
|
|
235
|
+
margin_x:
|
|
236
|
+
type: string
|
|
237
|
+
pattern: '^\d+(\.\d+)?(px|%)$'
|
|
238
|
+
default: "0px"
|
|
239
|
+
description: Horizontal offset from the anchor (px or % of base width), anchor-relative (see the flat `margin_x`).
|
|
240
|
+
margin_y:
|
|
241
|
+
type: string
|
|
242
|
+
pattern: '^\d+(\.\d+)?(px|%)$'
|
|
243
|
+
default: "0px"
|
|
244
|
+
description: Vertical offset from the anchor (px or % of base height), anchor-relative (see the flat `margin_y`).
|
|
245
|
+
opacity:
|
|
246
|
+
type: number
|
|
247
|
+
minimum: 0
|
|
248
|
+
maximum: 1
|
|
249
|
+
default: 0.5
|
|
250
|
+
description: Overlay opacity (0 transparent .. 1 opaque), clamped.
|
|
251
|
+
overlay_width:
|
|
252
|
+
type: string
|
|
253
|
+
pattern: '^\d+(\.\d+)?(px|%)$'
|
|
254
|
+
description: Optional overlay width (px or % of base width); aspect preserved. Omit for original size.
|
|
147
255
|
|
|
148
256
|
# Animated GIF base — separate group because the rendering path is
|
|
149
257
|
# frame-preserving (each frame composited with the overlay), distinct
|
|
@@ -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})\"",
|