import { CliTerseError } from '@alwaysai/alwayscli';
import { PLEASE_REPORT_THIS_ERROR_MESSAGE } from '../../constants';
import { modelPackageCache } from './model-package-cache';
import { modelPackageCloudClient } from './model-package-cloud-client';

export async function downloadModelPackageToCache(id: string, version: number) {
  const readable = await modelPackageCloudClient.download(id, version);
  if (readable === null) {
    throw new CliTerseError(
      `Error downloading model package. ${PLEASE_REPORT_THIS_ERROR_MESSAGE}`
    );
  }
  await modelPackageCache.write(id, version, readable);
}
