@giveitsmaller/contracts 0.9.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/asyncapi/events.yaml +540 -42
- package/availability/availability.json +313 -89
- package/dist/asyncapi/Failure.d.ts +2 -0
- package/dist/asyncapi/MultiOutputCompletion.d.ts +2 -0
- package/dist/asyncapi/{NotificationsOperationsQueue.d.ts → NotificationsJobsQueue.d.ts} +2 -2
- package/dist/asyncapi/OperationResultMetadata.d.ts +4 -0
- package/dist/asyncapi/OperationResultMetadata.js +1 -0
- package/dist/asyncapi/OperationType.d.ts +2 -1
- package/dist/asyncapi/OperationType.js +1 -0
- package/dist/asyncapi/PageIndexed.d.ts +1 -0
- package/dist/asyncapi/PositionIndexed.d.ts +1 -0
- package/dist/asyncapi/SingleOutputCompletion.d.ts +2 -0
- package/dist/asyncapi/SourceEntry.d.ts +2 -0
- package/dist/asyncapi/Unindexed.d.ts +1 -0
- package/dist/asyncapi/index.d.ts +2 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +2 -2
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +2 -2
- package/dist/openapi/models/AuthErrorResponse.d.ts +13 -2
- package/dist/openapi/models/AuthErrorResponse.js +2 -2
- package/dist/openapi/models/AuthErrorType.d.ts +2 -2
- package/dist/openapi/models/AuthErrorType.js +2 -2
- package/dist/openapi/models/AuthRejectionEnvelope.d.ts +126 -0
- package/dist/openapi/models/AuthRejectionEnvelope.js +72 -0
- package/dist/openapi/models/AvailabilityValue.d.ts +2 -2
- package/dist/openapi/models/AvailabilityValue.js +2 -2
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +13 -2
- package/dist/openapi/models/BalanceExhaustedResponse.js +2 -2
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +2 -2
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +2 -2
- package/dist/openapi/models/CallbackEventType.d.ts +2 -2
- package/dist/openapi/models/CallbackEventType.js +2 -2
- package/dist/openapi/models/ChangePasswordRequest.d.ts +38 -0
- package/dist/openapi/models/ChangePasswordRequest.js +47 -0
- package/dist/openapi/models/CompositionPlan.d.ts +72 -0
- package/dist/openapi/models/CompositionPlan.js +53 -0
- package/dist/openapi/models/CompositionPlanJob.d.ts +39 -0
- package/dist/openapi/models/CompositionPlanJob.js +48 -0
- package/dist/openapi/models/CompositionPlanOperation.d.ts +116 -0
- package/dist/openapi/models/CompositionPlanOperation.js +62 -0
- package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +46 -0
- package/dist/openapi/models/ConfirmEmailChange200Response.js +54 -0
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +32 -0
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +43 -0
- package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +32 -0
- package/dist/openapi/models/ConfirmEmailChangeRequest.js +43 -0
- package/dist/openapi/models/ConnectionSource.d.ts +2 -2
- package/dist/openapi/models/ConnectionSource.js +2 -2
- package/dist/openapi/models/ContactRequest.d.ts +2 -2
- package/dist/openapi/models/ContactRequest.js +2 -2
- package/dist/openapi/models/ContactSubject.d.ts +2 -2
- package/dist/openapi/models/ContactSubject.js +2 -2
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +2 -2
- package/dist/openapi/models/ContactValidationErrorResponse.js +2 -2
- package/dist/openapi/models/CreateApiKey201Response.d.ts +46 -0
- package/dist/openapi/models/CreateApiKey201Response.js +54 -0
- package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +56 -0
- package/dist/openapi/models/CreateApiKey201ResponseData.js +59 -0
- package/dist/openapi/models/CreateApiKeyRequest.d.ts +32 -0
- package/dist/openapi/models/CreateApiKeyRequest.js +43 -0
- package/dist/openapi/models/CreateExternalImport403Response.d.ts +2 -2
- package/dist/openapi/models/CreateExternalImport403Response.js +2 -2
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +2 -2
- package/dist/openapi/models/CreateExternalImport422Response.js +2 -2
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +2 -2
- package/dist/openapi/models/CreateWorkflow422Response.js +2 -2
- package/dist/openapi/models/CreditTransaction.d.ts +2 -2
- package/dist/openapi/models/CreditTransaction.js +2 -2
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +2 -2
- package/dist/openapi/models/CreditTransactionSourceBucket.js +2 -2
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +2 -2
- package/dist/openapi/models/CreditsBalanceResponse.js +2 -2
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +2 -2
- package/dist/openapi/models/CreditsUsageResponse.d.ts +2 -2
- package/dist/openapi/models/CreditsUsageResponse.js +2 -2
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +2 -2
- package/dist/openapi/models/Delivery.d.ts +2 -2
- package/dist/openapi/models/Delivery.js +2 -2
- package/dist/openapi/models/DeliveryOutputRef.d.ts +9 -2
- package/dist/openapi/models/DeliveryOutputRef.js +2 -2
- package/dist/openapi/models/DeliveryPlan.d.ts +2 -2
- package/dist/openapi/models/DeliveryPlan.js +2 -2
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +17 -2
- package/dist/openapi/models/DeliveryPlanOutput.js +4 -2
- package/dist/openapi/models/DeliveryPlanReason.d.ts +2 -2
- package/dist/openapi/models/DeliveryPlanReason.js +2 -2
- package/dist/openapi/models/DeliverySelection.d.ts +6 -4
- package/dist/openapi/models/DeliverySelection.js +2 -2
- package/dist/openapi/models/EmptySuccessEnvelope.d.ts +58 -0
- package/dist/openapi/models/EmptySuccessEnvelope.js +53 -0
- package/dist/openapi/models/EndpointProjection.d.ts +12 -3
- package/dist/openapi/models/EndpointProjection.js +2 -2
- package/dist/openapi/models/ErrorEnvelope.d.ts +13 -2
- package/dist/openapi/models/ErrorEnvelope.js +2 -2
- package/dist/openapi/models/EstimateQuality.d.ts +2 -2
- package/dist/openapi/models/EstimateQuality.js +2 -2
- package/dist/openapi/models/EstimateRange.d.ts +2 -2
- package/dist/openapi/models/EstimateRange.js +2 -2
- package/dist/openapi/models/ExternalDestination.d.ts +2 -2
- package/dist/openapi/models/ExternalDestination.js +2 -2
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +2 -2
- package/dist/openapi/models/ExternalImportCreatedResponse.js +2 -2
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +2 -2
- package/dist/openapi/models/ExternalImportRequest.d.ts +2 -2
- package/dist/openapi/models/ExternalImportRequest.js +2 -2
- package/dist/openapi/models/ExternalImportToken.d.ts +2 -2
- package/dist/openapi/models/ExternalImportToken.js +2 -2
- package/dist/openapi/models/ExternalSource.d.ts +2 -2
- package/dist/openapi/models/ExternalSource.js +2 -2
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +13 -2
- package/dist/openapi/models/FeatureNotAvailableResponse.js +2 -2
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +13 -2
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +2 -2
- package/dist/openapi/models/FeatureViolation.d.ts +2 -2
- package/dist/openapi/models/FeatureViolation.js +2 -2
- package/dist/openapi/models/ForgotPasswordRequest.d.ts +32 -0
- package/dist/openapi/models/ForgotPasswordRequest.js +43 -0
- package/dist/openapi/models/ImageEncodeCapabilities.d.ts +65 -0
- package/dist/openapi/models/ImageEncodeCapabilities.js +55 -0
- package/dist/openapi/models/JobDefinition.d.ts +20 -4
- package/dist/openapi/models/JobDefinition.js +2 -2
- package/dist/openapi/models/JobDownload.d.ts +2 -2
- package/dist/openapi/models/JobDownload.js +2 -2
- package/dist/openapi/models/JobInputV2.d.ts +13 -9
- package/dist/openapi/models/JobInputV2.js +5 -5
- package/dist/openapi/models/JobMediaClass.d.ts +34 -0
- package/dist/openapi/models/JobMediaClass.js +52 -0
- package/dist/openapi/models/JobOutputSource.d.ts +2 -2
- package/dist/openapi/models/JobOutputSource.js +2 -2
- package/dist/openapi/models/JobResponse.d.ts +2 -2
- package/dist/openapi/models/JobResponse.js +2 -2
- package/dist/openapi/models/JobStatus.d.ts +2 -2
- package/dist/openapi/models/JobStatus.js +2 -2
- package/dist/openapi/models/JobType.d.ts +2 -2
- package/dist/openapi/models/JobType.js +2 -2
- package/dist/openapi/models/LivenessResponse.d.ts +2 -2
- package/dist/openapi/models/LivenessResponse.js +2 -2
- package/dist/openapi/models/LoginUser200Response.d.ts +2 -2
- package/dist/openapi/models/LoginUser200Response.js +2 -2
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +2 -2
- package/dist/openapi/models/LoginUser200ResponseData.js +2 -2
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +2 -2
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +2 -2
- package/dist/openapi/models/LoginUserRequest.d.ts +2 -2
- package/dist/openapi/models/LoginUserRequest.js +2 -2
- package/dist/openapi/models/MetadataResponse.d.ts +2 -2
- package/dist/openapi/models/MetadataResponse.js +2 -2
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseDimensions.js +2 -2
- package/dist/openapi/models/MetadataResponseExif.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExif.js +2 -2
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +2 -2
- package/dist/openapi/models/MetadataResponseExifGps.js +2 -2
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MetadataSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MimeGroupSchema.d.ts +37 -2
- package/dist/openapi/models/MimeGroupSchema.js +5 -2
- package/dist/openapi/models/MultiInputSource.d.ts +41 -0
- package/dist/openapi/models/MultiInputSource.js +52 -0
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteRequest.js +2 -2
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +2 -2
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteResponse.js +2 -2
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +2 -2
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateResponse.js +2 -2
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartKeepaliveResponse.js +2 -2
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartPartListing.d.ts +2 -2
- package/dist/openapi/models/MultipartPartListing.js +2 -2
- package/dist/openapi/models/MultipartPresignRequest.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignRequest.js +2 -2
- package/dist/openapi/models/MultipartPresignResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignResponse.js +2 -2
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +2 -2
- package/dist/openapi/models/MultipartStatusResponse.d.ts +2 -2
- package/dist/openapi/models/MultipartStatusResponse.js +2 -2
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +2 -2
- package/dist/openapi/models/OperationDefinition.d.ts +27 -2
- package/dist/openapi/models/OperationDefinition.js +11 -2
- package/dist/openapi/models/OperationDownload.d.ts +30 -2
- package/dist/openapi/models/OperationDownload.js +6 -2
- package/dist/openapi/models/OperationInputModel.d.ts +3 -3
- package/dist/openapi/models/OperationInputModel.js +3 -3
- package/dist/openapi/models/OperationResponse.d.ts +18 -2
- package/dist/openapi/models/OperationResponse.js +5 -2
- package/dist/openapi/models/OperationResult.d.ts +2 -2
- package/dist/openapi/models/OperationResult.js +2 -2
- package/dist/openapi/models/OperationResultMetadata.d.ts +48 -0
- package/dist/openapi/models/OperationResultMetadata.js +41 -0
- package/dist/openapi/models/OperationResultMetrics.d.ts +16 -3
- package/dist/openapi/models/OperationResultMetrics.js +2 -2
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +6 -5
- package/dist/openapi/models/OperationSchemaDefinition.js +2 -2
- package/dist/openapi/models/OperationStatus.d.ts +2 -2
- package/dist/openapi/models/OperationStatus.js +2 -2
- package/dist/openapi/models/OperationType.d.ts +7 -4
- package/dist/openapi/models/OperationType.js +8 -5
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +32 -4
- package/dist/openapi/models/OperationsSchemaResponse.js +5 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +2 -2
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +2 -2
- package/dist/openapi/models/OptionSchema.d.ts +2 -2
- package/dist/openapi/models/OptionSchema.js +2 -2
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +2 -2
- package/dist/openapi/models/PerRoleCardinalityEntry.js +2 -2
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +2 -2
- package/dist/openapi/models/PerValueAvailabilityEntry.js +2 -2
- package/dist/openapi/models/PresignedUrlPart.d.ts +2 -2
- package/dist/openapi/models/PresignedUrlPart.js +2 -2
- package/dist/openapi/models/ProbePendingResponse.d.ts +13 -2
- package/dist/openapi/models/ProbePendingResponse.js +2 -2
- package/dist/openapi/models/ProcessingClass.d.ts +2 -2
- package/dist/openapi/models/ProcessingClass.js +2 -2
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassBandViolation.js +2 -2
- package/dist/openapi/models/ProcessingClassConstraints.d.ts +69 -0
- package/dist/openapi/models/ProcessingClassConstraints.js +49 -0
- package/dist/openapi/models/ProcessingClassEntry.d.ts +93 -0
- package/dist/openapi/models/ProcessingClassEntry.js +57 -0
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +13 -2
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +2 -2
- package/dist/openapi/models/ProcessingClassHint.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassHint.js +2 -2
- package/dist/openapi/models/ProcessingClassReason.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassReason.js +2 -2
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +2 -2
- package/dist/openapi/models/ProcessingClassRejectReason.js +2 -2
- package/dist/openapi/models/ProcessingPlan.d.ts +2 -2
- package/dist/openapi/models/ProcessingPlan.js +2 -2
- package/dist/openapi/models/ProcessingPlanJob.d.ts +2 -2
- package/dist/openapi/models/ProcessingPlanJob.js +2 -2
- package/dist/openapi/models/ReEncodeDecision.d.ts +2 -2
- package/dist/openapi/models/ReEncodeDecision.js +2 -2
- package/dist/openapi/models/ReadinessResponse.d.ts +2 -2
- package/dist/openapi/models/ReadinessResponse.js +2 -2
- package/dist/openapi/models/RegisterUser422Response.d.ts +27 -0
- package/dist/openapi/models/RegisterUser422Response.js +47 -0
- package/dist/openapi/models/RegisterUserRequest.d.ts +38 -0
- package/dist/openapi/models/RegisterUserRequest.js +47 -0
- package/dist/openapi/models/ResetPasswordRequest.d.ts +38 -0
- package/dist/openapi/models/ResetPasswordRequest.js +47 -0
- package/dist/openapi/models/ResponseEnvelope.d.ts +2 -2
- package/dist/openapi/models/ResponseEnvelope.js +2 -2
- package/dist/openapi/models/RetryResponse.d.ts +2 -2
- package/dist/openapi/models/RetryResponse.js +2 -2
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/RetrySuccessEnvelope.js +2 -2
- package/dist/openapi/models/SseCompletionBase.d.ts +2 -2
- package/dist/openapi/models/SseCompletionBase.js +2 -2
- package/dist/openapi/models/SseEventType.d.ts +2 -2
- package/dist/openapi/models/SseEventType.js +2 -2
- package/dist/openapi/models/SseJobCompletedData.d.ts +2 -2
- package/dist/openapi/models/SseJobCompletedData.js +2 -2
- package/dist/openapi/models/SseJobFailedData.d.ts +2 -2
- package/dist/openapi/models/SseJobFailedData.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletion.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletion.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +2 -2
- package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +2 -2
- package/dist/openapi/models/SseMultiOutputResultEntry.js +2 -2
- package/dist/openapi/models/SseOperationCompletedData.d.ts +17 -3
- package/dist/openapi/models/SseOperationCompletedData.js +2 -2
- package/dist/openapi/models/SseOperationCompletionResult.d.ts +2 -2
- package/dist/openapi/models/SseOperationCompletionResult.js +2 -2
- package/dist/openapi/models/SseOperationFailedData.d.ts +2 -2
- package/dist/openapi/models/SseOperationFailedData.js +2 -2
- package/dist/openapi/models/SseOperationProgressData.d.ts +2 -2
- package/dist/openapi/models/SseOperationProgressData.js +2 -2
- package/dist/openapi/models/SseSingleOutputCompletion.d.ts +2 -2
- package/dist/openapi/models/SseSingleOutputCompletion.js +2 -2
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +2 -2
- package/dist/openapi/models/SseWorkflowTerminalData.js +2 -2
- package/dist/openapi/models/TierRestrictionKind.d.ts +2 -2
- package/dist/openapi/models/TierRestrictionKind.js +2 -2
- package/dist/openapi/models/TierRestrictionResponse.d.ts +13 -2
- package/dist/openapi/models/TierRestrictionResponse.js +2 -2
- package/dist/openapi/models/UpdateProfile200Response.d.ts +46 -0
- package/dist/openapi/models/UpdateProfile200Response.js +54 -0
- package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +71 -0
- package/dist/openapi/models/UpdateProfile200ResponseData.js +67 -0
- package/dist/openapi/models/UpdateProfile422Response.d.ts +27 -0
- package/dist/openapi/models/UpdateProfile422Response.js +47 -0
- package/dist/openapi/models/UpdateProfileRequest.d.ts +44 -0
- package/dist/openapi/models/UpdateProfileRequest.js +47 -0
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +2 -2
- package/dist/openapi/models/UploadConstraintsApplied.js +2 -2
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +13 -2
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +2 -2
- package/dist/openapi/models/UploadFile403Response.d.ts +2 -2
- package/dist/openapi/models/UploadFile403Response.js +2 -2
- package/dist/openapi/models/UploadFile422Response.d.ts +2 -2
- package/dist/openapi/models/UploadFile422Response.js +2 -2
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +2 -2
- package/dist/openapi/models/UploadProbeMediaMetadata.js +2 -2
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +2 -2
- package/dist/openapi/models/UploadProbeProcessingClass.js +2 -2
- package/dist/openapi/models/UploadProbeResponse.d.ts +2 -2
- package/dist/openapi/models/UploadProbeResponse.js +2 -2
- package/dist/openapi/models/UploadProbeStatus.d.ts +2 -2
- package/dist/openapi/models/UploadProbeStatus.js +2 -2
- package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/UploadProbeSuccessEnvelope.js +2 -2
- package/dist/openapi/models/UploadResponse.d.ts +2 -2
- package/dist/openapi/models/UploadResponse.js +2 -2
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +13 -2
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +2 -2
- package/dist/openapi/models/UploadSource.d.ts +2 -2
- package/dist/openapi/models/UploadSource.js +2 -2
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/UploadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/UploadThresholds.d.ts +2 -2
- package/dist/openapi/models/UploadThresholds.js +2 -2
- package/dist/openapi/models/UserTier.d.ts +2 -2
- package/dist/openapi/models/UserTier.js +2 -2
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +2 -2
- package/dist/openapi/models/ValidationErrorEnvelope.js +2 -2
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +2 -2
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +2 -2
- package/dist/openapi/models/VerifyEmailRequest.d.ts +32 -0
- package/dist/openapi/models/VerifyEmailRequest.js +43 -0
- package/dist/openapi/models/WarningType.d.ts +2 -2
- package/dist/openapi/models/WarningType.js +2 -2
- package/dist/openapi/models/WebhookOperationContext.d.ts +2 -2
- package/dist/openapi/models/WebhookOperationContext.js +2 -2
- package/dist/openapi/models/WebhookPayload.d.ts +2 -2
- package/dist/openapi/models/WebhookPayload.js +2 -2
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +2 -2
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +2 -2
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowCancelResponse.js +2 -2
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +64 -4
- package/dist/openapi/models/WorkflowCreateRequest.js +10 -6
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +24 -2
- package/dist/openapi/models/WorkflowCreateResponse.js +5 -2
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowDownloadResponse.js +2 -2
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowEdge.d.ts +2 -2
- package/dist/openapi/models/WorkflowEdge.js +2 -2
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +13 -2
- package/dist/openapi/models/WorkflowExpiredResponse.js +2 -2
- package/dist/openapi/models/WorkflowListResponse.d.ts +50 -0
- package/dist/openapi/models/WorkflowListResponse.js +50 -0
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +46 -0
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +54 -0
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +2 -2
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +2 -2
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +2 -2
- package/dist/openapi/models/WorkflowPausedDetail.js +2 -2
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +2 -2
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +2 -2
- package/dist/openapi/models/WorkflowProcessing.d.ts +2 -2
- package/dist/openapi/models/WorkflowProcessing.js +2 -2
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +2 -2
- package/dist/openapi/models/WorkflowResumeResponse.js +2 -2
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowSource.d.ts +7 -4
- package/dist/openapi/models/WorkflowSource.js +2 -2
- package/dist/openapi/models/WorkflowStatus.d.ts +2 -2
- package/dist/openapi/models/WorkflowStatus.js +2 -2
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +21 -2
- package/dist/openapi/models/WorkflowStatusResponse.js +5 -2
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +2 -2
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +2 -2
- package/dist/openapi/models/WorkflowSummary.d.ts +60 -0
- package/dist/openapi/models/WorkflowSummary.js +57 -0
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +57 -0
- package/dist/openapi/models/WorkflowSummaryJob.js +57 -0
- package/dist/openapi/models/WorkflowWarning.d.ts +2 -2
- package/dist/openapi/models/WorkflowWarning.js +2 -2
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +2 -2
- package/dist/openapi/models/WorkflowWarningSeverity.js +2 -2
- package/dist/openapi/models/index.d.ts +31 -1
- package/dist/openapi/models/index.js +31 -1
- package/dist/openapi/runtime.d.ts +2 -2
- package/dist/openapi/runtime.js +2 -2
- package/dist/operations/compress.d.ts +0 -9
- package/dist/operations/compress.js +0 -6
- package/dist/operations/compress.metadata.js +4 -12
- package/dist/operations/index.d.ts +3 -0
- package/dist/operations/index.js +3 -0
- package/dist/operations/merge.d.ts +4 -0
- package/dist/operations/merge.metadata.js +12 -0
- package/dist/operations/passthrough.metadata.d.ts +2 -0
- package/dist/operations/passthrough.metadata.js +6 -0
- package/dist/operations/render_variants.d.ts +24 -0
- package/dist/operations/render_variants.js +14 -0
- package/dist/operations/render_variants.metadata.d.ts +2 -0
- package/dist/operations/render_variants.metadata.js +18 -0
- package/dist/operations/split.d.ts +8 -1
- package/dist/operations/split.js +5 -0
- package/dist/operations/split.metadata.js +18 -5
- package/openapi/api.yaml +2333 -241
- package/operations/schemas/archive.yaml +1 -1
- package/operations/schemas/audio_overlay.yaml +29 -13
- package/operations/schemas/audio_to_video.yaml +6 -5
- package/operations/schemas/audio_watermark.yaml +18 -16
- package/operations/schemas/compress.yaml +34 -32
- package/operations/schemas/custom_luma.yaml +18 -3
- package/operations/schemas/image_watermark.yaml +22 -7
- package/operations/schemas/merge.yaml +88 -35
- package/operations/schemas/passthrough.yaml +49 -0
- package/operations/schemas/render_variants.yaml +117 -0
- package/operations/schemas/split.yaml +72 -18
- package/operations/schemas/text_watermark.yaml +6 -6
- package/operations/schemas/thumbnail.yaml +1 -1
- package/operations/schemas/video_text_watermark.yaml +2 -2
- package/operations/schemas/video_watermark.yaml +7 -4
- package/package.json +3 -1
- package/dist/openapi/models/LogoutUser200Response.d.ts +0 -50
- package/dist/openapi/models/LogoutUser200Response.js +0 -53
- /package/dist/asyncapi/{NotificationsOperationsQueue.js → NotificationsJobsQueue.js} +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
schema_version: "1.0.0"
|
|
2
|
+
|
|
3
|
+
operation:
|
|
4
|
+
type: passthrough
|
|
5
|
+
availability: beta
|
|
6
|
+
description: |
|
|
7
|
+
Inert lossless source operation. A single-input source job whose
|
|
8
|
+
SOLE operation is `passthrough` emits its source bytes UNCHANGED —
|
|
9
|
+
no compression, no transformation, no Lambda dispatch. The API
|
|
10
|
+
self-completes the job at workflow-create/publish time: the job's
|
|
11
|
+
terminal output IS the upload's `{bucket, key}` unchanged.
|
|
12
|
+
|
|
13
|
+
**Purpose.** Lets an uploaded file enter a multi-input operation
|
|
14
|
+
(`merge` / `archive` / `image_watermark` / etc.) LOSSLESSLY. Since
|
|
15
|
+
V2 narrows `JobInputV2.source` to exclude upload-direct (`MultiInputSource`
|
|
16
|
+
— job_output / external_import / connection only), an upload that
|
|
17
|
+
must feed a multi-input op enters via a `passthrough` source job
|
|
18
|
+
referenced downstream by `{ type: job_output, from: <id> }`. This
|
|
19
|
+
preserves billing / DAG / lineage that direct upload-in-inputs[]
|
|
20
|
+
would bypass.
|
|
21
|
+
|
|
22
|
+
**Distinct from `operations: []`.** An empty `operations[]` on a
|
|
23
|
+
single-input upload job KEEPS its implicit-compress meaning (see
|
|
24
|
+
`POST /api/workflows` description). `passthrough` is the EXPLICIT
|
|
25
|
+
lossless opt-out chosen via the existing rule "non-empty
|
|
26
|
+
`operations[]` without `compress` = compression opt-out" — it is a
|
|
27
|
+
sole, named operation, not an empty chain.
|
|
28
|
+
|
|
29
|
+
**Never published to SNS.** Because the API self-completes the job
|
|
30
|
+
at publish, `passthrough` is INTENTIONALLY absent from the AsyncAPI
|
|
31
|
+
routing enums (`OperationType`, `OperationRequestAttributes.operation_type`)
|
|
32
|
+
and has no `ops-passthrough` queue. It never appears on the wire as
|
|
33
|
+
a request message.
|
|
34
|
+
|
|
35
|
+
Media-agnostic (no `mime_groups`): it accepts any uploaded MIME and
|
|
36
|
+
copies it verbatim, so there are no per-MIME options or constraints.
|
|
37
|
+
`availability: beta` — the API self-completion path is LIVE (the
|
|
38
|
+
inputs[]-narrowing + passthrough self-complete mechanism is deployed),
|
|
39
|
+
so workflow-create accepts `passthrough` source jobs and MUST NOT
|
|
40
|
+
return `feature_not_available`. Activated per ticket
|
|
41
|
+
[`4som89Uh`](https://trello.com/c/4som89Uh) + ADR-0004 (planned→beta
|
|
42
|
+
flip; self-complete code deployed API-side).
|
|
43
|
+
default: false
|
|
44
|
+
input_model: single
|
|
45
|
+
|
|
46
|
+
# DELIBERATELY absent from the operation chain matrix
|
|
47
|
+
# (docs/matrices/operation-chains.md). passthrough is a sole-op source
|
|
48
|
+
# node, not a chainable transform — with no `mime_groups` it produces
|
|
49
|
+
# zero matrix rows, which is correct: nothing chains onto or after it.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
schema_version: "2.0.0"
|
|
2
|
+
|
|
3
|
+
operation:
|
|
4
|
+
type: render_variants
|
|
5
|
+
# Generate N resized/re-encoded image variants from ONE decoded source in a
|
|
6
|
+
# single operation (image fan-out). Per spike GA2kiRY8 / epic nksLtV28,
|
|
7
|
+
# ticket w3EwzHYd. Worker = the shared convert image-encode stack + FitMode
|
|
8
|
+
# (lambdas-confirmed reuse: image_convert.rs encode + domain/thumbnailer.rs).
|
|
9
|
+
#
|
|
10
|
+
# availability: planned — the worker (lambdas 08q0ySAc) + its SNS subscription
|
|
11
|
+
# (terraform MNuDYJaY) are downstream of this contract, so the server returns
|
|
12
|
+
# `feature_not_available` (422) until they are live. The planned -> beta flip
|
|
13
|
+
# is a SEPARATE lockstep cut once the worker + wire are up (the two-gate rule;
|
|
14
|
+
# never flip beta ahead of the publisher). Source MIMEs are jpeg/png/webp only
|
|
15
|
+
# — AVIF is encode-only in the worker stack (decode unsupported), so it is a
|
|
16
|
+
# valid `output_format` target but NOT a source input.
|
|
17
|
+
description: "Generate multiple resized / re-encoded image variants from a single source image in one operation (image fan-out)."
|
|
18
|
+
availability: planned
|
|
19
|
+
input_model: single
|
|
20
|
+
|
|
21
|
+
mime_groups:
|
|
22
|
+
image:
|
|
23
|
+
availability: planned
|
|
24
|
+
mimes:
|
|
25
|
+
- image/jpeg
|
|
26
|
+
- image/png
|
|
27
|
+
- image/webp
|
|
28
|
+
options:
|
|
29
|
+
targets:
|
|
30
|
+
type: array
|
|
31
|
+
required: true
|
|
32
|
+
minItems: 1
|
|
33
|
+
maxItems: 20
|
|
34
|
+
# Each target is encoded independently from the single decoded
|
|
35
|
+
# source. Width/height are individually optional at the type level;
|
|
36
|
+
# the cross-field rule (fit crop/scale => BOTH required; fit max =>
|
|
37
|
+
# at least one) is worker-enforced and rejected as `invalid_options`,
|
|
38
|
+
# not expressed structurally here (the option DSL has no per-item
|
|
39
|
+
# conditional-required primitive). Documented in prose below.
|
|
40
|
+
description: |
|
|
41
|
+
One output variant per entry (max 20). Each variant is resized /
|
|
42
|
+
re-encoded independently from the single decoded source; the
|
|
43
|
+
operation succeeds or fails **atomically** — there are no partial
|
|
44
|
+
outputs. Each result output echoes its target's `id` back as
|
|
45
|
+
`target_id` so callers can map outputs to the variants they asked
|
|
46
|
+
for.
|
|
47
|
+
|
|
48
|
+
Dimensions: `fit: max` needs at least one of `width` / `height`
|
|
49
|
+
(aspect preserved, output may be smaller than the box). `fit: crop`
|
|
50
|
+
and `fit: scale` require BOTH `width` and `height` (they produce an
|
|
51
|
+
exact-size output). A target whose dimensions exceed the source is
|
|
52
|
+
rejected (`invalid_options`) unless `allow_upscale: true`.
|
|
53
|
+
items:
|
|
54
|
+
type: object
|
|
55
|
+
required:
|
|
56
|
+
- id
|
|
57
|
+
properties:
|
|
58
|
+
id:
|
|
59
|
+
type: string
|
|
60
|
+
pattern: '^[A-Za-z0-9._-]+$'
|
|
61
|
+
maxLength: 64
|
|
62
|
+
# `id` must be unique within the array — this is the addressing
|
|
63
|
+
# key, so duplicates would map two outputs to one `target_id`.
|
|
64
|
+
# JSON Schema `uniqueItems` only catches wholesale-identical
|
|
65
|
+
# target objects, not same-`id`-different-dims; the worker
|
|
66
|
+
# rejects duplicate ids as `invalid_options` (worker-enforced,
|
|
67
|
+
# like the dimension rules).
|
|
68
|
+
description: |
|
|
69
|
+
Caller-assigned identifier, unique within the array
|
|
70
|
+
(duplicate ids are rejected as `invalid_options`). Echoed
|
|
71
|
+
verbatim as `target_id` on the matching result output — the
|
|
72
|
+
addressing contract.
|
|
73
|
+
width:
|
|
74
|
+
type: integer
|
|
75
|
+
minimum: 1
|
|
76
|
+
maximum: 16384
|
|
77
|
+
description: "Target width in pixels. Required together with height for fit crop/scale; for fit max, at least one of width/height is required."
|
|
78
|
+
height:
|
|
79
|
+
type: integer
|
|
80
|
+
minimum: 1
|
|
81
|
+
maximum: 16384
|
|
82
|
+
description: "Target height in pixels. Required together with width for fit crop/scale; for fit max, at least one of width/height is required."
|
|
83
|
+
fit:
|
|
84
|
+
type: string
|
|
85
|
+
enum:
|
|
86
|
+
- max
|
|
87
|
+
- crop
|
|
88
|
+
- scale
|
|
89
|
+
default: max
|
|
90
|
+
description: |
|
|
91
|
+
Resize mode. max = fit within the box, aspect preserved
|
|
92
|
+
(output may be smaller); needs at least one dimension.
|
|
93
|
+
crop = fill and trim to exact width x height. scale = force
|
|
94
|
+
exact width x height. crop and scale require both dimensions.
|
|
95
|
+
quality:
|
|
96
|
+
type: integer
|
|
97
|
+
minimum: 1
|
|
98
|
+
maximum: 100
|
|
99
|
+
default: 85
|
|
100
|
+
description: "Encode quality (lossy formats only — jpeg / webp / avif). Accepted but ignored for png (lossless)."
|
|
101
|
+
output_format:
|
|
102
|
+
type: string
|
|
103
|
+
enum:
|
|
104
|
+
- jpeg
|
|
105
|
+
- png
|
|
106
|
+
- webp
|
|
107
|
+
- avif
|
|
108
|
+
description: "Output format for this variant. When omitted, the source format is preserved."
|
|
109
|
+
background:
|
|
110
|
+
type: string
|
|
111
|
+
pattern: '^#[0-9A-Fa-f]{6}$'
|
|
112
|
+
default: "#FFFFFF"
|
|
113
|
+
description: "Background colour (hex #RRGGBB), applied only when flattening a transparent source into an opaque format (e.g. a PNG with alpha rendered to JPEG). Ignored otherwise."
|
|
114
|
+
allow_upscale:
|
|
115
|
+
type: boolean
|
|
116
|
+
default: false
|
|
117
|
+
description: "When false (default), a target whose dimensions exceed the source is rejected (`invalid_options`). Set true to permit upscaling. fit max never upscales."
|
|
@@ -9,14 +9,19 @@ operation:
|
|
|
9
9
|
into N outputs per the per-mime-group catalog. Mirrors the
|
|
10
10
|
`merge` / `convert` catalog-split-by-mime-group pattern.
|
|
11
11
|
|
|
12
|
-
**Three modes** (audio + video; the mode discriminator
|
|
13
|
-
|
|
12
|
+
**Three shared modes** (audio + video; the mode discriminator
|
|
13
|
+
gates which option applies per the `depends_on` rules in this
|
|
14
14
|
schema):
|
|
15
15
|
- `interval`: split every N numeric-seconds.
|
|
16
16
|
- `count`: split into N equal-duration pieces (integer 2..=200).
|
|
17
17
|
- `cut_points`: explicit cut points in numeric-seconds (strictly
|
|
18
18
|
increasing, no duplicates, each > 0 and < probed duration).
|
|
19
19
|
|
|
20
|
+
**Plus an audio-only `silence` mode** (`beta`, gated by the
|
|
21
|
+
`silence_mode_audio` feature): cut at detected silence gaps via
|
|
22
|
+
the worker's ffmpeg `silencedetect` filter. Video stays
|
|
23
|
+
three-mode.
|
|
24
|
+
|
|
20
25
|
**GIF + PDF use range-based selection** instead of three modes:
|
|
21
26
|
- GIF (`image_gif`): `frame_range` REQUIRED + `output_format`
|
|
22
27
|
enum {png,webp,jpg}.
|
|
@@ -34,6 +39,8 @@ operation:
|
|
|
34
39
|
- `interval`: `ceil(probed_duration / interval) <= 200`
|
|
35
40
|
- `count`: enforced by the option's `min: 2 max: 200` range
|
|
36
41
|
- `cut_points`: `cut_points.len() + 1 <= 200`
|
|
42
|
+
- `silence` (audio): resolved segment count (detected gaps + 1)
|
|
43
|
+
`<= 200`; preflight rejects as `invalid_options` (422)
|
|
37
44
|
- PDF: resolved page count after expansion `<= 200`
|
|
38
45
|
(cross-ref [`WgCqnMRa`](https://trello.com/c/WgCqnMRa))
|
|
39
46
|
- GIF: resolved frame count after expansion `<= 200`
|
|
@@ -59,12 +66,15 @@ operation:
|
|
|
59
66
|
via `processing_class`). No schema-side discriminator beyond MIME
|
|
60
67
|
detection + `processing_class`.
|
|
61
68
|
|
|
62
|
-
`availability: beta` for the `audio`
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
`
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
`availability: beta` for the `audio` and `video` mime_groups
|
|
70
|
+
(workers live on staging — shape-stable + opt-in, MUST NOT 422).
|
|
71
|
+
Video activates **short-form only**: `video.processing_class.short_form`
|
|
72
|
+
is `beta`; `long_form` (the `split-video-fargate` worker) stays
|
|
73
|
+
`availability: planned` until that worker ships. The `image_gif` and
|
|
74
|
+
`document_pdf` mime_groups also stay `availability: planned` until their
|
|
75
|
+
cross-repo Lambda workers ship ([`vKI0CFDu`](https://trello.com/c/vKI0CFDu)
|
|
76
|
+
+ lambdas L1); dispatch returns `feature_not_available` (422) for the
|
|
77
|
+
still-planned groups/classes until then.
|
|
68
78
|
|
|
69
79
|
Per ADR-0014.
|
|
70
80
|
default: false
|
|
@@ -72,13 +82,14 @@ operation:
|
|
|
72
82
|
|
|
73
83
|
features:
|
|
74
84
|
silence_mode_audio:
|
|
75
|
-
availability:
|
|
85
|
+
availability: beta
|
|
76
86
|
description: |
|
|
77
87
|
Silence-detect cut mode for audio (`mode: silence` —
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
server-side silence detection in the audio split worker).
|
|
89
|
+
`beta`: shape-stable + opt-in. The worker is built; the mode
|
|
90
|
+
ships dark until the API regenerates enum validation to accept
|
|
91
|
+
`mode: silence`. The `silence` enum value carries a matching
|
|
92
|
+
`per_value_availability: beta` on `audio.mode`.
|
|
82
93
|
|
|
83
94
|
mime_groups:
|
|
84
95
|
# Animated GIF base — parallel mime_group naming follows the
|
|
@@ -161,13 +172,17 @@ operation:
|
|
|
161
172
|
options:
|
|
162
173
|
mode:
|
|
163
174
|
type: enum
|
|
164
|
-
values: [interval, count, cut_points]
|
|
175
|
+
values: [interval, count, cut_points, silence]
|
|
165
176
|
default: interval
|
|
177
|
+
per_value_availability:
|
|
178
|
+
silence: { availability: beta }
|
|
166
179
|
description: |
|
|
167
180
|
Split strategy:
|
|
168
181
|
- `interval`: cut every `interval` seconds.
|
|
169
182
|
- `count`: cut into `count` equal-duration pieces.
|
|
170
183
|
- `cut_points`: cut at explicit timestamps.
|
|
184
|
+
- `silence`: cut at detected silence gaps (audio-only,
|
|
185
|
+
`beta` via the `silence_mode_audio` feature gate).
|
|
171
186
|
|
|
172
187
|
interval:
|
|
173
188
|
type: float
|
|
@@ -212,30 +227,69 @@ operation:
|
|
|
212
227
|
200-output cap declaratively. Only valid when
|
|
213
228
|
`mode: cut_points`.
|
|
214
229
|
|
|
230
|
+
silence_threshold_db:
|
|
231
|
+
type: float
|
|
232
|
+
max: 0.0
|
|
233
|
+
default: -50.0
|
|
234
|
+
depends_on: { mode: silence }
|
|
235
|
+
# Maps to the worker's silence-detection noise floor.
|
|
236
|
+
description: |
|
|
237
|
+
Noise floor below which audio counts as silence, in dBFS
|
|
238
|
+
(negative; 0.0 = full scale). Strictly negative in
|
|
239
|
+
practice; `max: 0.0` is the declarative ceiling (a 0 dB
|
|
240
|
+
"silence" floor is degenerate, like the strict bounds
|
|
241
|
+
documented in prose for `cut_points`). Only valid when
|
|
242
|
+
`mode: silence`.
|
|
243
|
+
|
|
244
|
+
silence_min_duration:
|
|
245
|
+
type: float
|
|
246
|
+
min: 0.001
|
|
247
|
+
default: 0.75
|
|
248
|
+
depends_on: { mode: silence }
|
|
249
|
+
# Maps to the worker's silence-detection minimum-duration parameter.
|
|
250
|
+
description: |
|
|
251
|
+
Minimum duration of a silence gap, in numeric seconds
|
|
252
|
+
(sub-second allowed), before it is treated as a cut point.
|
|
253
|
+
`min: 0.001` is the strict-positive sub-second idiom
|
|
254
|
+
(cf. `interval`). Only valid when `mode: silence`.
|
|
255
|
+
|
|
256
|
+
silence_handling:
|
|
257
|
+
type: enum
|
|
258
|
+
values: [keep_at_end]
|
|
259
|
+
default: keep_at_end
|
|
260
|
+
depends_on: { mode: silence }
|
|
261
|
+
description: |
|
|
262
|
+
How detected silence is handled at segment boundaries.
|
|
263
|
+
`keep_at_end`: trailing silence stays appended to the
|
|
264
|
+
preceding segment (no separate silence-only outputs).
|
|
265
|
+
Only valid when `mode: silence`.
|
|
266
|
+
|
|
215
267
|
precision:
|
|
216
268
|
type: enum
|
|
217
269
|
values: [fast, exact]
|
|
218
270
|
default: fast
|
|
271
|
+
# Don't use "keyframe" language here — that's video-only;
|
|
272
|
+
# audio drift is packet-boundary.
|
|
219
273
|
description: |
|
|
220
274
|
Cut precision. Under `fast`, audio cuts are
|
|
221
275
|
packet-boundary approximate (drift bounded by codec
|
|
222
276
|
packet size — typically <= 23ms for AAC, <= 26ms for
|
|
223
277
|
MP3). Under `exact`, the Lambda re-encodes to align cuts
|
|
224
278
|
precisely at the requested timestamps (slower, larger
|
|
225
|
-
output, but sample-accurate).
|
|
226
|
-
— that's video-only; audio drift is packet-boundary.
|
|
279
|
+
output, but sample-accurate).
|
|
227
280
|
|
|
228
281
|
# Video base — same three modes + precision + processing_class.
|
|
229
282
|
# Long-form routes to `split-video-fargate` (same OperationType,
|
|
230
283
|
# different worker per `processing_class`).
|
|
231
284
|
video:
|
|
232
|
-
availability:
|
|
285
|
+
availability: beta
|
|
233
286
|
mimes:
|
|
234
287
|
- video/mp4
|
|
235
288
|
- video/webm
|
|
289
|
+
- video/quicktime
|
|
236
290
|
processing_class:
|
|
237
291
|
short_form:
|
|
238
|
-
availability:
|
|
292
|
+
availability: beta
|
|
239
293
|
constraints:
|
|
240
294
|
max_input_duration: "PT5M"
|
|
241
295
|
max_input_size_bytes: 524288000
|
|
@@ -25,10 +25,10 @@ operation:
|
|
|
25
25
|
text:
|
|
26
26
|
type: string
|
|
27
27
|
required: true
|
|
28
|
+
# Rendered with the bundled Liberation Sans (SIL OFL); a single
|
|
29
|
+
# text overlay is capped at 4 megapixels before rendering fails.
|
|
28
30
|
description: |
|
|
29
|
-
Watermark text. Must be non-empty.
|
|
30
|
-
Liberation Sans (SIL OFL). A single text overlay is capped
|
|
31
|
-
at 4 megapixels before rendering fails.
|
|
31
|
+
Watermark text. Must be non-empty.
|
|
32
32
|
|
|
33
33
|
font_size:
|
|
34
34
|
type: float
|
|
@@ -59,11 +59,11 @@ operation:
|
|
|
59
59
|
min: -360.0
|
|
60
60
|
max: 360.0
|
|
61
61
|
default: -45.0
|
|
62
|
+
# Tiled canvas is capped at 25 megapixels pre-rotation with a
|
|
63
|
+
# 5000 px maximum side length.
|
|
62
64
|
description: |
|
|
63
65
|
Rotation angle in degrees. Default -45° suits tiled mode
|
|
64
|
-
(angled diagonal pattern). Clamped to range.
|
|
65
|
-
capped at 25 megapixels pre-rotation with 5000 px maximum
|
|
66
|
-
side length.
|
|
66
|
+
(angled diagonal pattern). Clamped to range.
|
|
67
67
|
|
|
68
68
|
watermark_mode:
|
|
69
69
|
type: enum
|
|
@@ -58,9 +58,9 @@ operation:
|
|
|
58
58
|
text:
|
|
59
59
|
type: string
|
|
60
60
|
required: true
|
|
61
|
+
# Rendered with the bundled Liberation Sans (SIL OFL).
|
|
61
62
|
description: |
|
|
62
|
-
Watermark text. Must be non-empty.
|
|
63
|
-
Liberation Sans (SIL OFL).
|
|
63
|
+
Watermark text. Must be non-empty.
|
|
64
64
|
|
|
65
65
|
font_size:
|
|
66
66
|
type: float
|
|
@@ -4,12 +4,15 @@ operation:
|
|
|
4
4
|
type: video_watermark
|
|
5
5
|
availability: beta
|
|
6
6
|
description: |
|
|
7
|
-
Apply an image overlay
|
|
7
|
+
Apply an image overlay onto a base video
|
|
8
8
|
asset using FFmpeg's `overlay` filter. Multi-input role-based:
|
|
9
9
|
exactly one input with `role: base` (the source video) + exactly
|
|
10
|
-
one with `role: overlay` (the watermark image).
|
|
11
|
-
|
|
12
|
-
`
|
|
10
|
+
one with `role: overlay` (the watermark image). Each input is a
|
|
11
|
+
`MultiInputSource` — an external_import handle, a vault connection,
|
|
12
|
+
or an upstream `job_output` (uploads are NOT referenced directly
|
|
13
|
+
inside inputs[]). To use an uploaded base or overlay, feed it through
|
|
14
|
+
a `passthrough` source job and reference it via `{ type: job_output,
|
|
15
|
+
from: <id> }` (per ticket 4som89Uh).
|
|
13
16
|
|
|
14
17
|
**Dedicated operation, not an extension of `image_watermark`.**
|
|
15
18
|
`image_watermark` is pure-Rust/no-FFmpeg and handles
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@giveitsmaller/contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Generated contract types for GISL (Give It Smaller)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -35,6 +35,8 @@
|
|
|
35
35
|
"./operations/schemas/custom_luma.yaml": "./operations/schemas/custom_luma.yaml",
|
|
36
36
|
"./operations/schemas/image_watermark.yaml": "./operations/schemas/image_watermark.yaml",
|
|
37
37
|
"./operations/schemas/merge.yaml": "./operations/schemas/merge.yaml",
|
|
38
|
+
"./operations/schemas/passthrough.yaml": "./operations/schemas/passthrough.yaml",
|
|
39
|
+
"./operations/schemas/render_variants.yaml": "./operations/schemas/render_variants.yaml",
|
|
38
40
|
"./operations/schemas/split.yaml": "./operations/schemas/split.yaml",
|
|
39
41
|
"./operations/schemas/text_watermark.yaml": "./operations/schemas/text_watermark.yaml",
|
|
40
42
|
"./operations/schemas/thumbnail.yaml": "./operations/schemas/thumbnail.yaml",
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GISL Compression API
|
|
3
|
-
* REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
|
|
4
|
-
*
|
|
5
|
-
* The version of the OpenAPI document: 2.31.0
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
-
* https://openapi-generator.tech
|
|
10
|
-
* Do not edit the class manually.
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
* @export
|
|
15
|
-
* @interface LogoutUser200Response
|
|
16
|
-
*/
|
|
17
|
-
export interface LogoutUser200Response {
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* @type {LogoutUser200ResponseSuccessEnum}
|
|
21
|
-
* @memberof LogoutUser200Response
|
|
22
|
-
*/
|
|
23
|
-
success: LogoutUser200ResponseSuccessEnum;
|
|
24
|
-
/**
|
|
25
|
-
* Empty object on logout success — preserves the
|
|
26
|
-
* `{ success: true, data: {...} }` envelope
|
|
27
|
-
* invariant from `info.description`. Logout has
|
|
28
|
-
* no return payload; the data slot is always
|
|
29
|
-
* `{}`.
|
|
30
|
-
*
|
|
31
|
-
* @type {object}
|
|
32
|
-
* @memberof LogoutUser200Response
|
|
33
|
-
*/
|
|
34
|
-
data: object;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* @export
|
|
38
|
-
*/
|
|
39
|
-
export declare const LogoutUser200ResponseSuccessEnum: {
|
|
40
|
-
readonly true: true;
|
|
41
|
-
};
|
|
42
|
-
export type LogoutUser200ResponseSuccessEnum = typeof LogoutUser200ResponseSuccessEnum[keyof typeof LogoutUser200ResponseSuccessEnum];
|
|
43
|
-
/**
|
|
44
|
-
* Check if a given object implements the LogoutUser200Response interface.
|
|
45
|
-
*/
|
|
46
|
-
export declare function instanceOfLogoutUser200Response(value: object): value is LogoutUser200Response;
|
|
47
|
-
export declare function LogoutUser200ResponseFromJSON(json: any): LogoutUser200Response;
|
|
48
|
-
export declare function LogoutUser200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): LogoutUser200Response;
|
|
49
|
-
export declare function LogoutUser200ResponseToJSON(json: any): LogoutUser200Response;
|
|
50
|
-
export declare function LogoutUser200ResponseToJSONTyped(value?: LogoutUser200Response | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/* tslint:disable */
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
/**
|
|
4
|
-
* GISL Compression API
|
|
5
|
-
* REST API for the GISL (Give It Smaller) file compression and processing service. **Architecture:** - Upload files to get a `file_id` - Create workflows referencing uploaded files with operations (compress, thumbnail, image_watermark, text_watermark, merge, archive, convert, custom_luma, audio_overlay, audio_watermark) - Poll status, stream SSE events, or receive webhook callbacks - Download results per operation output **Response envelope:** All mutation and query endpoints return `{ success: true, data: {...} }` on success and `{ success: false, error: \"...\", details: [...] }` on failure. Exceptions: `GET /api/operations/schema` returns raw JSON (per-tier private caching with ETag/Last-Modified revalidation per ADR-0002 + I3), health probes return flat objects, and `POST /api/contact` returns 204 with no body. **Availability metadata.** This spec uses the `x-availability` vendor extension as **decorative documentation only**. Per [ADR-0001](../docs/decisions/0001-contract-first-availability.md) §1.5, the runtime endpoint `GET /api/operations/schema` (ticket I3) is the authoritative source; the sidecar `availability.json` (ticket I3b) is the authoritative companion (generated, never hand-edited; CI cross-checks runtime ⇄ sidecar). SDKs MUST NOT depend on `x-availability` reaching generated code — code-generators that surface vendor extensions may emit it as documentation, but consumers read availability from the runtime endpoint, not from the generated bindings. The 5-value vocabulary (`stable | beta | experimental | planned | deprecated`) is defined in the `AvailabilityValue` schema. See `schemas/FORMAT.md` §Availability Taxonomy for the operational rules (parser obligation: absent = stable; per-enum-value granularity is the `per_value_availability` primitive landed via ticket I17). **Localisation (per ticket [I26](https://trello.com/c/rcnqwgI4)).** Error responses + paused/blocked workflow statuses carry a localised human-readable `message` alongside a stable, never-localised `message_key`. Machine-readable fields (`error`, enum values, status codes) stay canonical English. - **Currently committed locales:** `en-GB` only (per ticket [`4GKyuYo6`](https://trello.com/c/4GKyuYo6)). The I26 carrier shape (`Accept-Language` + `Content-Language` + `Vary` headers + `locale` envelope field + `message_key` + `message_params`) is stable and exercised; the **catalog** of translated `message` strings is en-GB-only at runtime today. Additional locales (e.g. `pt-PT`) will be advertised by name when their catalogs ship — the request/response carrier shape does NOT change when a new locale lands. Treat unrequested locales as \"machine-code + `message_key` path is committed; localised `message` prose is not\" until this prose enumerates them by name. - **Request:** `Accept-Language` header per RFC 9110 §12.5.4 (q-value negotiation supported). The server selects the best-match locale from its supported list; falls back to `en-GB` when no match — which, until additional catalogs land, is every non-`en-GB` `Accept-Language`. - **Response:** `Content-Language: <locale>` echo on every localised response; `Vary: Accept-Language` on every response (CDN/cache correctness — different `Accept-Language` requests produce different responses). `Vary` is emitted unconditionally so the header contract does not flip when a second locale ships. - **Fallback locale:** `en-GB` (also the canonical locale for `message_key` translations and English `message` prose). - **SDK guidance:** switch on `error` (machine code) for typed error branches; surface `message_key` to client-side i18n catalogs (SDK companion work tracked at X19, cross-repo); display `message` for end-user UI; **never parse `message` for control flow** — it changes per locale. Carrier shape lives on `ErrorEnvelope` (envelope-level optional `message_key` + `message` + `locale` + `message_params`) and `ValidationErrorEnvelope` (also per-`details[]` entry). Existing 402 / 403 / 422 envelopes (`BalanceExhaustedResponse`, `FeatureNotAvailableResponse`, `FeatureTierRestrictedResponse`, `WorkflowPausedDetail`) inherit the convention. **Upload thresholds (per tickets [u0ar7Yye](https://trello.com/c/u0ar7Yye) + [58nBQLWQ](https://trello.com/c/58nBQLWQ)).** Canonical upload constants (single-shot cap, multipart chunk size, multipart concurrency default, multipart first-chunk size) live on the `UploadThresholds` schema with `const:`-pinned values. SDK generators emit these as typed binding constants so frontend / API / SDKs reference one source of truth instead of hardcoding magic numbers. A runtime `GET /api/uploads/limits` endpoint for dynamic discovery (per-tier / per-environment overrides) is a deferred follow-up.
|
|
6
|
-
*
|
|
7
|
-
* The version of the OpenAPI document: 2.31.0
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
-
* https://openapi-generator.tech
|
|
12
|
-
* Do not edit the class manually.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* @export
|
|
16
|
-
*/
|
|
17
|
-
export const LogoutUser200ResponseSuccessEnum = {
|
|
18
|
-
true: true
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Check if a given object implements the LogoutUser200Response interface.
|
|
22
|
-
*/
|
|
23
|
-
export function instanceOfLogoutUser200Response(value) {
|
|
24
|
-
if (!('success' in value) || value['success'] === undefined)
|
|
25
|
-
return false;
|
|
26
|
-
if (!('data' in value) || value['data'] === undefined)
|
|
27
|
-
return false;
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
export function LogoutUser200ResponseFromJSON(json) {
|
|
31
|
-
return LogoutUser200ResponseFromJSONTyped(json, false);
|
|
32
|
-
}
|
|
33
|
-
export function LogoutUser200ResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
34
|
-
if (json == null) {
|
|
35
|
-
return json;
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
'success': json['success'],
|
|
39
|
-
'data': json['data'],
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
export function LogoutUser200ResponseToJSON(json) {
|
|
43
|
-
return LogoutUser200ResponseToJSONTyped(json, false);
|
|
44
|
-
}
|
|
45
|
-
export function LogoutUser200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
46
|
-
if (value == null) {
|
|
47
|
-
return value;
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
'success': value['success'],
|
|
51
|
-
'data': value['data'],
|
|
52
|
-
};
|
|
53
|
-
}
|
|
File without changes
|