Files
platform/src/servers/data-path.ts
T
2026-02-17 20:37:40 +00:00

52 lines
2.2 KiB
TypeScript

import { join, resolve } from 'node:path';
export const DATA_PATH = process.env.DATA_PATH ?? join(process.cwd(), 'data');
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 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 getUserSettingsFile = (email: string) => join(DATA_PATH, email, 'settings.json');
export const getUserStateFile = (email: string) => join(DATA_PATH, email, 'state.json');
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 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 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', sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', provider, sessionId, 'attachments');