Skip to main content

IpcMessage

Enum IpcMessage 

Source
pub enum IpcMessage {
Show 33 variants GetCredential { domain: String, page_url: Option<String>, username: Option<String>, }, GetExternalSecret { client_id: String, domain: String, field: ExternalSecretField, purpose: Option<String>, }, GetExternalSecretResponse { value: Option<String>, authorized: bool, error: Option<String>, locked: Option<bool>, }, GetCredentialResponse { username: Option<String>, password: Option<String>, title: Option<String>, locked: Option<bool>, denied_reason: Option<String>, }, ListDomainCredentials { base_domain: String, page_url: Option<String>, }, ListDomainCredentialsResponse { credentials: Vec<CredentialSummary>, locked: Option<bool>, denied_reason: Option<String>, }, GetTotpCode { domain: String, page_url: Option<String>, username: Option<String>, }, GetTotpCodeResponse { code: Option<String>, seconds_remaining: Option<u32>, locked: Option<bool>, denied_reason: Option<String>, }, SaveCredential { domain: String, username: String, password: String, url: Option<String>, save_trigger: Option<String>, }, SaveCredentialResponse { success: bool, error: Option<String>, locked: Option<bool>, }, SaveSecret { client_id: String, domain: String, value: String, purpose: Option<String>, }, SaveSecretResponse { success: bool, locked: Option<bool>, error: Option<String>, }, DeleteSecret { client_id: String, domain: String, }, DeleteSecretResponse { deleted: bool, locked: Option<bool>, error: Option<String>, }, UnlockVault { master_password: String, }, GrantSitePermission { host: String, allow_insecure: bool, }, GrantSitePermissionResponse { success: bool, error: Option<String>, }, RevokeSitePermission { host: String, }, RevokeSitePermissionResponse { success: bool, removed: bool, error: Option<String>, }, ListSitePermissions, ListSitePermissionsResponse { permissions: Vec<SitePermissionSummary>, locked: Option<bool>, }, UnlockVaultBiometric { prompt_reason: Option<String>, }, UnlockVaultResponse { success: bool, error: Option<String>, }, CheckVault, VaultStatusResponse { unlocked: bool, key_epoch: i64, }, LockVault, Shutdown, SyncNow, SyncNowResponse { success: bool, pushed: u64, pulled: u64, error: Option<String>, }, SyncStatus, SyncStatusResponse { enabled: bool, device_id: Option<String>, device_name: Option<String>, relay_url: Option<String>, last_sync_at: Option<i64>, pending_changes: u64, }, ServiceCall { op: VaultOp, }, ServiceResult { outcome: ServiceOutcome, },
}
Expand description

IPC message types

Variants§

§

GetCredential

Browser-surface credential delivery (WBS-711). page_url is the full URL of the requesting page as reported by the browser (the native host forwards the validated sender URL, never a content- script-claimed value). The daemon parses it with the WHATWG parser and DEFAULT-DENIES delivery for plain-HTTP and unverifiable origins; the scheme-validated host is the lookup identity. serde(default) keeps pre-711 peers deserializing (they are then denied as origin-unverified — fail-closed).

Fields

§domain: String
§page_url: Option<String>
§username: Option<String>

WBS-712/715 disambiguation: exact (case-insensitive) username filter applied AFTER the domain match, so a multi-credential site can request one account (popup “Pass” per row).

§

GetExternalSecret

Fields

§client_id: String
§domain: String
§purpose: Option<String>
§

GetExternalSecretResponse

Fields

§authorized: bool
§locked: Option<bool>

Some(true) = vault locked (distinct from not-found).

§

GetCredentialResponse

Fields

§username: Option<String>
§password: Option<String>
§locked: Option<bool>
§denied_reason: Option<String>

WBS-711: set when delivery was refused by the autofill origin gate (origin-unverified / insecure-http) — distinct from a plain no-match, which stays all-None.

§

ListDomainCredentials

Fields

§base_domain: String
§page_url: Option<String>
§

ListDomainCredentialsResponse

Fields

§credentials: Vec<CredentialSummary>
§locked: Option<bool>
§denied_reason: Option<String>
§

GetTotpCode

Fields

§domain: String
§page_url: Option<String>
§username: Option<String>

WBS-715 review fix F4: exact-username disambiguator so the TOTP belongs to the SAME account whose password was filled.

§

GetTotpCodeResponse

Fields

§seconds_remaining: Option<u32>
§locked: Option<bool>
§denied_reason: Option<String>
§

SaveCredential

Fields

§domain: String
§username: String
§password: String
§save_trigger: Option<String>

Extension-computed save provenance (‘inline_prompt_button’, ‘notification_button’, ‘password_change’, …), logged by the daemon. serde default keeps pre-714 hosts wire-compatible.

§

SaveCredentialResponse

Fields

§success: bool
§locked: Option<bool>
§

SaveSecret

External tool writes (upserts) one secret value for one scope. Requires a token-enforced grant with allow_write.

Fields

§client_id: String
§domain: String
§value: String
§purpose: Option<String>
§

SaveSecretResponse

Fields

§success: bool
§locked: Option<bool>
§

DeleteSecret

Defined for protocol completeness; the daemon currently rejects deletion because third-party-created entries have no ownership tracking yet (schema v5 shipped registry ownership groundwork; the delete decision itself stays deliberately rejected per ADR-001 D1).

Fields

§client_id: String
§domain: String
§

DeleteSecretResponse

Fields

§deleted: bool
§locked: Option<bool>
§

UnlockVault

Fields

§master_password: String
§

GrantSitePermission

Grant (or re-confirm) plain-HTTP autofill for one host. The host is normalized daemon-side; the grant is EXACT-host (no suffix matching). Browser-surface gated: only the native host may manage grants.

Fields

§host: String
§allow_insecure: bool
§

GrantSitePermissionResponse

Fields

§success: bool
§

RevokeSitePermission

Revoke any grant for host (deletes the entry immediately).

Fields

§host: String
§

RevokeSitePermissionResponse

Fields

§success: bool
§removed: bool
§

ListSitePermissions

List all per-site grants (popup settings view).

§

ListSitePermissionsResponse

Fields

§locked: Option<bool>
§

UnlockVaultBiometric

Fields

§prompt_reason: Option<String>
§

UnlockVaultResponse

Fields

§success: bool
§

CheckVault

§

VaultStatusResponse

Fields

§unlocked: bool
§key_epoch: i64

Master-password rotation generation of the vault (ADR-002). serde default keeps pre-epoch clients deserializing; 0 means the responder could not read metadata.

§

LockVault

§

Shutdown

§

SyncNow

Trigger a sync cycle now (push + pull).

§

SyncNowResponse

Response to SyncNow.

Fields

§success: bool
§pushed: u64
§pulled: u64
§

SyncStatus

Get sync status.

§

SyncStatusResponse

Sync status response.

Fields

§enabled: bool
§device_id: Option<String>
§device_name: Option<String>
§relay_url: Option<String>
§last_sync_at: Option<i64>
§pending_changes: u64
§

ServiceCall

One vault application-service call — the single shape UI, CLI, and the native host use for vault operations (see crate::service).

Fields

§

ServiceResult

Fields

Trait Implementations§

Source§

impl Clone for IpcMessage

Source§

fn clone(&self) -> IpcMessage

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IpcMessage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for IpcMessage

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for IpcMessage

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more