UNPKG

manifest

Version:

Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard

102 lines 3.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LOCAL_AGENT_NAME = exports.LOCAL_AGENT_ID = exports.LOCAL_TENANT_ID = exports.LOCAL_DEFAULT_PORT = exports.LOCAL_EMAIL = exports.LOCAL_USER_ID = void 0; exports.getLocalAuthSecret = getLocalAuthSecret; exports.getLocalPassword = getLocalPassword; exports.readLocalEmailConfig = readLocalEmailConfig; exports.writeLocalEmailConfig = writeLocalEmailConfig; exports.clearLocalEmailConfig = clearLocalEmailConfig; exports.readLocalApiKey = readLocalApiKey; exports.readLocalNotificationEmail = readLocalNotificationEmail; exports.writeLocalNotificationEmail = writeLocalNotificationEmail; const fs_1 = require("fs"); const path_1 = require("path"); const os_1 = require("os"); const crypto_1 = require("crypto"); exports.LOCAL_USER_ID = 'local-user-001'; exports.LOCAL_EMAIL = 'local@manifest.local'; exports.LOCAL_DEFAULT_PORT = 2099; exports.LOCAL_TENANT_ID = 'local-tenant-001'; exports.LOCAL_AGENT_ID = 'local-agent-001'; exports.LOCAL_AGENT_NAME = 'local-agent'; const CONFIG_DIR = (0, path_1.join)((0, os_1.homedir)(), '.openclaw', 'manifest'); const CONFIG_FILE = (0, path_1.join)(CONFIG_DIR, 'config.json'); function ensureConfigDir() { if (!(0, fs_1.existsSync)(CONFIG_DIR)) { (0, fs_1.mkdirSync)(CONFIG_DIR, { recursive: true, mode: 0o700 }); } } function readConfig() { ensureConfigDir(); if (!(0, fs_1.existsSync)(CONFIG_FILE)) return {}; try { return JSON.parse((0, fs_1.readFileSync)(CONFIG_FILE, 'utf-8')); } catch { return {}; } } function writeConfig(config) { ensureConfigDir(); (0, fs_1.writeFileSync)(CONFIG_FILE, JSON.stringify(config, null, 2), { mode: 0o600 }); } function getLocalAuthSecret() { const config = readConfig(); if (config.authSecret && config.authSecret.length >= 32) { return config.authSecret; } const secret = (0, crypto_1.randomBytes)(32).toString('hex'); writeConfig({ ...config, authSecret: secret }); return secret; } function getLocalPassword() { const config = readConfig(); if (config.localPassword && config.localPassword.length >= 16) { return config.localPassword; } const password = (0, crypto_1.randomBytes)(24).toString('base64url'); writeConfig({ ...config, localPassword: password }); return password; } function readLocalEmailConfig() { const config = readConfig(); if (!config.emailProvider || !config.emailApiKey) return null; return { provider: config.emailProvider, apiKey: config.emailApiKey, domain: config.emailDomain, fromEmail: config.emailFromAddress, }; } function writeLocalEmailConfig(emailConfig) { const config = readConfig(); config.emailProvider = emailConfig.provider; config.emailApiKey = emailConfig.apiKey; config.emailDomain = emailConfig.domain; config.emailFromAddress = emailConfig.fromEmail; writeConfig(config); } function clearLocalEmailConfig() { const config = readConfig(); delete config.emailProvider; delete config.emailApiKey; delete config.emailDomain; delete config.emailFromAddress; writeConfig(config); } function readLocalApiKey() { const config = readConfig(); return typeof config.apiKey === 'string' ? config.apiKey : null; } function readLocalNotificationEmail() { const config = readConfig(); return config.notificationEmail ?? null; } function writeLocalNotificationEmail(email) { const config = readConfig(); config.notificationEmail = email; writeConfig(config); } //# sourceMappingURL=local-mode.constants.js.map