@2501-ai/cli
Version:
[](https://www.npmjs.com/package/@2501-ai/cli) [](https://www.2501.ai/research/full-humaneval-benchmark) [); } 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);
});
}