@giveitsmaller/contracts 0.9.0 → 0.17.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 +647 -60
- package/availability/availability.json +318 -94
- package/dist/asyncapi/Failure.d.ts +2 -0
- package/dist/asyncapi/LongFormOperationType.d.ts +2 -1
- package/dist/asyncapi/LongFormOperationType.js +1 -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 +19 -6
- 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 +60 -35
- package/operations/schemas/convert.yaml +6 -1
- 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 +78 -20
- 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
package/asyncapi/events.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
asyncapi: 3.0.0
|
|
2
2
|
info:
|
|
3
3
|
title: GISL Compression Events
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.19.0
|
|
5
5
|
description: |
|
|
6
6
|
Asynchronous event contracts for the GISL (Give It Smaller) compression service.
|
|
7
7
|
|
|
@@ -28,9 +28,11 @@ info:
|
|
|
28
28
|
[I20](https://trello.com/c/omiCq7Vn) +
|
|
29
29
|
[`4NrRPCgh`](https://trello.com/c/4NrRPCgh)) — their queues are
|
|
30
30
|
declared but receive no traffic until Lambda ships. `split` is
|
|
31
|
-
`availability: beta` for its `audio`
|
|
32
|
-
staging — [`vKI0CFDu`](https://trello.com/c/vKI0CFDu)
|
|
33
|
-
|
|
31
|
+
`availability: beta` for its `audio` and `video` mime_groups
|
|
32
|
+
(workers live on staging — [`vKI0CFDu`](https://trello.com/c/vKI0CFDu);
|
|
33
|
+
video activates BOTH classes — `long_form` / `split-video-fargate`
|
|
34
|
+
proven on staging per [`rcwvUKhI`](https://trello.com/c/rcwvUKhI));
|
|
35
|
+
its `image_gif` and `document_pdf` mime_groups stay
|
|
34
36
|
`availability: planned`.
|
|
35
37
|
`audio_to_video` and `video_watermark` are `availability: beta`
|
|
36
38
|
(Wave A activation [`c3uthIP4`](https://trello.com/c/c3uthIP4) —
|
|
@@ -68,7 +70,7 @@ info:
|
|
|
68
70
|
|
|
69
71
|
**Notifications (Lambda -> API).** Lambda functions publish progress
|
|
70
72
|
and result notifications to the FIFO SNS topic
|
|
71
|
-
`gisl-{env}-{region}-notifications-
|
|
73
|
+
`gisl-{env}-{region}-notifications-jobs.fifo`. The API consumes
|
|
72
74
|
from the corresponding FIFO SQS queue via a Raw Message Delivery
|
|
73
75
|
subscription. This notification path is unchanged from previous
|
|
74
76
|
releases.
|
|
@@ -209,19 +211,25 @@ channels:
|
|
|
209
211
|
`ops-video-text-watermark` queue (gated by
|
|
210
212
|
`availability: planned` until Lambda ships per
|
|
211
213
|
[`4NrRPCgh`](https://trello.com/c/4NrRPCgh) — same gating)
|
|
212
|
-
- `operation_type = split` -> `ops-split` queue (the `audio`
|
|
213
|
-
|
|
214
|
-
reaches this queue; `image_gif` /
|
|
215
|
-
stay `availability: planned` until their Lambdas
|
|
216
|
-
[`vKI0CFDu`](https://trello.com/c/vKI0CFDu);
|
|
214
|
+
- `operation_type = split` -> `ops-split` queue (the `audio` and
|
|
215
|
+
`video` mime_groups are `availability: beta` — audio + short-form
|
|
216
|
+
video split traffic reaches this queue; `image_gif` /
|
|
217
|
+
`document_pdf` stay `availability: planned` until their Lambdas
|
|
218
|
+
ship per [`vKI0CFDu`](https://trello.com/c/vKI0CFDu);
|
|
217
219
|
long-form video splits route via `processing_class` to the
|
|
218
|
-
`split-video-fargate` worker
|
|
219
|
-
worker)
|
|
220
|
+
`split-video-fargate` worker — same OperationType, different
|
|
221
|
+
worker — and stay `availability: planned` until it ships)
|
|
220
222
|
- `operation_type = audio_watermark` -> `ops-audio-watermark`
|
|
221
223
|
queue (gated by `availability: planned` +
|
|
222
224
|
`required_tier: enterprise` per
|
|
223
225
|
[I20](https://trello.com/c/omiCq7Vn) — same 422 gating, plus
|
|
224
226
|
a 403 `feature_tier_restricted` for non-enterprise callers)
|
|
227
|
+
- `operation_type = render_variants` -> `ops-render-variants`
|
|
228
|
+
queue (gated by `availability: planned` until the worker +
|
|
229
|
+
SNS subscription ship per
|
|
230
|
+
[`w3EwzHYd`](https://trello.com/c/w3EwzHYd) /
|
|
231
|
+
[`MNuDYJaY`](https://trello.com/c/MNuDYJaY) — same
|
|
232
|
+
`feature_not_available` 422 gating)
|
|
225
233
|
|
|
226
234
|
The API's Option A publisher sets `operation_type` as the filter
|
|
227
235
|
attribute and additionally sets `media_group` as an **informational**
|
|
@@ -394,6 +402,12 @@ channels:
|
|
|
394
402
|
`thumbnail_document`, `thumbnail_office`), resolved from each
|
|
395
403
|
operation's effective input MIME. Retirement of this legacy queue
|
|
396
404
|
follows once no traffic remains.
|
|
405
|
+
bindings:
|
|
406
|
+
sqs:
|
|
407
|
+
queue:
|
|
408
|
+
name: gisl-{env}-{region}-ops-thumbnail
|
|
409
|
+
fifoQueue: false
|
|
410
|
+
bindingVersion: '0.2.0'
|
|
397
411
|
parameters:
|
|
398
412
|
env:
|
|
399
413
|
description: Environment (local, stg, prod)
|
|
@@ -415,6 +429,12 @@ channels:
|
|
|
415
429
|
`operation_type=thumbnail_image` on the SNS attribute (resolved from
|
|
416
430
|
the operation's effective input MIME); the payload `operation_type`
|
|
417
431
|
field stays `thumbnail`.
|
|
432
|
+
bindings:
|
|
433
|
+
sqs:
|
|
434
|
+
queue:
|
|
435
|
+
name: gisl-{env}-{region}-ops-thumbnail-image
|
|
436
|
+
fifoQueue: false
|
|
437
|
+
bindingVersion: '0.2.0'
|
|
418
438
|
parameters:
|
|
419
439
|
env:
|
|
420
440
|
description: Environment (local, stg, prod)
|
|
@@ -436,6 +456,12 @@ channels:
|
|
|
436
456
|
`operation_type=thumbnail_video` on the SNS attribute (resolved from
|
|
437
457
|
the operation's effective input MIME); the payload `operation_type`
|
|
438
458
|
field stays `thumbnail`.
|
|
459
|
+
bindings:
|
|
460
|
+
sqs:
|
|
461
|
+
queue:
|
|
462
|
+
name: gisl-{env}-{region}-ops-thumbnail-video
|
|
463
|
+
fifoQueue: false
|
|
464
|
+
bindingVersion: '0.2.0'
|
|
439
465
|
parameters:
|
|
440
466
|
env:
|
|
441
467
|
description: Environment (local, stg, prod)
|
|
@@ -457,6 +483,12 @@ channels:
|
|
|
457
483
|
`operation_type=thumbnail_document` on the SNS attribute (resolved
|
|
458
484
|
from the operation's effective input MIME); the payload
|
|
459
485
|
`operation_type` field stays `thumbnail`.
|
|
486
|
+
bindings:
|
|
487
|
+
sqs:
|
|
488
|
+
queue:
|
|
489
|
+
name: gisl-{env}-{region}-ops-thumbnail-document
|
|
490
|
+
fifoQueue: false
|
|
491
|
+
bindingVersion: '0.2.0'
|
|
460
492
|
parameters:
|
|
461
493
|
env:
|
|
462
494
|
description: Environment (local, stg, prod)
|
|
@@ -479,6 +511,12 @@ channels:
|
|
|
479
511
|
emits `operation_type=thumbnail_office` on the SNS attribute
|
|
480
512
|
(resolved from the operation's effective input MIME); the payload
|
|
481
513
|
`operation_type` field stays `thumbnail`.
|
|
514
|
+
bindings:
|
|
515
|
+
sqs:
|
|
516
|
+
queue:
|
|
517
|
+
name: gisl-{env}-{region}-ops-thumbnail-office
|
|
518
|
+
fifoQueue: false
|
|
519
|
+
bindingVersion: '0.2.0'
|
|
482
520
|
parameters:
|
|
483
521
|
env:
|
|
484
522
|
description: Environment (local, stg, prod)
|
|
@@ -507,6 +545,12 @@ channels:
|
|
|
507
545
|
queue. Video bases are NOT routed here — they go to
|
|
508
546
|
`ops-video-watermark` for the dedicated `video_watermark`
|
|
509
547
|
operation per ADR-0013. Per ADR-0004 + I4-CONS + I5 + ADR-0013.
|
|
548
|
+
bindings:
|
|
549
|
+
sqs:
|
|
550
|
+
queue:
|
|
551
|
+
name: gisl-{env}-{region}-ops-image-watermark
|
|
552
|
+
fifoQueue: false
|
|
553
|
+
bindingVersion: '0.2.0'
|
|
510
554
|
parameters:
|
|
511
555
|
env:
|
|
512
556
|
description: Environment (local, stg, prod)
|
|
@@ -525,6 +569,12 @@ channels:
|
|
|
525
569
|
(Liberation Sans) — supports `single` (one label at anchor) and
|
|
526
570
|
`tiled` (Cinavia-style angled fill) modes. Backed by the
|
|
527
571
|
operation-text-watermark Lambda. Per ADR-0004 + I4-CONS.
|
|
572
|
+
bindings:
|
|
573
|
+
sqs:
|
|
574
|
+
queue:
|
|
575
|
+
name: gisl-{env}-{region}-ops-text-watermark
|
|
576
|
+
fifoQueue: false
|
|
577
|
+
bindingVersion: '0.2.0'
|
|
528
578
|
parameters:
|
|
529
579
|
env:
|
|
530
580
|
description: Environment (local, stg, prod)
|
|
@@ -544,6 +594,12 @@ channels:
|
|
|
544
594
|
concat) — the `output_type` field on the request determines the
|
|
545
595
|
encoding path internally, not the routing. Image collage and PDF
|
|
546
596
|
concatenation are not supported by the V1 Lambda.
|
|
597
|
+
bindings:
|
|
598
|
+
sqs:
|
|
599
|
+
queue:
|
|
600
|
+
name: gisl-{env}-{region}-ops-merge
|
|
601
|
+
fifoQueue: false
|
|
602
|
+
bindingVersion: '0.2.0'
|
|
547
603
|
parameters:
|
|
548
604
|
env:
|
|
549
605
|
description: Environment (local, stg, prod)
|
|
@@ -560,6 +616,12 @@ channels:
|
|
|
560
616
|
Subscribed to the `operations` SNS topic with filter
|
|
561
617
|
`operation_type = archive`. Media-agnostic: accepts mixed input
|
|
562
618
|
types. Backed by the archive Lambda (`operation-archive`).
|
|
619
|
+
bindings:
|
|
620
|
+
sqs:
|
|
621
|
+
queue:
|
|
622
|
+
name: gisl-{env}-{region}-ops-archive
|
|
623
|
+
fifoQueue: false
|
|
624
|
+
bindingVersion: '0.2.0'
|
|
563
625
|
parameters:
|
|
564
626
|
env:
|
|
565
627
|
description: Environment (local, stg, prod)
|
|
@@ -577,6 +639,12 @@ channels:
|
|
|
577
639
|
`operation_type = convert`. Handles format conversion across all
|
|
578
640
|
media types (image, video, audio, document). Backed by the convert
|
|
579
641
|
Lambda (`operation-convert`).
|
|
642
|
+
bindings:
|
|
643
|
+
sqs:
|
|
644
|
+
queue:
|
|
645
|
+
name: gisl-{env}-{region}-ops-convert
|
|
646
|
+
fifoQueue: false
|
|
647
|
+
bindingVersion: '0.2.0'
|
|
580
648
|
parameters:
|
|
581
649
|
env:
|
|
582
650
|
description: Environment (local, stg, prod)
|
|
@@ -602,6 +670,12 @@ channels:
|
|
|
602
670
|
`operation-custom-luma` Lambda (cross-repo follow-up; not yet
|
|
603
671
|
shipped).
|
|
604
672
|
Per ADR-0004 + I29 (Trello EPUE5Vs1).
|
|
673
|
+
bindings:
|
|
674
|
+
sqs:
|
|
675
|
+
queue:
|
|
676
|
+
name: gisl-{env}-{region}-ops-custom-luma
|
|
677
|
+
fifoQueue: false
|
|
678
|
+
bindingVersion: '0.2.0'
|
|
605
679
|
parameters:
|
|
606
680
|
env:
|
|
607
681
|
description: Environment (local, stg, prod)
|
|
@@ -634,6 +708,12 @@ channels:
|
|
|
634
708
|
/ "audio branding".
|
|
635
709
|
|
|
636
710
|
Per ADR-0004 + I19 (Trello Xr3Z4GBF).
|
|
711
|
+
bindings:
|
|
712
|
+
sqs:
|
|
713
|
+
queue:
|
|
714
|
+
name: gisl-{env}-{region}-ops-audio-overlay
|
|
715
|
+
fifoQueue: false
|
|
716
|
+
bindingVersion: '0.2.0'
|
|
637
717
|
parameters:
|
|
638
718
|
env:
|
|
639
719
|
description: Environment (local, stg, prod)
|
|
@@ -662,6 +742,12 @@ channels:
|
|
|
662
742
|
|
|
663
743
|
Per ADR-0004 + ADR-0015
|
|
664
744
|
([`SlluxMBN`](https://trello.com/c/SlluxMBN)).
|
|
745
|
+
bindings:
|
|
746
|
+
sqs:
|
|
747
|
+
queue:
|
|
748
|
+
name: gisl-{env}-{region}-ops-audio-to-video
|
|
749
|
+
fifoQueue: false
|
|
750
|
+
bindingVersion: '0.2.0'
|
|
665
751
|
parameters:
|
|
666
752
|
env:
|
|
667
753
|
description: Environment (local, stg, prod)
|
|
@@ -682,11 +768,13 @@ channels:
|
|
|
682
768
|
(no operation-specific conditional needed in
|
|
683
769
|
OperationRequestAttributes).
|
|
684
770
|
|
|
685
|
-
`availability: beta` for the `audio`
|
|
686
|
-
staging
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
771
|
+
`availability: beta` for the `audio` and `video` mime_groups
|
|
772
|
+
(workers live on staging). This SNS queue carries audio + SHORT-FORM
|
|
773
|
+
video split traffic only; long-form video split (now also `beta`)
|
|
774
|
+
routes via the direct-to-SQS `longformSplitVideo` claim-check to the
|
|
775
|
+
`split-video-fargate` worker, NOT here. The `image_gif` and
|
|
776
|
+
`document_pdf` mime_groups stay `availability: planned`, and the API
|
|
777
|
+
rejects their workflow-create with `feature_not_available` (422) until those
|
|
690
778
|
Lambdas ship. Backed by the `operation-split` Lambda (cross-repo
|
|
691
779
|
follow-up — lambdas pre-launch epic Wave A, ticket
|
|
692
780
|
[DbpJpVtm-sibling-L1](https://trello.com/c/vKI0CFDu)
|
|
@@ -701,6 +789,12 @@ channels:
|
|
|
701
789
|
MIME detection.
|
|
702
790
|
|
|
703
791
|
Per ADR-0004 + ADR-0014.
|
|
792
|
+
bindings:
|
|
793
|
+
sqs:
|
|
794
|
+
queue:
|
|
795
|
+
name: gisl-{env}-{region}-ops-split
|
|
796
|
+
fifoQueue: false
|
|
797
|
+
bindingVersion: '0.2.0'
|
|
704
798
|
parameters:
|
|
705
799
|
env:
|
|
706
800
|
description: Environment (local, stg, prod)
|
|
@@ -733,6 +827,12 @@ channels:
|
|
|
733
827
|
|
|
734
828
|
Per ADR-0004 + ADR-0013
|
|
735
829
|
([`4NrRPCgh`](https://trello.com/c/4NrRPCgh)).
|
|
830
|
+
bindings:
|
|
831
|
+
sqs:
|
|
832
|
+
queue:
|
|
833
|
+
name: gisl-{env}-{region}-ops-video-watermark
|
|
834
|
+
fifoQueue: false
|
|
835
|
+
bindingVersion: '0.2.0'
|
|
736
836
|
parameters:
|
|
737
837
|
env:
|
|
738
838
|
description: Environment (local, stg, prod)
|
|
@@ -763,6 +863,12 @@ channels:
|
|
|
763
863
|
|
|
764
864
|
Per ADR-0004 + ADR-0013
|
|
765
865
|
([`4NrRPCgh`](https://trello.com/c/4NrRPCgh)).
|
|
866
|
+
bindings:
|
|
867
|
+
sqs:
|
|
868
|
+
queue:
|
|
869
|
+
name: gisl-{env}-{region}-ops-video-text-watermark
|
|
870
|
+
fifoQueue: false
|
|
871
|
+
bindingVersion: '0.2.0'
|
|
766
872
|
parameters:
|
|
767
873
|
env:
|
|
768
874
|
description: Environment (local, stg, prod)
|
|
@@ -797,6 +903,37 @@ channels:
|
|
|
797
903
|
own-watermarks-only extraction (declared in `openapi/api.yaml`).
|
|
798
904
|
|
|
799
905
|
Per ADR-0004 + I20 (Trello omiCq7Vn).
|
|
906
|
+
bindings:
|
|
907
|
+
sqs:
|
|
908
|
+
queue:
|
|
909
|
+
name: gisl-{env}-{region}-ops-audio-watermark
|
|
910
|
+
fifoQueue: false
|
|
911
|
+
bindingVersion: '0.2.0'
|
|
912
|
+
parameters:
|
|
913
|
+
env:
|
|
914
|
+
description: Environment (local, stg, prod)
|
|
915
|
+
region:
|
|
916
|
+
description: AWS region abbreviation (euw1, use1, etc.)
|
|
917
|
+
messages:
|
|
918
|
+
operationRequest:
|
|
919
|
+
$ref: '#/components/messages/OperationRequestMessage'
|
|
920
|
+
|
|
921
|
+
opsRenderVariants:
|
|
922
|
+
address: gisl-{env}-{region}-ops-render-variants
|
|
923
|
+
description: |
|
|
924
|
+
SQS queue for render_variants operations (image fan-out — one
|
|
925
|
+
source image to N resized / re-encoded variants). Subscribed to the
|
|
926
|
+
`operations` SNS topic with filter `operation_type = render_variants`.
|
|
927
|
+
Backed by the render_variants Lambda (`operation-render-variants`).
|
|
928
|
+
No traffic reaches this queue while render_variants is
|
|
929
|
+
`availability: planned` (per ticket w3EwzHYd — same `feature_not_
|
|
930
|
+
available` 422 gating until the worker + this subscription ship).
|
|
931
|
+
bindings:
|
|
932
|
+
sqs:
|
|
933
|
+
queue:
|
|
934
|
+
name: gisl-{env}-{region}-ops-render-variants
|
|
935
|
+
fifoQueue: false
|
|
936
|
+
bindingVersion: '0.2.0'
|
|
800
937
|
parameters:
|
|
801
938
|
env:
|
|
802
939
|
description: Environment (local, stg, prod)
|
|
@@ -938,6 +1075,18 @@ channels:
|
|
|
938
1075
|
region:
|
|
939
1076
|
description: AWS region abbreviation (euw1, use1, etc.)
|
|
940
1077
|
|
|
1078
|
+
opsRenderVariantsDlq:
|
|
1079
|
+
address: gisl-{env}-{region}-ops-render-variants-dlq
|
|
1080
|
+
description: |
|
|
1081
|
+
DLQ for failed render_variants operations (per ticket w3EwzHYd).
|
|
1082
|
+
Messages land here after 5 failed processing attempts. No traffic
|
|
1083
|
+
reaches this queue while render_variants is `availability: planned`.
|
|
1084
|
+
parameters:
|
|
1085
|
+
env:
|
|
1086
|
+
description: Environment (local, stg, prod)
|
|
1087
|
+
region:
|
|
1088
|
+
description: AWS region abbreviation (euw1, use1, etc.)
|
|
1089
|
+
|
|
941
1090
|
opsAudioToVideoDlq:
|
|
942
1091
|
address: gisl-{env}-{region}-ops-audio-to-video-dlq
|
|
943
1092
|
description: |
|
|
@@ -986,9 +1135,11 @@ channels:
|
|
|
986
1135
|
DLQ for failed split operations (per ticket
|
|
987
1136
|
[`vKI0CFDu`](https://trello.com/c/vKI0CFDu) / ADR-0014).
|
|
988
1137
|
Messages land here after 5 failed processing attempts. Live for
|
|
989
|
-
the `split` `audio`
|
|
990
|
-
|
|
991
|
-
|
|
1138
|
+
the `split` `audio` + `video` mime_groups (now `availability: beta`;
|
|
1139
|
+
this DLQ backs the short-form SNS `ops-split` queue — long-form video
|
|
1140
|
+
split has its own `longformSplitVideoDlq`); the `image_gif` and
|
|
1141
|
+
`document_pdf` groups stay `availability: planned` and carry no
|
|
1142
|
+
traffic yet.
|
|
992
1143
|
parameters:
|
|
993
1144
|
env:
|
|
994
1145
|
description: Environment (local, stg, prod)
|
|
@@ -1041,6 +1192,12 @@ channels:
|
|
|
1041
1192
|
|
|
1042
1193
|
Standard (non-FIFO) — each probe request is independent; no
|
|
1043
1194
|
ordering guarantees are required across uploads.
|
|
1195
|
+
bindings:
|
|
1196
|
+
sqs:
|
|
1197
|
+
queue:
|
|
1198
|
+
name: gisl-{env}-{region}-upload-probe
|
|
1199
|
+
fifoQueue: false
|
|
1200
|
+
bindingVersion: '0.2.0'
|
|
1044
1201
|
parameters:
|
|
1045
1202
|
env:
|
|
1046
1203
|
description: Environment (local, stg, prod)
|
|
@@ -1081,6 +1238,12 @@ channels:
|
|
|
1081
1238
|
The sync `POST /api/uploads/{id}/probe` path does not publish
|
|
1082
1239
|
here — sync results are returned inline via the Lambda
|
|
1083
1240
|
RequestResponse return value.
|
|
1241
|
+
bindings:
|
|
1242
|
+
sqs:
|
|
1243
|
+
queue:
|
|
1244
|
+
name: gisl-{env}-{region}-upload-probe-completions
|
|
1245
|
+
fifoQueue: false
|
|
1246
|
+
bindingVersion: '0.2.0'
|
|
1084
1247
|
parameters:
|
|
1085
1248
|
env:
|
|
1086
1249
|
description: Environment (local, stg, prod)
|
|
@@ -1107,8 +1270,8 @@ channels:
|
|
|
1107
1270
|
# NOTIFICATIONS (Lambda -> API)
|
|
1108
1271
|
# ============================================
|
|
1109
1272
|
|
|
1110
|
-
|
|
1111
|
-
address: gisl-{env}-{region}-notifications-
|
|
1273
|
+
notificationsJobsTopic:
|
|
1274
|
+
address: gisl-{env}-{region}-notifications-jobs.fifo
|
|
1112
1275
|
description: |
|
|
1113
1276
|
FIFO SNS topic where Lambdas publish all operation notifications (progress and results).
|
|
1114
1277
|
API subscribes via FIFO SQS with Raw Message Delivery enabled.
|
|
@@ -1116,6 +1279,13 @@ channels:
|
|
|
1116
1279
|
**FIFO Publishing Requirements:**
|
|
1117
1280
|
- MessageGroupId: Use operation_id (ensures ordering per operation)
|
|
1118
1281
|
- MessageDeduplicationId: Not required (content-based deduplication enabled)
|
|
1282
|
+
bindings:
|
|
1283
|
+
sns:
|
|
1284
|
+
name: gisl-{env}-{region}-notifications-jobs.fifo
|
|
1285
|
+
ordering:
|
|
1286
|
+
type: FIFO
|
|
1287
|
+
contentBasedDeduplication: true
|
|
1288
|
+
bindingVersion: '0.1.0'
|
|
1119
1289
|
parameters:
|
|
1120
1290
|
env:
|
|
1121
1291
|
description: Environment (local, stg, prod)
|
|
@@ -1127,15 +1297,21 @@ channels:
|
|
|
1127
1297
|
operationResult:
|
|
1128
1298
|
$ref: '#/components/messages/OperationResultMessage'
|
|
1129
1299
|
|
|
1130
|
-
|
|
1131
|
-
address: gisl-{env}-{region}-notifications-
|
|
1300
|
+
notificationsJobsQueue:
|
|
1301
|
+
address: gisl-{env}-{region}-notifications-jobs.fifo
|
|
1132
1302
|
description: |
|
|
1133
|
-
FIFO SQS queue subscribed to notifications-
|
|
1303
|
+
FIFO SQS queue subscribed to notifications-jobs SNS topic.
|
|
1134
1304
|
Receives both OperationProgress and OperationResult messages.
|
|
1135
1305
|
Raw Message Delivery enabled (no SNS envelope).
|
|
1136
1306
|
|
|
1137
1307
|
FIFO ensures message ordering per operation (operation_id used as MessageGroupId).
|
|
1138
1308
|
This guarantees OperationProgress messages arrive before OperationResult.
|
|
1309
|
+
bindings:
|
|
1310
|
+
sqs:
|
|
1311
|
+
queue:
|
|
1312
|
+
name: gisl-{env}-{region}-notifications-jobs.fifo
|
|
1313
|
+
fifoQueue: true
|
|
1314
|
+
bindingVersion: '0.2.0'
|
|
1139
1315
|
parameters:
|
|
1140
1316
|
env:
|
|
1141
1317
|
description: Environment (local, stg, prod)
|
|
@@ -1147,8 +1323,8 @@ channels:
|
|
|
1147
1323
|
operationResult:
|
|
1148
1324
|
$ref: '#/components/messages/OperationResultMessage'
|
|
1149
1325
|
|
|
1150
|
-
|
|
1151
|
-
address: gisl-{env}-{region}-notifications-
|
|
1326
|
+
notificationsJobsDlq:
|
|
1327
|
+
address: gisl-{env}-{region}-notifications-jobs-dlq.fifo
|
|
1152
1328
|
description: DLQ for failed notification processing. Messages land here after 5 failed processing attempts.
|
|
1153
1329
|
parameters:
|
|
1154
1330
|
env:
|
|
@@ -1163,10 +1339,9 @@ channels:
|
|
|
1163
1339
|
# the API publishes a LongFormJobMessage claim-check DIRECTLY to these
|
|
1164
1340
|
# per-op-class SQS queues (no SNS topic, no filter routing). A
|
|
1165
1341
|
# terraform-owned launcher (EventBridge Pipe, filter=none) consumes
|
|
1166
|
-
# and forks a Fargate task.
|
|
1167
|
-
# split-video-longform (
|
|
1168
|
-
#
|
|
1169
|
-
# are NOT modeled as channels — they carry no traffic yet.
|
|
1342
|
+
# and forks a Fargate task. Three classes are live (compress, merge,
|
|
1343
|
+
# split-video per rcwvUKhI); audio-overlay-longform (reserve-name-only,
|
|
1344
|
+
# no queue) is NOT modeled as a channel — it carries no traffic yet.
|
|
1170
1345
|
|
|
1171
1346
|
longformCompressVideo:
|
|
1172
1347
|
address: gisl-{env}-{region}-ops-compress-video-longform
|
|
@@ -1181,6 +1356,12 @@ channels:
|
|
|
1181
1356
|
shared `JobRequestMessage` across the per-media `jobs-*` queues); per-queue
|
|
1182
1357
|
`operation_type` is a publisher invariant documented here, not a separate
|
|
1183
1358
|
message schema.
|
|
1359
|
+
bindings:
|
|
1360
|
+
sqs:
|
|
1361
|
+
queue:
|
|
1362
|
+
name: gisl-{env}-{region}-ops-compress-video-longform
|
|
1363
|
+
fifoQueue: false
|
|
1364
|
+
bindingVersion: '0.2.0'
|
|
1184
1365
|
parameters:
|
|
1185
1366
|
env:
|
|
1186
1367
|
description: Environment (local, stg, prod)
|
|
@@ -1211,6 +1392,12 @@ channels:
|
|
|
1211
1392
|
`LongFormJobMessage` enum permits `{compress, merge}`; per-queue
|
|
1212
1393
|
`operation_type` is a publisher invariant documented here, not a separate
|
|
1213
1394
|
schema).
|
|
1395
|
+
bindings:
|
|
1396
|
+
sqs:
|
|
1397
|
+
queue:
|
|
1398
|
+
name: gisl-{env}-{region}-ops-merge-video-longform-reencode
|
|
1399
|
+
fifoQueue: false
|
|
1400
|
+
bindingVersion: '0.2.0'
|
|
1214
1401
|
parameters:
|
|
1215
1402
|
env:
|
|
1216
1403
|
description: Environment (local, stg, prod)
|
|
@@ -1229,6 +1416,47 @@ channels:
|
|
|
1229
1416
|
region:
|
|
1230
1417
|
description: AWS region abbreviation (euw1, use1, etc.)
|
|
1231
1418
|
|
|
1419
|
+
longformSplitVideo:
|
|
1420
|
+
address: gisl-{env}-{region}-ops-split-video-longform
|
|
1421
|
+
description: |
|
|
1422
|
+
SQS queue for long-form video split jobs (`split.video.long_form`,
|
|
1423
|
+
`availability: beta`). The API publishes a `LongFormJobMessage` claim-check
|
|
1424
|
+
here directly (NOT via SNS); a terraform-owned launcher reads the spec from
|
|
1425
|
+
S3 (`pointer`) and runs a Fargate task. `max_receive_count = 2` (ADR-0007).
|
|
1426
|
+
|
|
1427
|
+
On this queue the publisher always sets `operation_type: split`,
|
|
1428
|
+
`processing_class: long_form`. The shared `LongFormJobMessage` enum permits
|
|
1429
|
+
`{compress, merge, split}`; per-queue `operation_type` is a publisher
|
|
1430
|
+
invariant documented here, not a separate message schema. The worker is the
|
|
1431
|
+
`split-video-fargate` binary (a stream-copy keyframe/GOP segmenter — a
|
|
1432
|
+
DISTINCT crate from the long-form compress worker, NOT a re-encode), per
|
|
1433
|
+
[ADR-0014](../docs/decisions/0014-split-operation.md) §D10 and
|
|
1434
|
+
[`rcwvUKhI`](https://trello.com/c/rcwvUKhI). Segments land at
|
|
1435
|
+
`{output_key_prefix}/output-NNN.ext` in the output bucket (ADR-0014 §D9).
|
|
1436
|
+
bindings:
|
|
1437
|
+
sqs:
|
|
1438
|
+
queue:
|
|
1439
|
+
name: gisl-{env}-{region}-ops-split-video-longform
|
|
1440
|
+
fifoQueue: false
|
|
1441
|
+
bindingVersion: '0.2.0'
|
|
1442
|
+
parameters:
|
|
1443
|
+
env:
|
|
1444
|
+
description: Environment (local, stg, prod)
|
|
1445
|
+
region:
|
|
1446
|
+
description: AWS region abbreviation (euw1, use1, etc.)
|
|
1447
|
+
messages:
|
|
1448
|
+
longFormJob:
|
|
1449
|
+
$ref: '#/components/messages/LongFormJobMessage'
|
|
1450
|
+
|
|
1451
|
+
longformSplitVideoDlq:
|
|
1452
|
+
address: gisl-{env}-{region}-ops-split-video-longform-dlq
|
|
1453
|
+
description: DLQ for failed long-form video split jobs. Messages land here after 2 failed processing attempts (ADR-0007).
|
|
1454
|
+
parameters:
|
|
1455
|
+
env:
|
|
1456
|
+
description: Environment (local, stg, prod)
|
|
1457
|
+
region:
|
|
1458
|
+
description: AWS region abbreviation (euw1, use1, etc.)
|
|
1459
|
+
|
|
1232
1460
|
operations:
|
|
1233
1461
|
# ============================================
|
|
1234
1462
|
# PUBLISH OPERATIONS (API -> SNS)
|
|
@@ -1291,6 +1519,12 @@ operations:
|
|
|
1291
1519
|
action: receive
|
|
1292
1520
|
channel:
|
|
1293
1521
|
$ref: '#/channels/jobsImage'
|
|
1522
|
+
bindings:
|
|
1523
|
+
sqs:
|
|
1524
|
+
queues:
|
|
1525
|
+
- name: gisl-{env}-{region}-jobs-image
|
|
1526
|
+
fifoQueue: false
|
|
1527
|
+
bindingVersion: '0.2.0'
|
|
1294
1528
|
summary: Process image compression job
|
|
1295
1529
|
description: |
|
|
1296
1530
|
The image compression Lambda consumes jobs for image inputs.
|
|
@@ -1305,6 +1539,12 @@ operations:
|
|
|
1305
1539
|
action: receive
|
|
1306
1540
|
channel:
|
|
1307
1541
|
$ref: '#/channels/jobsVideo'
|
|
1542
|
+
bindings:
|
|
1543
|
+
sqs:
|
|
1544
|
+
queues:
|
|
1545
|
+
- name: gisl-{env}-{region}-jobs-video
|
|
1546
|
+
fifoQueue: false
|
|
1547
|
+
bindingVersion: '0.2.0'
|
|
1308
1548
|
summary: Process video compression job
|
|
1309
1549
|
description: |
|
|
1310
1550
|
The video compression Lambda consumes jobs for video inputs.
|
|
@@ -1318,6 +1558,12 @@ operations:
|
|
|
1318
1558
|
action: receive
|
|
1319
1559
|
channel:
|
|
1320
1560
|
$ref: '#/channels/jobsAudio'
|
|
1561
|
+
bindings:
|
|
1562
|
+
sqs:
|
|
1563
|
+
queues:
|
|
1564
|
+
- name: gisl-{env}-{region}-jobs-audio
|
|
1565
|
+
fifoQueue: false
|
|
1566
|
+
bindingVersion: '0.2.0'
|
|
1321
1567
|
summary: Process audio compression job
|
|
1322
1568
|
description: |
|
|
1323
1569
|
The audio compression Lambda consumes jobs for audio inputs.
|
|
@@ -1331,6 +1577,12 @@ operations:
|
|
|
1331
1577
|
action: receive
|
|
1332
1578
|
channel:
|
|
1333
1579
|
$ref: '#/channels/jobsDocument'
|
|
1580
|
+
bindings:
|
|
1581
|
+
sqs:
|
|
1582
|
+
queues:
|
|
1583
|
+
- name: gisl-{env}-{region}-jobs-document
|
|
1584
|
+
fifoQueue: false
|
|
1585
|
+
bindingVersion: '0.2.0'
|
|
1334
1586
|
summary: Process document compression job
|
|
1335
1587
|
description: |
|
|
1336
1588
|
The document compression Lambda consumes jobs for document inputs.
|
|
@@ -1348,6 +1600,12 @@ operations:
|
|
|
1348
1600
|
action: receive
|
|
1349
1601
|
channel:
|
|
1350
1602
|
$ref: '#/channels/opsThumbnail'
|
|
1603
|
+
bindings:
|
|
1604
|
+
sqs:
|
|
1605
|
+
queues:
|
|
1606
|
+
- name: gisl-{env}-{region}-ops-thumbnail
|
|
1607
|
+
fifoQueue: false
|
|
1608
|
+
bindingVersion: '0.2.0'
|
|
1351
1609
|
summary: Process legacy thumbnail operation
|
|
1352
1610
|
description: |
|
|
1353
1611
|
The legacy thumbnail Lambda consumes thumbnail requests routed
|
|
@@ -1363,6 +1621,12 @@ operations:
|
|
|
1363
1621
|
action: receive
|
|
1364
1622
|
channel:
|
|
1365
1623
|
$ref: '#/channels/opsThumbnailImage'
|
|
1624
|
+
bindings:
|
|
1625
|
+
sqs:
|
|
1626
|
+
queues:
|
|
1627
|
+
- name: gisl-{env}-{region}-ops-thumbnail-image
|
|
1628
|
+
fifoQueue: false
|
|
1629
|
+
bindingVersion: '0.2.0'
|
|
1366
1630
|
summary: Process image thumbnail operation
|
|
1367
1631
|
description: |
|
|
1368
1632
|
The image thumbnail Lambda consumes thumbnail requests routed by
|
|
@@ -1375,6 +1639,12 @@ operations:
|
|
|
1375
1639
|
action: receive
|
|
1376
1640
|
channel:
|
|
1377
1641
|
$ref: '#/channels/opsThumbnailVideo'
|
|
1642
|
+
bindings:
|
|
1643
|
+
sqs:
|
|
1644
|
+
queues:
|
|
1645
|
+
- name: gisl-{env}-{region}-ops-thumbnail-video
|
|
1646
|
+
fifoQueue: false
|
|
1647
|
+
bindingVersion: '0.2.0'
|
|
1378
1648
|
summary: Process video thumbnail operation
|
|
1379
1649
|
description: |
|
|
1380
1650
|
The video thumbnail Lambda consumes thumbnail requests routed by
|
|
@@ -1387,6 +1657,12 @@ operations:
|
|
|
1387
1657
|
action: receive
|
|
1388
1658
|
channel:
|
|
1389
1659
|
$ref: '#/channels/opsThumbnailDocument'
|
|
1660
|
+
bindings:
|
|
1661
|
+
sqs:
|
|
1662
|
+
queues:
|
|
1663
|
+
- name: gisl-{env}-{region}-ops-thumbnail-document
|
|
1664
|
+
fifoQueue: false
|
|
1665
|
+
bindingVersion: '0.2.0'
|
|
1390
1666
|
summary: Process document thumbnail operation
|
|
1391
1667
|
description: |
|
|
1392
1668
|
The document (PDF/EPUB) thumbnail Lambda consumes thumbnail
|
|
@@ -1400,6 +1676,12 @@ operations:
|
|
|
1400
1676
|
action: receive
|
|
1401
1677
|
channel:
|
|
1402
1678
|
$ref: '#/channels/opsThumbnailOffice'
|
|
1679
|
+
bindings:
|
|
1680
|
+
sqs:
|
|
1681
|
+
queues:
|
|
1682
|
+
- name: gisl-{env}-{region}-ops-thumbnail-office
|
|
1683
|
+
fifoQueue: false
|
|
1684
|
+
bindingVersion: '0.2.0'
|
|
1403
1685
|
summary: Process office document thumbnail operation
|
|
1404
1686
|
description: |
|
|
1405
1687
|
The office document (DOCX/XLSX/PPTX/ODT/ODS/ODP) thumbnail Lambda
|
|
@@ -1413,6 +1695,12 @@ operations:
|
|
|
1413
1695
|
action: receive
|
|
1414
1696
|
channel:
|
|
1415
1697
|
$ref: '#/channels/opsImageWatermark'
|
|
1698
|
+
bindings:
|
|
1699
|
+
sqs:
|
|
1700
|
+
queues:
|
|
1701
|
+
- name: gisl-{env}-{region}-ops-image-watermark
|
|
1702
|
+
fifoQueue: false
|
|
1703
|
+
bindingVersion: '0.2.0'
|
|
1416
1704
|
summary: Process image_watermark operation
|
|
1417
1705
|
description: |
|
|
1418
1706
|
The operation-image-watermark Lambda consumes image_watermark
|
|
@@ -1431,6 +1719,12 @@ operations:
|
|
|
1431
1719
|
action: receive
|
|
1432
1720
|
channel:
|
|
1433
1721
|
$ref: '#/channels/opsTextWatermark'
|
|
1722
|
+
bindings:
|
|
1723
|
+
sqs:
|
|
1724
|
+
queues:
|
|
1725
|
+
- name: gisl-{env}-{region}-ops-text-watermark
|
|
1726
|
+
fifoQueue: false
|
|
1727
|
+
bindingVersion: '0.2.0'
|
|
1434
1728
|
summary: Process text_watermark operation
|
|
1435
1729
|
description: |
|
|
1436
1730
|
The operation-text-watermark Lambda consumes text_watermark
|
|
@@ -1444,6 +1738,12 @@ operations:
|
|
|
1444
1738
|
action: receive
|
|
1445
1739
|
channel:
|
|
1446
1740
|
$ref: '#/channels/opsMerge'
|
|
1741
|
+
bindings:
|
|
1742
|
+
sqs:
|
|
1743
|
+
queues:
|
|
1744
|
+
- name: gisl-{env}-{region}-ops-merge
|
|
1745
|
+
fifoQueue: false
|
|
1746
|
+
bindingVersion: '0.2.0'
|
|
1447
1747
|
summary: Process merge operation
|
|
1448
1748
|
description: |
|
|
1449
1749
|
The merge Lambda consumes merge requests routed by
|
|
@@ -1459,6 +1759,12 @@ operations:
|
|
|
1459
1759
|
action: receive
|
|
1460
1760
|
channel:
|
|
1461
1761
|
$ref: '#/channels/opsArchive'
|
|
1762
|
+
bindings:
|
|
1763
|
+
sqs:
|
|
1764
|
+
queues:
|
|
1765
|
+
- name: gisl-{env}-{region}-ops-archive
|
|
1766
|
+
fifoQueue: false
|
|
1767
|
+
bindingVersion: '0.2.0'
|
|
1462
1768
|
summary: Process archive operation
|
|
1463
1769
|
description: |
|
|
1464
1770
|
The archive Lambda consumes archive requests routed by
|
|
@@ -1471,6 +1777,12 @@ operations:
|
|
|
1471
1777
|
action: receive
|
|
1472
1778
|
channel:
|
|
1473
1779
|
$ref: '#/channels/opsConvert'
|
|
1780
|
+
bindings:
|
|
1781
|
+
sqs:
|
|
1782
|
+
queues:
|
|
1783
|
+
- name: gisl-{env}-{region}-ops-convert
|
|
1784
|
+
fifoQueue: false
|
|
1785
|
+
bindingVersion: '0.2.0'
|
|
1474
1786
|
summary: Process convert operation
|
|
1475
1787
|
description: |
|
|
1476
1788
|
The convert Lambda consumes convert requests routed by
|
|
@@ -1483,6 +1795,12 @@ operations:
|
|
|
1483
1795
|
action: receive
|
|
1484
1796
|
channel:
|
|
1485
1797
|
$ref: '#/channels/opsCustomLuma'
|
|
1798
|
+
bindings:
|
|
1799
|
+
sqs:
|
|
1800
|
+
queues:
|
|
1801
|
+
- name: gisl-{env}-{region}-ops-custom-luma
|
|
1802
|
+
fifoQueue: false
|
|
1803
|
+
bindingVersion: '0.2.0'
|
|
1486
1804
|
summary: Process custom_luma operation
|
|
1487
1805
|
description: |
|
|
1488
1806
|
The `operation-custom-luma` Lambda (cross-repo follow-up — not
|
|
@@ -1500,6 +1818,12 @@ operations:
|
|
|
1500
1818
|
action: receive
|
|
1501
1819
|
channel:
|
|
1502
1820
|
$ref: '#/channels/opsAudioOverlay'
|
|
1821
|
+
bindings:
|
|
1822
|
+
sqs:
|
|
1823
|
+
queues:
|
|
1824
|
+
- name: gisl-{env}-{region}-ops-audio-overlay
|
|
1825
|
+
fifoQueue: false
|
|
1826
|
+
bindingVersion: '0.2.0'
|
|
1503
1827
|
summary: Process audio_overlay operation
|
|
1504
1828
|
description: |
|
|
1505
1829
|
The `operation-audio-overlay` Lambda (cross-repo follow-up —
|
|
@@ -1518,17 +1842,24 @@ operations:
|
|
|
1518
1842
|
action: receive
|
|
1519
1843
|
channel:
|
|
1520
1844
|
$ref: '#/channels/opsSplit'
|
|
1845
|
+
bindings:
|
|
1846
|
+
sqs:
|
|
1847
|
+
queues:
|
|
1848
|
+
- name: gisl-{env}-{region}-ops-split
|
|
1849
|
+
fifoQueue: false
|
|
1850
|
+
bindingVersion: '0.2.0'
|
|
1521
1851
|
summary: Process split operation
|
|
1522
1852
|
description: |
|
|
1523
1853
|
The `operation-split` Lambda (lambdas pre-launch epic Wave A)
|
|
1524
1854
|
consumes split requests routed by `operation_type=split`. Its
|
|
1525
|
-
`audio`
|
|
1526
|
-
|
|
1527
|
-
|
|
1855
|
+
`audio` + short-form `video` paths are live on staging (lambdas
|
|
1856
|
+
#161 / [`vKI0CFDu`](https://trello.com/c/vKI0CFDu)); the
|
|
1857
|
+
`image_gif` / `document_pdf` workers (and video `long_form` via
|
|
1858
|
+
`split-video-fargate`) remain a cross-repo follow-up. Single-input —
|
|
1528
1859
|
`media_group` derives from the input MIME prefix per the
|
|
1529
1860
|
existing single-input rule. `availability: beta` for the `audio`
|
|
1530
|
-
|
|
1531
|
-
`
|
|
1861
|
+
and `video` (short-form) mime_groups (workers live on staging); the
|
|
1862
|
+
`image_gif` and `document_pdf` mime_groups stay `availability:
|
|
1532
1863
|
planned`, and the API rejects their workflow-create with
|
|
1533
1864
|
`feature_not_available` (422) until those Lambdas ship.
|
|
1534
1865
|
Long-form video splits route to a separate
|
|
@@ -1542,6 +1873,12 @@ operations:
|
|
|
1542
1873
|
action: receive
|
|
1543
1874
|
channel:
|
|
1544
1875
|
$ref: '#/channels/opsVideoWatermark'
|
|
1876
|
+
bindings:
|
|
1877
|
+
sqs:
|
|
1878
|
+
queues:
|
|
1879
|
+
- name: gisl-{env}-{region}-ops-video-watermark
|
|
1880
|
+
fifoQueue: false
|
|
1881
|
+
bindingVersion: '0.2.0'
|
|
1545
1882
|
summary: Process video_watermark operation
|
|
1546
1883
|
description: |
|
|
1547
1884
|
The `operation-video-watermark` Lambda (cross-repo follow-up —
|
|
@@ -1562,6 +1899,12 @@ operations:
|
|
|
1562
1899
|
action: receive
|
|
1563
1900
|
channel:
|
|
1564
1901
|
$ref: '#/channels/opsVideoTextWatermark'
|
|
1902
|
+
bindings:
|
|
1903
|
+
sqs:
|
|
1904
|
+
queues:
|
|
1905
|
+
- name: gisl-{env}-{region}-ops-video-text-watermark
|
|
1906
|
+
fifoQueue: false
|
|
1907
|
+
bindingVersion: '0.2.0'
|
|
1565
1908
|
summary: Process video_text_watermark operation
|
|
1566
1909
|
description: |
|
|
1567
1910
|
The `operation-video-text-watermark` Lambda (cross-repo
|
|
@@ -1581,6 +1924,12 @@ operations:
|
|
|
1581
1924
|
action: receive
|
|
1582
1925
|
channel:
|
|
1583
1926
|
$ref: '#/channels/opsAudioToVideo'
|
|
1927
|
+
bindings:
|
|
1928
|
+
sqs:
|
|
1929
|
+
queues:
|
|
1930
|
+
- name: gisl-{env}-{region}-ops-audio-to-video
|
|
1931
|
+
fifoQueue: false
|
|
1932
|
+
bindingVersion: '0.2.0'
|
|
1584
1933
|
summary: Process audio_to_video operation
|
|
1585
1934
|
description: |
|
|
1586
1935
|
The `operation-audio-to-video` Lambda (cross-repo follow-up —
|
|
@@ -1601,6 +1950,12 @@ operations:
|
|
|
1601
1950
|
action: receive
|
|
1602
1951
|
channel:
|
|
1603
1952
|
$ref: '#/channels/opsAudioWatermark'
|
|
1953
|
+
bindings:
|
|
1954
|
+
sqs:
|
|
1955
|
+
queues:
|
|
1956
|
+
- name: gisl-{env}-{region}-ops-audio-watermark
|
|
1957
|
+
fifoQueue: false
|
|
1958
|
+
bindingVersion: '0.2.0'
|
|
1604
1959
|
summary: Process audio_watermark operation
|
|
1605
1960
|
description: |
|
|
1606
1961
|
The `operation-audio-watermark` Lambda (cross-repo follow-up —
|
|
@@ -1615,6 +1970,29 @@ operations:
|
|
|
1615
1970
|
messages:
|
|
1616
1971
|
- $ref: '#/channels/opsAudioWatermark/messages/operationRequest'
|
|
1617
1972
|
|
|
1973
|
+
consumeRenderVariantsOperation:
|
|
1974
|
+
action: receive
|
|
1975
|
+
channel:
|
|
1976
|
+
$ref: '#/channels/opsRenderVariants'
|
|
1977
|
+
bindings:
|
|
1978
|
+
sqs:
|
|
1979
|
+
queues:
|
|
1980
|
+
- name: gisl-{env}-{region}-ops-render-variants
|
|
1981
|
+
fifoQueue: false
|
|
1982
|
+
bindingVersion: '0.2.0'
|
|
1983
|
+
summary: Process render_variants operation
|
|
1984
|
+
description: |
|
|
1985
|
+
The `operation-render-variants` Lambda (cross-repo follow-up —
|
|
1986
|
+
not yet shipped) consumes render_variants requests routed by
|
|
1987
|
+
`operation_type=render_variants`. Single-input image fan-out (one
|
|
1988
|
+
source image to N resized / re-encoded variants). `availability:
|
|
1989
|
+
planned`; the API rejects workflow-create with
|
|
1990
|
+
`feature_not_available` (422) until the Lambda + this subscription
|
|
1991
|
+
ship, so traffic does not reach this channel today. Per ticket
|
|
1992
|
+
w3EwzHYd.
|
|
1993
|
+
messages:
|
|
1994
|
+
- $ref: '#/channels/opsRenderVariants/messages/operationRequest'
|
|
1995
|
+
|
|
1618
1996
|
# ============================================
|
|
1619
1997
|
# NOTIFICATION OPERATIONS
|
|
1620
1998
|
# ============================================
|
|
@@ -1622,37 +2000,67 @@ operations:
|
|
|
1622
2000
|
publishOperationProgress:
|
|
1623
2001
|
action: send
|
|
1624
2002
|
channel:
|
|
1625
|
-
$ref: '#/channels/
|
|
2003
|
+
$ref: '#/channels/notificationsJobsTopic'
|
|
2004
|
+
# Operation-level SNS binding: Microcks reads OPERATION bindings (not
|
|
2005
|
+
# the channel binding) for protocol detection — without it the SEND op
|
|
2006
|
+
# registers under Microcks' Kafka default and SNS conformance can't
|
|
2007
|
+
# bind. The cli@6.0.0-bundled SNS 0.1.0 schema requires a non-empty
|
|
2008
|
+
# consumers[] EVEN on send ops (the "consumers only for receive" rule
|
|
2009
|
+
# is 1.0.0, which cli rejects), so we declare the topic's real consumer
|
|
2010
|
+
# — the API FIFO SQS queue with raw message delivery. bindingVersion
|
|
2011
|
+
# 0.1.0 mirrors the channel pin. Per z7VkTNmN producer pillar.
|
|
2012
|
+
bindings:
|
|
2013
|
+
sns:
|
|
2014
|
+
consumers:
|
|
2015
|
+
- protocol: sqs
|
|
2016
|
+
endpoint:
|
|
2017
|
+
name: gisl-{env}-{region}-notifications-jobs.fifo
|
|
2018
|
+
rawMessageDelivery: true
|
|
2019
|
+
bindingVersion: '0.1.0'
|
|
1626
2020
|
summary: Publish operation progress update
|
|
1627
2021
|
description: |
|
|
1628
2022
|
Lambda publishes progress updates during operation processing.
|
|
1629
2023
|
These are lightweight messages for real-time status tracking.
|
|
1630
2024
|
messages:
|
|
1631
|
-
- $ref: '#/channels/
|
|
2025
|
+
- $ref: '#/channels/notificationsJobsTopic/messages/operationProgress'
|
|
1632
2026
|
|
|
1633
2027
|
publishOperationResult:
|
|
1634
2028
|
action: send
|
|
1635
2029
|
channel:
|
|
1636
|
-
$ref: '#/channels/
|
|
2030
|
+
$ref: '#/channels/notificationsJobsTopic'
|
|
2031
|
+
bindings:
|
|
2032
|
+
sns:
|
|
2033
|
+
consumers:
|
|
2034
|
+
- protocol: sqs
|
|
2035
|
+
endpoint:
|
|
2036
|
+
name: gisl-{env}-{region}-notifications-jobs.fifo
|
|
2037
|
+
rawMessageDelivery: true
|
|
2038
|
+
bindingVersion: '0.1.0'
|
|
1637
2039
|
summary: Publish operation result
|
|
1638
2040
|
description: |
|
|
1639
2041
|
Lambda publishes the final result when operation completes or fails.
|
|
1640
2042
|
This is a terminal message with full details.
|
|
1641
2043
|
messages:
|
|
1642
|
-
- $ref: '#/channels/
|
|
2044
|
+
- $ref: '#/channels/notificationsJobsTopic/messages/operationResult'
|
|
1643
2045
|
|
|
1644
2046
|
consumeOperationNotifications:
|
|
1645
2047
|
action: receive
|
|
1646
2048
|
channel:
|
|
1647
|
-
$ref: '#/channels/
|
|
2049
|
+
$ref: '#/channels/notificationsJobsQueue'
|
|
2050
|
+
bindings:
|
|
2051
|
+
sqs:
|
|
2052
|
+
queues:
|
|
2053
|
+
- name: gisl-{env}-{region}-notifications-jobs.fifo
|
|
2054
|
+
fifoQueue: true
|
|
2055
|
+
bindingVersion: '0.2.0'
|
|
1648
2056
|
summary: Consume operation notifications
|
|
1649
2057
|
description: |
|
|
1650
2058
|
API worker consumes both progress and result notifications from SQS.
|
|
1651
2059
|
- OperationProgress: Update Redis cache for real-time status (forwarded to frontend via SSE)
|
|
1652
2060
|
- OperationResult: Update database Operation entity, derive Job/Workflow status
|
|
1653
2061
|
messages:
|
|
1654
|
-
- $ref: '#/channels/
|
|
1655
|
-
- $ref: '#/channels/
|
|
2062
|
+
- $ref: '#/channels/notificationsJobsQueue/messages/operationProgress'
|
|
2063
|
+
- $ref: '#/channels/notificationsJobsQueue/messages/operationResult'
|
|
1656
2064
|
|
|
1657
2065
|
# ============================================
|
|
1658
2066
|
# UPLOAD-PROBE OPERATIONS (per ticket vBlEurU7)
|
|
@@ -1681,6 +2089,12 @@ operations:
|
|
|
1681
2089
|
action: receive
|
|
1682
2090
|
channel:
|
|
1683
2091
|
$ref: '#/channels/uploadProbeQueue'
|
|
2092
|
+
bindings:
|
|
2093
|
+
sqs:
|
|
2094
|
+
queues:
|
|
2095
|
+
- name: gisl-{env}-{region}-upload-probe
|
|
2096
|
+
fifoQueue: false
|
|
2097
|
+
bindingVersion: '0.2.0'
|
|
1684
2098
|
summary: Consume an upload-probe request (async branch)
|
|
1685
2099
|
description: |
|
|
1686
2100
|
The upload-probe Lambda consumes from the SQS queue subscribed
|
|
@@ -1698,6 +2112,12 @@ operations:
|
|
|
1698
2112
|
action: send
|
|
1699
2113
|
channel:
|
|
1700
2114
|
$ref: '#/channels/uploadProbeCompletionsQueue'
|
|
2115
|
+
bindings:
|
|
2116
|
+
sqs:
|
|
2117
|
+
queues:
|
|
2118
|
+
- name: gisl-{env}-{region}-upload-probe-completions
|
|
2119
|
+
fifoQueue: false
|
|
2120
|
+
bindingVersion: '0.2.0'
|
|
1701
2121
|
summary: Publish an upload-probe completion (async branch)
|
|
1702
2122
|
description: |
|
|
1703
2123
|
The upload-probe Lambda publishes the result of the async
|
|
@@ -1719,6 +2139,12 @@ operations:
|
|
|
1719
2139
|
action: receive
|
|
1720
2140
|
channel:
|
|
1721
2141
|
$ref: '#/channels/uploadProbeCompletionsQueue'
|
|
2142
|
+
bindings:
|
|
2143
|
+
sqs:
|
|
2144
|
+
queues:
|
|
2145
|
+
- name: gisl-{env}-{region}-upload-probe-completions
|
|
2146
|
+
fifoQueue: false
|
|
2147
|
+
bindingVersion: '0.2.0'
|
|
1722
2148
|
summary: Consume an upload-probe completion (async branch)
|
|
1723
2149
|
description: |
|
|
1724
2150
|
The API consumer worker reads completions from this queue and
|
|
@@ -1737,6 +2163,12 @@ operations:
|
|
|
1737
2163
|
action: send
|
|
1738
2164
|
channel:
|
|
1739
2165
|
$ref: '#/channels/longformCompressVideo'
|
|
2166
|
+
bindings:
|
|
2167
|
+
sqs:
|
|
2168
|
+
queues:
|
|
2169
|
+
- name: gisl-{env}-{region}-ops-compress-video-longform
|
|
2170
|
+
fifoQueue: false
|
|
2171
|
+
bindingVersion: '0.2.0'
|
|
1740
2172
|
summary: Publish a long-form video compression claim-check.
|
|
1741
2173
|
description: |
|
|
1742
2174
|
The API (`SqsLongFormOperationPublisherAdapter`) writes the full job
|
|
@@ -1750,6 +2182,12 @@ operations:
|
|
|
1750
2182
|
action: send
|
|
1751
2183
|
channel:
|
|
1752
2184
|
$ref: '#/channels/longformMergeVideoReencode'
|
|
2185
|
+
bindings:
|
|
2186
|
+
sqs:
|
|
2187
|
+
queues:
|
|
2188
|
+
- name: gisl-{env}-{region}-ops-merge-video-longform-reencode
|
|
2189
|
+
fifoQueue: false
|
|
2190
|
+
bindingVersion: '0.2.0'
|
|
1753
2191
|
summary: Publish a long-form merge re-encode claim-check.
|
|
1754
2192
|
description: |
|
|
1755
2193
|
As `publishLongFormCompressVideo`, for `operation_type = merge`
|
|
@@ -1757,6 +2195,23 @@ operations:
|
|
|
1757
2195
|
messages:
|
|
1758
2196
|
- $ref: '#/channels/longformMergeVideoReencode/messages/longFormJob'
|
|
1759
2197
|
|
|
2198
|
+
publishLongFormSplitVideo:
|
|
2199
|
+
action: send
|
|
2200
|
+
channel:
|
|
2201
|
+
$ref: '#/channels/longformSplitVideo'
|
|
2202
|
+
bindings:
|
|
2203
|
+
sqs:
|
|
2204
|
+
queues:
|
|
2205
|
+
- name: gisl-{env}-{region}-ops-split-video-longform
|
|
2206
|
+
fifoQueue: false
|
|
2207
|
+
bindingVersion: '0.2.0'
|
|
2208
|
+
summary: Publish a long-form video split claim-check.
|
|
2209
|
+
description: |
|
|
2210
|
+
As `publishLongFormCompressVideo`, for `operation_type = split`
|
|
2211
|
+
(`split.video.long_form`). Direct-to-SQS claim-check; no SNS.
|
|
2212
|
+
messages:
|
|
2213
|
+
- $ref: '#/channels/longformSplitVideo/messages/longFormJob'
|
|
2214
|
+
|
|
1760
2215
|
# ============================================
|
|
1761
2216
|
# LONG-FORM CLAIM-CHECK CONSUMERS (launcher -> Fargate)
|
|
1762
2217
|
# ============================================
|
|
@@ -1765,6 +2220,12 @@ operations:
|
|
|
1765
2220
|
action: receive
|
|
1766
2221
|
channel:
|
|
1767
2222
|
$ref: '#/channels/longformCompressVideo'
|
|
2223
|
+
bindings:
|
|
2224
|
+
sqs:
|
|
2225
|
+
queues:
|
|
2226
|
+
- name: gisl-{env}-{region}-ops-compress-video-longform
|
|
2227
|
+
fifoQueue: false
|
|
2228
|
+
bindingVersion: '0.2.0'
|
|
1768
2229
|
summary: Consume a long-form video compression claim-check.
|
|
1769
2230
|
description: |
|
|
1770
2231
|
A terraform-owned launcher (EventBridge Pipe, filter=none -> launcher
|
|
@@ -1779,6 +2240,12 @@ operations:
|
|
|
1779
2240
|
action: receive
|
|
1780
2241
|
channel:
|
|
1781
2242
|
$ref: '#/channels/longformMergeVideoReencode'
|
|
2243
|
+
bindings:
|
|
2244
|
+
sqs:
|
|
2245
|
+
queues:
|
|
2246
|
+
- name: gisl-{env}-{region}-ops-merge-video-longform-reencode
|
|
2247
|
+
fifoQueue: false
|
|
2248
|
+
bindingVersion: '0.2.0'
|
|
1782
2249
|
summary: Consume a long-form merge re-encode claim-check.
|
|
1783
2250
|
description: |
|
|
1784
2251
|
As `consumeLongFormCompressVideo`, for `operation_type = merge`
|
|
@@ -1787,6 +2254,26 @@ operations:
|
|
|
1787
2254
|
messages:
|
|
1788
2255
|
- $ref: '#/channels/longformMergeVideoReencode/messages/longFormJob'
|
|
1789
2256
|
|
|
2257
|
+
consumeLongFormSplitVideo:
|
|
2258
|
+
action: receive
|
|
2259
|
+
channel:
|
|
2260
|
+
$ref: '#/channels/longformSplitVideo'
|
|
2261
|
+
bindings:
|
|
2262
|
+
sqs:
|
|
2263
|
+
queues:
|
|
2264
|
+
- name: gisl-{env}-{region}-ops-split-video-longform
|
|
2265
|
+
fifoQueue: false
|
|
2266
|
+
bindingVersion: '0.2.0'
|
|
2267
|
+
summary: Consume a long-form video split claim-check.
|
|
2268
|
+
description: |
|
|
2269
|
+
As `consumeLongFormCompressVideo`, for `operation_type = split`
|
|
2270
|
+
(`split.video.long_form`). The launcher forks on
|
|
2271
|
+
`(operation_type=split, processing_class=long_form)` and runs the
|
|
2272
|
+
`split-video-fargate` stream-copy segmenter task. Segments land at
|
|
2273
|
+
`{output_key_prefix}/output-NNN.ext`.
|
|
2274
|
+
messages:
|
|
2275
|
+
- $ref: '#/channels/longformSplitVideo/messages/longFormJob'
|
|
2276
|
+
|
|
1790
2277
|
components:
|
|
1791
2278
|
messages:
|
|
1792
2279
|
# ============================================
|
|
@@ -2709,6 +3196,13 @@ components:
|
|
|
2709
3196
|
Operation type used as the SNS filter attribute on the
|
|
2710
3197
|
`operations` topic. The sole routing key for non-compression
|
|
2711
3198
|
traffic.
|
|
3199
|
+
|
|
3200
|
+
**`passthrough` is deliberately excluded** from this enum: a
|
|
3201
|
+
`passthrough` operation never goes on the wire. The API
|
|
3202
|
+
self-completes a passthrough source job at publish (terminal
|
|
3203
|
+
output = the upload bytes unchanged), so nothing is published
|
|
3204
|
+
to SNS and there is no `ops-passthrough` queue. Per ticket
|
|
3205
|
+
`4som89Uh`.
|
|
2712
3206
|
enum:
|
|
2713
3207
|
- thumbnail
|
|
2714
3208
|
- thumbnail_image
|
|
@@ -2727,6 +3221,7 @@ components:
|
|
|
2727
3221
|
- video_watermark
|
|
2728
3222
|
- video_text_watermark
|
|
2729
3223
|
- split
|
|
3224
|
+
- render_variants
|
|
2730
3225
|
media_group:
|
|
2731
3226
|
type: string
|
|
2732
3227
|
description: |
|
|
@@ -2884,6 +3379,11 @@ components:
|
|
|
2884
3379
|
- operation_type
|
|
2885
3380
|
- output_bucket
|
|
2886
3381
|
- output_key_prefix
|
|
3382
|
+
# No `passthrough` branch below: a passthrough source job is
|
|
3383
|
+
# self-completed by the API at publish (output = upload bytes
|
|
3384
|
+
# unchanged) and is never published as an OperationRequest message,
|
|
3385
|
+
# so it has no single-input/multi-input required-field branch here.
|
|
3386
|
+
# Per ticket 4som89Uh.
|
|
2887
3387
|
allOf:
|
|
2888
3388
|
- if:
|
|
2889
3389
|
properties:
|
|
@@ -2896,6 +3396,7 @@ components:
|
|
|
2896
3396
|
- audio_watermark
|
|
2897
3397
|
- video_text_watermark
|
|
2898
3398
|
- split
|
|
3399
|
+
- render_variants
|
|
2899
3400
|
then:
|
|
2900
3401
|
required:
|
|
2901
3402
|
- file_type
|
|
@@ -3049,13 +3550,13 @@ components:
|
|
|
3049
3550
|
backend-dotted form (e.g. `compress.video.long_form`) is deliberately
|
|
3050
3551
|
NOT on the wire — the launcher mints it internally.
|
|
3051
3552
|
|
|
3052
|
-
**Live `operation_type` subset: `compress`, `merge`** —
|
|
3053
|
-
long-form classes
|
|
3054
|
-
|
|
3055
|
-
[`rcwvUKhI`](https://trello.com/c/rcwvUKhI)
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3553
|
+
**Live `operation_type` subset: `compress`, `merge`, `split`** —
|
|
3554
|
+
these three long-form classes are `availability: beta` (compress +
|
|
3555
|
+
merge per CON-1; `split.video.long_form` per
|
|
3556
|
+
[`rcwvUKhI`](https://trello.com/c/rcwvUKhI), worker
|
|
3557
|
+
`split-video-fargate` proven on staging). `audio_overlay` long-form
|
|
3558
|
+
(reserve-name-only, no queue) is NOT yet produced and is therefore
|
|
3559
|
+
absent from this enum; it gets added when its publisher ships.
|
|
3059
3560
|
|
|
3060
3561
|
**Scope: the API producer's first-publish.** This schema models the
|
|
3061
3562
|
message the API publishes to the long-form queues — the 5 fields above.
|
|
@@ -3174,6 +3675,33 @@ components:
|
|
|
3174
3675
|
silently drop this sibling per-input audio override at the wire
|
|
3175
3676
|
boundary.
|
|
3176
3677
|
example: 0.5
|
|
3678
|
+
trim_start:
|
|
3679
|
+
type: number
|
|
3680
|
+
minimum: 0
|
|
3681
|
+
description: |
|
|
3682
|
+
Per-input trim from the beginning, in seconds, applied to
|
|
3683
|
+
this input BEFORE the transition/crossfade step. Mirrors
|
|
3684
|
+
`merge.{video,audio}.per_input_options.trim_start` in
|
|
3685
|
+
`schemas/operations/merge.yaml`; same "trim from beginning"
|
|
3686
|
+
semantic as `compress` trim. No `maximum` — the upper bound
|
|
3687
|
+
is the input's own duration, enforced by the worker, not
|
|
3688
|
+
statically bounded at the wire. Wire slot added so the API
|
|
3689
|
+
does not drop this per-input override at the boundary
|
|
3690
|
+
(mirrors the crossfade_duration/gap_duration precedent).
|
|
3691
|
+
example: 1.5
|
|
3692
|
+
trim_end:
|
|
3693
|
+
type: number
|
|
3694
|
+
minimum: 0
|
|
3695
|
+
description: |
|
|
3696
|
+
Per-input trim from the end, in seconds, applied to this
|
|
3697
|
+
input BEFORE the transition/crossfade step. Mirrors
|
|
3698
|
+
`merge.{video,audio}.per_input_options.trim_end` in
|
|
3699
|
+
`schemas/operations/merge.yaml`; same "trim from end"
|
|
3700
|
+
semantic as `compress` trim. No `maximum` — bounded by the
|
|
3701
|
+
input's own duration at the worker, not statically. Wire
|
|
3702
|
+
slot added so the API does not drop this per-input override
|
|
3703
|
+
at the boundary.
|
|
3704
|
+
example: 2.0
|
|
3177
3705
|
|
|
3178
3706
|
# ============================================
|
|
3179
3707
|
# OPERATION PROGRESS SCHEMA
|
|
@@ -3419,6 +3947,8 @@ components:
|
|
|
3419
3947
|
|
|
3420
3948
|
metrics:
|
|
3421
3949
|
$ref: '#/components/schemas/OperationMetrics'
|
|
3950
|
+
result_metadata:
|
|
3951
|
+
$ref: '#/components/schemas/OperationResultMetadata'
|
|
3422
3952
|
|
|
3423
3953
|
# Failure fields
|
|
3424
3954
|
error_code:
|
|
@@ -3438,6 +3968,32 @@ components:
|
|
|
3438
3968
|
description: Progress percentage when the operation failed (failed only)
|
|
3439
3969
|
example: 10
|
|
3440
3970
|
|
|
3971
|
+
OperationResultMetadata:
|
|
3972
|
+
type: object
|
|
3973
|
+
additionalProperties: false
|
|
3974
|
+
description: |
|
|
3975
|
+
Whitelisted, named operation-level result metadata — a **CLOSED**
|
|
3976
|
+
set of declared keys carried on the wire result (Lambda → API). The
|
|
3977
|
+
API persists only declared keys and serves only declared keys (a
|
|
3978
|
+
whitelist projection on the read side), never the raw bag, so
|
|
3979
|
+
internal diagnostics never leak. New keys are **additive named
|
|
3980
|
+
cuts**. Twin of the OpenAPI `OperationResultMetadata` (wire ↔ read
|
|
3981
|
+
parity — same named-prop shape). Distinct from the deliverable
|
|
3982
|
+
output (`output_key` / `outputs[]`): small per-operation metadata,
|
|
3983
|
+
not the file. Per ticket EurbZLMH (B1).
|
|
3984
|
+
properties:
|
|
3985
|
+
watermark_id:
|
|
3986
|
+
type: string
|
|
3987
|
+
format: uuid
|
|
3988
|
+
description: |
|
|
3989
|
+
UUIDv7 of the watermark embedded by an `audio_watermark`
|
|
3990
|
+
operation (for later decode/verify). **Display-only / not yet
|
|
3991
|
+
populated** — gated on the audio_watermark Lambda (EvPl5fkH, B3)
|
|
3992
|
+
+ the watermark registry (B2, deferred). The field + whitelist
|
|
3993
|
+
ship now (additive) so the pipeline + read projection land
|
|
3994
|
+
without a later contract bump; absent until B3 is live.
|
|
3995
|
+
example: "018f9c42-5d6b-7481-b3df-9fd0a0a5e112"
|
|
3996
|
+
|
|
3441
3997
|
OperationResultOutputEntry:
|
|
3442
3998
|
type: object
|
|
3443
3999
|
description: |
|
|
@@ -3463,9 +4019,11 @@ components:
|
|
|
3463
4019
|
not: { required: [page_index] }
|
|
3464
4020
|
- title: Unindexed
|
|
3465
4021
|
description: |
|
|
3466
|
-
Output without
|
|
3467
|
-
|
|
3468
|
-
|
|
4022
|
+
Output without a page/position indexing field. Covers legacy
|
|
4023
|
+
single-output entries AND `render_variants` variant outputs (the
|
|
4024
|
+
latter carry the optional `target_id` correlation field — the
|
|
4025
|
+
image-fan-out addressing contract — but are not page/position
|
|
4026
|
+
indexed). Per ADR-0009 §D2.
|
|
3469
4027
|
not:
|
|
3470
4028
|
anyOf:
|
|
3471
4029
|
- required: [page_index]
|
|
@@ -3502,6 +4060,18 @@ components:
|
|
|
3502
4060
|
strip, chapter split). Mutually exclusive with `page_index`.
|
|
3503
4061
|
Per ADR-0009 §D2.
|
|
3504
4062
|
example: 0
|
|
4063
|
+
target_id:
|
|
4064
|
+
type: string
|
|
4065
|
+
pattern: '^[A-Za-z0-9._-]+$'
|
|
4066
|
+
maxLength: 64
|
|
4067
|
+
description: |
|
|
4068
|
+
The caller-assigned `id` of the `render_variants` target that
|
|
4069
|
+
produced this output, echoed verbatim — the addressing contract
|
|
4070
|
+
for image fan-out. Carried on the `Unindexed` branch (variant
|
|
4071
|
+
outputs are not page/position indexed); no operation emits
|
|
4072
|
+
`target_id` together with `page_index` / `position`. Per ticket
|
|
4073
|
+
`w3EwzHYd`.
|
|
4074
|
+
example: "thumb-2x"
|
|
3505
4075
|
|
|
3506
4076
|
# ============================================
|
|
3507
4077
|
# WORKFLOW STATE CHANGED (per ticket I24)
|
|
@@ -4162,11 +4732,19 @@ components:
|
|
|
4162
4732
|
`processing_class`. `media_group` derives from the input
|
|
4163
4733
|
MIME prefix per the existing single-input rule (no
|
|
4164
4734
|
operation-specific conditional needed). `availability: beta`
|
|
4165
|
-
for the `audio`
|
|
4166
|
-
`
|
|
4735
|
+
for the `audio` and `video` (short-form) mime_groups
|
|
4736
|
+
(`image_gif` / `document_pdf` and video `long_form` stay
|
|
4737
|
+
`planned`); routes via `operation_type=split`
|
|
4167
4738
|
to `ops-split`.
|
|
4168
4739
|
Per ADR-0004 + ADR-0014
|
|
4169
4740
|
([`vKI0CFDu`](https://trello.com/c/vKI0CFDu)).
|
|
4741
|
+
|
|
4742
|
+
Note: the `passthrough` OpenAPI operation is **deliberately
|
|
4743
|
+
absent** from this payload enum. A passthrough source job is
|
|
4744
|
+
self-completed by the API at publish (its output is the upload
|
|
4745
|
+
bytes unchanged) and is never dispatched as an
|
|
4746
|
+
`OperationRequest` message — so it carries no wire payload and
|
|
4747
|
+
needs no SNS routing value. Per ticket `4som89Uh`.
|
|
4170
4748
|
enum:
|
|
4171
4749
|
- compress
|
|
4172
4750
|
- thumbnail
|
|
@@ -4182,6 +4760,7 @@ components:
|
|
|
4182
4760
|
- video_watermark
|
|
4183
4761
|
- video_text_watermark
|
|
4184
4762
|
- split
|
|
4763
|
+
- render_variants
|
|
4185
4764
|
|
|
4186
4765
|
MediaGroup:
|
|
4187
4766
|
type: string
|
|
@@ -4308,11 +4887,18 @@ components:
|
|
|
4308
4887
|
Coarse operation verb for the long-form claim-check job
|
|
4309
4888
|
(`LongFormJobMessage.operation_type`). Deliberately a call-site
|
|
4310
4889
|
**subset** of `OperationType` — only the long-form classes the API
|
|
4311
|
-
actually publishes today (`compress`, `merge`). NOT the
|
|
4312
|
-
`OperationType` enum (which would over-promise the wire).
|
|
4313
|
-
long-form publishers
|
|
4314
|
-
|
|
4315
|
-
|
|
4890
|
+
actually publishes today (`compress`, `merge`, `split`). NOT the
|
|
4891
|
+
full `OperationType` enum (which would over-promise the wire).
|
|
4892
|
+
Future long-form publishers widen this enum when they ship.
|
|
4893
|
+
|
|
4894
|
+
`split` joined this enum when the long-form video split publisher
|
|
4895
|
+
shipped ([`rcwvUKhI`](https://trello.com/c/rcwvUKhI), per
|
|
4896
|
+
[ADR-0014](../docs/decisions/0014-split-operation.md) §D10): the
|
|
4897
|
+
API publishes to the dedicated `longformSplitVideo` queue and the
|
|
4898
|
+
`split-video-fargate` worker stream-copy-segments the input
|
|
4899
|
+
(NOT the compress path — a distinct binary). The
|
|
4900
|
+
`(operation_type=split, processing_class=long_form)` tuple is the
|
|
4901
|
+
launcher's fork key.
|
|
4316
4902
|
|
|
4317
4903
|
Named-schema form lifted from inline at
|
|
4318
4904
|
`LongFormJobMessage.operation_type` per ticket
|
|
@@ -4322,6 +4908,7 @@ components:
|
|
|
4322
4908
|
enum:
|
|
4323
4909
|
- compress
|
|
4324
4910
|
- merge
|
|
4911
|
+
- split
|
|
4325
4912
|
|
|
4326
4913
|
LongFormProcessingClass:
|
|
4327
4914
|
type: string
|