Fix codex approve policy

This commit is contained in:
weishu
2026-03-16 13:00:09 +08:00
parent bfc9ad9f0c
commit 1f02bb7de1
12 changed files with 461 additions and 49 deletions
+4 -27
View File
@@ -9,41 +9,18 @@ import type {
ThreadStartParams,
TurnStartParams
} from '../appServerTypes';
import { resolveCodexPermissionModeConfig } from './permissionModeConfig';
function resolveApprovalPolicy(mode: EnhancedMode): ApprovalPolicy {
switch (mode.permissionMode) {
case 'default': return 'untrusted';
case 'read-only': return 'never';
case 'safe-yolo': return 'on-failure';
case 'yolo': return 'on-failure';
default: {
throw new Error(`Unknown permission mode: ${mode.permissionMode}`);
}
}
return resolveCodexPermissionModeConfig(mode.permissionMode).approvalPolicy;
}
function resolveSandbox(mode: EnhancedMode): SandboxMode {
switch (mode.permissionMode) {
case 'default': return 'workspace-write';
case 'read-only': return 'read-only';
case 'safe-yolo': return 'workspace-write';
case 'yolo': return 'danger-full-access';
default: {
throw new Error(`Unknown permission mode: ${mode.permissionMode}`);
}
}
return resolveCodexPermissionModeConfig(mode.permissionMode).sandbox;
}
function resolveSandboxPolicy(mode: EnhancedMode): SandboxPolicy {
switch (mode.permissionMode) {
case 'default': return { type: 'workspaceWrite' };
case 'read-only': return { type: 'readOnly' };
case 'safe-yolo': return { type: 'workspaceWrite' };
case 'yolo': return { type: 'dangerFullAccess' };
default: {
throw new Error(`Unknown permission mode: ${mode.permissionMode}`);
}
}
return resolveCodexPermissionModeConfig(mode.permissionMode).sandboxPolicy;
}
function resolveSandboxPolicyOverride(value: CodexCliOverrides['sandbox'] | undefined): SandboxPolicy | undefined {