fix(team-mode): keep member communication tools visible
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user