batch_mode_batch_reconciliation/
execute_reconciliation.rs

1// ---------------- [ File: batch-mode-batch-reconciliation/src/execute_reconciliation.rs ]
2crate::ix!();
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum BatchErrorFileProcessingOperation {
6    LogErrors,
7    RetryFailedRequests,
8    // Add other operations as needed
9}
10
11#[async_trait]
12pub trait ExecuteReconciliationOperation<E> 
13where E: From<BatchReconciliationError> + From<BatchDownloadError> 
14{
15    async fn execute_reconciliation_operation(
16        &mut self,
17        client:                 &dyn LanguageModelClientInterface<E>,
18        operation:              &BatchFileTripleReconciliationOperation,
19        expected_content_type:  &ExpectedContentType,
20        process_output_file_fn: &BatchWorkflowProcessOutputFileFn,
21        process_error_file_fn:  &BatchWorkflowProcessErrorFileFn,
22    ) -> Result<Option<BatchFileReconciliationRecommendedCourseOfAction>, E>;
23}