UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

45 lines 1.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.appModelsAddComponent = void 0; const alwayscli_1 = require("@alwaysai/alwayscli"); const project_1 = require("../../project"); const user_1 = require("../../user"); const util_1 = require("../../../util"); const infrastructure_1 = require("../../../infrastructure"); const app_1 = require("../../../core/app"); const model_1 = require("../../../core/model"); async function appModelsAddComponent(props) { const { yes, dir = process.cwd(), id, addToProject } = props; const appJsonFile = (0, app_1.AppJsonFile)(dir); appJsonFile.read(); await (0, user_1.checkUserIsLoggedInComponent)({ yes }); let modelVersion; const modelVersionStr = props.version ? `@${props.version}` : ''; const spinner = (0, util_1.Spinner)(`Fetch model ${id}${modelVersionStr}`); try { if (props.version) { modelVersion = props.version; } else { const { version } = await (0, infrastructure_1.CliRpcClient)().getModelVersion({ id }); modelVersion = version; } if (!model_1.modelPackageCache.has(id, modelVersion)) { await (0, model_1.downloadModelPackageToCache)(id, modelVersion); } spinner.succeed(); } catch (exception) { spinner.fail(); if (exception.code === 'MODEL_VERSION_NOT_FOUND') { throw new alwayscli_1.CliTerseError(`Model not found: ${id}${modelVersionStr}`); } throw exception; } if (addToProject) { await (0, project_1.addModelToProject)(id); } appJsonFile.addModel(id, modelVersion); } exports.appModelsAddComponent = appModelsAddComponent; //# sourceMappingURL=app-models-add-component.js.map