pub async fn execute_reconciliation_operation<OutputF, ErrorF, OFut, EFut>(
triple: &mut BatchFileTriple,
client: &OpenAIClientHandle,
operation: &BatchFileTripleReconciliationOperation,
expected_content_type: &ExpectedContentType,
process_output_file_fn: &OutputF,
process_error_file_fn: &ErrorF,
) -> Result<Option<BatchFileReconciliationRecommendedCourseOfAction>, BatchReconciliationError>where
OutputF: Fn(&BatchFileTriple, &dyn BatchWorkspaceInterface, &ExpectedContentType) -> OFut + Send + Sync,
ErrorF: Fn(&BatchFileTriple, &[BatchErrorFileProcessingOperation]) -> EFut + Send + Sync,
OFut: Future<Output = Result<(), BatchOutputProcessingError>> + Send,
EFut: Future<Output = Result<(), BatchErrorProcessingError>> + Send,