diff --git a/packages/cli/__tests__/commands/session.test.ts b/packages/cli/__tests__/commands/session.test.ts index e455ced78..ef9ed85fe 100644 --- a/packages/cli/__tests__/commands/session.test.ts +++ b/packages/cli/__tests__/commands/session.test.ts @@ -40,11 +40,12 @@ vi.mock("@composio/ao-core", async (importOriginal) => { }); let tmpDir: string; +let configPath: string; let sessionsDir: string; import { Command } from "commander"; import { registerSession } from "../../src/commands/session.js"; -import { getSessionsDir } from "@composio/ao-core"; +import { getSessionsDir, getProjectBaseDir } from "@composio/ao-core"; let program: Command; let consoleSpy: ReturnType; @@ -52,7 +53,7 @@ let consoleSpy: ReturnType; beforeEach(() => { tmpDir = mkdtempSync(join(tmpdir(), "ao-session-test-")); - const configPath = join(tmpDir, "agent-orchestrator.yaml"); + configPath = join(tmpDir, "agent-orchestrator.yaml"); writeFileSync(configPath, "projects: {}"); mockConfigRef.current = { @@ -100,7 +101,15 @@ beforeEach(() => { }); afterEach(() => { + // Clean up hash-based directories in ~/.agent-orchestrator + const projectBaseDir = getProjectBaseDir(configPath, join(tmpDir, "main-repo")); + if (existsSync(projectBaseDir)) { + rmSync(projectBaseDir, { recursive: true, force: true }); + } + + // Clean up tmpDir rmSync(tmpDir, { recursive: true, force: true }); + vi.restoreAllMocks(); }); diff --git a/packages/core/src/__tests__/lifecycle-manager.test.ts b/packages/core/src/__tests__/lifecycle-manager.test.ts index 2fb71cdc9..f16efc965 100644 --- a/packages/core/src/__tests__/lifecycle-manager.test.ts +++ b/packages/core/src/__tests__/lifecycle-manager.test.ts @@ -1,11 +1,11 @@ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest"; -import { mkdirSync, rmSync, writeFileSync } from "node:fs"; +import { mkdirSync, rmSync, writeFileSync, existsSync } from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; import { randomUUID } from "node:crypto"; import { createLifecycleManager } from "../lifecycle-manager.js"; import { writeMetadata, readMetadataRaw } from "../metadata.js"; -import { getSessionsDir } from "../paths.js"; +import { getSessionsDir, getProjectBaseDir } from "../paths.js"; import type { OrchestratorConfig, PluginRegistry, @@ -146,6 +146,13 @@ beforeEach(() => { }); afterEach(() => { + // Clean up hash-based directories in ~/.agent-orchestrator + const projectBaseDir = getProjectBaseDir(configPath, join(tmpDir, "my-app")); + if (existsSync(projectBaseDir)) { + rmSync(projectBaseDir, { recursive: true, force: true }); + } + + // Clean up tmpDir rmSync(tmpDir, { recursive: true, force: true }); }); diff --git a/packages/core/src/__tests__/session-manager.test.ts b/packages/core/src/__tests__/session-manager.test.ts index f0f445705..e6baeb470 100644 --- a/packages/core/src/__tests__/session-manager.test.ts +++ b/packages/core/src/__tests__/session-manager.test.ts @@ -1,11 +1,11 @@ import { describe, it, expect, beforeEach, afterEach, vi } from "vitest"; -import { mkdirSync, rmSync, writeFileSync } from "node:fs"; +import { mkdirSync, rmSync, writeFileSync, existsSync } from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; import { randomUUID } from "node:crypto"; import { createSessionManager } from "../session-manager.js"; import { writeMetadata, readMetadata } from "../metadata.js"; -import { getSessionsDir } from "../paths.js"; +import { getSessionsDir, getProjectBaseDir } from "../paths.js"; import type { OrchestratorConfig, PluginRegistry, @@ -120,6 +120,13 @@ beforeEach(() => { }); afterEach(() => { + // Clean up hash-based directories in ~/.agent-orchestrator + const projectBaseDir = getProjectBaseDir(configPath, join(tmpDir, "my-app")); + if (existsSync(projectBaseDir)) { + rmSync(projectBaseDir, { recursive: true, force: true }); + } + + // Clean up tmpDir rmSync(tmpDir, { recursive: true, force: true }); });