fix: bash tool permission merges (#3302)

This commit is contained in:
Aiden Cline
2025-10-20 15:15:14 -05:00
committed by GitHub
parent 7a7b3c6315
commit 89b72e4442

View File

@@ -176,6 +176,16 @@ export namespace Agent {
}
function mergeAgentPermissions(basePermission: any, overridePermission: any): Agent.Info["permission"] {
if (typeof basePermission.bash === "string") {
basePermission.bash = {
"*": basePermission.bash,
}
}
if (typeof overridePermission.bash === "string") {
overridePermission.bash = {
"*": overridePermission.bash,
}
}
const merged = mergeDeep(basePermission ?? {}, overridePermission ?? {}) as any
let mergedBash
if (merged.bash) {
@@ -183,12 +193,10 @@ function mergeAgentPermissions(basePermission: any, overridePermission: any): Ag
mergedBash = {
"*": merged.bash,
}
}
// if granular permissions are provided, default to "ask"
if (typeof merged.bash === "object") {
} else if (typeof merged.bash === "object") {
mergedBash = mergeDeep(
{
"*": "ask",
"*": "allow",
},
merged.bash,
)