{"ast":null,"code":"import _asyncToGenerator from \"/home/mleku/src/orly.dev/next/signer/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nexport const deletePermission = /*#__PURE__*/function () {\n  var _ref = _asyncToGenerator(function* (permissionId) {\n    this.assureIsInitialized();\n    const browserSessionData = this.getBrowserSessionHandler().browserSessionData;\n    const browserSyncData = this.getBrowserSyncHandler().browserSyncData;\n    if (!browserSessionData || !browserSyncData) {\n      throw new Error('Browser session or sync data is undefined.');\n    }\n    browserSessionData.permissions = browserSessionData.permissions.filter(x => x.id !== permissionId);\n    yield this.getBrowserSessionHandler().saveFullData(browserSessionData);\n    const encryptedPermissionId = yield this.encrypt(permissionId);\n    yield this.getBrowserSyncHandler().saveAndSetPartialData_Permissions({\n      permissions: browserSyncData.permissions.filter(x => x.id !== encryptedPermissionId)\n    });\n  });\n  return function deletePermission(_x) {\n    return _ref.apply(this, arguments);\n  };\n}();\nexport const decryptPermission = /*#__PURE__*/function () {\n  var _ref2 = _asyncToGenerator(function* (permission, withLockedVault = undefined) {\n    if (typeof withLockedVault === 'undefined') {\n      const decryptedPermission = {\n        id: yield this.decrypt(permission.id, 'string'),\n        identityId: yield this.decrypt(permission.identityId, 'string'),\n        method: yield this.decrypt(permission.method, 'string'),\n        methodPolicy: yield this.decrypt(permission.methodPolicy, 'string'),\n        host: yield this.decrypt(permission.host, 'string')\n      };\n      if (permission.kind) {\n        decryptedPermission.kind = yield this.decrypt(permission.kind, 'number');\n      }\n      return decryptedPermission;\n    }\n    // v2: Use pre-derived key\n    if (withLockedVault.keyBase64) {\n      const decryptedPermission = {\n        id: yield this.decryptWithLockedVaultV2(permission.id, 'string', withLockedVault.iv, withLockedVault.keyBase64),\n        identityId: yield this.decryptWithLockedVaultV2(permission.identityId, 'string', withLockedVault.iv, withLockedVault.keyBase64),\n        method: yield this.decryptWithLockedVaultV2(permission.method, 'string', withLockedVault.iv, withLockedVault.keyBase64),\n        methodPolicy: yield this.decryptWithLockedVaultV2(permission.methodPolicy, 'string', withLockedVault.iv, withLockedVault.keyBase64),\n        host: yield this.decryptWithLockedVaultV2(permission.host, 'string', withLockedVault.iv, withLockedVault.keyBase64)\n      };\n      if (permission.kind) {\n        decryptedPermission.kind = yield this.decryptWithLockedVaultV2(permission.kind, 'number', withLockedVault.iv, withLockedVault.keyBase64);\n      }\n      return decryptedPermission;\n    }\n    // v1: Use password (PBKDF2)\n    const decryptedPermission = {\n      id: yield this.decryptWithLockedVault(permission.id, 'string', withLockedVault.iv, withLockedVault.password),\n      identityId: yield this.decryptWithLockedVault(permission.identityId, 'string', withLockedVault.iv, withLockedVault.password),\n      method: yield this.decryptWithLockedVault(permission.method, 'string', withLockedVault.iv, withLockedVault.password),\n      methodPolicy: yield this.decryptWithLockedVault(permission.methodPolicy, 'string', withLockedVault.iv, withLockedVault.password),\n      host: yield this.decryptWithLockedVault(permission.host, 'string', withLockedVault.iv, withLockedVault.password)\n    };\n    if (permission.kind) {\n      decryptedPermission.kind = yield this.decryptWithLockedVault(permission.kind, 'number', withLockedVault.iv, withLockedVault.password);\n    }\n    return decryptedPermission;\n  });\n  return function decryptPermission(_x2) {\n    return _ref2.apply(this, arguments);\n  };\n}();\nexport const decryptPermissions = /*#__PURE__*/function () {\n  var _ref3 = _asyncToGenerator(function* (permissions, withLockedVault = undefined) {\n    const decryptedPermissions = [];\n    for (const permission of permissions) {\n      try {\n        const decryptedPermission = yield decryptPermission.call(this, permission, withLockedVault);\n        decryptedPermissions.push(decryptedPermission);\n      } catch (error) {\n        // Skip corrupted permissions (e.g., encrypted with wrong key)\n        console.warn('[vault] Skipping corrupted permission:', error);\n      }\n    }\n    return decryptedPermissions;\n  });\n  return function decryptPermissions(_x3) {\n    return _ref3.apply(this, arguments);\n  };\n}();","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]}