fix: make permission always behavior match expectation (#2573)
Some checks are pending
deploy / deploy (push) Waiting to run
Format / format (push) Waiting to run

This commit is contained in:
Aiden Cline 2025-09-12 18:59:38 -05:00 committed by GitHub
parent c02f58c2af
commit aebd50da7e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -83,7 +83,7 @@ export namespace Permission {
toolCallID: input.callID,
pattern: input.pattern,
})
if (approved[input.sessionID]?.[input.pattern ?? input.type]) return
if (approved[input.sessionID]?.[input.type]) return
const info: Info = {
id: Identifier.ascending("permission"),
type: input.type,
@ -141,9 +141,9 @@ export namespace Permission {
})
if (input.response === "always") {
approved[input.sessionID] = approved[input.sessionID] || {}
approved[input.sessionID][match.info.pattern ?? match.info.type] = true
approved[input.sessionID][match.info.type] = true
for (const item of Object.values(pending[input.sessionID])) {
if ((item.info.pattern ?? item.info.type) === (match.info.pattern ?? match.info.type)) {
if (item.info.type === match.info.type) {
respond({ sessionID: item.info.sessionID, permissionID: item.info.id, response: input.response })
}
}