Simplify approval payload settings
This commit is contained in:
@@ -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
@@ -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': 'Проверка и публикация',
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user