Files
platform/src/servers/data-path.ts
T

97 lines
4.0 KiB
TypeScript

import { join, resolve } from 'node:path';
import { homedir } from 'node:os';
export const DATA_PATH = process.env.DATA_PATH ?? join(process.cwd(), 'data');
export const SERVER_CONFIG_DIR = join(DATA_PATH, 'server-settings');
export const PI_CONFIG_DIR = join(homedir(), '.pi', 'agent');
export const SEED_PATH = resolve(import.meta.dir, '../../seed');
export const getUserSessionsDir = (email: string) => join(DATA_PATH, email, 'chat_sessions');
export const getClaudeDir = (email: string) => join(DATA_PATH, email, 'chat_sessions', 'claude');
export const getSessionDir = (email: string, sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', 'claude', sessionId);
export const getOpencodeDir = (email: string) => join(DATA_PATH, email, 'chat_sessions', 'opencode');
export const getOpencodeSessionDir = (email: string, sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', 'opencode', sessionId);
export const getPiMonoDir = (email: string) => join(DATA_PATH, email, 'chat_sessions', 'pi-mono');
export const getPiMonoSessionDir = (email: string, sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', 'pi-mono', sessionId);
export const getArchivedSessionDir = (email: string, sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', 'claude', 'archived', sessionId);
export const getHomeDir = (email: string) => join(DATA_PATH, email, 'home');
export const getUserPiConfigDir = (email: string) => join(DATA_PATH, email, 'home', '.pi', 'agent');
export const getUserSettingsDir = (email: string) => join(DATA_PATH, email, 'settings');
export const getUserSettingsFile = (email: string) => join(DATA_PATH, email, 'settings', 'settings.json');
export const getUserStateDir = (email: string) => join(DATA_PATH, email, 'state');
export const getUserStateFile = (email: string) => join(DATA_PATH, email, 'state', 'state.json');
export const getUserWorkspacesDir = (email: string) => join(DATA_PATH, email, 'workspaces');
export const getUserProjectsDir = (email: string) => join(DATA_PATH, email, 'home', 'Projects');
export const getUserHomepageWorkspaceDir = (email: string) => join(DATA_PATH, email, 'ws-homepage');
export const getNativeSkillsDir = () => join(SEED_PATH, 'skills');
export const getGlobalSkillsDir = () => join(DATA_PATH, 'skills');
export const getUserSkillsDir = (email: string) => join(DATA_PATH, email, 'skills');
export const getNativeToolsDir = () => join(SEED_PATH, 'tools');
export const getGlobalToolsDir = () => join(DATA_PATH, 'tools');
export const getUserToolsDir = (email: string) => join(DATA_PATH, email, 'tools');
export const getNativeExtensionsDir = () => join(SEED_PATH, 'extensions');
export const getGlobalExtensionsDir = () => join(DATA_PATH, 'extensions');
export const getUserExtensionsDir = (email: string) => join(DATA_PATH, email, 'extensions');
export const getNativeTasksDir = () => join(SEED_PATH, 'tasks');
export const getGlobalTasksDir = () => join(DATA_PATH, 'tasks');
export const getUserTasksDir = (email: string) => join(DATA_PATH, email, 'tasks');
export const getNativeProcessesDir = () => join(SEED_PATH, 'processes');
export const getGlobalProcessesDir = () => join(DATA_PATH, 'processes');
export const getUserProcessesDir = (email: string) => join(DATA_PATH, email, 'processes');
export const getNativeResourcesDir = () => join(SEED_PATH, 'resources');
export const getGlobalResourcesDir = () => join(DATA_PATH, 'resources');
export const getResourcesDir = () => join(DATA_PATH, 'resources');
export const getTaskLogsDir = (email: string) => join(DATA_PATH, email, 'logs', 'tasks');
export const getTmpAttachmentsDir = (email: string) => join(DATA_PATH, email, 'chat_sessions', 'tmp_attachments');
export const getAttachmentsDir = (email: string, provider: 'claude' | 'opencode' | 'pi-mono', sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', provider, sessionId, 'attachments');
export const getUserEmailDir = (email: string) => join(DATA_PATH, email, 'Gmail', 'emails');
export const getUserAppsDir = (email: string) => join(DATA_PATH, email, 'apps');