Download packages/core/src/utils/approvalModeUtils.ts from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 1.14 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/core/src/utils/approvalModeUtils.ts
- Command line
-
hf download hf://SaylorTwift/gemini-cli/packages/core/src/utils/approvalModeUtils.ts
-
curl -L -o approvalModeUtils.ts https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/packages/core/src/utils/approvalModeUtils.ts
1.14 kB
| /** | |
| * @license | |
| * Copyright 2026 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| import { ApprovalMode } from '../policy/types.js'; | |
| import { checkExhaustive } from './checks.js'; | |
| /** | |
| * Returns a human-readable description for an approval mode. | |
| */ | |
| export function getApprovalModeDescription(mode: ApprovalMode): string { | |
| switch (mode) { | |
| case ApprovalMode.AUTO_EDIT: | |
| return 'Auto-Edit mode (edits will be applied automatically)'; | |
| case ApprovalMode.DEFAULT: | |
| return 'Default mode (edits will require confirmation)'; | |
| case ApprovalMode.PLAN: | |
| return 'Plan mode (read-only planning)'; | |
| case ApprovalMode.YOLO: | |
| return 'YOLO mode (all tool calls auto-approved)'; | |
| default: | |
| return checkExhaustive(mode); | |
| } | |
| } | |
| /** | |
| * Generates a consistent message for plan mode transitions. | |
| */ | |
| export function getPlanModeExitMessage( | |
| newMode: ApprovalMode, | |
| isManual: boolean = false, | |
| ): string { | |
| const description = getApprovalModeDescription(newMode); | |
| const prefix = isManual | |
| ? 'User has manually exited Plan Mode.' | |
| : 'Plan approved.'; | |
| return `${prefix} Switching to ${description}.`; | |
| } | |