fix: bash tool permission merges (#3302)
This commit is contained in:
parent
7a7b3c6315
commit
89b72e4442
1 changed files with 12 additions and 4 deletions
|
|
@ -176,6 +176,16 @@ export namespace Agent {
|
||||||
}
|
}
|
||||||
|
|
||||||
function mergeAgentPermissions(basePermission: any, overridePermission: any): Agent.Info["permission"] {
|
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
|
const merged = mergeDeep(basePermission ?? {}, overridePermission ?? {}) as any
|
||||||
let mergedBash
|
let mergedBash
|
||||||
if (merged.bash) {
|
if (merged.bash) {
|
||||||
|
|
@ -183,12 +193,10 @@ function mergeAgentPermissions(basePermission: any, overridePermission: any): Ag
|
||||||
mergedBash = {
|
mergedBash = {
|
||||||
"*": merged.bash,
|
"*": merged.bash,
|
||||||
}
|
}
|
||||||
}
|
} else if (typeof merged.bash === "object") {
|
||||||
// if granular permissions are provided, default to "ask"
|
|
||||||
if (typeof merged.bash === "object") {
|
|
||||||
mergedBash = mergeDeep(
|
mergedBash = mergeDeep(
|
||||||
{
|
{
|
||||||
"*": "ask",
|
"*": "allow",
|
||||||
},
|
},
|
||||||
merged.bash,
|
merged.bash,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue