MCPcopy Create free account
hub / github.com/tiann/hapi / resolveCodexPermissionModeConfig

Function resolveCodexPermissionModeConfig

cli/src/codex/utils/permissionModeConfig.ts:10–44  ·  view source on GitHub ↗
(mode: CodexPermissionMode)

Source from the content-addressed store, hash-verified

8};
9
10export function resolveCodexPermissionModeConfig(mode: CodexPermissionMode): CodexPermissionModeConfig {
11 switch (mode) {
12 case 'default':
13 return {
14 // Remote Codex sessions rely on HAPI's approval UI for sandbox escalation.
15 // `on-request` keeps workspace-write sandboxing while still surfacing a
16 // user-approvable elevation request when the model needs it.
17 approvalPolicy: 'on-request',
18 sandbox: 'workspace-write',
19 sandboxPolicy: { type: 'workspaceWrite' }
20 };
21 case 'read-only':
22 return {
23 approvalPolicy: 'never',
24 sandbox: 'read-only',
25 sandboxPolicy: { type: 'readOnly' }
26 };
27 case 'safe-yolo':
28 return {
29 // Keep escalation available when the workspace-write sandbox blocks a command.
30 approvalPolicy: 'on-failure',
31 sandbox: 'workspace-write',
32 sandboxPolicy: { type: 'workspaceWrite' }
33 };
34 case 'yolo':
35 return {
36 approvalPolicy: 'never',
37 sandbox: 'danger-full-access',
38 sandboxPolicy: { type: 'dangerFullAccess' }
39 };
40 }
41
42 const unexpectedMode: never = mode;
43 throw new Error(`Unknown permission mode: ${unexpectedMode}`);
44}
45
46export function buildCodexPermissionModeCliArgs(mode: Exclude<CodexPermissionMode, 'default'>): string[] {
47 const config = resolveCodexPermissionModeConfig(mode);

Callers 5

resolveApprovalPolicyFunction · 0.90
resolveSandboxFunction · 0.90
resolveSandboxPolicyFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected