UNPKG

@2501-ai/cli

Version:

[![npm version](https://img.shields.io/npm/v/@2501-ai/cli.svg)](https://www.npmjs.com/package/@2501-ai/cli) [![HumanEval Score](https://img.shields.io/badge/HumanEval-96.95%25-brightgreen.svg)](https://www.2501.ai/research/full-humaneval-benchmark) [![Lic

74 lines (73 loc) 3.15 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleAutoUpdate = handleAutoUpdate; const actions_1 = require("../helpers/actions"); const versioning_1 = require("./versioning"); const logger_1 = __importDefault(require("./logger")); const configManager_1 = require("../managers/configManager"); const execa_1 = __importDefault(require("execa")); const autoUpdate = () => __awaiter(void 0, void 0, void 0, function* () { try { const isLatest = yield (0, versioning_1.isLatestVersion)(); logger_1.default.debug('Hit auto update'); if (isLatest) { return false; } logger_1.default.debug('Auto update of the CLI start'); logger_1.default.log('Auto-updating the CLI, please wait ...'); const updateCommand = yield (0, actions_1.run_shell)({ command: 'npm i -g @2501-ai/cli', shell: true, }); if ((0, actions_1.hasError)(updateCommand)) { logger_1.default.warn('Failed to auto-update 2501 CLI', updateCommand); return false; } logger_1.default.debug('CLI successfully updated to latest version'); return true; } catch (error) { logger_1.default.warn('Failed to auto-update 2501 CLI:', error); return false; } }); function handleAutoUpdate() { return __awaiter(this, void 0, void 0, function* () { const config = configManager_1.ConfigManager.instance; if (process.env.TFZO_UPDATED === 'true') { return false; } if (!config.get('auto_update')) { return false; } const wasUpdated = yield autoUpdate(); if (!wasUpdated) { return false; } logger_1.default.log('Auto-update completed. Restarting task with new process.'); const [nodePath, scriptPath, ...args] = process.argv; try { yield (0, execa_1.default)(nodePath, [scriptPath, ...args], { stdio: 'inherit', env: Object.assign(Object.assign({}, process.env), { TFZO_UPDATED: 'true' }), }); } catch (error) { logger_1.default.error('Failed to restart process:', error); process.exit(1); } process.exit(0); }); }