{"version":3,"file":"safe-storage.mjs","names":[],"sources":["../../src/renderer/safe-storage/index.ts"],"sourcesContent":["/**\n * Renderer process API for safeStorage module\n * Usage in renderer process:\n *\n * import * as safeStorage from 'electron-main-bridge/renderer/safeStorage';\n *\n * if (await safeStorage.isEncryptionAvailable()) {\n *   const encrypted = await safeStorage.encryptString('my secret');\n *   const decrypted = await safeStorage.decryptString(encrypted);\n * }\n */\n\nimport type { StorageBackend } from \"@shared/safe-storage.types.js\";\n\n/**\n * Check if encryption is available on the current platform\n */\nexport async function isEncryptionAvailable(): Promise<boolean> {\n  return (await window.rpc.call(\"safeStorage.isEncryptionAvailable\")) as boolean;\n}\n\n/**\n * Encrypt a string for secure storage\n * @param plainText The string to encrypt\n * @returns Base64-encoded encrypted data\n */\nexport async function encryptString(plainText: string): Promise<string> {\n  return (await window.rpc.call(\"safeStorage.encryptString\", plainText)) as string;\n}\n\n/**\n * Decrypt a string that was encrypted with encryptString\n * @param encryptedBase64 Base64-encoded encrypted data\n * @returns The decrypted plain text string\n */\nexport async function decryptString(encryptedBase64: string): Promise<string> {\n  return (await window.rpc.call(\"safeStorage.decryptString\", encryptedBase64)) as string;\n}\n\n/**\n * On Linux, force the use of an in-memory password for encryption\n * No-op on Windows and macOS\n * @param usePlainText Whether to use plain text encryption\n */\nexport async function setUsePlainTextEncryption(usePlainText: boolean): Promise<void> {\n  await window.rpc.call(\"safeStorage.setUsePlainTextEncryption\", usePlainText);\n}\n\n/**\n * On Linux, get the name of the password manager being used\n * Returns \"unknown\" if called before app ready\n */\nexport async function getSelectedStorageBackend(): Promise<StorageBackend> {\n  return (await window.rpc.call(\"safeStorage.getSelectedStorageBackend\")) as StorageBackend;\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,eAAsB,wBAA0C;AAC9D,QAAQ,MAAM,OAAO,IAAI,KAAK,oCAAoC;;;;;;;AAQpE,eAAsB,cAAc,WAAoC;AACtE,QAAQ,MAAM,OAAO,IAAI,KAAK,6BAA6B,UAAU;;;;;;;AAQvE,eAAsB,cAAc,iBAA0C;AAC5E,QAAQ,MAAM,OAAO,IAAI,KAAK,6BAA6B,gBAAgB;;;;;;;AAQ7E,eAAsB,0BAA0B,cAAsC;AACpF,OAAM,OAAO,IAAI,KAAK,yCAAyC,aAAa;;;;;;AAO9E,eAAsB,4BAAqD;AACzE,QAAQ,MAAM,OAAO,IAAI,KAAK,wCAAwC"}