(host: SlashCommandHost, mode: PermissionMode)
| 679 | } |
| 680 | |
| 681 | async function applyPermissionChoice(host: SlashCommandHost, mode: PermissionMode): Promise<void> { |
| 682 | if (mode === host.state.appState.permissionMode) { |
| 683 | host.showStatus(`Permission mode unchanged: ${mode}.`); |
| 684 | return; |
| 685 | } |
| 686 | |
| 687 | try { |
| 688 | await host.requireSession().setPermission(mode); |
| 689 | } catch (error) { |
| 690 | const msg = formatErrorMessage(error); |
| 691 | host.showError(`Failed to set permission mode: ${msg}`); |
| 692 | return; |
| 693 | } |
| 694 | |
| 695 | host.setAppState({ permissionMode: mode }); |
| 696 | host.showNotice(`Permission mode: ${mode}`); |
| 697 | } |
| 698 | |
| 699 | export function showSettingsSelector(host: SlashCommandHost): void { |
| 700 | host.mountEditorReplacement( |
no test coverage detected