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,
|
||||
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')
|
||||
}
|
||||
await expect(
|
||||
|
|
|
|||
|
|
@ -121,30 +121,31 @@ const PERMISSION_MODE_ALIASES: Record<string, PermissionMode> = {
|
|||
bypass: 'bypassPermissions',
|
||||
}
|
||||
|
||||
export function resolvePermissionMode(defaultMode?: unknown): PermissionMode {
|
||||
export function resolvePermissionMode(
|
||||
defaultMode?: unknown,
|
||||
source = 'permissions.defaultMode',
|
||||
): PermissionMode {
|
||||
if (defaultMode === undefined) {
|
||||
return 'default'
|
||||
}
|
||||
|
||||
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()
|
||||
if (normalized === '') {
|
||||
throw new Error(
|
||||
'Invalid permissions.defaultMode: expected a non-empty string.',
|
||||
)
|
||||
throw new Error(`Invalid ${source}: expected a non-empty string.`)
|
||||
}
|
||||
|
||||
const mapped = PERMISSION_MODE_ALIASES[normalized]
|
||||
if (!mapped) {
|
||||
throw new Error(`Invalid permissions.defaultMode: ${defaultMode}.`)
|
||||
throw new Error(`Invalid ${source}: ${defaultMode}.`)
|
||||
}
|
||||
|
||||
if (mapped === 'bypassPermissions' && !ALLOW_BYPASS) {
|
||||
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