@giveitsmaller/contracts 0.8.0 → 0.9.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 +288 -153
- package/availability/availability.json +50 -17
- package/dist/asyncapi/LongFormJobMessage.d.ts +4 -3
- package/dist/asyncapi/LongFormOperationType.d.ts +5 -0
- package/dist/asyncapi/LongFormOperationType.js +6 -0
- package/dist/asyncapi/LongFormProcessingClass.d.ts +4 -0
- package/dist/asyncapi/LongFormProcessingClass.js +5 -0
- package/dist/asyncapi/SourceEntry.d.ts +2 -0
- package/dist/asyncapi/index.d.ts +2 -1
- package/dist/asyncapi/index.js +2 -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/AvailabilityValue.d.ts +1 -1
- package/dist/openapi/models/AvailabilityValue.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/CallbackEventType.d.ts +1 -1
- package/dist/openapi/models/CallbackEventType.js +1 -1
- package/dist/openapi/models/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/CreateExternalImport403Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +6 -2
- package/dist/openapi/models/CreateExternalImport422Response.js +17 -21
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +10 -2
- package/dist/openapi/models/CreateWorkflow422Response.js +27 -35
- 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/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 +7 -8
- 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/JobDefinition.d.ts +8 -5
- 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/JobOutputSource.d.ts +1 -1
- package/dist/openapi/models/JobOutputSource.js +1 -1
- package/dist/openapi/models/JobResponse.d.ts +23 -1
- package/dist/openapi/models/JobResponse.js +4 -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/LogoutUser200Response.d.ts +1 -1
- package/dist/openapi/models/LogoutUser200Response.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/MultipartCompleteRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
- package/dist/openapi/models/MultipartPartListing.js +1 -1
- package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignRequest.js +1 -1
- package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignResponse.js +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusResponse.js +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/OperationDefinition.d.ts +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 +1 -1
- package/dist/openapi/models/OperationInputModel.js +1 -1
- package/dist/openapi/models/OperationResponse.d.ts +1 -1
- package/dist/openapi/models/OperationResponse.js +1 -1
- package/dist/openapi/models/OperationResult.d.ts +1 -1
- package/dist/openapi/models/OperationResult.js +1 -1
- package/dist/openapi/models/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 +14 -12
- package/dist/openapi/models/OperationType.js +14 -12
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +8 -1
- package/dist/openapi/models/OperationsSchemaResponse.js +4 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +55 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +42 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +40 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +45 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +45 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +43 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +33 -0
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +42 -0
- package/dist/openapi/models/OptionSchema.d.ts +1 -1
- package/dist/openapi/models/OptionSchema.js +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
- package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
- package/dist/openapi/models/PresignedUrlPart.js +1 -1
- package/dist/openapi/models/ProbePendingResponse.d.ts +8 -7
- 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/ProcessingClassExceedsBandResponse.d.ts +7 -5
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
- package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassHint.js +1 -1
- package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassReason.js +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.js +1 -1
- package/dist/openapi/models/ProcessingPlan.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlan.js +1 -1
- package/dist/openapi/models/ProcessingPlanJob.d.ts +1 -1
- package/dist/openapi/models/ProcessingPlanJob.js +1 -1
- package/dist/openapi/models/ReEncodeDecision.d.ts +1 -1
- package/dist/openapi/models/ReEncodeDecision.js +1 -1
- package/dist/openapi/models/ReadinessResponse.d.ts +1 -1
- package/dist/openapi/models/ReadinessResponse.js +1 -1
- package/dist/openapi/models/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 +3 -2
- 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/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 +31 -4
- package/dist/openapi/models/ValidationErrorEnvelope.js +11 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
- package/dist/openapi/models/WarningType.d.ts +1 -1
- package/dist/openapi/models/WarningType.js +1 -1
- package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
- package/dist/openapi/models/WebhookOperationContext.js +1 -1
- package/dist/openapi/models/WebhookPayload.d.ts +1 -1
- package/dist/openapi/models/WebhookPayload.js +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
- package/dist/openapi/models/WorkflowEdge.js +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
- package/dist/openapi/models/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/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/audio_to_video.metadata.js +1 -1
- package/dist/operations/merge.metadata.js +0 -3
- package/dist/operations/split.metadata.js +5 -1
- package/dist/operations/video_watermark.metadata.js +2 -2
- package/openapi/api.yaml +258 -72
- package/operations/schemas/audio_to_video.yaml +6 -4
- package/operations/schemas/custom_luma.yaml +3 -4
- package/operations/schemas/merge.yaml +6 -6
- package/operations/schemas/split.yaml +11 -4
- package/operations/schemas/video_watermark.yaml +13 -5
- package/package.json +1 -1
- package/dist/asyncapi/AnonymousSchema_253.d.ts +0 -5
- package/dist/asyncapi/AnonymousSchema_253.js +0 -6
package/openapi/api.yaml
CHANGED
|
@@ -89,7 +89,7 @@ info:
|
|
|
89
89
|
of truth instead of hardcoding magic numbers. A runtime
|
|
90
90
|
`GET /api/uploads/limits` endpoint for dynamic discovery
|
|
91
91
|
(per-tier / per-environment overrides) is a deferred follow-up.
|
|
92
|
-
version: 2.
|
|
92
|
+
version: 2.31.0
|
|
93
93
|
contact:
|
|
94
94
|
name: API Support
|
|
95
95
|
|
|
@@ -1146,10 +1146,12 @@ paths:
|
|
|
1146
1146
|
discriminated union with 4 leaves: `upload` /
|
|
1147
1147
|
`external_import` / `connection` / `job_output`).
|
|
1148
1148
|
- **Multi-input jobs** (merge, archive, image_watermark,
|
|
1149
|
-
custom_luma, audio_overlay):
|
|
1149
|
+
custom_luma, audio_overlay, audio_to_video, video_watermark):
|
|
1150
|
+
provide `inputs[]` with
|
|
1150
1151
|
`JobInputV2` entries. Each entry has its own `source`
|
|
1151
1152
|
(same `WorkflowSource` union), plus optional `role`
|
|
1152
|
-
(image_watermark, custom_luma, audio_overlay
|
|
1153
|
+
(image_watermark, custom_luma, audio_overlay, audio_to_video,
|
|
1154
|
+
video_watermark) and
|
|
1153
1155
|
`per_input_options`.
|
|
1154
1156
|
|
|
1155
1157
|
Exactly one of `source` or `inputs` is required per job.
|
|
@@ -1184,8 +1186,9 @@ paths:
|
|
|
1184
1186
|
|
|
1185
1187
|
**Multi-input constraint:** multi-input jobs (`inputs[]`) must
|
|
1186
1188
|
have exactly one operation, which must be a multi-input type
|
|
1187
|
-
(`merge`, `archive`, `image_watermark`, `custom_luma`,
|
|
1188
|
-
`audio_overlay`).
|
|
1189
|
+
(`merge`, `archive`, `image_watermark`, `custom_luma`,
|
|
1190
|
+
`audio_overlay`, `audio_to_video`, or `video_watermark`).
|
|
1191
|
+
Chaining after a multi-input operation is
|
|
1189
1192
|
not valid — create a downstream `job_output`-sourced job
|
|
1190
1193
|
instead.
|
|
1191
1194
|
|
|
@@ -1393,11 +1396,59 @@ paths:
|
|
|
1393
1396
|
max_parallel_long_form_jobs: 2
|
|
1394
1397
|
warnings: []
|
|
1395
1398
|
'400':
|
|
1396
|
-
description:
|
|
1399
|
+
description: |
|
|
1400
|
+
Bad request — malformed request body, or a workflow-DAG
|
|
1401
|
+
structural violation caught before semantic validation. The
|
|
1402
|
+
`ErrorEnvelope.error` field carries a specific machine code (per
|
|
1403
|
+
[`g8PPkbNu`](https://trello.com/c/g8PPkbNu) — narrower
|
|
1404
|
+
DAG-validation codes; HTTP statuses unchanged, only the code
|
|
1405
|
+
narrows). Conformance-safe: `error` is a free string (no enum).
|
|
1406
|
+
- `WORKFLOW_EDGE_REFERENCES_UNKNOWN_JOB` — a `workflow_edges`
|
|
1407
|
+
entry, a job-level `source`, or an `inputs[].source` references
|
|
1408
|
+
a job `ref`/`id` not present in the request (one code across
|
|
1409
|
+
all unknown-job-reference sites).
|
|
1410
|
+
- `CYCLIC_JOB_OUTPUT_SOURCE_GRAPH` — an implicit cycle in the
|
|
1411
|
+
`job_output` source graph, detected during effective-input-MIME
|
|
1412
|
+
resolution (distinct from explicit `workflow_edges` cycles,
|
|
1413
|
+
which are 422 `CYCLIC_WORKFLOW_EDGES`).
|
|
1414
|
+
- `RESERVED_JOB_ID_PATTERN` — a user-supplied job `id` matches the
|
|
1415
|
+
reserved `^job_\d+$` pattern **and is the SOLE validation
|
|
1416
|
+
failure**; mixed-violation requests keep the aggregated generic
|
|
1417
|
+
`BAD_REQUEST`.
|
|
1418
|
+
- `BAD_REQUEST` — malformed JSON / generic body validation, or any
|
|
1419
|
+
mixed/aggregated violation set.
|
|
1397
1420
|
content:
|
|
1398
1421
|
application/json:
|
|
1399
1422
|
schema:
|
|
1400
1423
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
1424
|
+
examples:
|
|
1425
|
+
edge_references_unknown_job:
|
|
1426
|
+
summary: A workflow reference points at a job that does not exist
|
|
1427
|
+
value:
|
|
1428
|
+
success: false
|
|
1429
|
+
error: "WORKFLOW_EDGE_REFERENCES_UNKNOWN_JOB"
|
|
1430
|
+
message: "A workflow reference points at a job that does not exist."
|
|
1431
|
+
message_key: "error.workflow_edge_references_unknown_job"
|
|
1432
|
+
reserved_job_id_pattern:
|
|
1433
|
+
summary: Sole violation — a job id uses the reserved pattern
|
|
1434
|
+
value:
|
|
1435
|
+
success: false
|
|
1436
|
+
error: "RESERVED_JOB_ID_PATTERN"
|
|
1437
|
+
message: "Job id must not use the reserved pattern (job_<number>)."
|
|
1438
|
+
message_key: "error.reserved_job_id_pattern"
|
|
1439
|
+
cyclic_job_output_source_graph:
|
|
1440
|
+
summary: Implicit cycle in the job_output source graph
|
|
1441
|
+
value:
|
|
1442
|
+
success: false
|
|
1443
|
+
error: "CYCLIC_JOB_OUTPUT_SOURCE_GRAPH"
|
|
1444
|
+
message: "Job output sources form a cycle."
|
|
1445
|
+
message_key: "error.cyclic_job_output_source_graph"
|
|
1446
|
+
bad_request_malformed:
|
|
1447
|
+
summary: Malformed JSON / generic or mixed-violation body
|
|
1448
|
+
value:
|
|
1449
|
+
success: false
|
|
1450
|
+
error: "BAD_REQUEST"
|
|
1451
|
+
message: "Invalid workflow request"
|
|
1401
1452
|
'403':
|
|
1402
1453
|
description: |
|
|
1403
1454
|
Forbidden — tier-quota or feature-tier restriction. Discriminated
|
|
@@ -1496,10 +1547,19 @@ paths:
|
|
|
1496
1547
|
Semantically invalid request. One of:
|
|
1497
1548
|
|
|
1498
1549
|
- Generic validation error (unknown operation type, invalid
|
|
1499
|
-
option combinations,
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1550
|
+
option combinations, multi-input job with multiple
|
|
1551
|
+
operations) — returned as `ValidationErrorEnvelope`
|
|
1552
|
+
(`error_type: "validation_error"`, per ADR-0018).
|
|
1553
|
+
- Cyclic explicit `workflow_edges` (a cycle or self-edge in the
|
|
1554
|
+
edge DAG) — returned as a `ValidationErrorEnvelope` with
|
|
1555
|
+
`error_type: "validation_error"`, `error:
|
|
1556
|
+
"CYCLIC_WORKFLOW_EDGES"`, `message_key:
|
|
1557
|
+
"error.cyclic_workflow_edges"`, and a `details[0].field =
|
|
1558
|
+
"workflow_edges"` entry (per
|
|
1559
|
+
[`g8PPkbNu`](https://trello.com/c/g8PPkbNu)). Implicit
|
|
1560
|
+
`job_output` source-graph cycles and unknown-job references are
|
|
1561
|
+
narrower **400** codes (`CYCLIC_JOB_OUTPUT_SOURCE_GRAPH` /
|
|
1562
|
+
`WORKFLOW_EDGE_REFERENCES_UNKNOWN_JOB`) — see the 400 response.
|
|
1503
1563
|
- Feature-availability violation (workflow references one or
|
|
1504
1564
|
more `planned` / `experimental` / non-enabled-`beta`
|
|
1505
1565
|
features) — returned as `FeatureNotAvailableResponse`
|
|
@@ -1537,29 +1597,34 @@ paths:
|
|
|
1537
1597
|
or `always`. The compatibility-probe algorithm is
|
|
1538
1598
|
server-side and deliberately opaque per plan v5 §F8.2.
|
|
1539
1599
|
|
|
1540
|
-
|
|
1541
|
-
(
|
|
1542
|
-
`
|
|
1543
|
-
|
|
1544
|
-
`
|
|
1545
|
-
`
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
`
|
|
1552
|
-
|
|
1553
|
-
`
|
|
1554
|
-
|
|
1555
|
-
`
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1600
|
+
**Branch dispatch via the `error_type` discriminator** (per
|
|
1601
|
+
[ADR-0018](../docs/decisions/0018-universal-422-error-type-discriminator.md)).
|
|
1602
|
+
All four branches carry a required `error_type` enum, so the
|
|
1603
|
+
`oneOf` declares an explicit `discriminator`
|
|
1604
|
+
(`propertyName: error_type`):
|
|
1605
|
+
- `validation_error` → `ValidationErrorEnvelope` (carries
|
|
1606
|
+
`details[]`; the specific failure is in the `error` machine
|
|
1607
|
+
code — `INVALID_OPTIONS`, `REQUIRES_REENCODE`,
|
|
1608
|
+
`CYCLIC_WORKFLOW_EDGES`, …). The `REQUIRES_REENCODE` flavour
|
|
1609
|
+
(per I16-CONS) reuses this same envelope/`error_type` and is
|
|
1610
|
+
distinguished only by its `error` code.
|
|
1611
|
+
- `feature_not_available` → `FeatureNotAvailableResponse`
|
|
1612
|
+
(`violations[]`).
|
|
1613
|
+
- `processing_class_exceeds_band` →
|
|
1614
|
+
`ProcessingClassExceedsBandResponse` (`violations[]`).
|
|
1615
|
+
- `probe_pending` → `ProbePendingResponse` (`job_ref`, no
|
|
1616
|
+
`violations[]`/`details[]`), emitted when the probe-pending
|
|
1617
|
+
gate is on and a job's upload has not yet been probed.
|
|
1618
|
+
|
|
1619
|
+
The prior 422 shape is otherwise preserved unchanged — the
|
|
1620
|
+
`details[]` / `violations[]` / `job_ref` required-field shapes
|
|
1621
|
+
still hold, so structural duck-typing keeps working; the
|
|
1622
|
+
discriminator simply lets generated SDK clients dispatch on a
|
|
1623
|
+
single property instead of mis-firing `instanceOf` guards
|
|
1624
|
+
(camelCase-vs-snake_case). `error_type: validation_error` is a
|
|
1625
|
+
**new required field** on `ValidationErrorEnvelope` — the
|
|
1626
|
+
server populates it at every emission site (rollout coordinated
|
|
1627
|
+
with the API per ADR-0018).
|
|
1563
1628
|
headers:
|
|
1564
1629
|
Retry-After:
|
|
1565
1630
|
required: false
|
|
@@ -1583,11 +1648,19 @@ paths:
|
|
|
1583
1648
|
- $ref: '#/components/schemas/FeatureNotAvailableResponse'
|
|
1584
1649
|
- $ref: '#/components/schemas/ProcessingClassExceedsBandResponse'
|
|
1585
1650
|
- $ref: '#/components/schemas/ProbePendingResponse'
|
|
1651
|
+
discriminator:
|
|
1652
|
+
propertyName: error_type
|
|
1653
|
+
mapping:
|
|
1654
|
+
validation_error: '#/components/schemas/ValidationErrorEnvelope'
|
|
1655
|
+
feature_not_available: '#/components/schemas/FeatureNotAvailableResponse'
|
|
1656
|
+
processing_class_exceeds_band: '#/components/schemas/ProcessingClassExceedsBandResponse'
|
|
1657
|
+
probe_pending: '#/components/schemas/ProbePendingResponse'
|
|
1586
1658
|
examples:
|
|
1587
1659
|
validation_error:
|
|
1588
1660
|
summary: Generic validation error (legacy shape)
|
|
1589
1661
|
value:
|
|
1590
1662
|
success: false
|
|
1663
|
+
error_type: "validation_error"
|
|
1591
1664
|
error: "INVALID_OPTIONS"
|
|
1592
1665
|
details:
|
|
1593
1666
|
- operation: "compress"
|
|
@@ -1596,6 +1669,17 @@ paths:
|
|
|
1596
1669
|
- operation: "thumbnail"
|
|
1597
1670
|
option: "width"
|
|
1598
1671
|
message: "Required field"
|
|
1672
|
+
cyclic_workflow_edges:
|
|
1673
|
+
summary: Cyclic or self-referential explicit workflow_edges (g8PPkbNu)
|
|
1674
|
+
value:
|
|
1675
|
+
success: false
|
|
1676
|
+
error_type: "validation_error"
|
|
1677
|
+
error: "CYCLIC_WORKFLOW_EDGES"
|
|
1678
|
+
message: "Workflow edges form a cycle."
|
|
1679
|
+
message_key: "error.cyclic_workflow_edges"
|
|
1680
|
+
details:
|
|
1681
|
+
- field: "workflow_edges"
|
|
1682
|
+
message: "Workflow edges form a cycle."
|
|
1599
1683
|
feature_not_available:
|
|
1600
1684
|
summary: Workflow references planned features
|
|
1601
1685
|
value:
|
|
@@ -1663,6 +1747,7 @@ paths:
|
|
|
1663
1747
|
summary: merge.video re_encode_mode=never with incompatible inputs (I16-CONS)
|
|
1664
1748
|
value:
|
|
1665
1749
|
success: false
|
|
1750
|
+
error_type: "validation_error"
|
|
1666
1751
|
error: "REQUIRES_REENCODE"
|
|
1667
1752
|
details:
|
|
1668
1753
|
- operation: "merge"
|
|
@@ -2793,6 +2878,11 @@ paths:
|
|
|
2793
2878
|
oneOf:
|
|
2794
2879
|
- $ref: '#/components/schemas/ValidationErrorEnvelope'
|
|
2795
2880
|
- $ref: '#/components/schemas/FeatureNotAvailableResponse'
|
|
2881
|
+
discriminator:
|
|
2882
|
+
propertyName: error_type
|
|
2883
|
+
mapping:
|
|
2884
|
+
validation_error: '#/components/schemas/ValidationErrorEnvelope'
|
|
2885
|
+
feature_not_available: '#/components/schemas/FeatureNotAvailableResponse'
|
|
2796
2886
|
'429':
|
|
2797
2887
|
description: Rate limit exceeded
|
|
2798
2888
|
content:
|
|
@@ -2905,6 +2995,11 @@ paths:
|
|
|
2905
2995
|
oneOf:
|
|
2906
2996
|
- $ref: '#/components/schemas/ValidationErrorEnvelope'
|
|
2907
2997
|
- $ref: '#/components/schemas/FeatureNotAvailableResponse'
|
|
2998
|
+
discriminator:
|
|
2999
|
+
propertyName: error_type
|
|
3000
|
+
mapping:
|
|
3001
|
+
validation_error: '#/components/schemas/ValidationErrorEnvelope'
|
|
3002
|
+
feature_not_available: '#/components/schemas/FeatureNotAvailableResponse'
|
|
2908
3003
|
'429':
|
|
2909
3004
|
description: |
|
|
2910
3005
|
Rate limit exceeded for decode requests. Decode
|
|
@@ -3191,6 +3286,7 @@ paths:
|
|
|
3191
3286
|
$ref: '#/components/schemas/ValidationErrorEnvelope'
|
|
3192
3287
|
example:
|
|
3193
3288
|
success: false
|
|
3289
|
+
error_type: "validation_error"
|
|
3194
3290
|
error: "VALIDATION_FAILED"
|
|
3195
3291
|
details:
|
|
3196
3292
|
- field: "limit"
|
|
@@ -3489,11 +3585,30 @@ components:
|
|
|
3489
3585
|
required:
|
|
3490
3586
|
- success
|
|
3491
3587
|
- error
|
|
3588
|
+
- error_type
|
|
3492
3589
|
- details
|
|
3493
3590
|
properties:
|
|
3494
3591
|
success:
|
|
3495
3592
|
type: boolean
|
|
3496
3593
|
enum: [false]
|
|
3594
|
+
error_type:
|
|
3595
|
+
type: string
|
|
3596
|
+
enum:
|
|
3597
|
+
- validation_error
|
|
3598
|
+
description: |
|
|
3599
|
+
Discriminator for the multi-branch 422 `oneOf` (per
|
|
3600
|
+
[ADR-0018](../docs/decisions/0018-universal-422-error-type-discriminator.md)).
|
|
3601
|
+
Always `validation_error` on this envelope. Added so the four
|
|
3602
|
+
422 branches (`ValidationErrorEnvelope`,
|
|
3603
|
+
`FeatureNotAvailableResponse`,
|
|
3604
|
+
`ProcessingClassExceedsBandResponse`, `ProbePendingResponse`)
|
|
3605
|
+
share a single discriminator property — generated SDK clients
|
|
3606
|
+
dispatch on `error_type` instead of structural `instanceOf`
|
|
3607
|
+
guards (which mis-fire on camelCase-vs-snake_case property
|
|
3608
|
+
names). Distinct from the `error` machine code below: `error`
|
|
3609
|
+
carries the specific failure code (`INVALID_OPTIONS`,
|
|
3610
|
+
`REQUIRES_REENCODE`, `CYCLIC_WORKFLOW_EDGES`, …) while
|
|
3611
|
+
`error_type` only names the envelope shape.
|
|
3497
3612
|
error:
|
|
3498
3613
|
type: string
|
|
3499
3614
|
description: |
|
|
@@ -3502,9 +3617,10 @@ components:
|
|
|
3502
3617
|
(per ticket I16-CONS — `merge.video` with
|
|
3503
3618
|
`re_encode_mode: never` and incompatible inputs; caller
|
|
3504
3619
|
resolves by switching to `re_encode_mode: auto` or `always`),
|
|
3505
|
-
`
|
|
3506
|
-
per
|
|
3507
|
-
|
|
3620
|
+
`CYCLIC_WORKFLOW_EDGES` (cyclic/self explicit `workflow_edges`,
|
|
3621
|
+
per `g8PPkbNu`), `VALIDATION_FAILED` (request/query-param
|
|
3622
|
+
validation failure per the project-wide convention — e.g.
|
|
3623
|
+
`GET /api/v2/credits/usage` invalid `limit`/`offset`).
|
|
3508
3624
|
SDKs duck-type on this field for typed error-branch helpers.
|
|
3509
3625
|
message:
|
|
3510
3626
|
type: string
|
|
@@ -4988,13 +5104,12 @@ components:
|
|
|
4988
5104
|
with a generic schema error. This envelope is the structured
|
|
4989
5105
|
rejection.
|
|
4990
5106
|
|
|
4991
|
-
The 422 response is delivered alongside `ValidationErrorEnvelope
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
`POST /api/workflows`.
|
|
5107
|
+
The 422 response is delivered alongside `ValidationErrorEnvelope`,
|
|
5108
|
+
`ProcessingClassExceedsBandResponse`, and `ProbePendingResponse`
|
|
5109
|
+
via a `oneOf` with an explicit `error_type` discriminator (per
|
|
5110
|
+
[ADR-0018](../docs/decisions/0018-universal-422-error-type-discriminator.md));
|
|
5111
|
+
this branch's discriminator value is `feature_not_available`. See
|
|
5112
|
+
the 422 response on `POST /api/workflows`.
|
|
4998
5113
|
allOf:
|
|
4999
5114
|
- $ref: '#/components/schemas/ErrorEnvelope'
|
|
5000
5115
|
- type: object
|
|
@@ -5037,12 +5152,13 @@ components:
|
|
|
5037
5152
|
|
|
5038
5153
|
Delivered alongside `ValidationErrorEnvelope`,
|
|
5039
5154
|
`FeatureNotAvailableResponse`, and
|
|
5040
|
-
`ProcessingClassExceedsBandResponse` via the
|
|
5041
|
-
the 422 response
|
|
5042
|
-
|
|
5043
|
-
|
|
5044
|
-
|
|
5045
|
-
|
|
5155
|
+
`ProcessingClassExceedsBandResponse` via the discriminated
|
|
5156
|
+
`oneOf` on the 422 response (per
|
|
5157
|
+
[ADR-0018](../docs/decisions/0018-universal-422-error-type-discriminator.md)) —
|
|
5158
|
+
this branch's `error_type` discriminator value is `probe_pending`;
|
|
5159
|
+
it also remains the only branch carrying `job_ref` and neither
|
|
5160
|
+
`details` (`ValidationErrorEnvelope`) nor `violations` (the other
|
|
5161
|
+
two typed envelopes).
|
|
5046
5162
|
allOf:
|
|
5047
5163
|
- $ref: '#/components/schemas/ErrorEnvelope'
|
|
5048
5164
|
- type: object
|
|
@@ -5238,10 +5354,12 @@ components:
|
|
|
5238
5354
|
envelope is 422, not an extension of `TierRestrictionResponse`
|
|
5239
5355
|
on 403).
|
|
5240
5356
|
|
|
5241
|
-
Delivered on `POST /api/workflows` 422 in a
|
|
5242
|
-
alongside `ValidationErrorEnvelope`
|
|
5243
|
-
`
|
|
5244
|
-
|
|
5357
|
+
Delivered on `POST /api/workflows` 422 in a discriminated `oneOf`
|
|
5358
|
+
alongside `ValidationErrorEnvelope`, `FeatureNotAvailableResponse`,
|
|
5359
|
+
and `ProbePendingResponse` (per
|
|
5360
|
+
[ADR-0018](../docs/decisions/0018-universal-422-error-type-discriminator.md)) —
|
|
5361
|
+
this branch's `error_type` discriminator value is
|
|
5362
|
+
`processing_class_exceeds_band`.
|
|
5245
5363
|
allOf:
|
|
5246
5364
|
- $ref: '#/components/schemas/ErrorEnvelope'
|
|
5247
5365
|
- type: object
|
|
@@ -5462,19 +5580,21 @@ components:
|
|
|
5462
5580
|
Available operation types:
|
|
5463
5581
|
- compress: Reduce file size (images, audio, video, documents)
|
|
5464
5582
|
- thumbnail: Legacy thumbnail value. Generates a preview image
|
|
5465
|
-
for any media type via a single Lambda.
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
below
|
|
5583
|
+
for any media type via a single Lambda. Retained as a valid
|
|
5584
|
+
routing target during the migration window, but the
|
|
5585
|
+
compression_api publisher no longer emits it — it now resolves
|
|
5586
|
+
the per-media sub-type value below on the SNS `operation_type`
|
|
5587
|
+
attribute. The payload `operation_type` field stays `thumbnail`.
|
|
5469
5588
|
- thumbnail_image: Image thumbnail sub-type. Backed by a dedicated
|
|
5470
|
-
Rust image Lambda.
|
|
5589
|
+
Rust image Lambda. Emitted by the publisher for image inputs.
|
|
5471
5590
|
- thumbnail_video: Video thumbnail sub-type. Backed by a dedicated
|
|
5472
|
-
FFmpeg Lambda.
|
|
5591
|
+
FFmpeg Lambda. Emitted by the publisher for video inputs.
|
|
5473
5592
|
- thumbnail_document: PDF/EPUB thumbnail sub-type. Backed by a
|
|
5474
|
-
dedicated Ghostscript Lambda.
|
|
5593
|
+
dedicated Ghostscript Lambda. Emitted by the publisher for
|
|
5594
|
+
PDF/EPUB inputs.
|
|
5475
5595
|
- thumbnail_office: Office document (DOCX/XLSX/PPTX/ODT/ODS/ODP)
|
|
5476
5596
|
thumbnail sub-type. Backed by a dedicated LibreOffice Lambda.
|
|
5477
|
-
|
|
5597
|
+
Emitted by the publisher for office-document inputs.
|
|
5478
5598
|
- image_watermark: Image overlay (file or external_source) onto a base IMAGE asset. Multi-input (Path B with role: base + overlay). Stable for static-image bases (jpeg/png/webp); animated GIF is advertised as `planned` via the `image_gif` mime_group — dispatch returns `feature_not_available` (422) until Lambda support ships. Video bases are NOT supported by image_watermark — use the dedicated `video_watermark` operation per ADR-0013. Per ADR-0004 + I4-CONS + I5 (Trello AKZiOXnd).
|
|
5479
5599
|
- text_watermark: Text overlay rendered onto an image (Liberation Sans). Single-input. Per ADR-0004 + I4-CONS.
|
|
5480
5600
|
- merge: Concatenate/combine multiple files into one (images, video, audio). Multi-input. Image inputs merge into animated GIF or slideshow video; image collage/grid and PDF concatenation are not supported by the V1 Lambda.
|
|
@@ -5483,10 +5603,10 @@ components:
|
|
|
5483
5603
|
- custom_luma: Apply a caller-uploaded luma matte to a base video for a custom luma-matte transition effect. Multi-input (`role: base` + `role: transition_mask`). `availability: planned` + `required_tier: pro`; dispatch returns `feature_not_available` (422) until Lambda ships. Distinct from FFmpeg `xfade=custom` (which is an expression, not an operation). Per ticket I29 (Trello EPUE5Vs1).
|
|
5484
5604
|
- audio_overlay: Mix a secondary audio asset over a primary audio or video base (DJ tags, podcast intros/outros, station IDs, jingles). Multi-input (`role: base` + `role: overlay`). `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. **NOT** the same as `audio_watermark` — that operation is steganographic (imperceptible identifier embedded for ownership tracking), tracked separately by I20. Per ticket I19 (Trello Xr3Z4GBF).
|
|
5485
5605
|
- audio_watermark: Embed a steganographic forensic watermark into an audio asset (or a video's audio track) — Cinavia / Resemble PerTh territory. Single-input. `availability: planned` + `required_tier: enterprise`; dispatch returns `feature_not_available` (422) until Lambda ships. Pairs with `POST /api/audio-watermark/decode` for own-watermarks-only extraction. Per ticket I20 (Trello omiCq7Vn).
|
|
5486
|
-
- audio_to_video: Produce a video from an audio input plus an OPTIONAL still image overlay. Multi-input role-based with the first OPTIONAL role on the contract (`role: base` audio required, `role: overlay` image 0..1 — see `per_role_cardinality`). When overlay is omitted, the video uses a solid background colour. `availability:
|
|
5487
|
-
- video_watermark: Apply an image overlay onto a base video via FFmpeg's `overlay` filter. Multi-input role-based (`role: base` video + `role: overlay` image, exactly one of each per `per_role_cardinality`). Re-encode required; audio stream-copy passthrough. Distinct from `image_watermark` (pure-Rust/image-only). `availability:
|
|
5606
|
+
- audio_to_video: Produce a video from an audio input plus an OPTIONAL still image overlay. Multi-input role-based with the first OPTIONAL role on the contract (`role: base` audio required, `role: overlay` image 0..1 — see `per_role_cardinality`). When overlay is omitted, the video uses a solid background colour. `availability: beta` (Wave A — Lambda backend live; opt-in, MUST NOT return `feature_not_available`; may change with notice). Per ticket [`SlluxMBN`](https://trello.com/c/SlluxMBN) + ADR-0015 (introduces `per_role_cardinality` vocab).
|
|
5607
|
+
- video_watermark: Apply an image overlay onto a base video via FFmpeg's `overlay` filter. Multi-input role-based (`role: base` video + `role: overlay` image, exactly one of each per `per_role_cardinality`). Re-encode required; audio stream-copy passthrough. Distinct from `image_watermark` (pure-Rust/image-only). `availability: beta` (Wave A — Lambda backend live; opt-in, MUST NOT 422; `short_form` is beta, `long_form` stays `planned` — no live Fargate worker; `multi_overlay_stack` stays `planned`). Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
|
|
5488
5608
|
- video_text_watermark: Render a text overlay onto a base video via FFmpeg's `drawtext` filter. Single-input — text and styling in options. Same `watermark_mode` (single/tiled), anchor + margin vocab as `text_watermark`. Re-encode required; audio stream-copy passthrough. `availability: planned`; dispatch returns `feature_not_available` (422) until Lambda ships. Per ticket [`4NrRPCgh`](https://trello.com/c/4NrRPCgh) + ADR-0013.
|
|
5489
|
-
- split: Fan one input file into N outputs across GIF / PDF / audio / video MIME families. Single-input per-mime-group catalog (mirrors merge/convert): GIF uses `frame_range` (REQUIRED) + `output_format`; PDF uses `page_range` OR `page_groups` (mutually exclusive); audio + video use a `mode` discriminator (interval/count/cut_points) + numeric-seconds wire format + `precision` flag (fast/exact). 200-output hard cap per ADR-0009 §D5 with per-mode preflight math; output naming `output-001..output-200`. Long-form video routes to a separate `split-video-fargate` worker via `processing_class`. `availability: planned
|
|
5609
|
+
- split: Fan one input file into N outputs across GIF / PDF / audio / video MIME families. Single-input per-mime-group catalog (mirrors merge/convert): GIF uses `frame_range` (REQUIRED) + `output_format`; PDF uses `page_range` OR `page_groups` (mutually exclusive); audio + video use a `mode` discriminator (interval/count/cut_points) + numeric-seconds wire format + `precision` flag (fast/exact). 200-output hard cap per ADR-0009 §D5 with per-mode preflight math; output naming `output-001..output-200`. Long-form video routes to a separate `split-video-fargate` worker via `processing_class`. `availability: beta` for the `audio` mime_group (worker live on staging — shape-stable + opt-in, MUST NOT 422); the `image_gif`, `document_pdf`, and `video` mime_groups stay `availability: planned` and dispatch returns `feature_not_available` (422) until their workers ship. Per ticket [`vKI0CFDu`](https://trello.com/c/vKI0CFDu) + ADR-0014.
|
|
5490
5610
|
|
|
5491
5611
|
Both the legacy `thumbnail` value and the four sub-type values
|
|
5492
5612
|
are valid routing targets today during the thumbnail migration
|
|
@@ -6407,9 +6527,11 @@ components:
|
|
|
6407
6527
|
text_watermark, convert).
|
|
6408
6528
|
- `inputs[]` (multi-input): array of `JobInputV2` entries. Each entry
|
|
6409
6529
|
carries its own `source` plus an optional `role`
|
|
6410
|
-
(image_watermark, custom_luma, audio_overlay
|
|
6530
|
+
(image_watermark, custom_luma, audio_overlay, audio_to_video,
|
|
6531
|
+
video_watermark) and
|
|
6411
6532
|
`per_input_options`. Used by multi-input operations (merge,
|
|
6412
|
-
archive, image_watermark, custom_luma, audio_overlay
|
|
6533
|
+
archive, image_watermark, custom_luma, audio_overlay,
|
|
6534
|
+
audio_to_video, video_watermark).
|
|
6413
6535
|
|
|
6414
6536
|
Exactly one of `source` or `inputs` is required.
|
|
6415
6537
|
|
|
@@ -6472,7 +6594,8 @@ components:
|
|
|
6472
6594
|
type: array
|
|
6473
6595
|
description: |
|
|
6474
6596
|
Multi-input list for `merge`, `archive`, `image_watermark`,
|
|
6475
|
-
`custom_luma`, `audio_overlay`,
|
|
6597
|
+
`custom_luma`, `audio_overlay`, `audio_to_video`, and
|
|
6598
|
+
`video_watermark`. Each
|
|
6476
6599
|
entry is a `JobInputV2` with its own `WorkflowSource`.
|
|
6477
6600
|
Mutually exclusive with `source` — the V2 shape boundary
|
|
6478
6601
|
stays `source` (single-input) XOR `inputs[]` (multi-input
|
|
@@ -6499,7 +6622,7 @@ components:
|
|
|
6499
6622
|
Multi-input jobs (with `inputs[]`) must have exactly one
|
|
6500
6623
|
operation, and it must be a multi-input type (`merge`,
|
|
6501
6624
|
`archive`, `image_watermark`, `custom_luma`,
|
|
6502
|
-
`audio_overlay`, or `
|
|
6625
|
+
`audio_overlay`, `audio_to_video`, or `video_watermark`).
|
|
6503
6626
|
items:
|
|
6504
6627
|
$ref: '#/components/schemas/OperationDefinition'
|
|
6505
6628
|
deliver:
|
|
@@ -6540,10 +6663,12 @@ components:
|
|
|
6540
6663
|
`custom_luma` (joined via ticket
|
|
6541
6664
|
[I29](https://trello.com/c/EPUE5Vs1) — `availability:
|
|
6542
6665
|
planned` so workflow-create returns 422 until Lambda
|
|
6543
|
-
ships),
|
|
6666
|
+
ships), `audio_overlay` (joined via ticket
|
|
6544
6667
|
[I19](https://trello.com/c/Xr3Z4GBF) — same `planned`
|
|
6545
|
-
gating)
|
|
6546
|
-
|
|
6668
|
+
gating), and `audio_to_video` + `video_watermark` (joined
|
|
6669
|
+
via Wave A [`c3uthIP4`](https://trello.com/c/c3uthIP4) —
|
|
6670
|
+
`availability: beta`, backends live). The multi-input
|
|
6671
|
+
shape is contract-defined for all entries.
|
|
6547
6672
|
|
|
6548
6673
|
JobInputV2:
|
|
6549
6674
|
type: object
|
|
@@ -7597,6 +7722,24 @@ components:
|
|
|
7597
7722
|
$ref: '#/components/schemas/UuidV7'
|
|
7598
7723
|
status:
|
|
7599
7724
|
$ref: '#/components/schemas/JobStatus'
|
|
7725
|
+
processing_class:
|
|
7726
|
+
$ref: '#/components/schemas/ProcessingClass'
|
|
7727
|
+
description: |
|
|
7728
|
+
The logical processing class the server resolved this job to.
|
|
7729
|
+
The status-poll echo of `WorkflowCreateResponse.processing_plan`
|
|
7730
|
+
`.jobs[].processing_class` (`ProcessingPlanJob`) — same enum, same
|
|
7731
|
+
per-job granularity — so consumers can observe the resolved
|
|
7732
|
+
routing decision (`short_form` vs `long_form`, plus the merge-only
|
|
7733
|
+
`*_concat` / `*_re_encode` aliases) after create, not just at
|
|
7734
|
+
create time. The server always knows a job's class once the
|
|
7735
|
+
workflow is resolved and populates this on every status response
|
|
7736
|
+
(mirrors the `ProcessingPlanJob` invariant); it is left
|
|
7737
|
+
schema-OPTIONAL rather than `required` only because `JobResponse`
|
|
7738
|
+
is also embedded in the `WebhookPayload.workflow` callback payload,
|
|
7739
|
+
where a required addition would be a breaking request-contract
|
|
7740
|
+
change for existing webhook consumers. Per ticket
|
|
7741
|
+
[F3dL0UKz](https://trello.com/c/F3dL0UKz); consumed by api
|
|
7742
|
+
[D3yN1SGm](https://trello.com/c/D3yN1SGm).
|
|
7600
7743
|
depends_on:
|
|
7601
7744
|
type: array
|
|
7602
7745
|
description: List of upstream job refs this job depends on
|
|
@@ -7892,7 +8035,8 @@ components:
|
|
|
7892
8035
|
Total number of inputs expected in this phase. Pairs with
|
|
7893
8036
|
`phase_input_index`. For single-input operations this is
|
|
7894
8037
|
`1` during the relevant phase; for multi-input merge /
|
|
7895
|
-
archive / image_watermark / custom_luma / audio_overlay
|
|
8038
|
+
archive / image_watermark / custom_luma / audio_overlay /
|
|
8039
|
+
audio_to_video / video_watermark,
|
|
7896
8040
|
it matches the inputs[] count. Per ticket I27.
|
|
7897
8041
|
|
|
7898
8042
|
SseOperationCompletedData:
|
|
@@ -8424,6 +8568,48 @@ components:
|
|
|
8424
8568
|
either source.
|
|
8425
8569
|
additionalProperties:
|
|
8426
8570
|
$ref: '#/components/schemas/EndpointProjection'
|
|
8571
|
+
workflow_features:
|
|
8572
|
+
type: object
|
|
8573
|
+
description: |
|
|
8574
|
+
Workflow-level option availability projection (ticket
|
|
8575
|
+
[`1ZQjSm0j`](https://trello.com/c/1ZQjSm0j)). Surfaces
|
|
8576
|
+
`per_value_availability` for workflow-level options that live in
|
|
8577
|
+
OpenAPI **component** schemas (not the per-operation
|
|
8578
|
+
`schemas/operations/*.yaml` that drive the `operations` map),
|
|
8579
|
+
keyed by REQUEST-shape path:
|
|
8580
|
+
- `delivery.mode.per_value_availability` (from the `Delivery.mode`
|
|
8581
|
+
schema)
|
|
8582
|
+
- `delivery.selection.type.per_value_availability` (from the
|
|
8583
|
+
`DeliverySelection.type` schema)
|
|
8584
|
+
|
|
8585
|
+
Closes the co0CERtJ (v2.19.0) authority-hierarchy gap: those
|
|
8586
|
+
`planned` downgrades lived only in the (decorative per ADR-0001
|
|
8587
|
+
§1.5) openapi component tags; this surfaces them in the
|
|
8588
|
+
authoritative sidecar.
|
|
8589
|
+
|
|
8590
|
+
**Optional in the wire envelope** (same incremental-mirroring
|
|
8591
|
+
stance as `endpoints`): the committed sidecar emits this block
|
|
8592
|
+
authoritatively; the runtime `GET /api/operations/schema` MAY
|
|
8593
|
+
mirror it once the API generator catches up. Consumers MUST
|
|
8594
|
+
tolerate its absence from the runtime endpoint (read the sidecar)
|
|
8595
|
+
and its presence from either source.
|
|
8596
|
+
properties:
|
|
8597
|
+
delivery:
|
|
8598
|
+
type: object
|
|
8599
|
+
properties:
|
|
8600
|
+
mode:
|
|
8601
|
+
type: object
|
|
8602
|
+
properties:
|
|
8603
|
+
per_value_availability:
|
|
8604
|
+
$ref: '#/components/schemas/PerValueAvailability'
|
|
8605
|
+
selection:
|
|
8606
|
+
type: object
|
|
8607
|
+
properties:
|
|
8608
|
+
type:
|
|
8609
|
+
type: object
|
|
8610
|
+
properties:
|
|
8611
|
+
per_value_availability:
|
|
8612
|
+
$ref: '#/components/schemas/PerValueAvailability'
|
|
8427
8613
|
|
|
8428
8614
|
EndpointProjection:
|
|
8429
8615
|
type: object
|
|
@@ -2,7 +2,7 @@ schema_version: "2.0.0"
|
|
|
2
2
|
|
|
3
3
|
operation:
|
|
4
4
|
type: audio_to_video
|
|
5
|
-
availability:
|
|
5
|
+
availability: beta
|
|
6
6
|
description: |
|
|
7
7
|
Produce a video from an audio input plus an OPTIONAL still image
|
|
8
8
|
overlay. Use cases: podcast → YouTube uploads, audio-only tracks
|
|
@@ -29,9 +29,11 @@ operation:
|
|
|
29
29
|
tiny when the overlay is a still image (the common case).
|
|
30
30
|
|
|
31
31
|
Per ticket [`SlluxMBN`](https://trello.com/c/SlluxMBN) +
|
|
32
|
-
ADR-0015. `availability:
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
ADR-0015. Activated to `availability: beta` (Wave A, ticket
|
|
33
|
+
[`c3uthIP4`](https://trello.com/c/c3uthIP4)): the cross-repo
|
|
34
|
+
Lambda backend is live (API accepts + publishes), so this is
|
|
35
|
+
shape-stable + opt-in for callers and MUST NOT return
|
|
36
|
+
`feature_not_available` — it may still change with notice while beta.
|
|
35
37
|
|
|
36
38
|
default: false
|
|
37
39
|
input_model: multi
|
|
@@ -12,10 +12,9 @@ operation:
|
|
|
12
12
|
|
|
13
13
|
**NOT** related to FFmpeg's `xfade=custom` filter (which is an
|
|
14
14
|
expression-mode parameter on the same `xfade` filter). The
|
|
15
|
-
`merge.transition.custom` value is tagged `planned`
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
`custom_luma` operation instead" advisory.
|
|
15
|
+
`merge.transition.custom` value is tagged `planned` as an advisory
|
|
16
|
+
that points callers at this dedicated operation for caller-uploaded
|
|
17
|
+
luma-matte transitions.
|
|
19
18
|
|
|
20
19
|
Multi-input: exactly one input with `role: base` (the source
|
|
21
20
|
video being transitioned) + exactly one input with
|
|
@@ -106,11 +106,11 @@ operation:
|
|
|
106
106
|
# `custom` is `planned` indefinitely as an advisory — for
|
|
107
107
|
# caller-uploaded luma-matte transitions, use the dedicated
|
|
108
108
|
# `custom_luma` operation (multi-input with role: base +
|
|
109
|
-
# transition_mask)
|
|
109
|
+
# transition_mask). FFmpeg's
|
|
110
110
|
# xfade=custom is an expression-mode parameter, not the
|
|
111
111
|
# shape callers want; the dedicated operation is the
|
|
112
112
|
# supported path.
|
|
113
|
-
custom: { availability: planned
|
|
113
|
+
custom: { availability: planned }
|
|
114
114
|
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
115
115
|
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
116
116
|
wipebl: { availability: planned, eta: "2026-Q3" }
|
|
@@ -212,11 +212,11 @@ operation:
|
|
|
212
212
|
# `custom` is `planned` indefinitely as an advisory — for
|
|
213
213
|
# caller-uploaded luma-matte transitions, use the dedicated
|
|
214
214
|
# `custom_luma` operation (multi-input with role: base +
|
|
215
|
-
# transition_mask)
|
|
215
|
+
# transition_mask). FFmpeg's
|
|
216
216
|
# xfade=custom is an expression-mode parameter, not the
|
|
217
217
|
# shape callers want; the dedicated operation is the
|
|
218
218
|
# supported path.
|
|
219
|
-
custom: { availability: planned
|
|
219
|
+
custom: { availability: planned }
|
|
220
220
|
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
221
221
|
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
222
222
|
wipebl: { availability: planned, eta: "2026-Q3" }
|
|
@@ -359,11 +359,11 @@ operation:
|
|
|
359
359
|
# `custom` is `planned` indefinitely as an advisory — for
|
|
360
360
|
# caller-uploaded luma-matte transitions, use the dedicated
|
|
361
361
|
# `custom_luma` operation (multi-input with role: base +
|
|
362
|
-
# transition_mask)
|
|
362
|
+
# transition_mask). FFmpeg's
|
|
363
363
|
# xfade=custom is an expression-mode parameter, not the
|
|
364
364
|
# shape callers want; the dedicated operation is the
|
|
365
365
|
# supported path.
|
|
366
|
-
custom: { availability: planned
|
|
366
|
+
custom: { availability: planned }
|
|
367
367
|
wipetl: { availability: planned, eta: "2026-Q3" }
|
|
368
368
|
wipetr: { availability: planned, eta: "2026-Q3" }
|
|
369
369
|
wipebl: { availability: planned, eta: "2026-Q3" }
|