diff --git a/cli/src/__tests__/project-files-chat-id.test.ts b/cli/src/__tests__/project-files-chat-id.test.ts index 73f504f5fa..c9d732ccf6 100644 --- a/cli/src/__tests__/project-files-chat-id.test.ts +++ b/cli/src/__tests__/project-files-chat-id.test.ts @@ -8,7 +8,10 @@ import { getCurrentChatId, setCurrentChatId, startNewChat, + setProjectRoot, + getProjectDataDir, } from '../project-files' +import { getConfigDir } from '../utils/config-dir' describe('chat id lifecycle', () => { test('getCurrentChatId is stable across calls', () => { @@ -32,3 +35,20 @@ describe('chat id lifecycle', () => { expect(rotated).toMatch(/^\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}\.\d{3}Z$/) }) }) + +describe('getProjectDataDir', () => { + test('returns a path containing the project basename', () => { + setProjectRoot('/tmp/my-project') + const dataDir = getProjectDataDir() + expect(dataDir).toContain('my-project') + expect(dataDir).toContain('projects') + }) + + test('uses config-dir getConfigDir (not auth re-export)', () => { + setProjectRoot('/tmp/test-repo') + const dataDir = getProjectDataDir() + // Should resolve via config-dir's getConfigDir without pulling in auth.ts + const configDir = getConfigDir() + expect(dataDir).toContain(configDir) + }) +}) diff --git a/cli/src/project-files.ts b/cli/src/project-files.ts index 99ffa73705..89c94db0fd 100644 --- a/cli/src/project-files.ts +++ b/cli/src/project-files.ts @@ -1,7 +1,7 @@ import { mkdirSync, readdirSync, statSync } from 'fs' import path from 'path' -import { getConfigDir } from './utils/auth' +import { getConfigDir } from './utils/config-dir' let projectRoot: string | undefined let currentChatId: string | undefined