refactor: remove todo tool (#35989)

This commit is contained in:
Aiden Cline
2026-07-09 00:13:48 -05:00
committed by GitHub
parent d4155f2906
commit 7feefb697f
250 changed files with 237 additions and 4755 deletions
+1 -7
View File
@@ -182,13 +182,7 @@ const layer = Layer.effect(
general: {
name: "general",
description: `General-purpose agent for researching complex questions and executing multi-step tasks. Use this agent to execute multiple units of work in parallel.`,
permission: Permission.merge(
defaults,
Permission.fromConfig({
todowrite: "deny",
}),
user,
),
permission: Permission.merge(defaults, user),
options: {},
mode: "subagent",
native: true,
@@ -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 }]),
]
}