manifest
Version:
Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard
102 lines • 3.67 kB
JavaScript
;
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