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');