diff --git a/src/features/team-mode/integration.test.ts b/src/features/team-mode/integration.test.ts
index 0f11cff54..79d08e368 100644
--- a/src/features/team-mode/integration.test.ts
+++ b/src/features/team-mode/integration.test.ts
@@ -1,6 +1,6 @@
///
-import { afterEach, describe, expect, mock, test } from "bun:test"
+import { afterAll, afterEach, describe, expect, mock, test } from "bun:test"
import { randomUUID } from "node:crypto"
import { mkdir, rm, stat } from "node:fs/promises"
import { tmpdir } from "node:os"
@@ -49,6 +49,10 @@ const { loadRuntimeState, saveRuntimeState } = await import("./team-state-store/
const temporaryDirectories: string[] = []
type MockClient = ExecutorContext["client"] & { session: { get: ReturnType } }
+afterAll(() => {
+ mock.restore()
+})
+
function createConfig(baseDir: string, overrides: Partial = {}): TeamModeConfig {
return TeamModeConfigSchema.parse({ enabled: true, base_dir: baseDir, max_wall_clock_minutes: 1, ...overrides })
}
@@ -212,13 +216,12 @@ describe("team-mode integration", () => {
})
return undefined
})
- const recordingClient = {
+ const ctx = createContext(baseDir, manager, new Set(["ses_lead"]))
+ const recordingClient: LiveDeliveryClient = {
session: {
- get: mock(async ({ path: { id } }: { path: { id: string } }) => ({ data: { id } })),
promptAsync: promptAsyncSpy,
},
- } as ExecutorContext["client"] & LiveDeliveryClient
- const ctx = { client: recordingClient, manager, directory: baseDir }
+ }
const runtime = await createTeamRun(createSpec("msg-team", "lead", [
{ kind: "subagent_type", name: "lead", subagent_type: "sisyphus", backendType: "in-process", isActive: true },
diff --git a/src/features/team-mode/team-mailbox/inbox.test.ts b/src/features/team-mode/team-mailbox/inbox.test.ts
index 3afed0f4a..caa55e2e4 100644
--- a/src/features/team-mode/team-mailbox/inbox.test.ts
+++ b/src/features/team-mode/team-mailbox/inbox.test.ts
@@ -1,6 +1,6 @@
///
-import { describe, expect, mock, test } from "bun:test"
+import { afterAll, describe, expect, mock, test } from "bun:test"
import { mkdir, mkdtemp, writeFile } from "node:fs/promises"
import { randomUUID } from "node:crypto"
import { tmpdir } from "node:os"
@@ -18,6 +18,10 @@ const { listUnreadMessages } = await import("./inbox")
const { TeamModeConfigSchema } = await import("../../../config/schema/team-mode")
const { getInboxDir, resolveBaseDir } = await import("../team-registry/paths")
+afterAll(() => {
+ mock.restore()
+})
+
async function createBaseDirectory(): Promise {
return await mkdtemp(path.join(tmpdir(), "team-mailbox-inbox-"))
}
diff --git a/src/features/team-mode/team-mailbox/poll.test.ts b/src/features/team-mode/team-mailbox/poll.test.ts
index a92b926d9..1f57f18ae 100644
--- a/src/features/team-mode/team-mailbox/poll.test.ts
+++ b/src/features/team-mode/team-mailbox/poll.test.ts
@@ -1,6 +1,6 @@
///
-import { afterEach, describe, expect, mock, test } from "bun:test"
+import { afterAll, afterEach, describe, expect, mock, test } from "bun:test"
import { randomUUID } from "node:crypto"
import { readdir } from "node:fs/promises"
import { tmpdir } from "node:os"
@@ -22,6 +22,10 @@ mock.module("./ack", () => ({
const { pollAndBuildInjection } = await import("./poll")
const { getInboxDir, resolveBaseDir } = await import("../team-registry/paths")
+afterAll(() => {
+ mock.restore()
+})
+
function createConfig(baseDir: string) {
return TeamModeConfigSchema.parse({ base_dir: baseDir })
}
diff --git a/src/features/team-mode/team-registry/paths.test.ts b/src/features/team-mode/team-registry/paths.test.ts
index 2cf1cc575..faf90b946 100644
--- a/src/features/team-mode/team-registry/paths.test.ts
+++ b/src/features/team-mode/team-registry/paths.test.ts
@@ -1,6 +1,6 @@
///
-import { afterEach, describe, expect, mock, test } from "bun:test"
+import { afterAll, afterEach, describe, expect, mock, test } from "bun:test"
import { mkdtemp, mkdir, rm, stat, writeFile } from "node:fs/promises"
import { homedir, tmpdir } from "node:os"
import path from "node:path"
@@ -18,6 +18,10 @@ mock.module("../../../shared/logger", () => ({
const { discoverTeamSpecs, ensureBaseDirs, resolveBaseDir } = await import("./paths")
+afterAll(() => {
+ mock.restore()
+})
+
async function createTemporaryRoot(): Promise {
return await mkdtemp(path.join(tmpdir(), "team-mode-paths-"))
}
diff --git a/src/features/team-mode/team-runtime/create.test.ts b/src/features/team-mode/team-runtime/create.test.ts
index 99db1c41b..3f3438648 100644
--- a/src/features/team-mode/team-runtime/create.test.ts
+++ b/src/features/team-mode/team-runtime/create.test.ts
@@ -104,6 +104,7 @@ describe("createTeamRun", () => {
})
afterAll(async () => {
+ mock.restore()
clearSessionTeamRunCleanupRegistry()
await Promise.all(temporaryDirectories.splice(0).map(async (directoryPath) => rm(directoryPath, { recursive: true, force: true })))
})
diff --git a/src/features/team-mode/team-runtime/resolve-member.test.ts b/src/features/team-mode/team-runtime/resolve-member.test.ts
index f991d9435..6976d459f 100644
--- a/src/features/team-mode/team-runtime/resolve-member.test.ts
+++ b/src/features/team-mode/team-runtime/resolve-member.test.ts
@@ -1,6 +1,6 @@
import { readFileSync } from "node:fs"
declare const require: (name: string) => any
-const { describe, expect, mock, test, beforeEach } = require("bun:test")
+const { afterAll, beforeEach, describe, expect, mock, test } = require("bun:test")
import type { ExecutorContext } from "../../../tools/delegate-task/executor-types"
import type { Member } from "../types"
@@ -14,7 +14,11 @@ mock.module("./resolve-member-dependencies", () => ({
buildSystemContent: buildSystemContentMock,
}))
-const { resolveMember, TeamMemberResolutionError } = await import("./resolve-member")
+const { resolveMember, TeamMemberResolutionError } = await import(`./resolve-member?test=${Date.now()}`)
+
+afterAll(() => {
+ mock.restore()
+})
function createExecutorContext(): ExecutorContext {
return {