fix(team-mode): keep member communication tools visible

This commit is contained in:
YeonGyu-Kim
2026-05-10 12:54:16 +09:00
parent 1e4a51e21b
commit b36389ef2c
5 changed files with 82 additions and 37 deletions
+30 -18
View File
@@ -29,7 +29,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
return { data: {} }
},
},
} as any
} as never
const onTaskError = mock(() => {})
@@ -64,7 +64,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
}
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
// Wait for the fire-and-forget prompt chain to settle
await new Promise(resolve => setTimeout(resolve, 50))
@@ -76,11 +76,23 @@ describe("background-agent spawner agent-not-found fallback", () => {
expect(promptCalls[1].body.agent).toBe("general")
// Original prompt content preserved in fallback
expect(promptCalls[1].body.parts).toEqual(promptCalls[0].body.parts)
// Tool restrictions recomputed for fallback agent (general has no restrictions)
// Tool restrictions recomputed for fallback agent while preserving delegated-subagent team tool denial
expect(promptCalls[1].body.tools).toEqual({
task: false,
call_omo_agent: true,
question: false,
team_create: false,
team_delete: false,
team_shutdown_request: false,
team_approve_shutdown: false,
team_reject_shutdown: false,
team_send_message: false,
team_task_create: false,
team_task_list: false,
team_task_update: false,
team_task_get: false,
team_status: false,
team_list: false,
})
// Task agent identity updated to reflect fallback
expect(task.agent).toBe("general")
@@ -101,7 +113,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
throw new Error("Connection timeout")
},
},
} as any
} as never
const onTaskError = mock(() => {})
@@ -133,7 +145,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
}
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
await new Promise(resolve => setTimeout(resolve, 50))
//#then
@@ -154,7 +166,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
throw new Error('Agent not found: "Sisyphus-Junior". Available agents: build, explore, general, plan')
},
},
} as any
} as never
const onTaskError = mock(() => {})
@@ -186,7 +198,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
}
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
await new Promise(resolve => setTimeout(resolve, 50))
//#then
@@ -213,7 +225,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
return { data: {} }
},
},
} as any
} as never
const onTaskError = mock(() => {})
@@ -248,7 +260,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
}
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
await new Promise(resolve => setTimeout(resolve, 50))
//#then
@@ -276,7 +288,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
return { data: {} }
},
},
} as any
} as never
const onTaskError = mock(() => {})
@@ -311,7 +323,7 @@ describe("background-agent spawner agent-not-found fallback", () => {
}
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
await new Promise(resolve => setTimeout(resolve, 50))
//#then
@@ -338,11 +350,11 @@ describe("background-agent spawner fallback model promotion", () => {
return { data: {} }
}),
},
} as any
} as never
const concurrencyManager = {
release: mock(() => {}),
} as any
} as never
const onTaskError = mock(() => {})
@@ -455,7 +467,7 @@ describe("background-agent spawner fallback model promotion", () => {
}
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
//#then
expect(promptCalls).toHaveLength(1)
@@ -569,7 +581,7 @@ describe("background-agent spawner fallback model promotion", () => {
}
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
await new Promise((resolve) => setTimeout(resolve, 0))
//#then
@@ -623,7 +635,7 @@ describe("background-agent spawner fallback model promotion", () => {
}
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
await new Promise((resolve) => setTimeout(resolve, 0))
//#then
@@ -653,7 +665,7 @@ describe("background-agent spawner tmux callback ordering", () => {
return { data: {} }
},
},
} as any
} as never
const onSubagentSessionCreated = mock(async () => {
events.push("tmux.callback.start")
@@ -694,7 +706,7 @@ describe("background-agent spawner tmux callback ordering", () => {
try {
//#when
await startTask(item as any, ctx as any)
await startTask(item as never, ctx as never)
await new Promise((resolve) => setTimeout(resolve, 20))
//#then