alwaysai
Version:
The alwaysAI command-line interface (CLI)
45 lines • 1.78 kB
JavaScript
;
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