UNPKG

@sigyl-dev/cli

Version:

Official Sigyl CLI for installing and managing MCP packages. Zero-config installation for public packages, secure API-based authentication.

79 lines 2.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ensureConfigDir = ensureConfigDir; exports.saveConfig = saveConfig; exports.loadConfig = loadConfig; exports.getRegistryConfig = getRegistryConfig; exports.hasValidConfig = hasValidConfig; exports.requiresApiKey = requiresApiKey; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const os_1 = __importDefault(require("os")); const chalk_1 = __importDefault(require("chalk")); const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.sigyl'); const CONFIG_FILE = path_1.default.join(CONFIG_DIR, 'config.json'); // Default production registry URL const DEFAULT_REGISTRY_URL = 'https://api.sigyl.dev'; function ensureConfigDir() { if (!fs_1.default.existsSync(CONFIG_DIR)) { fs_1.default.mkdirSync(CONFIG_DIR, { recursive: true }); } } function saveConfig(config) { ensureConfigDir(); fs_1.default.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2)); console.log(chalk_1.default.green('✅ Configuration saved to'), chalk_1.default.blue(CONFIG_FILE)); } function loadConfig() { if (!fs_1.default.existsSync(CONFIG_FILE)) { return null; } try { const configData = fs_1.default.readFileSync(CONFIG_FILE, 'utf8'); return JSON.parse(configData); } catch (error) { console.error(chalk_1.default.red('❌ Error reading configuration:'), error); return null; } } function getRegistryConfig() { // Try environment variables first (for development) const envUrl = process.env.SIGYL_REGISTRY_URL; const envKey = process.env.SIGYL_API_KEY; if (envUrl || envKey) { return { registryUrl: envUrl || DEFAULT_REGISTRY_URL, apiKey: envKey }; } // Try config file const config = loadConfig(); if (config) { return { registryUrl: config.registryUrl || DEFAULT_REGISTRY_URL, apiKey: config.apiKey }; } // Use default production values (no API key required for public packages) return { registryUrl: DEFAULT_REGISTRY_URL }; } function hasValidConfig() { try { const config = getRegistryConfig(); return !!(config.registryUrl); } catch { return false; } } function requiresApiKey() { const config = getRegistryConfig(); return !config.apiKey; } //# sourceMappingURL=config.js.map