12345678export interface CreateVaultFromRootKeyPayload {9 password: string;10 rootKeyHex: string;11}12131415161718async function draftCreateVaultFromRootKeyHandler(19 msg: { payload?: unknown },20): Promise<{ ok: true; vaultId: string } | { ok: false; error: string }> {21 const { password, rootKeyHex } = (msg.payload ?? {}) as Partial<CreateVaultFromRootKeyPayload>;22 if (typeof password !== "string" || password.length === 0 || typeof rootKeyHex !== "string") {23 return { ok: false, error: "invalid_payload" };24 }2526 try {27 const { vaultId } = await vault.createVaultFromRootKey(password, rootKeyHex);28 await setupAutoLock();29 broadcastToContentScripts({ type: "VAULT_UNLOCKED" });30 onVaultUnlocked();31 return { ok: true, vaultId };32 } catch (err) {33 const message = err instanceof Error ? err.message : String(err);34 return { ok: false, error: message };35 }36}3738void draftCreateVaultFromRootKeyHandler;39