feat(tracker): move tracker storage to project temp directory

This commit is contained in:
Anjali Sridhar
2026-02-18 16:09:07 -08:00
parent 2d6ee8f005
commit ae964772b5
3 changed files with 15 additions and 8 deletions
+9
View File
@@ -245,6 +245,15 @@ export class Storage {
return path.join(this.getProjectTempDir(), 'plans');
}
getProjectTempTrackerDir(sessionId: string): string {
return path.join(
this.getProjectTempDir(),
sessionId,
'.tracker',
sessionId,
);
}
getExtensionsDir(): string {
return path.join(this.getGeminiDir(), 'extensions');
}
@@ -12,23 +12,23 @@ import { TrackerService } from './trackerService.js';
import type { TrackerTask } from './trackerTypes.js';
describe('TrackerService', () => {
let testRootDir: string;
let testTrackerDir: string;
let service: TrackerService;
beforeEach(async () => {
testRootDir = await fs.mkdtemp(
testTrackerDir = await fs.mkdtemp(
path.join(os.tmpdir(), 'tracker-service-test-'),
);
service = new TrackerService(testRootDir);
service = new TrackerService(testTrackerDir);
});
afterEach(async () => {
await fs.rm(testRootDir, { recursive: true, force: true });
await fs.rm(testTrackerDir, { recursive: true, force: true });
});
it('should initialize the tracker directory', async () => {
await service.ensureInitialized();
const tasksDir = path.join(testRootDir, '.tracker', 'tasks');
const tasksDir = path.join(testTrackerDir, 'tasks');
const stats = await fs.stat(tasksDir);
expect(stats.isDirectory()).toBe(true);
});
+1 -3
View File
@@ -10,11 +10,9 @@ import { randomBytes } from 'node:crypto';
import { TrackerTaskSchema, type TrackerTask } from './trackerTypes.js';
export class TrackerService {
private readonly trackerDir: string;
private readonly tasksDir: string;
constructor(private readonly workspaceRoot: string) {
this.trackerDir = path.join(this.workspaceRoot, '.tracker');
constructor(private readonly trackerDir: string) {
this.tasksDir = path.join(this.trackerDir, 'tasks');
}