mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-05-01 21:20:44 +00:00
Merge branch 'fix-permission-issues' into fix/acp-permission-flow
This commit is contained in:
commit
585bce06d2
17 changed files with 931 additions and 103 deletions
|
|
@ -1047,7 +1047,11 @@ export default {
|
|||
"Ausführung erlauben von: '{{command}}'?",
|
||||
'Yes, allow always ...': 'Ja, immer erlauben ...',
|
||||
'Always allow in this project': 'In diesem Projekt immer erlauben',
|
||||
'Always allow {{action}} in this project':
|
||||
'{{action}} in diesem Projekt immer erlauben',
|
||||
'Always allow for this user': 'Für diesen Benutzer immer erlauben',
|
||||
'Always allow {{action}} for this user':
|
||||
'{{action}} für diesen Benutzer immer erlauben',
|
||||
'Yes, and auto-accept edits': 'Ja, und Änderungen automatisch akzeptieren',
|
||||
'Yes, and manually approve edits': 'Ja, und Änderungen manuell genehmigen',
|
||||
'No, keep planning (esc)': 'Nein, weiter planen (Esc)',
|
||||
|
|
|
|||
|
|
@ -1103,7 +1103,11 @@ export default {
|
|||
"Allow execution of: '{{command}}'?": "Allow execution of: '{{command}}'?",
|
||||
'Yes, allow always ...': 'Yes, allow always ...',
|
||||
'Always allow in this project': 'Always allow in this project',
|
||||
'Always allow {{action}} in this project':
|
||||
'Always allow {{action}} in this project',
|
||||
'Always allow for this user': 'Always allow for this user',
|
||||
'Always allow {{action}} for this user':
|
||||
'Always allow {{action}} for this user',
|
||||
'Yes, and auto-accept edits': 'Yes, and auto-accept edits',
|
||||
'Yes, and manually approve edits': 'Yes, and manually approve edits',
|
||||
'No, keep planning (esc)': 'No, keep planning (esc)',
|
||||
|
|
|
|||
|
|
@ -786,7 +786,10 @@ export default {
|
|||
"Allow execution of: '{{command}}'?": "'{{command}}' の実行を許可しますか?",
|
||||
'Yes, allow always ...': 'はい、常に許可...',
|
||||
'Always allow in this project': 'このプロジェクトで常に許可',
|
||||
'Always allow {{action}} in this project':
|
||||
'このプロジェクトで{{action}}を常に許可',
|
||||
'Always allow for this user': 'このユーザーに常に許可',
|
||||
'Always allow {{action}} for this user': 'このユーザーに{{action}}を常に許可',
|
||||
'Yes, and auto-accept edits': 'はい、編集を自動承認',
|
||||
'Yes, and manually approve edits': 'はい、編集を手動承認',
|
||||
'No, keep planning (esc)': 'いいえ、計画を続ける (Esc)',
|
||||
|
|
|
|||
|
|
@ -1054,7 +1054,11 @@ export default {
|
|||
"Permitir a execução de: '{{command}}'?",
|
||||
'Yes, allow always ...': 'Sim, permitir sempre ...',
|
||||
'Always allow in this project': 'Sempre permitir neste projeto',
|
||||
'Always allow {{action}} in this project':
|
||||
'Sempre permitir {{action}} neste projeto',
|
||||
'Always allow for this user': 'Sempre permitir para este usuário',
|
||||
'Always allow {{action}} for this user':
|
||||
'Sempre permitir {{action}} para este usuário',
|
||||
'Yes, and auto-accept edits': 'Sim, e aceitar edições automaticamente',
|
||||
'Yes, and manually approve edits': 'Sim, e aprovar edições manualmente',
|
||||
'No, keep planning (esc)': 'Não, continuar planejando (esc)',
|
||||
|
|
|
|||
|
|
@ -979,7 +979,11 @@ export default {
|
|||
"Allow execution of: '{{command}}'?": "Разрешить выполнение: '{{command}}'?",
|
||||
'Yes, allow always ...': 'Да, всегда разрешать ...',
|
||||
'Always allow in this project': 'Всегда разрешать в этом проекте',
|
||||
'Always allow {{action}} in this project':
|
||||
'Всегда разрешать {{action}} в этом проекте',
|
||||
'Always allow for this user': 'Всегда разрешать для этого пользователя',
|
||||
'Always allow {{action}} for this user':
|
||||
'Всегда разрешать {{action}} для этого пользователя',
|
||||
'Yes, and auto-accept edits': 'Да, и автоматически принимать правки',
|
||||
'Yes, and manually approve edits': 'Да, и вручную подтверждать правки',
|
||||
'No, keep planning (esc)': 'Нет, продолжить планирование (esc)',
|
||||
|
|
|
|||
|
|
@ -1044,7 +1044,9 @@ export default {
|
|||
"Allow execution of: '{{command}}'?": "允许执行:'{{command}}'?",
|
||||
'Yes, allow always ...': '是,总是允许 ...',
|
||||
'Always allow in this project': '在本项目中总是允许',
|
||||
'Always allow {{action}} in this project': '在本项目中总是允许{{action}}',
|
||||
'Always allow for this user': '对该用户总是允许',
|
||||
'Always allow {{action}} for this user': '对该用户总是允许{{action}}',
|
||||
'Yes, and auto-accept edits': '是,并自动接受编辑',
|
||||
'Yes, and manually approve edits': '是,并手动批准编辑',
|
||||
'No, keep planning (esc)': '否,继续规划 (esc)',
|
||||
|
|
|
|||
|
|
@ -17,7 +17,11 @@ import type {
|
|||
Config,
|
||||
EditorType,
|
||||
} from '@qwen-code/qwen-code-core';
|
||||
import { IdeClient, ToolConfirmationOutcome } from '@qwen-code/qwen-code-core';
|
||||
import {
|
||||
IdeClient,
|
||||
ToolConfirmationOutcome,
|
||||
buildHumanReadableRuleLabel,
|
||||
} from '@qwen-code/qwen-code-core';
|
||||
import type { RadioSelectItem } from '../shared/RadioButtonSelect.js';
|
||||
import { RadioButtonSelect } from '../shared/RadioButtonSelect.js';
|
||||
import { MaxSizedBox } from '../shared/MaxSizedBox.js';
|
||||
|
|
@ -248,16 +252,24 @@ export const ToolConfirmationMessage: React.FC<
|
|||
key: 'Yes, allow once',
|
||||
});
|
||||
if (isTrustedFolder && !confirmationDetails.hideAlwaysAllow) {
|
||||
const rulesLabel = executionProps.permissionRules?.length
|
||||
? ` [${executionProps.permissionRules.join(', ')}]`
|
||||
const friendlyLabel = executionProps.permissionRules?.length
|
||||
? ` ${buildHumanReadableRuleLabel(executionProps.permissionRules)}`
|
||||
: '';
|
||||
options.push({
|
||||
label: t('Always allow in this project') + rulesLabel,
|
||||
label: friendlyLabel
|
||||
? t('Always allow {{action}} in this project', {
|
||||
action: friendlyLabel.trim(),
|
||||
})
|
||||
: t('Always allow in this project'),
|
||||
value: ToolConfirmationOutcome.ProceedAlwaysProject,
|
||||
key: 'Always allow in this project',
|
||||
});
|
||||
options.push({
|
||||
label: t('Always allow for this user') + rulesLabel,
|
||||
label: friendlyLabel
|
||||
? t('Always allow {{action}} for this user', {
|
||||
action: friendlyLabel.trim(),
|
||||
})
|
||||
: t('Always allow for this user'),
|
||||
value: ToolConfirmationOutcome.ProceedAlwaysUser,
|
||||
key: 'Always allow for this user',
|
||||
});
|
||||
|
|
@ -329,18 +341,26 @@ export const ToolConfirmationMessage: React.FC<
|
|||
key: 'Yes, allow once',
|
||||
});
|
||||
if (isTrustedFolder && !confirmationDetails.hideAlwaysAllow) {
|
||||
const rulesLabel =
|
||||
const friendlyLabel =
|
||||
'permissionRules' in infoProps &&
|
||||
(infoProps as { permissionRules?: string[] }).permissionRules?.length
|
||||
? ` [${(infoProps as { permissionRules?: string[] }).permissionRules!.join(', ')}]`
|
||||
? ` ${buildHumanReadableRuleLabel((infoProps as { permissionRules?: string[] }).permissionRules!)}`
|
||||
: '';
|
||||
options.push({
|
||||
label: t('Always allow in this project') + rulesLabel,
|
||||
label: friendlyLabel
|
||||
? t('Always allow {{action}} in this project', {
|
||||
action: friendlyLabel.trim(),
|
||||
})
|
||||
: t('Always allow in this project'),
|
||||
value: ToolConfirmationOutcome.ProceedAlwaysProject,
|
||||
key: 'Always allow in this project',
|
||||
});
|
||||
options.push({
|
||||
label: t('Always allow for this user') + rulesLabel,
|
||||
label: friendlyLabel
|
||||
? t('Always allow {{action}} for this user', {
|
||||
action: friendlyLabel.trim(),
|
||||
})
|
||||
: t('Always allow for this user'),
|
||||
value: ToolConfirmationOutcome.ProceedAlwaysUser,
|
||||
key: 'Always allow for this user',
|
||||
});
|
||||
|
|
@ -406,16 +426,24 @@ export const ToolConfirmationMessage: React.FC<
|
|||
key: 'Yes, allow once',
|
||||
});
|
||||
if (isTrustedFolder && !confirmationDetails.hideAlwaysAllow) {
|
||||
const rulesLabel = mcpProps.permissionRules?.length
|
||||
? ` [${mcpProps.permissionRules.join(', ')}]`
|
||||
const friendlyLabel = mcpProps.permissionRules?.length
|
||||
? ` ${buildHumanReadableRuleLabel(mcpProps.permissionRules)}`
|
||||
: '';
|
||||
options.push({
|
||||
label: t('Always allow in this project') + rulesLabel,
|
||||
label: friendlyLabel
|
||||
? t('Always allow {{action}} in this project', {
|
||||
action: friendlyLabel.trim(),
|
||||
})
|
||||
: t('Always allow in this project'),
|
||||
value: ToolConfirmationOutcome.ProceedAlwaysProject,
|
||||
key: 'Always allow in this project',
|
||||
});
|
||||
options.push({
|
||||
label: t('Always allow for this user') + rulesLabel,
|
||||
label: friendlyLabel
|
||||
? t('Always allow {{action}} for this user', {
|
||||
action: friendlyLabel.trim(),
|
||||
})
|
||||
: t('Always allow for this user'),
|
||||
value: ToolConfirmationOutcome.ProceedAlwaysUser,
|
||||
key: 'Always allow for this user',
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue