feat(ext/sw): get_vault_settings + update_vault_settings popup-only messages

This commit is contained in:
adlee-was-taken
2026-04-24 18:56:17 -04:00
parent b52e49a51e
commit e47945d86a
3 changed files with 104 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
import type {
Item, ItemId, Manifest, ManifestEntry, VaultConfig, SetupState,
DeviceSettings, GeneratorRequest,
DeviceSettings, GeneratorRequest, VaultSettings,
} from './types';
// --- Messages a popup (or setup page) may send ---
@@ -24,6 +24,8 @@ export type PopupMessage =
| { type: 'ack_autofill_origin'; hostname: string }
| { type: 'get_settings' }
| { type: 'update_settings'; settings: Partial<DeviceSettings> }
| { type: 'get_vault_settings' }
| { type: 'update_vault_settings'; settings: VaultSettings }
| { type: 'get_blacklist' }
| { type: 'remove_blacklist'; hostname: string };
@@ -88,13 +90,18 @@ export interface RatePassphraseResponse extends Extract<Response, { ok: true }>
data: { score: number; guesses_log10: number };
}
export interface VaultSettingsResponse extends Extract<Response, { ok: true }> {
data: { settings: VaultSettings };
}
// --- Capability sets (consumed by the router) ---
export const POPUP_ONLY_TYPES: ReadonlySet<PopupMessage['type']> = new Set([
'is_unlocked', 'unlock', 'lock', 'list_items', 'get_item', 'add_item',
'update_item', 'delete_item', 'get_totp', 'sync', 'get_setup_state',
'save_setup', 'rate_passphrase', 'generate_password', 'fill_credentials',
'ack_autofill_origin', 'get_settings', 'update_settings', 'get_blacklist',
'ack_autofill_origin', 'get_settings', 'update_settings',
'get_vault_settings', 'update_vault_settings', 'get_blacklist',
'remove_blacklist',
] as PopupMessage['type'][]);