(
ctx: ToolPermissionContext,
available: boolean,
)
| 1140 | // circuit breaker if they entered auto DURING the await — which is possible |
| 1141 | // because setAutoModeCircuitBroken above runs AFTER the await). |
| 1142 | const setAvailable = ( |
| 1143 | ctx: ToolPermissionContext, |
| 1144 | available: boolean, |
| 1145 | ): ToolPermissionContext => { |
| 1146 | if (ctx.isAutoModeAvailable !== available) { |
| 1147 | logForDebugging( |
| 1148 | `[auto-mode] verifyAutoModeGateAccess setAvailable: ${ctx.isAutoModeAvailable} -> ${available}`, |
| 1149 | ) |
| 1150 | } |
| 1151 | return ctx.isAutoModeAvailable === available |
| 1152 | ? ctx |
| 1153 | : { ...ctx, isAutoModeAvailable: available } |
| 1154 | } |
| 1155 | |
| 1156 | if (canEnterAuto) { |
| 1157 | return { updateContext: ctx => setAvailable(ctx, carouselAvailable) } |
no test coverage detected