1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-24 03:32:51 +02:00
bitwarden-browser/apps/desktop/desktop_native/napi/index.d.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

84 lines
3.4 KiB
TypeScript
Raw Normal View History

2022-04-05 16:54:44 +02:00
/* tslint:disable */
/* eslint-disable */
/* auto-generated by NAPI-RS */
export namespace passwords {
/** Fetch the stored password from the keychain. */
export function getPassword(service: string, account: string): Promise<string>
/** Fetch the stored password from the keychain that was stored with Keytar. */
export function getPasswordKeytar(service: string, account: string): Promise<string>
/** Save the password to the keychain. Adds an entry if none exists otherwise updates the existing entry. */
export function setPassword(service: string, account: string, password: string): Promise<void>
/** Delete the stored password from the keychain. */
export function deletePassword(service: string, account: string): Promise<void>
[PM-990] Unix biometrics unlock via Polkit (#4586) * Update unix biometrics for desktop biometrics rework * Implement polkit policy setup * Enable browser integration on Linux * Remove polkit policy file * Undo change to messages.json * Fix biometrics setup, implement missing functions * Implement osSupportsBiometrics * Fix polkit settings message * Remove unwraps in biometrics unix rust module * Force password reprompt on start on linux with biometrics * Merge branch 'main' into feature/unix-biometrics * Allow browser extension to be unlocked on Linux via Polkit * Implement availability check * Cleanup * Add auto-setup, manual setup, setup detection and change localized prompts * Implement missing methods * Add i18n to polkit message * Implement missing method * Small cleanup * Update polkit consent message * Fix unlock and print errors on failed biometrics * Add dependencies to core crate * Fix reference and update polkit policy * Remove async-trait * Add tsdoc * Add comment about auto setup * Delete unused init * Update help link * Remove additional settings for polkit * Add availability-check to passwords implementation on linux * Add availability test * Add availability check to libsecret * Expose availability check in napi crate * Update d.ts * Update osSupportsBiometric check to detect libsecret presence * Improve secret service detection * Add client half to Linux biometrics * Fix windows build * Remove unencrypted key handling for biometric key * Move rng to rust, align linux bio implementation with windows * Consolidate elevated commands into one * Disable snap support in linux biometrics --------- Co-authored-by: DigitallyRefined <129616584+DigitallyRefined@users.noreply.github.com>
2024-08-06 17:04:17 +02:00
export function isAvailable(): Promise<boolean>
2022-04-05 16:54:44 +02:00
}
export namespace biometrics {
export function prompt(hwnd: Buffer, message: string): Promise<boolean>
export function available(): Promise<boolean>
2023-04-18 15:09:47 +02:00
export function setBiometricSecret(service: string, account: string, secret: string, keyMaterial: KeyMaterial | undefined | null, ivB64: string): Promise<string>
export function getBiometricSecret(service: string, account: string, keyMaterial?: KeyMaterial | undefined | null): Promise<string>
/**
* Derives key material from biometric data. Returns a string encoded with a
* base64 encoded key and the base64 encoded challenge used to create it
* separated by a `|` character.
*
* If the iv is provided, it will be used as the challenge. Otherwise a random challenge will be generated.
*
* `format!("<key_base64>|<iv_base64>")`
*/
export function deriveKeyMaterial(iv?: string | undefined | null): Promise<OsDerivedKey>
export interface KeyMaterial {
osKeyPartB64: string
clientKeyPartB64?: string
}
export interface OsDerivedKey {
keyB64: string
ivB64: string
}
}
export namespace clipboards {
export function read(): Promise<string>
export function write(text: string, password: boolean): Promise<void>
}
export namespace processisolations {
export function disableCoredumps(): Promise<void>
export function isCoreDumpingDisabled(): Promise<boolean>
export function disableMemoryAccess(): Promise<void>
}
export namespace powermonitors {
export function onLock(callback: (err: Error | null, ) => any): Promise<void>
export function isLockMonitorAvailable(): Promise<boolean>
}
[PM-7846] Implement a rust based native messaging proxy and IPC system (#9894) * [PM-7846] Implement a rust based native messaging proxy and IPC system * Only build desktop_proxy * Bundle the desktop_proxy file * Make sys deps optional for the proxy * Restore accidentally deleted after-sign * Update native cache to contain dist folder * Add some test logging * Native module cache seems very aggressive * Fix invalid directory * Fix debug print * Remove cache force * Remove cache debug code * Only log to file in debug builds * Place the binary in the correct place for mac and make sure it's signed * Fix platform paths * Test unsigned appx * Revert "Test unsigned appx" This reverts commit e47535440afa981c7fbe0cad2e09f2a633735b2f. * Fix comment * Remove logs * Use debug builds in native code, and test private path on MacOS * Add connected message * Update IPC API comments * Update linux to also use XDG_ dir * Update main.rs comment * Improve docs and split some tasks spawned into separate functions * Update send docs and return number of elements sent * Mark `listen` as async to ensure it runs in a tokio context, handle errors better * Add log on client channel closed * Move binary to MacOS folder, and sign it manually so it gets the correct entitlements * Fix some review comments * Run prettier * Added missing zbus_polkit dep * Extract magic number and increase it to match spec * Comment fix * Use Napi object, combine nativeBinding export, always log to file * Missed one comment * Remove unnecessary generics * Correct comment * Select only codesigning identities * Filter certificates * Also add local dev cert * Remove log * Fix package ID * debug_assert won't run the pop() in release mode * Better error messages * Fix review comments * Remove unnecessary comment * Update napi generated TS file * Temporary fix for DDG
2024-09-05 12:54:24 +02:00
export namespace ipc {
export interface IpcMessage {
clientId: number
kind: IpcMessageType
message?: string
}
export const enum IpcMessageType {
Connected = 0,
Disconnected = 1,
Message = 2
}
export class IpcServer {
/**
* Create and start the IPC server without blocking.
*
* @param name The endpoint name to listen on. This name uniquely identifies the IPC connection and must be the same for both the server and client.
* @param callback This function will be called whenever a message is received from a client.
*/
static listen(name: string, callback: (error: null | Error, message: IpcMessage) => void): Promise<IpcServer>
/** Stop the IPC server. */
stop(): void
/**
* Send a message over the IPC server to all the connected clients
*
* @return The number of clients that the message was sent to. Note that the number of messages
* actually received may be less, as some clients could disconnect before receiving the message.
*/
send(message: string): number
}
}