UNPKG

auto-gpt-ts

Version:

my take of Auto-GPT in typescript

142 lines 5.34 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.osName = void 0; const node_child_process_1 = require("node:child_process"); const os = __importStar(require("node:os")); const nameMap = new Map([ [22, ['Ventura', '13']], [21, ['Monterey', '12']], [20, ['Big Sur', '11']], [19, ['Catalina', '10.15']], [18, ['Mojave', '10.14']], [17, ['High Sierra', '10.13']], [16, ['Sierra', '10.12']], [15, ['El Capitan', '10.11']], [14, ['Yosemite', '10.10']], [13, ['Mavericks', '10.9']], [12, ['Mountain Lion', '10.8']], [11, ['Lion', '10.7']], [10, ['Snow Leopard', '10.6']], [9, ['Leopard', '10.5']], [8, ['Tiger', '10.4']], [7, ['Panther', '10.3']], [6, ['Jaguar', '10.2']], [5, ['Puma', '10.1']], ]); function macosRelease(release) { release = Number((release || os.release()).split('.')[0]); const [name, version] = nameMap.get(release) || ['Unknown', '']; return { name, version, }; } // Reference: https://www.gaijin.at/en/lstwinver.php // Windows 11 reference: https://docs.microsoft.com/en-us/windows/release-health/windows11-release-information const names = new Map([ ['10.0.22', '11'], ['10.0', '10'], ['6.3', '8.1'], ['6.2', '8'], ['6.1', '7'], ['6.0', 'Vista'], ['5.2', 'Server 2003'], ['5.1', 'XP'], ['5.0', '2000'], ['4.90', 'ME'], ['4.10', '98'], ['4.03', '95'], ['4.00', '95'], ]); function windowsRelease(release) { const version = /(\d+\.\d+)(?:\.(\d+))?/.exec(release || os.release()); if (release && !version) { throw new Error('`release` argument doesn\'t match `n.n`'); } let ver = version[1] || ''; const build = version[2] || ''; // Server 2008, 2012, 2016, and 2019 versions are ambiguous with desktop versions and must be detected at runtime. // If `release` is omitted or we're on a Windows system, and the version number is an ambiguous version // then use `wmic` to get the OS caption: https://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx // If `wmic` is obsolete (later versions of Windows 10), use PowerShell instead. // If the resulting caption contains the year 2008, 2012, 2016, 2019 or 2022, it is a server version, so return a server OS name. if ((!release || release === os.release()) && ['6.1', '6.2', '6.3', '10.0'].includes(ver)) { let stdout; try { stdout = (0, node_child_process_1.spawnSync)('wmic', ['os', 'get', 'Caption']).stdout.toString() || ''; } catch (_a) { stdout = (0, node_child_process_1.spawnSync)('powershell', ['(Get-CimInstance -ClassName Win32_OperatingSystem).caption']).stdout.toString() || ''; } const year = (stdout.match(/2008|2012|2016|2019|2022/) || [])[0]; if (year) { return `Server ${year}`; } } // Windows 11 if (ver === '10.0' && build.startsWith('22')) { ver = '10.0.22'; } return names.get(ver); } function osName(platform, release) { if (!platform && release) { throw new Error('You can\'t specify a `release` without specifying `platform`'); } platform = platform || os.platform(); let id; if (platform === 'darwin') { if (!release && os.platform() === 'darwin') { release = os.release(); } const prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS'; try { id = release ? macosRelease(release).name : ''; if (id === 'Unknown') { return prefix; } } catch (_a) { } return prefix + (id ? ' ' + id : ''); } if (platform === 'linux') { if (!release && os.platform() === 'linux') { release = os.release(); } id = release ? release.replace(/^(\d+\.\d+).*/, '$1') : ''; return 'Linux' + (id ? ' ' + id : ''); } if (platform === 'win32') { if (!release && os.platform() === 'win32') { release = os.release(); } id = release ? windowsRelease(release) : ''; return 'Windows' + (id ? ' ' + id : ''); } return platform; } exports.osName = osName; //# sourceMappingURL=index.js.map