@giveitsmaller/contracts 0.67.0 → 0.68.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/README.md +2 -2
- package/accepted-options/accepted-options.json +17 -3
- package/accepted-options/image-output-routes.json +1 -1
- package/availability/availability.json +91 -10
- package/code-builder/code-builder-metadata.json +120 -11
- package/dist/openapi/models/AccountLimitEntry.d.ts +1 -1
- package/dist/openapi/models/AccountLimitEntry.js +1 -1
- package/dist/openapi/models/AccountLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsLimits.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsLimits.js +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/AccountLimitsSuccessEnvelope.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeRequest.js +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.d.ts +1 -1
- package/dist/openapi/models/AudioWatermarkDecodeResponse.js +1 -1
- package/dist/openapi/models/AuthErrorResponse.d.ts +1 -1
- package/dist/openapi/models/AuthErrorResponse.js +1 -1
- package/dist/openapi/models/AuthErrorType.d.ts +1 -1
- package/dist/openapi/models/AuthErrorType.js +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.d.ts +1 -1
- package/dist/openapi/models/AuthRejectionEnvelope.js +1 -1
- package/dist/openapi/models/AuthenticatedIdentity.d.ts +89 -0
- package/dist/openapi/models/AuthenticatedIdentity.js +66 -0
- package/dist/openapi/models/AvailabilityValue.d.ts +1 -1
- package/dist/openapi/models/AvailabilityValue.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponse.js +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/BalanceExhaustedResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/BillingCheckoutRequest.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutRequest.js +1 -1
- package/dist/openapi/models/BillingCheckoutSession.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutSession.js +1 -1
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/BillingCheckoutSuccessEnvelope.js +1 -1
- package/dist/openapi/models/CallbackEventType.d.ts +1 -1
- package/dist/openapi/models/CallbackEventType.js +1 -1
- package/dist/openapi/models/CancelAccountDeletion200Response.d.ts +1 -1
- package/dist/openapi/models/CancelAccountDeletion200Response.js +1 -1
- package/dist/openapi/models/CancelAccountDeletion200ResponseData.d.ts +1 -1
- package/dist/openapi/models/CancelAccountDeletion200ResponseData.js +1 -1
- package/dist/openapi/models/CapabilityCondition.d.ts +1 -1
- package/dist/openapi/models/CapabilityCondition.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf2.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf3.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf4.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf5.js +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.d.ts +1 -1
- package/dist/openapi/models/CapabilityConditionOneOf6.js +1 -1
- package/dist/openapi/models/CapabilityConstraint.d.ts +1 -1
- package/dist/openapi/models/CapabilityConstraint.js +1 -1
- package/dist/openapi/models/CapabilityInputSpec.d.ts +1 -1
- package/dist/openapi/models/CapabilityInputSpec.js +1 -1
- package/dist/openapi/models/CapabilityProduces.d.ts +1 -1
- package/dist/openapi/models/CapabilityProduces.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf1.js +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.d.ts +1 -1
- package/dist/openapi/models/CapabilityProducesOneOf2.js +1 -1
- package/dist/openapi/models/ChangePasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ChangePasswordRequest.js +1 -1
- package/dist/openapi/models/CodegenSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSource.js +1 -1
- package/dist/openapi/models/CodegenSourceInput.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceInput.js +1 -1
- package/dist/openapi/models/CodegenSourceJob.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJob.js +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceJobSource.js +1 -1
- package/dist/openapi/models/CodegenSourceOperation.d.ts +1 -1
- package/dist/openapi/models/CodegenSourceOperation.js +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.d.ts +1 -1
- package/dist/openapi/models/CodegenUploadPlaceholder.js +1 -1
- package/dist/openapi/models/CompositionPlan.d.ts +1 -1
- package/dist/openapi/models/CompositionPlan.js +1 -1
- package/dist/openapi/models/CompositionPlanJob.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanJob.js +1 -1
- package/dist/openapi/models/CompositionPlanOperation.d.ts +1 -1
- package/dist/openapi/models/CompositionPlanOperation.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200Response.js +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChange200ResponseData.js +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.d.ts +1 -1
- package/dist/openapi/models/ConfirmEmailChangeRequest.js +1 -1
- package/dist/openapi/models/ConnectionSource.d.ts +1 -1
- package/dist/openapi/models/ConnectionSource.js +1 -1
- package/dist/openapi/models/ContactRequest.d.ts +1 -1
- package/dist/openapi/models/ContactRequest.js +1 -1
- package/dist/openapi/models/ContactSubject.d.ts +1 -1
- package/dist/openapi/models/ContactSubject.js +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.d.ts +1 -1
- package/dist/openapi/models/ContactValidationErrorResponse.js +1 -1
- package/dist/openapi/models/CreateApiKey201Response.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201Response.js +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.d.ts +1 -1
- package/dist/openapi/models/CreateApiKey201ResponseData.js +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.d.ts +1 -1
- package/dist/openapi/models/CreateApiKeyRequest.js +1 -1
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.d.ts +1 -1
- package/dist/openapi/models/CreateBillingCheckoutSession422Response.js +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport403Response.js +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.d.ts +1 -1
- package/dist/openapi/models/CreateExternalImport422Response.js +1 -1
- package/dist/openapi/models/CreateWorkflow401Response.d.ts +1 -1
- package/dist/openapi/models/CreateWorkflow401Response.js +1 -1
- package/dist/openapi/models/CreateWorkflow422Response.d.ts +1 -1
- package/dist/openapi/models/CreateWorkflow422Response.js +1 -1
- package/dist/openapi/models/CreditTransaction.d.ts +1 -1
- package/dist/openapi/models/CreditTransaction.js +1 -1
- package/dist/openapi/models/CreditTransactionSourceBucket.d.ts +1 -1
- package/dist/openapi/models/CreditTransactionSourceBucket.js +1 -1
- package/dist/openapi/models/CreditsBalanceResponse.d.ts +1 -1
- package/dist/openapi/models/CreditsBalanceResponse.js +1 -1
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/CreditsBalanceSuccessEnvelope.js +1 -1
- package/dist/openapi/models/CreditsUsageResponse.d.ts +1 -1
- package/dist/openapi/models/CreditsUsageResponse.js +1 -1
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/CreditsUsageSuccessEnvelope.js +1 -1
- package/dist/openapi/models/Delivery.d.ts +1 -1
- package/dist/openapi/models/Delivery.js +1 -1
- package/dist/openapi/models/DeliveryOutputRef.d.ts +1 -1
- package/dist/openapi/models/DeliveryOutputRef.js +1 -1
- package/dist/openapi/models/DeliveryPlan.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlan.js +1 -1
- package/dist/openapi/models/DeliveryPlanOutput.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlanOutput.js +1 -1
- package/dist/openapi/models/DeliveryPlanReason.d.ts +1 -1
- package/dist/openapi/models/DeliveryPlanReason.js +1 -1
- package/dist/openapi/models/DeliverySelection.d.ts +1 -1
- package/dist/openapi/models/DeliverySelection.js +1 -1
- package/dist/openapi/models/DownloadBundle.d.ts +1 -1
- package/dist/openapi/models/DownloadBundle.js +1 -1
- package/dist/openapi/models/DroppedOption.d.ts +1 -1
- package/dist/openapi/models/DroppedOption.js +1 -1
- package/dist/openapi/models/EmailNotify.d.ts +1 -1
- package/dist/openapi/models/EmailNotify.js +1 -1
- package/dist/openapi/models/EmptySuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/EmptySuccessEnvelope.js +1 -1
- package/dist/openapi/models/EndpointProjection.d.ts +1 -1
- package/dist/openapi/models/EndpointProjection.js +1 -1
- package/dist/openapi/models/EndpointProjectionServersInner.d.ts +1 -1
- package/dist/openapi/models/EndpointProjectionServersInner.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/ExportAccountData200Response.d.ts +1 -1
- package/dist/openapi/models/ExportAccountData200Response.js +1 -1
- package/dist/openapi/models/ExportAccountData200ResponseData.d.ts +1 -1
- package/dist/openapi/models/ExportAccountData200ResponseData.js +1 -1
- package/dist/openapi/models/ExternalDestination.d.ts +1 -1
- package/dist/openapi/models/ExternalDestination.js +1 -1
- package/dist/openapi/models/ExternalImportCreatedResponse.d.ts +1 -1
- package/dist/openapi/models/ExternalImportCreatedResponse.js +1 -1
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/ExternalImportCreatedSuccessEnvelope.js +1 -1
- package/dist/openapi/models/ExternalImportRequest.d.ts +1 -1
- package/dist/openapi/models/ExternalImportRequest.js +1 -1
- package/dist/openapi/models/ExternalImportToken.d.ts +1 -1
- package/dist/openapi/models/ExternalImportToken.js +1 -1
- package/dist/openapi/models/ExternalSource.d.ts +1 -1
- package/dist/openapi/models/ExternalSource.js +1 -1
- package/dist/openapi/models/FeatureNotAvailableResponse.d.ts +1 -1
- package/dist/openapi/models/FeatureNotAvailableResponse.js +1 -1
- package/dist/openapi/models/FeatureTierRestrictedResponse.d.ts +1 -1
- package/dist/openapi/models/FeatureTierRestrictedResponse.js +1 -1
- package/dist/openapi/models/FeatureViolation.d.ts +1 -1
- package/dist/openapi/models/FeatureViolation.js +1 -1
- package/dist/openapi/models/GetProfile200Response.d.ts +46 -0
- package/dist/openapi/models/GetProfile200Response.js +54 -0
- package/dist/openapi/models/GetProfile200ResponseData.d.ts +33 -0
- package/dist/openapi/models/GetProfile200ResponseData.js +44 -0
- package/dist/openapi/models/ImageEncodeCapabilities.d.ts +1 -1
- package/dist/openapi/models/ImageEncodeCapabilities.js +1 -1
- package/dist/openapi/models/JobDefinition.d.ts +1 -1
- package/dist/openapi/models/JobDefinition.js +1 -1
- package/dist/openapi/models/JobDownload.d.ts +1 -1
- package/dist/openapi/models/JobDownload.js +1 -1
- package/dist/openapi/models/JobInputV2.d.ts +1 -1
- package/dist/openapi/models/JobInputV2.js +1 -1
- package/dist/openapi/models/JobMediaClass.d.ts +1 -1
- package/dist/openapi/models/JobMediaClass.js +1 -1
- package/dist/openapi/models/JobOutputSource.d.ts +1 -1
- package/dist/openapi/models/JobOutputSource.js +1 -1
- package/dist/openapi/models/JobResponse.d.ts +1 -1
- package/dist/openapi/models/JobResponse.js +1 -1
- package/dist/openapi/models/JobStatus.d.ts +1 -1
- package/dist/openapi/models/JobStatus.js +1 -1
- package/dist/openapi/models/JobType.d.ts +1 -1
- package/dist/openapi/models/JobType.js +1 -1
- package/dist/openapi/models/LivenessResponse.d.ts +1 -1
- package/dist/openapi/models/LivenessResponse.js +1 -1
- package/dist/openapi/models/LoginUser200Response.d.ts +1 -1
- package/dist/openapi/models/LoginUser200Response.js +1 -1
- package/dist/openapi/models/LoginUser200ResponseData.d.ts +1 -1
- package/dist/openapi/models/LoginUser200ResponseData.js +1 -1
- package/dist/openapi/models/LoginUser200ResponseDataUser.d.ts +1 -1
- package/dist/openapi/models/LoginUser200ResponseDataUser.js +1 -1
- package/dist/openapi/models/LoginUser401Response.d.ts +1 -1
- package/dist/openapi/models/LoginUser401Response.js +1 -1
- package/dist/openapi/models/LoginUserRequest.d.ts +1 -1
- package/dist/openapi/models/LoginUserRequest.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponse.js +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.d.ts +1 -1
- package/dist/openapi/models/LongFormConcurrencyLimitResponseAllOfLinks.js +1 -1
- package/dist/openapi/models/MetadataResponse.d.ts +1 -1
- package/dist/openapi/models/MetadataResponse.js +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseDimensions.js +1 -1
- package/dist/openapi/models/MetadataResponseExif.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExif.js +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.d.ts +1 -1
- package/dist/openapi/models/MetadataResponseExifGps.js +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MetadataSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MimeGroupSchema.d.ts +17 -8
- package/dist/openapi/models/MimeGroupSchema.js +1 -1
- package/dist/openapi/models/MultiInputSource.d.ts +1 -1
- package/dist/openapi/models/MultiInputSource.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequest.js +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteRequestPartsInner.js +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteResponse.js +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartCompleteSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateRequestMetadataHint.js +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateResponse.js +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartInitiateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveResponse.js +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartKeepaliveSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartPartListing.d.ts +1 -1
- package/dist/openapi/models/MultipartPartListing.js +1 -1
- package/dist/openapi/models/MultipartPresignRequest.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignRequest.js +1 -1
- package/dist/openapi/models/MultipartPresignResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignResponse.js +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartPresignSuccessEnvelope.js +1 -1
- package/dist/openapi/models/MultipartStatusResponse.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusResponse.js +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/MultipartStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/NotifyConfig.d.ts +1 -1
- package/dist/openapi/models/NotifyConfig.js +1 -1
- package/dist/openapi/models/OperationCapability.d.ts +1 -1
- package/dist/openapi/models/OperationCapability.js +1 -1
- package/dist/openapi/models/OperationDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationDefinition.js +1 -1
- package/dist/openapi/models/OperationDownload.d.ts +1 -1
- package/dist/openapi/models/OperationDownload.js +1 -1
- package/dist/openapi/models/OperationInputModel.d.ts +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/OperationResultMetadata.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetadata.js +1 -1
- package/dist/openapi/models/OperationResultMetrics.d.ts +1 -1
- package/dist/openapi/models/OperationResultMetrics.js +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.d.ts +1 -1
- package/dist/openapi/models/OperationSchemaDefinition.js +1 -1
- package/dist/openapi/models/OperationStatus.d.ts +1 -1
- package/dist/openapi/models/OperationStatus.js +1 -1
- package/dist/openapi/models/OperationType.d.ts +1 -1
- package/dist/openapi/models/OperationType.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponse.d.ts +7 -1
- package/dist/openapi/models/OperationsSchemaResponse.js +3 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeatures.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDelivery.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliveryMode.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesDeliverySelection.js +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.d.ts +1 -1
- package/dist/openapi/models/OperationsSchemaResponseWorkflowFeaturesProcessing.js +1 -1
- package/dist/openapi/models/OptionSchema.d.ts +1 -1
- package/dist/openapi/models/OptionSchema.js +1 -1
- package/dist/openapi/models/OutputProperties.d.ts +1 -1
- package/dist/openapi/models/OutputProperties.js +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.d.ts +1 -1
- package/dist/openapi/models/OutputPropertiesIsAnimated.js +1 -1
- package/dist/openapi/models/PerClassAvailabilityEntry.d.ts +1 -1
- package/dist/openapi/models/PerClassAvailabilityEntry.js +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.d.ts +1 -1
- package/dist/openapi/models/PerRoleCardinalityEntry.js +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.d.ts +1 -1
- package/dist/openapi/models/PerValueAvailabilityEntry.js +1 -1
- package/dist/openapi/models/PresignedUrlPart.d.ts +1 -1
- package/dist/openapi/models/PresignedUrlPart.js +1 -1
- package/dist/openapi/models/ProbePendingResponse.d.ts +1 -1
- package/dist/openapi/models/ProbePendingResponse.js +1 -1
- package/dist/openapi/models/ProcessingClass.d.ts +1 -1
- package/dist/openapi/models/ProcessingClass.js +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassBandViolation.js +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassConstraints.js +1 -1
- package/dist/openapi/models/ProcessingClassEntry.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassEntry.js +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassExceedsBandResponse.js +1 -1
- package/dist/openapi/models/ProcessingClassHint.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassHint.js +1 -1
- package/dist/openapi/models/ProcessingClassReason.d.ts +1 -1
- package/dist/openapi/models/ProcessingClassReason.js +1 -1
- package/dist/openapi/models/ProcessingClassRejectReason.d.ts +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/RegisterUser422Response.d.ts +1 -1
- package/dist/openapi/models/RegisterUser422Response.js +1 -1
- package/dist/openapi/models/RegisterUserRequest.d.ts +1 -1
- package/dist/openapi/models/RegisterUserRequest.js +1 -1
- package/dist/openapi/models/RequestAccountDeletion200Response.d.ts +1 -1
- package/dist/openapi/models/RequestAccountDeletion200Response.js +1 -1
- package/dist/openapi/models/RequestAccountDeletion200ResponseData.d.ts +1 -1
- package/dist/openapi/models/RequestAccountDeletion200ResponseData.js +1 -1
- package/dist/openapi/models/RequestAccountDeletionRequest.d.ts +1 -1
- package/dist/openapi/models/RequestAccountDeletionRequest.js +1 -1
- package/dist/openapi/models/ResendVerificationEmailRequest.d.ts +1 -1
- package/dist/openapi/models/ResendVerificationEmailRequest.js +1 -1
- package/dist/openapi/models/ResetPasswordRequest.d.ts +1 -1
- package/dist/openapi/models/ResetPasswordRequest.js +1 -1
- package/dist/openapi/models/ResponseEnvelope.d.ts +1 -1
- package/dist/openapi/models/ResponseEnvelope.js +1 -1
- package/dist/openapi/models/RetryResponse.d.ts +1 -1
- package/dist/openapi/models/RetryResponse.js +1 -1
- package/dist/openapi/models/RetrySuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/RetrySuccessEnvelope.js +1 -1
- package/dist/openapi/models/SseCompletionBase.d.ts +1 -1
- package/dist/openapi/models/SseCompletionBase.js +1 -1
- package/dist/openapi/models/SseEventType.d.ts +1 -1
- package/dist/openapi/models/SseEventType.js +1 -1
- package/dist/openapi/models/SseJobCompletedData.d.ts +1 -1
- package/dist/openapi/models/SseJobCompletedData.js +1 -1
- package/dist/openapi/models/SseJobFailedData.d.ts +1 -1
- package/dist/openapi/models/SseJobFailedData.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletion.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletion.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionMetrics.js +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputCompletionWithKind.js +1 -1
- package/dist/openapi/models/SseMultiOutputResultEntry.d.ts +1 -1
- package/dist/openapi/models/SseMultiOutputResultEntry.js +1 -1
- package/dist/openapi/models/SseOperationCompletedData.d.ts +1 -1
- package/dist/openapi/models/SseOperationCompletedData.js +1 -1
- package/dist/openapi/models/SseOperationCompletionResult.d.ts +1 -1
- package/dist/openapi/models/SseOperationCompletionResult.js +1 -1
- package/dist/openapi/models/SseOperationFailedData.d.ts +1 -1
- package/dist/openapi/models/SseOperationFailedData.js +1 -1
- package/dist/openapi/models/SseOperationProgressData.d.ts +1 -1
- package/dist/openapi/models/SseOperationProgressData.js +1 -1
- package/dist/openapi/models/SseSingleOutputCompletion.d.ts +1 -1
- package/dist/openapi/models/SseSingleOutputCompletion.js +1 -1
- package/dist/openapi/models/SseWorkflowTerminalData.d.ts +1 -1
- package/dist/openapi/models/SseWorkflowTerminalData.js +1 -1
- package/dist/openapi/models/TierRestrictionKind.d.ts +1 -1
- package/dist/openapi/models/TierRestrictionKind.js +1 -1
- package/dist/openapi/models/TierRestrictionResponse.d.ts +1 -1
- package/dist/openapi/models/TierRestrictionResponse.js +1 -1
- package/dist/openapi/models/UpdateProfile200Response.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile200Response.js +1 -1
- package/dist/openapi/models/UpdateProfile200ResponseData.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile200ResponseData.js +1 -1
- package/dist/openapi/models/UpdateProfile422Response.d.ts +1 -1
- package/dist/openapi/models/UpdateProfile422Response.js +1 -1
- package/dist/openapi/models/UpdateProfileRequest.d.ts +1 -1
- package/dist/openapi/models/UpdateProfileRequest.js +1 -1
- package/dist/openapi/models/UploadConstraintsApplied.d.ts +1 -1
- package/dist/openapi/models/UploadConstraintsApplied.js +1 -1
- package/dist/openapi/models/UploadDurationExceedsTierResponse.d.ts +1 -1
- package/dist/openapi/models/UploadDurationExceedsTierResponse.js +1 -1
- package/dist/openapi/models/UploadFile403Response.d.ts +1 -1
- package/dist/openapi/models/UploadFile403Response.js +1 -1
- package/dist/openapi/models/UploadFile422Response.d.ts +1 -1
- package/dist/openapi/models/UploadFile422Response.js +1 -1
- package/dist/openapi/models/UploadProbeMediaMetadata.d.ts +1 -1
- package/dist/openapi/models/UploadProbeMediaMetadata.js +1 -1
- package/dist/openapi/models/UploadProbeProcessingClass.d.ts +1 -1
- package/dist/openapi/models/UploadProbeProcessingClass.js +1 -1
- package/dist/openapi/models/UploadProbeResponse.d.ts +1 -1
- package/dist/openapi/models/UploadProbeResponse.js +1 -1
- package/dist/openapi/models/UploadProbeStatus.d.ts +1 -1
- package/dist/openapi/models/UploadProbeStatus.js +1 -1
- package/dist/openapi/models/UploadProbeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/UploadProbeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/UploadResponse.d.ts +1 -1
- package/dist/openapi/models/UploadResponse.js +1 -1
- package/dist/openapi/models/UploadSizeExceedsTierResponse.d.ts +1 -1
- package/dist/openapi/models/UploadSizeExceedsTierResponse.js +1 -1
- package/dist/openapi/models/UploadSource.d.ts +1 -1
- package/dist/openapi/models/UploadSource.js +1 -1
- package/dist/openapi/models/UploadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/UploadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/UploadThresholds.d.ts +1 -1
- package/dist/openapi/models/UploadThresholds.js +1 -1
- package/dist/openapi/models/UserTier.d.ts +18 -58
- package/dist/openapi/models/UserTier.js +18 -58
- package/dist/openapi/models/ValidationErrorEnvelope.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelope.js +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.d.ts +1 -1
- package/dist/openapi/models/ValidationErrorEnvelopeDetailsInner.js +1 -1
- package/dist/openapi/models/VerifyEmailRequest.d.ts +1 -1
- package/dist/openapi/models/VerifyEmailRequest.js +1 -1
- package/dist/openapi/models/WarningType.d.ts +1 -1
- package/dist/openapi/models/WarningType.js +1 -1
- package/dist/openapi/models/WebhookOperationContext.d.ts +1 -1
- package/dist/openapi/models/WebhookOperationContext.js +1 -1
- package/dist/openapi/models/WebhookPayload.d.ts +1 -1
- package/dist/openapi/models/WebhookPayload.js +1 -1
- package/dist/openapi/models/WorkflowArchiveResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowArchiveResponse.js +1 -1
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowArchiveSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelBillingEffect.js +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelResponse.js +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCancelSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateRequest.js +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateResponse.js +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreateSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowCreditSummary.js +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadResponse.js +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowDownloadSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowEdge.d.ts +1 -1
- package/dist/openapi/models/WorkflowEdge.js +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowExpiredResponse.js +1 -1
- package/dist/openapi/models/WorkflowListResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowListResponse.js +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowListSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.d.ts +1 -1
- package/dist/openapi/models/WorkflowPauseRequiredAction.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetail.js +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.d.ts +1 -1
- package/dist/openapi/models/WorkflowPausedDetailLinks.js +1 -1
- package/dist/openapi/models/WorkflowProcessing.d.ts +1 -1
- package/dist/openapi/models/WorkflowProcessing.js +1 -1
- package/dist/openapi/models/WorkflowRestoreResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowRestoreResponse.js +1 -1
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowRestoreSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeResponse.js +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowResumeSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSource.d.ts +1 -1
- package/dist/openapi/models/WorkflowSource.js +1 -1
- package/dist/openapi/models/WorkflowStatus.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatus.js +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusResponse.js +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.d.ts +1 -1
- package/dist/openapi/models/WorkflowStatusSuccessEnvelope.js +1 -1
- package/dist/openapi/models/WorkflowSummary.d.ts +1 -1
- package/dist/openapi/models/WorkflowSummary.js +1 -1
- package/dist/openapi/models/WorkflowSummaryJob.d.ts +1 -1
- package/dist/openapi/models/WorkflowSummaryJob.js +1 -1
- package/dist/openapi/models/WorkflowWarning.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarning.js +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.d.ts +1 -1
- package/dist/openapi/models/WorkflowWarningSeverity.js +1 -1
- package/dist/openapi/models/index.d.ts +3 -0
- package/dist/openapi/models/index.js +3 -0
- package/dist/openapi/runtime.d.ts +1 -1
- package/dist/openapi/runtime.js +1 -1
- package/dist/operations/thumbnail.d.ts +30 -7
- package/dist/operations/thumbnail.js +34 -17
- package/dist/operations/thumbnail.metadata.js +29 -1
- package/openapi/README.md +1 -1
- package/openapi/api.yaml +410 -71
- package/operation-capabilities/operation-capabilities.json +1 -1
- package/operations/schemas/compress.yaml +67 -10
- package/operations/schemas/thumbnail.yaml +100 -1
- package/package.json +3 -3
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.198.0
|
|
93
93
|
contact:
|
|
94
94
|
name: API Support
|
|
95
95
|
|
|
@@ -2851,6 +2851,161 @@ paths:
|
|
|
2851
2851
|
Server-Sent Events stream. Each event has an `event` field (type)
|
|
2852
2852
|
and a `data` field (JSON payload). See endpoint description for
|
|
2853
2853
|
event types and payload shapes.
|
|
2854
|
+
'429':
|
|
2855
|
+
description: |
|
|
2856
|
+
**The CALLER's own concurrent-stream allowance is exhausted.**
|
|
2857
|
+
|
|
2858
|
+
Consistent with `LONG_FORM_CONCURRENCY_LIMIT_EXCEEDED`, which this
|
|
2859
|
+
contract already returns `429` for and describes as *"the caller's
|
|
2860
|
+
tier concurrency allowance is exhausted"*. **Same semantics, same
|
|
2861
|
+
code** — this caller is holding too many streams open.
|
|
2862
|
+
|
|
2863
|
+
⚠️ **NOT for a global-capacity refusal.** `429` tells a caller they
|
|
2864
|
+
went too fast; a caller who has opened nothing and is refused
|
|
2865
|
+
because the pool is full has not, and sending them to a slow-down
|
|
2866
|
+
remedy is a lie. That case is `503`.
|
|
2867
|
+
headers:
|
|
2868
|
+
Retry-After:
|
|
2869
|
+
description: Seconds to wait. Delta-seconds, not an HTTP-date.
|
|
2870
|
+
schema:
|
|
2871
|
+
type: integer
|
|
2872
|
+
content:
|
|
2873
|
+
application/json:
|
|
2874
|
+
schema:
|
|
2875
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
2876
|
+
example:
|
|
2877
|
+
success: false
|
|
2878
|
+
error: SSE_CONNECTION_LIMIT_EXCEEDED
|
|
2879
|
+
message: Too many open event streams for this caller.
|
|
2880
|
+
'503':
|
|
2881
|
+
description: |
|
|
2882
|
+
**Global stream capacity is exhausted — nothing about this caller.**
|
|
2883
|
+
|
|
2884
|
+
🔴 **The cap this exists for is not a rate.** `events_stream` limits
|
|
2885
|
+
how fast streams START, not how many are OPEN, and a stream holds
|
|
2886
|
+
one PHP-FPM worker for its entire life. At 10 starts/min against a
|
|
2887
|
+
570s deadline a single caller sustains roughly 95 concurrent streams
|
|
2888
|
+
on a 50-worker pool **without exceeding any documented limit** —
|
|
2889
|
+
uploads, `/status`, auth and the health probes queue behind it.
|
|
2890
|
+
⇒ **An ordinary client can exhaust the pool using a documented
|
|
2891
|
+
feature within its documented limits.** No malice required.
|
|
2892
|
+
|
|
2893
|
+
🔴 **RECONNECT BEHAVIOUR DEPENDS ON THE CLIENT KIND, AND SAYING
|
|
2894
|
+
SO IS THE WHOLE POINT OF THIS BLOCK.** A `text/event-stream`
|
|
2895
|
+
endpoint is not necessarily consumed by an `EventSource`. The
|
|
2896
|
+
WHATWG rules below are **user-agent behaviour of `EventSource`**
|
|
2897
|
+
and hold for **nothing else** — a `fetch`-based reader supplies its
|
|
2898
|
+
own policy, and the two behave oppositely under refusal.
|
|
2899
|
+
|
|
2900
|
+
**(a) A NATIVE `EventSource`.** From the WHATWG HTML spec,
|
|
2901
|
+
Server-sent events (read 2026-08-22, api searched it and this repo
|
|
2902
|
+
verified it independently rather than relaying):
|
|
2903
|
+
|
|
2904
|
+
- *"if res's status is not 200, or if res's `Content-Type` is not
|
|
2905
|
+
`text/event-stream`, then fail the connection."*
|
|
2906
|
+
- *"Once the user agent has failed the connection, it does not
|
|
2907
|
+
attempt to reconnect."*
|
|
2908
|
+
- *"…if res is not a network error, then reestablish the
|
|
2909
|
+
connection."* — this is `processEventSourceEndOfBody`, i.e. a
|
|
2910
|
+
**clean EOF on an already-established 200 stream.**
|
|
2911
|
+
|
|
2912
|
+
⇒ For this client kind, refusing with a status does not storm, and
|
|
2913
|
+
**accept-then-close-with-an-in-band-error IS the reconnect path** —
|
|
2914
|
+
a clean EOF on an established stream is precisely what the spec
|
|
2915
|
+
reestablishes. ⭐ **The shape that reads as the gentler option is
|
|
2916
|
+
the one that amplifies**, and the intuition is backwards.
|
|
2917
|
+
|
|
2918
|
+
⚠️ Its cost, which must not be sold as graceful degradation: a
|
|
2919
|
+
refused stream **dead-ends**, permanently, with no retry of its
|
|
2920
|
+
own. ⇒ **Such a UI must treat refusal as TERMINAL and offer an
|
|
2921
|
+
explicit user-visible retry — never a spinner**, which would wait
|
|
2922
|
+
forever on a connection that is never coming back. It also **cannot
|
|
2923
|
+
read this status** (`EventSource` does not expose it to page
|
|
2924
|
+
script), so it cannot tell `503` from `500`.
|
|
2925
|
+
|
|
2926
|
+
**(b) A `fetch`-BASED READER — WHICH IS WHAT OUR FRONTEND IS.**
|
|
2927
|
+
Measured at `compression_frontend` `origin/main` on 2026-08-25 by
|
|
2928
|
+
two independent parties: **zero `EventSource` references** across
|
|
2929
|
+
its source tree (positive control on the same enumeration: several
|
|
2930
|
+
files reference this endpoint), a plain `fetch()` whose own comment
|
|
2931
|
+
says *"a direct fetch, not an SDK call"*. It reads
|
|
2932
|
+
`response.status` fine.
|
|
2933
|
+
|
|
2934
|
+
Its refusal behaviour, **as a SHAPE — the counts and intervals are
|
|
2935
|
+
configurable defaults in that repo and are deliberately not
|
|
2936
|
+
restated here, because a number copied across a repo boundary rots
|
|
2937
|
+
silently**: a non-200 is raised as a *transport error*, retried a
|
|
2938
|
+
bounded number of times on a delay, and then falls through to
|
|
2939
|
+
`/status` polling with **adaptive backoff** — the interval GROWS
|
|
2940
|
+
while the server reports no movement.
|
|
2941
|
+
|
|
2942
|
+
⚠️ **And the `/status` poll is NOT started by the fallback.** It
|
|
2943
|
+
runs **in parallel from the outset**, as resilience against a
|
|
2944
|
+
gateway that cannot proxy SSE, and **self-cancels on the stream's
|
|
2945
|
+
first event.** A refused stream never delivers one — so **refusal
|
|
2946
|
+
does not start a poll, it prevents an already-running poll from
|
|
2947
|
+
being cancelled.**
|
|
2948
|
+
|
|
2949
|
+
🔴 **SO REFUSAL TRADES CONTINUOUS WORKER OCCUPANCY FOR A HIGHER
|
|
2950
|
+
REQUEST RATE.** Both halves matter: a held stream pins one PHP-FPM
|
|
2951
|
+
worker for its whole life and refusal genuinely sheds that — a
|
|
2952
|
+
short poll is not a held connection — while that client's
|
|
2953
|
+
connection attempts and polls go **up**.
|
|
2954
|
+
⚠️ **Do not read either half alone.** "Refusal sheds load" invites
|
|
2955
|
+
a cap whose success metric moves the wrong way; "refusal increases
|
|
2956
|
+
load" argues against having a cap at all, and the occupancy it
|
|
2957
|
+
sheds is the resource this limit exists for.
|
|
2958
|
+
|
|
2959
|
+
⚠️ **THAT IS PER-CLIENT AND MEASURED. THE AGGREGATE IS NEITHER.**
|
|
2960
|
+
Whether refusing many clients at once produces a synchronised burst
|
|
2961
|
+
is **UNMEASURED** — the retry delay is a fixed configured interval
|
|
2962
|
+
with no jitter, so refusals issued together are retried together,
|
|
2963
|
+
and nothing here has observed what that does in aggregate. **Do not
|
|
2964
|
+
read "not a storm" out of this section; it says the per-client cost
|
|
2965
|
+
is bounded and says nothing about the fleet.**
|
|
2966
|
+
|
|
2967
|
+
📌 **WHAT A REFUSED `fetch` CLIENT SHOULD DO INSTEAD IS NOT YET
|
|
2968
|
+
SPECIFIED** — including whether `Retry-After` governs a fallback
|
|
2969
|
+
poll interval and not only a reconnect. Falling back to polling
|
|
2970
|
+
is also load, merely cheaper. Open on
|
|
2971
|
+
[`rLCBjojv`](https://trello.com/c/rLCBjojv); **this block states the
|
|
2972
|
+
measured behaviour and deliberately does not invent the
|
|
2973
|
+
obligation.**
|
|
2974
|
+
|
|
2975
|
+
📌 **THE POPULATIONS SPLIT BY READER KIND, NOT BY
|
|
2976
|
+
BROWSER-VERSUS-NOT.** The WHATWG rule covers **native
|
|
2977
|
+
`EventSource` consumers** and nothing else. **A custom reader is
|
|
2978
|
+
safe only by its own code, inside a browser or outside one** — and
|
|
2979
|
+
a retry loop treating `429`/`503` as retryable on a fixed interval
|
|
2980
|
+
is where a storm is reachable. ⚠️ **Our own frontend is in that
|
|
2981
|
+
population, not exempt from it.**
|
|
2982
|
+
|
|
2983
|
+
✅ **For OUR SDKs that is measured, not assumed** (sdks,
|
|
2984
|
+
2026-08-22, driven through the BUILT client with a stubbed
|
|
2985
|
+
transport and a positive control): `429`, `503` and a `429` with no
|
|
2986
|
+
`Retry-After` each produce **exactly one request**; the control
|
|
2987
|
+
`200` also produces one, proving the stub was reached.
|
|
2988
|
+
`GislClient.request()` has no retry layer, `streamEvents` reaches
|
|
2989
|
+
none of the upload/probe retry predicates, and there is no
|
|
2990
|
+
Last-Event-ID reconnection in either language.
|
|
2991
|
+
⚠️ **That is a property of the current SDK, not of the contract** —
|
|
2992
|
+
it can be undone by an ordinary change to a retry policy, and this
|
|
2993
|
+
endpoint would not notice.
|
|
2994
|
+
headers:
|
|
2995
|
+
Retry-After:
|
|
2996
|
+
description: |
|
|
2997
|
+
Seconds to wait before retrying. Delta-seconds, not an
|
|
2998
|
+
HTTP-date. **Also unreadable by `EventSource`** — see above.
|
|
2999
|
+
schema:
|
|
3000
|
+
type: integer
|
|
3001
|
+
content:
|
|
3002
|
+
application/json:
|
|
3003
|
+
schema:
|
|
3004
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
3005
|
+
example:
|
|
3006
|
+
success: false
|
|
3007
|
+
error: SSE_CAPACITY_EXHAUSTED
|
|
3008
|
+
message: Event stream capacity is temporarily exhausted.
|
|
2854
3009
|
'404':
|
|
2855
3010
|
description: Workflow not found
|
|
2856
3011
|
content:
|
|
@@ -5189,6 +5344,70 @@ paths:
|
|
|
5189
5344
|
$ref: '#/components/schemas/ErrorEnvelope'
|
|
5190
5345
|
|
|
5191
5346
|
/api/auth/profile:
|
|
5347
|
+
get:
|
|
5348
|
+
summary: Get the authenticated identity (whoami)
|
|
5349
|
+
description: |
|
|
5350
|
+
Returns the caller's own identity. **This endpoint SHIPS and was
|
|
5351
|
+
undocumented until 2026-08-22** — the contract described only `PATCH`
|
|
5352
|
+
on this path, and three sessions independently concluded that no
|
|
5353
|
+
whoami capability existed because they read the contract rather than
|
|
5354
|
+
the API. **A contract that omits a shipped endpoint is exactly as
|
|
5355
|
+
dangerous as one that documents a missing one.**
|
|
5356
|
+
|
|
5357
|
+
⚠️ **Documented from the producer, not from a test.** The response
|
|
5358
|
+
shape below is taken from `ProfileController::profile()` in
|
|
5359
|
+
`compression_api`. An e2e test asserts only `data.user.id` and
|
|
5360
|
+
`data.user.email`; writing the schema from it would have documented
|
|
5361
|
+
two of eight fields and called the rest absent.
|
|
5362
|
+
|
|
5363
|
+
🔴 **`tier` is emitted through `UserTier::canonicalValue()`**, which
|
|
5364
|
+
returns the WIRE spelling of the base tier — see `UserTier` for the
|
|
5365
|
+
`basic`/`free` transition and why the two spellings are one tier.
|
|
5366
|
+
operationId: getProfile
|
|
5367
|
+
security:
|
|
5368
|
+
- bearerAuth: []
|
|
5369
|
+
- sessionAuth: []
|
|
5370
|
+
x-identity-scoped: true
|
|
5371
|
+
tags:
|
|
5372
|
+
- Auth
|
|
5373
|
+
responses:
|
|
5374
|
+
'200':
|
|
5375
|
+
description: The authenticated identity.
|
|
5376
|
+
content:
|
|
5377
|
+
application/json:
|
|
5378
|
+
schema:
|
|
5379
|
+
type: object
|
|
5380
|
+
required: [success, data]
|
|
5381
|
+
properties:
|
|
5382
|
+
success:
|
|
5383
|
+
type: boolean
|
|
5384
|
+
enum: [true]
|
|
5385
|
+
data:
|
|
5386
|
+
type: object
|
|
5387
|
+
required: [user]
|
|
5388
|
+
properties:
|
|
5389
|
+
user:
|
|
5390
|
+
$ref: '#/components/schemas/AuthenticatedIdentity'
|
|
5391
|
+
'401':
|
|
5392
|
+
description: No authenticated principal.
|
|
5393
|
+
content:
|
|
5394
|
+
application/json:
|
|
5395
|
+
schema:
|
|
5396
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
5397
|
+
'404':
|
|
5398
|
+
description: |
|
|
5399
|
+
The authenticated principal no longer resolves to a stored user
|
|
5400
|
+
(`error: USER_NOT_FOUND`).
|
|
5401
|
+
content:
|
|
5402
|
+
application/json:
|
|
5403
|
+
schema:
|
|
5404
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
5405
|
+
'500':
|
|
5406
|
+
description: Internal server error.
|
|
5407
|
+
content:
|
|
5408
|
+
application/json:
|
|
5409
|
+
schema:
|
|
5410
|
+
$ref: '#/components/schemas/ErrorEnvelope'
|
|
5192
5411
|
patch:
|
|
5193
5412
|
summary: Update the authenticated user's profile
|
|
5194
5413
|
description: |
|
|
@@ -8490,52 +8709,72 @@ components:
|
|
|
8490
8709
|
# USER TIER + TIER RESTRICTION ENVELOPES
|
|
8491
8710
|
# ============================================
|
|
8492
8711
|
|
|
8712
|
+
AuthenticatedIdentity:
|
|
8713
|
+
type: object
|
|
8714
|
+
description: |
|
|
8715
|
+
The caller's own identity, as returned by `GET /api/auth/profile`.
|
|
8716
|
+
|
|
8717
|
+
**Documented from `ProfileController::profile()` in `compression_api`,
|
|
8718
|
+
2026-08-22, after the endpoint was found to ship undocumented.**
|
|
8719
|
+
Nullability is taken from `UserRecord`'s constructor promotion, not
|
|
8720
|
+
inferred from a sample response — a field that happens to be populated
|
|
8721
|
+
in one response says nothing about whether it can be null.
|
|
8722
|
+
required:
|
|
8723
|
+
- id
|
|
8724
|
+
- email
|
|
8725
|
+
- tier
|
|
8726
|
+
- email_verified
|
|
8727
|
+
- created_at
|
|
8728
|
+
properties:
|
|
8729
|
+
id:
|
|
8730
|
+
type: string
|
|
8731
|
+
description: Stable identifier for the user.
|
|
8732
|
+
email:
|
|
8733
|
+
type: string
|
|
8734
|
+
format: email
|
|
8735
|
+
name:
|
|
8736
|
+
type: string
|
|
8737
|
+
nullable: true
|
|
8738
|
+
description: Display name. Nullable — `UserRecord::$name` defaults to null.
|
|
8739
|
+
tier:
|
|
8740
|
+
allOf:
|
|
8741
|
+
- $ref: '#/components/schemas/UserTier'
|
|
8742
|
+
description: |
|
|
8743
|
+
🔴 **Emitted through `UserTier::canonicalValue()`**, which returns the
|
|
8744
|
+
WIRE spelling of the base tier. See `UserTier` for why `basic` and
|
|
8745
|
+
`free` are one tier under two names and must rank identically.
|
|
8746
|
+
email_verified:
|
|
8747
|
+
type: boolean
|
|
8748
|
+
description: |
|
|
8749
|
+
Derived — true iff `UserRecord::$emailVerifiedAt` is set. The
|
|
8750
|
+
timestamp itself is NOT exposed on this endpoint.
|
|
8751
|
+
pending_email:
|
|
8752
|
+
type: string
|
|
8753
|
+
format: email
|
|
8754
|
+
nullable: true
|
|
8755
|
+
description: A requested email change awaiting confirmation, if any.
|
|
8756
|
+
created_at:
|
|
8757
|
+
type: string
|
|
8758
|
+
format: date-time
|
|
8759
|
+
delete_requested_at:
|
|
8760
|
+
type: string
|
|
8761
|
+
format: date-time
|
|
8762
|
+
nullable: true
|
|
8763
|
+
description: |
|
|
8764
|
+
Set when the user has requested account deletion and not cancelled
|
|
8765
|
+
it. Nullable in the normal case.
|
|
8493
8766
|
UserTier:
|
|
8494
8767
|
type: string
|
|
8495
8768
|
description: |
|
|
8496
8769
|
Subscription tier. Mirrors the API-side
|
|
8497
8770
|
`App\Identity\Domain\Enums\UserTier` PHP enum.
|
|
8498
8771
|
|
|
8499
|
-
|
|
8500
|
-
|
|
8501
|
-
|
|
8502
|
-
|
|
8503
|
-
|
|
8504
|
-
|
|
8505
|
-
|
|
8506
|
-
⚠️ **A CONSUMER MUST TREAT THEM AS EQUAL.** Anything that compares,
|
|
8507
|
-
sorts or gates on tier must accept either and rank them identically;
|
|
8508
|
-
a `match`/`switch` that handles `free` and not `basic` will silently
|
|
8509
|
-
take a different branch the day the producer switches.
|
|
8510
|
-
|
|
8511
|
-
🔴 **PRODUCERS: DO NOT EMIT `basic` YET. THE FIRST WRITE IS AN
|
|
8512
|
-
OUTAGE, NOT A COMPILE ERROR.** This change makes the value *legal*, not
|
|
8513
|
-
*live*. **Schema-additive and safe-to-send are different claims**, and
|
|
8514
|
-
the gap between them is measured rather than theoretical:
|
|
8515
|
-
|
|
8516
|
-
- **api (2026-08-20, from its own mapping):** `UserRecord` declares the
|
|
8517
|
-
column `enumType: UserTier::class`. Doctrine hydrates such a column
|
|
8518
|
-
through `EnumPropertyAccessor::setValue()`, which calls
|
|
8519
|
-
`$enumType::from($value)` — **and that THROWS on a value it does not
|
|
8520
|
-
know**, with no extension point. **A row persisted as `basic` makes
|
|
8521
|
-
every running api task 500 while hydrating that user.**
|
|
8522
|
-
- **And the rollout overlaps by design:** ECS runs
|
|
8523
|
-
`minimumHealthyPercent: 100` / `maximumPercent: 200`, so the NEW task
|
|
8524
|
-
starts before the OLD one drains. **The moment a new task writes a
|
|
8525
|
-
value the old one has never heard of, the old task 500s on that row
|
|
8526
|
-
for the rest of the rollout.**
|
|
8527
|
-
- **SDKs fail earlier and more kindly:** a generated Rust or PHP enum
|
|
8528
|
-
gains a variant and an exhaustive match stops compiling.
|
|
8529
|
-
|
|
8530
|
-
⭐ **AN ADDED ENUM VALUE IS A CONTRACT CHANGE WEARING A SCHEMA CHANGE'S
|
|
8531
|
-
CLOTHES.** A new COLUMN is invisible to old code's `SELECT` list; a new
|
|
8532
|
-
enum VALUE is **not** invisible to old code's hydration. *That asymmetry
|
|
8533
|
-
is why expand → migrate → contract fails to get applied to enums — the
|
|
8534
|
-
trigger does not look like the category.* (api's own note, written
|
|
8535
|
-
during an earlier enum sweep and reached independently of this one.)
|
|
8536
|
-
Emission is gated on the tolerance evidence table
|
|
8537
|
-
([`tkRA9Bim`](https://trello.com/c/tkRA9Bim)), which requires an
|
|
8538
|
-
artefact from each of api, both SDK packages, frontend and e2e.
|
|
8772
|
+
`basic` is the base tier. **`free` is DEPRECATED and will be removed**
|
|
8773
|
+
([`nD8fCPDy`](https://trello.com/c/nD8fCPDy)) — the two are one tier
|
|
8774
|
+
under two names, never two tiers, and a consumer must rank them
|
|
8775
|
+
identically. The dated record of the rename and of the rollout that
|
|
8776
|
+
carried it is
|
|
8777
|
+
[ADR-0028](../docs/decisions/0028-base-tier-rename-free-to-basic.md).
|
|
8539
8778
|
|
|
8540
8779
|
🔴 **`guest` IS NOT AND MUST NOT BECOME A MEMBER OF THIS ENUM.** It is
|
|
8541
8780
|
the *absence* of a subscription, not a tier. Putting it here places a
|
|
@@ -8545,7 +8784,7 @@ components:
|
|
|
8545
8784
|
the audience axis, which is NOT a `UserTier` value. Asserted by a
|
|
8546
8785
|
test, not left to prose.
|
|
8547
8786
|
|
|
8548
|
-
Ordering is `basic
|
|
8787
|
+
Ordering is `basic` < `pro` < `max` < `enterprise` (the
|
|
8549
8788
|
upgrade-resolver / `isHigherThan` ordinal in `UserTier.php`).
|
|
8550
8789
|
**The ordering is the part this contract owns** — it is what
|
|
8551
8790
|
`TierRestrictionResponse.current_tier` / `.required_tier` and
|
|
@@ -8556,28 +8795,22 @@ components:
|
|
|
8556
8795
|
summary — upload caps, permitted MIME families, monthly credits,
|
|
8557
8796
|
overdraft, rate-limit multiples, concurrent long-form jobs. **That was a
|
|
8558
8797
|
restated SNAPSHOT of another repository's code, and it drifted, twice:**
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
own and cannot keep true;
|
|
8563
|
-
- and the parallel table on `AccountLimits` listed tier byte defaults
|
|
8564
|
-
for `free` / `pro` / `enterprise` and **silently omitted `max`**, a
|
|
8565
|
-
tier this very enum declares. **That one was already wrong before any
|
|
8566
|
-
of it was reviewed.**
|
|
8798
|
+
once asserting a per-tier media restriction this contract does not own
|
|
8799
|
+
and cannot keep true, and once listing tier byte defaults while
|
|
8800
|
+
**silently omitting `max`**, a tier this very enum declares.
|
|
8567
8801
|
|
|
8568
8802
|
**A description ships to every SDK consumer as generated documentation**,
|
|
8569
8803
|
so a stale sentence here is not an internal note — it is an assertion
|
|
8570
8804
|
delivered to callers, and it outlives the code it describes. *Point at
|
|
8571
8805
|
the gate, not at a snapshot of it.*
|
|
8572
8806
|
|
|
8573
|
-
⚠️ **No claim is made HERE about which media categories a tier permits
|
|
8574
|
-
|
|
8575
|
-
|
|
8576
|
-
|
|
8577
|
-
|
|
8578
|
-
|
|
8579
|
-
|
|
8580
|
-
generated declaration is the fix**, and the two must not both exist.
|
|
8807
|
+
⚠️ **No claim is made HERE about which media categories a tier permits.**
|
|
8808
|
+
That is a scoping statement about this description, **not a claim that
|
|
8809
|
+
the contract is silent on the subject**: hub decision 25 made audio
|
|
8810
|
+
universal, so there is no tier boundary at which the category axis
|
|
8811
|
+
changes. **Prose that restates another repository's enforcement is the
|
|
8812
|
+
defect; a single generated declaration is the fix**, and the two must
|
|
8813
|
+
not both exist.
|
|
8581
8814
|
|
|
8582
8815
|
**Where the answers actually live — and they are DIFFERENT SURFACES,
|
|
8583
8816
|
which is why naming just one was wrong:**
|
|
@@ -8627,7 +8860,14 @@ components:
|
|
|
8627
8860
|
# ⚠️ NOT A DATE. Removal is gated on every consumer having stopped
|
|
8628
8861
|
# EMITTING and REQUIRING the value, which is evidence rather than a
|
|
8629
8862
|
# calendar. A date here would be overtaken and then cited.
|
|
8630
|
-
|
|
8863
|
+
# ⚠️ NOT A DATE, and now TWO conditions. `compression_api` measured
|
|
8864
|
+
# production on 2026-08-27: `users.tier` `column_default` is still
|
|
8865
|
+
# `'free'::character varying`. The persisted-value constant governs
|
|
8866
|
+
# what the application WRITES; the default is SCHEMA, baked into a
|
|
8867
|
+
# migration, so moving the constant never touched it. ⇒ "there are no
|
|
8868
|
+
# `free` rows" is a fact about today's CONTENTS, not a property of the
|
|
8869
|
+
# system — an INSERT omitting the column still manufactures one.
|
|
8870
|
+
removal_gate: "consumer evidence table on nD8fCPDy AND the users.tier column default migrated and drained"
|
|
8631
8871
|
|
|
8632
8872
|
TierRestrictionKind:
|
|
8633
8873
|
type: string
|
|
@@ -13874,14 +14114,104 @@ components:
|
|
|
13874
14114
|
example: "c4d80fb"
|
|
13875
14115
|
environment:
|
|
13876
14116
|
description: |
|
|
13877
|
-
|
|
13878
|
-
|
|
13879
|
-
|
|
13880
|
-
|
|
14117
|
+
🔴 **THIS FIELD IDENTIFIES NEITHER ENVIRONMENT TODAY, AND MUST NOT
|
|
14118
|
+
BE USED TO DETERMINE WHICH HOST YOU REACHED.**
|
|
14119
|
+
|
|
14120
|
+
Measured by `compression_e2e` on 2026-08-22, both read in the same
|
|
14121
|
+
moment, anonymously: **prod and staging BOTH return `baseline`.**
|
|
14122
|
+
The per-environment overlay that would substitute a real value is
|
|
14123
|
+
an unshipped ticket ([`befVmKN2`](https://trello.com/c/befVmKN2)),
|
|
14124
|
+
so every host serves the committed sidecar's literal.
|
|
14125
|
+
|
|
14126
|
+
⚠️ **A VALUE THAT IS CONSTANT ACROSS ENVIRONMENTS LOOKS EXACTLY
|
|
14127
|
+
LIKE A VALUE THAT CONFIRMS ONE.** This field previously carried
|
|
14128
|
+
`example: production` — an example of a value it has never
|
|
14129
|
+
returned — which taught precisely the misreading it invites.
|
|
14130
|
+
|
|
14131
|
+
🔑 **`fetch` follows redirects by default and does not report where
|
|
14132
|
+
it ended up**, so a production host redirecting to staging returns
|
|
14133
|
+
staging's schema and **nothing in this body reveals it**. The
|
|
14134
|
+
catastrophic outcome is not a failure; it is a green measured
|
|
14135
|
+
against staging and reported as prod. ⇒ **Assert the FINAL HOST at
|
|
14136
|
+
the transport layer** (`redirect: 'error'` plus an origin check).
|
|
14137
|
+
**A payload cannot corroborate which origin you reached.**
|
|
14138
|
+
|
|
14139
|
+
🔑 **AND IT CANNOT BE FIXED IN PLACE, WHICH IS WHY IT IS BEING
|
|
14140
|
+
RENAMED RATHER THAN CORRECTED.** api traced the value:
|
|
14141
|
+
`OperationSchemaController` reads it from
|
|
14142
|
+
`CapabilitiesSidecar`, which reads
|
|
14143
|
+
`vendor/antoniocs/compression-contracts/availability/availability.json`
|
|
14144
|
+
— **a file in a VENDORED PACKAGE.** The same package is vendored
|
|
14145
|
+
everywhere, so the field is **constant BY CONSTRUCTION, not
|
|
14146
|
+
because somebody forgot to set it per environment.**
|
|
14147
|
+
|
|
14148
|
+
⚠️ **That also corrects an earlier reading of `befVmKN2` — mine.**
|
|
14149
|
+
"Substituted at deploy time" describes a mechanism that does not
|
|
14150
|
+
exist for this source: a per-environment value would require
|
|
14151
|
+
shipping a DIFFERENT PACKAGE per environment, which is a far
|
|
14152
|
+
larger thing than an overlay. ⭐ **A label that is an INPUT to the
|
|
14153
|
+
build can never be evidence about the build's runtime behaviour**
|
|
14154
|
+
(frontend's line, one layer up).
|
|
14155
|
+
|
|
14156
|
+
⇒ **Superseded by `capabilities_profile`**, which names what the
|
|
14157
|
+
value actually is. `environment` is **DEPRECATED and retained for
|
|
14158
|
+
the transition**; both carry the same value. A server-supplied
|
|
14159
|
+
ORIGIN field does not exist and is not what this becomes — if one
|
|
14160
|
+
is ever added it must come from the deployment (task metadata or an
|
|
14161
|
+
env var), never from a vendored file.
|
|
14162
|
+
oneOf:
|
|
14163
|
+
- type: string
|
|
14164
|
+
- type: 'null'
|
|
14165
|
+
# ⚠️ `baseline`, NOT `production`. An example is documentation, and an
|
|
14166
|
+
# example of a value the field has never returned is a false one.
|
|
14167
|
+
example: "baseline"
|
|
14168
|
+
deprecated: true
|
|
14169
|
+
# 🔴 MACHINE-READABLE SUCCESSOR, so the transition is checkable
|
|
14170
|
+
# rather than described. `tests/test_deprecated_fields_have_a_
|
|
14171
|
+
# reachable_successor.py` reads THIS, not the prose above: if the
|
|
14172
|
+
# deprecated key is in the sidecar, the successor must be there too
|
|
14173
|
+
# and carry the same value. Without it the successor was declared and
|
|
14174
|
+
# emitted NOWHERE, and nothing on either side could see that — it is
|
|
14175
|
+
# not `required` and the response sets no `additionalProperties`,
|
|
14176
|
+
# so omitting it validates clean.
|
|
14177
|
+
x-superseded-by: capabilities_profile
|
|
14178
|
+
capabilities_profile:
|
|
14179
|
+
description: |
|
|
14180
|
+
**Which capability profile the vendored contracts package carries**
|
|
14181
|
+
— the honest name for the value `environment` has always held.
|
|
14182
|
+
|
|
14183
|
+
Sourced from the committed sidecar, so it is a property of the
|
|
14184
|
+
PACKAGE, not of the host. ⚠️ **It does not identify an environment
|
|
14185
|
+
and never could**: the same package is vendored everywhere. To
|
|
14186
|
+
establish which host you reached, assert the FINAL HOST at the
|
|
14187
|
+
transport layer.
|
|
14188
|
+
|
|
14189
|
+
Carries the same value as the deprecated `environment` throughout
|
|
14190
|
+
the transition; consumers should move and `environment` is removed
|
|
14191
|
+
once no consumer reads it.
|
|
14192
|
+
|
|
14193
|
+
🔴 **KNOWN READER OF `environment`, RECORDED SO THE REMOVAL
|
|
14194
|
+
CONDITION IS CHECKABLE RATHER THAN ASSUMED:**
|
|
14195
|
+
`compression_api` reads it — `CapabilitiesSidecar::fromArray`
|
|
14196
|
+
does `$raw['environment'] ?? null` and `OperationSchemaController`
|
|
14197
|
+
emits it conditionally (reported by that session, 2026-08-25).
|
|
14198
|
+
|
|
14199
|
+
⚠️ **THEIR ONLY TRIPWIRE IS A TEST THAT REMOVAL TURNS RED AND
|
|
14200
|
+
DEPRECATION DOES NOT** — it asserts `environment === 'baseline'`
|
|
14201
|
+
against the real vendored sidecar. So the null-coalesce means a
|
|
14202
|
+
removal drops the field from `/api/operations/schema` **with no
|
|
14203
|
+
error anywhere**, and the deprecation window generates no signal
|
|
14204
|
+
they can act on.
|
|
14205
|
+
|
|
14206
|
+
⇒ **REMOVAL IS A CO-LAND, NOT A CUT.** Tell every reader listed
|
|
14207
|
+
here BEFORE the removal ships, and remove a name from this list
|
|
14208
|
+
only when that session confirms it has stopped reading — never
|
|
14209
|
+
because the field looks unused. *"No consumer reads it"* is a claim
|
|
14210
|
+
about other repositories, and this contract cannot see them.
|
|
13881
14211
|
oneOf:
|
|
13882
14212
|
- type: string
|
|
13883
14213
|
- type: 'null'
|
|
13884
|
-
example: "
|
|
14214
|
+
example: "baseline"
|
|
13885
14215
|
user_tier:
|
|
13886
14216
|
description: |
|
|
13887
14217
|
Tier of the calling user. Anonymous (unauthenticated) callers
|
|
@@ -14632,13 +14962,22 @@ components:
|
|
|
14632
14962
|
description: |
|
|
14633
14963
|
Optional mime-group-level INPUT-file size ceiling in BYTES
|
|
14634
14964
|
(ticket [`uKsFzORi`](https://trello.com/c/uKsFzORi)). Sibling of
|
|
14635
|
-
`max_output_pixels`. **Applies to the enclosing operation's input
|
|
14636
|
-
|
|
14637
|
-
|
|
14638
|
-
|
|
14639
|
-
|
|
14640
|
-
|
|
14641
|
-
|
|
14965
|
+
`max_output_pixels`. **Applies to the enclosing operation's input**, and
|
|
14966
|
+
a consumer MUST scope it to the operation whose schema carries it —
|
|
14967
|
+
**the same MIME can carry different ceilings under different
|
|
14968
|
+
operations, because different workers process it.** ⚠️ This line
|
|
14969
|
+
previously said the ceilings were authored on `compress` only; they
|
|
14970
|
+
are not, and reading a `compress` number as the binding one for a
|
|
14971
|
+
`[compress, thumbnail]` chain is what let a 128 MB EPUB upload
|
|
14972
|
+
succeed and then be refused (`jLxWpQEZ`). **Do not enumerate the
|
|
14973
|
+
values here** — a restated table is one nothing re-measures; read
|
|
14974
|
+
them from the operation's own schema.
|
|
14975
|
+
|
|
14976
|
+
🔴 **A GROUP WITH NO `max_input_size_bytes` HAS NOT SAID THERE IS NO
|
|
14977
|
+
LIMIT.** It has said nothing. A group whose worker imposes no byte
|
|
14978
|
+
ceiling declares `input_size_bound: processing_time` instead, and
|
|
14979
|
+
exactly one of the two keys is present when either is. An oversize
|
|
14980
|
+
input is rejected at create-time (ADR-0012 band-ceiling 422 family).
|
|
14642
14981
|
|
|
14643
14982
|
**XOR with `processing_class` caps (ADR-0011):** a group carries this
|
|
14644
14983
|
group-level cap ONLY when it has NO `processing_class` band. Banded
|