getResumeRecommendations static method

Future<Map<String, ResumeRecommendation>> getResumeRecommendations(
  1. ModelSpec spec
)

Get resume recommendations for a model

spec - The model specification to analyze Returns structured recommendations for each file

Implementation

static Future<Map<String, ResumeRecommendation>> getResumeRecommendations(ModelSpec spec) async {
  final statuses = await checkModelResume(spec);
  final recommendations = <String, ResumeRecommendation>{};

  for (final entry in statuses.entries) {
    final filename = entry.key;
    final status = entry.value;

    recommendations[filename] = switch (status) {
      ResumeStatus.canResume => const ResumeRecommendation(
          action: ResumeAction.resume,
          reason: 'File can be resumed from partial state',
        ),
      ResumeStatus.fileComplete => const ResumeRecommendation(
          action: ResumeAction.skip,
          reason: 'File is already complete and valid',
        ),
      ResumeStatus.cannotResume => const ResumeRecommendation(
          action: ResumeAction.restart,
          reason: 'Resume not possible, should delete and restart',
        ),
      ResumeStatus.noTask => const ResumeRecommendation(
          action: ResumeAction.restart,
          reason: 'No registered task, should start fresh download',
        ),
      ResumeStatus.fileNotFound => const ResumeRecommendation(
          action: ResumeAction.download,
          reason: 'File not found, should start new download',
        ),
      ResumeStatus.error => const ResumeRecommendation(
          action: ResumeAction.restart,
          reason: 'Error during resume check, safer to restart',
        ),
    };
  }

  return recommendations;
}