31ac5aeb11
* feat: add Android browser preset for companion device registration Add Browsers.android(apiLevel) preset that identifies as an Android companion device (SMB_ANDROID platform, ANDROID_PHONE device type). Validated against Frida captures of real WhatsApp Android protocol. * feat: support BAILEYS_BROWSER env var for browser selection Allows selecting Android companion mode via environment variable without code changes. Set BAILEYS_BROWSER=android (or android:15 for a specific API level) to register as an Android device. * fix: auto-detect Android browser in pair code and fall back to Chrome Pair code companion registration fails with Android browser because the WA server rejects the ANDROID_PHONE companion_platform_id over the web Noise protocol. When Android is detected, requestPairingCode() now transparently uses Chrome/macOS platform values for the pair code stanza while QR code pairing continues to work as Android (SMB_ANDROID). * docs: add android to isValidBrowserPreset JSDoc
71 lines
1.7 KiB
TypeScript
71 lines
1.7 KiB
TypeScript
export * from './Auth'
|
|
export * from './GroupMetadata'
|
|
export * from './Chat'
|
|
export * from './Contact'
|
|
export * from './State'
|
|
export * from './Message'
|
|
export * from './Socket'
|
|
export * from './Events'
|
|
export * from './Product'
|
|
export * from './Call'
|
|
export * from './Signal'
|
|
export * from './Newsletter'
|
|
export * from './SessionCleanup'
|
|
|
|
import type { AuthenticationState } from './Auth'
|
|
import type { SocketConfig } from './Socket'
|
|
|
|
export type UserFacingSocketConfig = Partial<SocketConfig> & { auth: AuthenticationState }
|
|
|
|
export type BrowsersMap = {
|
|
ubuntu(browser: string): [string, string, string]
|
|
macOS(browser: string): [string, string, string]
|
|
baileys(browser: string): [string, string, string]
|
|
windows(browser: string): [string, string, string]
|
|
appropriate(browser: string): [string, string, string]
|
|
android(apiLevel: string): [string, string, string]
|
|
}
|
|
|
|
export enum DisconnectReason {
|
|
connectionClosed = 428,
|
|
connectionLost = 408,
|
|
connectionReplaced = 440,
|
|
timedOut = 408,
|
|
loggedOut = 401,
|
|
badSession = 500,
|
|
restartRequired = 515,
|
|
multideviceMismatch = 411,
|
|
forbidden = 403,
|
|
unavailableService = 503,
|
|
sessionInvalidated = 516
|
|
}
|
|
|
|
export type WAInitResponse = {
|
|
ref: string
|
|
ttl: number
|
|
status: 200
|
|
}
|
|
|
|
export type WABusinessHoursConfig = {
|
|
day_of_week: string
|
|
mode: string
|
|
open_time?: number
|
|
close_time?: number
|
|
}
|
|
|
|
export type WABusinessProfile = {
|
|
description: string
|
|
email: string | undefined
|
|
business_hours: {
|
|
timezone?: string
|
|
config?: WABusinessHoursConfig[]
|
|
business_config?: WABusinessHoursConfig[]
|
|
}
|
|
website: string[]
|
|
category?: string
|
|
wid?: string
|
|
address?: string
|
|
}
|
|
|
|
export type CurveKeyPair = { private: Uint8Array; public: Uint8Array }
|