Files
2026-07-13 13:02:44 +08:00

30 lines
797 B
JavaScript

const path = require('path');
const LOCAL_AI_DIR_ENV = 'OPEN_GENERATIVE_AI_LOCAL_AI_DIR';
function normalizeDirOverride(value) {
return typeof value === 'string' ? value.trim() : '';
}
function resolveLocalAiPaths({ userDataPath, env = process.env } = {}) {
const customDir = normalizeDirOverride(env[LOCAL_AI_DIR_ENV]);
if (!customDir && !userDataPath) {
throw new Error(`userDataPath is required when ${LOCAL_AI_DIR_ENV} is not set`);
}
const dataDir = path.resolve(customDir || path.join(userDataPath, 'local-ai'));
return {
dataDir,
binDir: path.join(dataDir, 'bin'),
modelsDir: path.join(dataDir, 'models'),
tmpDir: path.join(dataDir, 'tmp'),
};
}
module.exports = {
LOCAL_AI_DIR_ENV,
resolveLocalAiPaths,
};