refactor: remove todo tool (#35989)
This commit is contained in:
@@ -8,20 +8,18 @@ import type { Agent } from "./agent"
|
||||
* 1. The parent session's deny rules and external_directory rules.
|
||||
* Parent agent restrictions only govern that agent; the subagent's own
|
||||
* permissions determine its capabilities.
|
||||
* 2. Default `todowrite` and `task` denies if the subagent's own ruleset
|
||||
* doesn't already permit them.
|
||||
* 2. A default `task` deny if the subagent's own ruleset doesn't already
|
||||
* permit it.
|
||||
*/
|
||||
export function deriveSubagentSessionPermission(input: {
|
||||
parentSessionPermission: PermissionV1.Ruleset
|
||||
subagent: Agent.Info
|
||||
}): PermissionV1.Ruleset {
|
||||
const canTask = input.subagent.permission.some((rule) => rule.permission === "task")
|
||||
const canTodo = input.subagent.permission.some((rule) => rule.permission === "todowrite")
|
||||
return [
|
||||
...input.parentSessionPermission.filter(
|
||||
(rule) => rule.permission === "external_directory" || rule.action === "deny",
|
||||
),
|
||||
...(canTodo ? [] : [{ permission: "todowrite" as const, pattern: "*" as const, action: "deny" as const }]),
|
||||
...(canTask ? [] : [{ permission: "task" as const, pattern: "*" as const, action: "deny" as const }]),
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user