Simplify approval payload settings
CI / Rust Checks (push) Successful in 5m38s
CI / UI Checks (push) Successful in 5s
CI / Deployment Manifests (push) Successful in 2s
CI / Frontend E2E (push) Successful in 3m27s
CI / Deploy (push) Successful in 1m30s

This commit is contained in:
github-ops
2026-06-27 08:33:16 +00:00
parent 700a684257
commit 4cad7f1c46
4 changed files with 9 additions and 26 deletions
+1 -10
View File
@@ -159,19 +159,10 @@
</select> </select>
</div> </div>
<div class="form-row">
<label class="checkbox-pill approval-preview-pill"> <label class="checkbox-pill approval-preview-pill">
<input id="approval-show-payload-preview" type="checkbox" checked> <input id="approval-show-payload-preview" type="checkbox" checked>
<span data-i18n="wizard.approval.show_payload">Показывать параметры запроса</span> <span data-i18n="wizard.approval.show_payload">Передавать параметры вызова в подтверждение</span>
</label> </label>
<div class="form-group">
<label class="form-label" for="approval-payload-preview-mode" data-i18n="wizard.approval.payload_mode">Как показывать параметры</label>
<select id="approval-payload-preview-mode" class="form-select">
<option value="summary" data-i18n="wizard.approval.payload.summary">Краткое описание</option>
<option value="masked_json" data-i18n="wizard.approval.payload.masked_json">JSON с маскированием секретов</option>
</select>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
+2 -8
View File
@@ -609,10 +609,7 @@ var TRANSLATIONS = {
'wizard.approval.elicitation_message_placeholder': 'Confirm operation execution.', 'wizard.approval.elicitation_message_placeholder': 'Confirm operation execution.',
'wizard.approval.elicitation_message_hint': 'Short protocol message. The MCP client still controls the confirmation UI.', 'wizard.approval.elicitation_message_hint': 'Short protocol message. The MCP client still controls the confirmation UI.',
'wizard.approval.ttl': 'How long to wait for confirmation', 'wizard.approval.ttl': 'How long to wait for confirmation',
'wizard.approval.show_payload': 'Show request parameters', 'wizard.approval.show_payload': 'Send call parameters to the confirmation flow',
'wizard.approval.payload_mode': 'How to show parameters',
'wizard.approval.payload.summary': 'Short summary',
'wizard.approval.payload.masked_json': 'JSON with masked secrets',
'wizard.step5.security_level_title': 'Operation security', 'wizard.step5.security_level_title': 'Operation security',
'wizard.step5.community_security_note': '', 'wizard.step5.community_security_note': '',
'wizard.step5.live_title': 'Check and publish', 'wizard.step5.live_title': 'Check and publish',
@@ -1474,10 +1471,7 @@ var TRANSLATIONS = {
'wizard.approval.elicitation_message_placeholder': 'Подтвердите выполнение операции.', 'wizard.approval.elicitation_message_placeholder': 'Подтвердите выполнение операции.',
'wizard.approval.elicitation_message_hint': 'Короткое протокольное сообщение. Внешний вид окна подтверждения всё равно определяет MCP-клиент.', 'wizard.approval.elicitation_message_hint': 'Короткое протокольное сообщение. Внешний вид окна подтверждения всё равно определяет MCP-клиент.',
'wizard.approval.ttl': 'Сколько ждать подтверждение', 'wizard.approval.ttl': 'Сколько ждать подтверждение',
'wizard.approval.show_payload': оказывать параметры запроса', 'wizard.approval.show_payload': ередавать параметры вызова в подтверждение',
'wizard.approval.payload_mode': 'Как показывать параметры',
'wizard.approval.payload.summary': 'Краткое описание',
'wizard.approval.payload.masked_json': 'JSON с маскированием секретов',
'wizard.step5.security_level_title': 'Защита операции', 'wizard.step5.security_level_title': 'Защита операции',
'wizard.step5.community_security_note': '', 'wizard.step5.community_security_note': '',
'wizard.step5.live_title': 'Проверка и публикация', 'wizard.step5.live_title': 'Проверка и публикация',
+1 -3
View File
@@ -47,7 +47,7 @@ function buildApprovalPolicy() {
risk_level: 'normal', risk_level: 'normal',
ttl_seconds: normalizeApprovalTtlSeconds(textValue('approval-ttl-seconds')), ttl_seconds: normalizeApprovalTtlSeconds(textValue('approval-ttl-seconds')),
show_payload_preview: checkedValue('approval-show-payload-preview'), show_payload_preview: checkedValue('approval-show-payload-preview'),
payload_preview_mode: textValue('approval-payload-preview-mode') || 'summary', payload_preview_mode: 'summary',
elicitation_message: textValue('approval-mode') === 'elicitation' elicitation_message: textValue('approval-mode') === 'elicitation'
? (textValue('approval-elicitation-message') || null) ? (textValue('approval-elicitation-message') || null)
: null, : null,
@@ -197,7 +197,6 @@ function setApprovalPolicyEditor(policy) {
if (showPayload) { if (showPayload) {
showPayload.checked = !policy || policy.show_payload_preview !== false; showPayload.checked = !policy || policy.show_payload_preview !== false;
} }
setValue('approval-payload-preview-mode', policy && policy.payload_preview_mode ? policy.payload_preview_mode : 'summary');
updateApprovalPolicyUi(); updateApprovalPolicyUi();
} }
@@ -223,7 +222,6 @@ function bindApprovalPolicyControls() {
'approval-elicitation-message', 'approval-elicitation-message',
'approval-ttl-seconds', 'approval-ttl-seconds',
'approval-show-payload-preview', 'approval-show-payload-preview',
'approval-payload-preview-mode',
].forEach(function(id) { ].forEach(function(id) {
var element = document.getElementById(id); var element = document.getElementById(id);
if (!element || element.dataset.approvalBound === 'true') return; if (!element || element.dataset.approvalBound === 'true') return;
+2 -2
View File
@@ -830,7 +830,7 @@ test('wizard edit mode preserves explicit request mapping targets on save', asyn
await expect(page.locator('#approval-mode')).toHaveValue('custom'); await expect(page.locator('#approval-mode')).toHaveValue('custom');
await expect(page.locator('#approval-risk-level')).toHaveCount(0); await expect(page.locator('#approval-risk-level')).toHaveCount(0);
await expect(page.locator('#approval-ttl-seconds')).toHaveValue('180'); await expect(page.locator('#approval-ttl-seconds')).toHaveValue('180');
await expect(page.locator('#approval-payload-preview-mode')).toHaveValue('masked_json'); await expect(page.locator('#approval-payload-preview-mode')).toHaveCount(0);
await page.locator('.btn-save-draft').click(); await page.locator('.btn-save-draft').click();
await expect.poll(() => updatePayload).not.toBeNull(); await expect.poll(() => updatePayload).not.toBeNull();
@@ -862,7 +862,7 @@ test('wizard edit mode preserves explicit request mapping targets on save', asyn
risk_level: 'normal', risk_level: 'normal',
ttl_seconds: 180, ttl_seconds: 180,
show_payload_preview: true, show_payload_preview: true,
payload_preview_mode: 'masked_json', payload_preview_mode: 'summary',
elicitation_message: null, elicitation_message: null,
}, },
}); });