fix(acp): 修复 2 个 ACP 测试失败,基线保持 5
- utils.ts: resolvePermissionMode 补上 source 参数,匹配上游 - bridge.test.ts: 去掉 undefined yield,用 if(false) yield 满足 biome - ci.yml: 基线恢复 5 (ACP 134 pass / 0 fail)
This commit is contained in:
parent
2ad6e5159c
commit
4cf28f1e40
|
|
@ -981,7 +981,8 @@ describe('forwardSessionUpdates', () => {
|
||||||
undefined,
|
undefined,
|
||||||
unknown
|
unknown
|
||||||
> {
|
> {
|
||||||
yield undefined as unknown as SDKMessage
|
// biome-ignore lint/correctness/useYield: yield before throw keeps biome happy
|
||||||
|
if (false) yield undefined as unknown as SDKMessage
|
||||||
throw new Error('stream exploded')
|
throw new Error('stream exploded')
|
||||||
}
|
}
|
||||||
await expect(
|
await expect(
|
||||||
|
|
|
||||||
|
|
@ -121,30 +121,31 @@ const PERMISSION_MODE_ALIASES: Record<string, PermissionMode> = {
|
||||||
bypass: 'bypassPermissions',
|
bypass: 'bypassPermissions',
|
||||||
}
|
}
|
||||||
|
|
||||||
export function resolvePermissionMode(defaultMode?: unknown): PermissionMode {
|
export function resolvePermissionMode(
|
||||||
|
defaultMode?: unknown,
|
||||||
|
source = 'permissions.defaultMode',
|
||||||
|
): PermissionMode {
|
||||||
if (defaultMode === undefined) {
|
if (defaultMode === undefined) {
|
||||||
return 'default'
|
return 'default'
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof defaultMode !== 'string') {
|
if (typeof defaultMode !== 'string') {
|
||||||
throw new Error('Invalid permissions.defaultMode: expected a string.')
|
throw new Error(`Invalid ${source}: expected a string.`)
|
||||||
}
|
}
|
||||||
|
|
||||||
const normalized = defaultMode.trim().toLowerCase()
|
const normalized = defaultMode.trim().toLowerCase()
|
||||||
if (normalized === '') {
|
if (normalized === '') {
|
||||||
throw new Error(
|
throw new Error(`Invalid ${source}: expected a non-empty string.`)
|
||||||
'Invalid permissions.defaultMode: expected a non-empty string.',
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const mapped = PERMISSION_MODE_ALIASES[normalized]
|
const mapped = PERMISSION_MODE_ALIASES[normalized]
|
||||||
if (!mapped) {
|
if (!mapped) {
|
||||||
throw new Error(`Invalid permissions.defaultMode: ${defaultMode}.`)
|
throw new Error(`Invalid ${source}: ${defaultMode}.`)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mapped === 'bypassPermissions' && !ALLOW_BYPASS) {
|
if (mapped === 'bypassPermissions' && !ALLOW_BYPASS) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
'Invalid permissions.defaultMode: bypassPermissions is not available when running as root.',
|
`Invalid ${source}: bypassPermissions is not available when running as root.`,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user