MCPcopy Create free account
hub / github.com/RioArisk/claudecode_api_RemoteControl / recomputeEffectiveApprovalMode

Function recomputeEffectiveApprovalMode

lib/logger.js:122–138  ·  view source on GitHub ↗
(reason = '')

Source from the content-addressed store, hash-verified

120}
121
122function recomputeEffectiveApprovalMode(reason = '') {
123 const connectedHighest = computeConnectedHighestApprovalMode();
124 const connectedScore = APPROVAL_MODE_ORDER[connectedHighest];
125 const turnFloor = normalizeApprovalMode(state.turnApprovalFloorMode);
126 const turnFloorScore = APPROVAL_MODE_ORDER[turnFloor];
127 const floorActive = state.turnState.phase === 'running' && !!state.turnApprovalFloorMode;
128 const nextMode = (floorActive && turnFloorScore > connectedScore) ? turnFloor : connectedHighest;
129 if (state.approvalMode === nextMode) return nextMode;
130
131 const prevMode = state.approvalMode;
132 state.approvalMode = nextMode;
133 log(`Approval mode effective: ${prevMode} -> ${nextMode}${reason ? ` (${reason})` : ''} connected=${connectedHighest} turnFloor=${floorActive ? turnFloor : 'none'} phase=${state.turnState.phase}`);
134 if (nextMode === 'all' && prevMode !== 'all') {
135 autoResolveAllPendingApprovals(reason || 'effective mode switched to all');
136 }
137 return nextMode;
138}
139
140function setClientApprovalMode(ws, mode, reason = '') {
141 if (!ws) return state.approvalMode;

Callers 5

setClientApprovalModeFunction · 0.85
setTurnStateFunction · 0.85
setupWebSocketServerFunction · 0.85
createHttpServerFunction · 0.85

Calls 4

normalizeApprovalModeFunction · 0.85
logFunction · 0.85

Tested by

no test coverage detected