@ikenxuan/amagi 6.5.0 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13835,6 +13835,153 @@ type MediumCoverurl = {
13835
13835
  //#region src/types/ReturnDataType/Douyin/MusicWork/index.d.ts
13836
13836
  type DyMusicWork = DyMusicWork_V0;
13837
13837
  //#endregion
13838
+ //#region src/types/ReturnDataType/Douyin/PassportLogin/PassportLogin.d.ts
13839
+ /**
13840
+ * 抖音 passport 扫码登录的返回类型
13841
+ *
13842
+ * 与其它返回类型不同,这几个不是服务端原始 JSON 的映射,而是登录状态机归一化之后的结果:
13843
+ * passport 的原始响应会把状态散落在 `data.status`、`data.error_code`、`data.account_flow`
13844
+ * 三处,且同一种情况有多套表达。协议层把它们收敛成一个可判别联合,调用方只需 `switch`
13845
+ * 一次即可覆盖全部分支。
13846
+ */
13847
+ /** 二次验证的一种可选方式 */
13848
+ interface DyPassportVerifyWay {
13849
+ /** 方式标识,如 `mobile_sms_verify` */
13850
+ verifyWay: string;
13851
+ /** 该方式关联的手机号(已脱敏) */
13852
+ mobile?: string;
13853
+ }
13854
+ /**
13855
+ * 二次验证上下文
13856
+ *
13857
+ * 字段全部来自轮询响应,需原样透传给发码与验码接口,缺字段会被判为伪造请求。
13858
+ */
13859
+ interface DyPassportVerifyContext {
13860
+ /** 加密后的用户 ID */
13861
+ encryptUid: string;
13862
+ /** 验证票据 */
13863
+ verifyTicket: string;
13864
+ /** 验证会话票据 */
13865
+ stdParams: Record<string, string>;
13866
+ /** 文案场景,扫码登录固定为 `qr_connect` */
13867
+ copywritingKey: string;
13868
+ /** 风控分流标记 */
13869
+ diversionTag: string;
13870
+ /** 新版验证流标识 */
13871
+ newVerifyFlow: string;
13872
+ /** 服务端给出的可选验证方式 */
13873
+ verifyWays: DyPassportVerifyWay[];
13874
+ }
13875
+ /** 一次二维码轮询的归一化结果 */
13876
+ type DyPassportPollResult =
13877
+ /** 尚未扫码 */
13878
+ {
13879
+ status: 'new';
13880
+ interval: number;
13881
+ } |
13882
+ /** 已扫码,等待手机端确认 */
13883
+ {
13884
+ status: 'scanned';
13885
+ interval: number;
13886
+ } |
13887
+ /** 已确认,可跟随 `redirectUrl` 领取登录凭证 */
13888
+ {
13889
+ status: 'confirmed';
13890
+ interval: number;
13891
+ redirectUrl: string;
13892
+ } |
13893
+ /** 二维码过期 */
13894
+ {
13895
+ status: 'expired';
13896
+ interval: number;
13897
+ } |
13898
+ /** 触发账号二次验证 */
13899
+ {
13900
+ status: 'verify';
13901
+ interval: number;
13902
+ verify: DyPassportVerifyContext;
13903
+ } |
13904
+ /** 触发风控 */
13905
+ {
13906
+ status: 'risk';
13907
+ interval: number;
13908
+ message: string;
13909
+ } |
13910
+ /** 轮询被限频,退避后可继续用同一个 token 重试 */
13911
+ {
13912
+ status: 'busy';
13913
+ interval: number;
13914
+ message: string;
13915
+ } |
13916
+ /** 未知状态,原样保留服务端返回,便于排查 */
13917
+ {
13918
+ status: 'unknown';
13919
+ interval: number;
13920
+ message: string;
13921
+ };
13922
+ /** 登录二维码 */
13923
+ interface DyPassportQrcode {
13924
+ /** 轮询用的二维码令牌 */
13925
+ token: string;
13926
+ /** 二维码承载的内容,直接拿去生成图片 */
13927
+ content: string;
13928
+ /**
13929
+ * 二维码过期时间,服务端原值,是**绝对 Unix 时间戳(秒)**而非时长
13930
+ *
13931
+ * 想要剩余秒数请直接用 `expires_in`。
13932
+ */
13933
+ expire_time: number;
13934
+ /** 距离二维码过期还剩多少秒,取二维码时算出,实测约 60 秒 */
13935
+ expires_in: number;
13936
+ /** 本次会话 cookie,后续调用需原样传回 */
13937
+ cookie: string;
13938
+ }
13939
+ /** 二维码状态 */
13940
+ type DyPassportQrcodeStatus = DyPassportPollResult & {
13941
+ /** 最新会话 cookie;`confirmed` 时已包含 sessionid / sid_guard 等登录凭证 */
13942
+ cookie: string;
13943
+ /** cookie 里是否已具备登录态凭证 */
13944
+ logged_in: boolean;
13945
+ };
13946
+ /** 发码接口归一化后的结果,不含会话字段 */
13947
+ interface DyPassportSendCodeResult {
13948
+ /** 是否发送成功 */
13949
+ ok: boolean;
13950
+ /** 服务端返回的脱敏手机号 */
13951
+ mobile: string;
13952
+ /** 允许重新发送的等待秒数 */
13953
+ retryAfter: number;
13954
+ /** 失败时的错误码 */
13955
+ errorCode?: number;
13956
+ /** 失败时的描述 */
13957
+ message: string;
13958
+ }
13959
+ /** 发送短信验证码的结果 */
13960
+ type DyPassportSendCode = DyPassportSendCodeResult & {
13961
+ /** 最新会话 cookie */
13962
+ cookie: string;
13963
+ /** 本次验证流程的追踪 ID,提交验证码时必须传回同一个值 */
13964
+ biz_trace_id: string;
13965
+ /** 本次实际使用的验证方式,提交验证码时应传回同一个值 */
13966
+ verify_way: string;
13967
+ };
13968
+ /** 验码接口归一化后的结果,不含会话字段 */
13969
+ interface DyPassportValidateCodeResult {
13970
+ /** 验证是否通过 */
13971
+ ok: boolean;
13972
+ /** 验证码是否填错(可以让用户重试) */
13973
+ wrongCode: boolean;
13974
+ /** 错误码 */
13975
+ errorCode?: number;
13976
+ /** 描述 */
13977
+ message: string;
13978
+ }
13979
+ /** 提交短信验证码的结果 */
13980
+ type DyPassportValidateCode = DyPassportValidateCodeResult & {
13981
+ /** 最新会话 cookie */
13982
+ cookie: string;
13983
+ };
13984
+ //#endregion
13838
13985
  //#region src/types/ReturnDataType/Douyin/SearchInfo/SearchInfoGeneral/SearchInfoGeneral_V0.d.ts
13839
13986
  type SearchInfoGeneralData_V0 = {
13840
13987
  ad_info: {
@@ -24102,6 +24249,10 @@ interface DouyinReturnTypeMap {
24102
24249
  liveRoomInfo: DyUserLiveVideos;
24103
24250
  loginQrcode: any;
24104
24251
  commentReplies: CommentReply;
24252
+ passportQrcode: DyPassportQrcode;
24253
+ passportQrcodeStatus: DyPassportQrcodeStatus;
24254
+ passportSendCode: DyPassportSendCode;
24255
+ passportValidateCode: DyPassportValidateCode;
24105
24256
  }
24106
24257
  //#endregion
24107
24258
  //#region src/types/ReturnDataType/Kuaishou/EmojiList/EmojiList_V0.d.ts
@@ -26674,6 +26825,413 @@ interface IBilibiliFetcher {
26674
26825
  fetchEmojiList: NoParamMethodOverload<BilibiliReturnTypeMap['emojiList']>;
26675
26826
  }
26676
26827
  //#endregion
26828
+ //#region src/platform/douyin/passport/aBogus.d.ts
26829
+ /** bdms SDK 版本号,同时也是 passport 通用参数里的 p_bd */
26830
+ declare const BDMS_SDK_VERSION = "1.0.1.19-fix.01";
26831
+ /**
26832
+ * 生成 a_bogus
26833
+ * @param query 除 a_bogus 之外的完整查询串(未加 `?`,保持实际发送顺序)
26834
+ * @param userAgent 与请求头一致的 UA
26835
+ * @returns a_bogus 参数值(未做 URL 编码)
26836
+ */
26837
+ declare const aBogus: (query: string, userAgent: string) => string;
26838
+ //#endregion
26839
+ //#region src/platform/douyin/passport/cookieJar.d.ts
26840
+ /**
26841
+ * 登录流程用的轻量 CookieJar
26842
+ *
26843
+ * 登录过程会跨 `www.douyin.com` / `login.douyin.com` / `ttwid.bytedance.com` 三个域,
26844
+ * 且同一个 cookie 名会被多次下发(例如 `ttwid` 在换取可信指纹后会被替换、
26845
+ * `sessionid` 在二次验证通过后会被升级)。这里只做一件事:**按下发顺序覆盖同名 cookie**,
26846
+ * 保证最终拿到的永远是最后一次下发的值,同时正确处理服务端的删除指令。
26847
+ *
26848
+ * 不做域/路径隔离:整个登录流程都在抖音自己的域下,隔离反而会漏掉跨子域下发的凭证。
26849
+ *
26850
+ * 另外承载一小部分**本地会话状态**(见 `INTERNAL_PREFIX`):passport 的几个接口对外是
26851
+ * 无状态的,会话全靠 cookie 串在调用之间传递,而 bd-ticket-guard 需要在多次调用之间
26852
+ * 记住自己生成的密钥与服务端签发的票据。这些条目以 `__amagi_` 开头,
26853
+ * `toString()` 不会把它们放进 Cookie 请求头,只有 `serialize()` 才会带上。
26854
+ */
26855
+ /** 本地会话状态的 cookie 名前缀,这些条目永远不会发给服务端 */
26856
+ declare const INTERNAL_PREFIX = "__amagi_";
26857
+ declare class CookieJar {
26858
+ /** Map 保留插入顺序,重复 set 只更新值、不改变位置 */
26859
+ private readonly cookies;
26860
+ /**
26861
+ * @param initial 初始 cookie 串,形如 `a=1; b=2`
26862
+ */
26863
+ constructor(initial?: string);
26864
+ /** 当前持有的 cookie 数量 */
26865
+ get size(): number;
26866
+ /**
26867
+ * 写入一条 cookie
26868
+ * @param name cookie 名
26869
+ * @param value cookie 值
26870
+ */
26871
+ set(name: string, value: string): this;
26872
+ /**
26873
+ * 读取一条 cookie
26874
+ * @param name cookie 名
26875
+ */
26876
+ get(name: string): string | undefined;
26877
+ /**
26878
+ * 是否持有某条 cookie
26879
+ * @param name cookie 名
26880
+ */
26881
+ has(name: string): boolean;
26882
+ /**
26883
+ * 合并一段 `name=value; name=value` 形式的 cookie 串
26884
+ * @param cookieString cookie 串,空值直接忽略
26885
+ */
26886
+ merge(cookieString?: string | null): this;
26887
+ /**
26888
+ * 应用响应的 Set-Cookie 头
26889
+ * @param setCookies 单条或多条 Set-Cookie 原始值
26890
+ */
26891
+ applySetCookie(setCookies?: string | string[] | null): this;
26892
+ /**
26893
+ * 是否已经拿到登录态凭证(`ttwid` 是匿名设备指纹,不算登录)
26894
+ */
26895
+ isLoggedIn(): boolean;
26896
+ /** 序列化为可直接放进 Cookie 请求头的字符串,不含本地会话状态 */
26897
+ toString(): string;
26898
+ /**
26899
+ * 序列化为在两次调用之间传递的会话串,包含本地会话状态
26900
+ *
26901
+ * 登录流程内部用这个;最终落库的登录凭证用 `toString()`,避免把本地密钥写进配置。
26902
+ */
26903
+ serialize(): string;
26904
+ /** 导出为普通对象,便于断言与日志 */
26905
+ toJSON(): Record<string, string>;
26906
+ }
26907
+ //#endregion
26908
+ //#region src/platform/douyin/passport/ticketGuard.d.ts
26909
+ /** 一次登录会话持有的 ticket-guard 状态 */
26910
+ interface TicketGuardState {
26911
+ /** 服务端签发的票据 */
26912
+ ticket: string;
26913
+ /** 票据的时间戳签名 */
26914
+ tsSign: string;
26915
+ /** ECDH 派生出的 HMAC 密钥 */
26916
+ ecdhKey: Buffer;
26917
+ }
26918
+ /**
26919
+ * bd-ticket-guard 会话
26920
+ *
26921
+ * 状态全部读写自传入的 CookieJar,因此与 passport 的无状态调用形态天然兼容。
26922
+ */
26923
+ declare class TicketGuard {
26924
+ private readonly jar;
26925
+ /**
26926
+ * @param jar 当前会话 cookie
26927
+ */
26928
+ constructor(jar: CookieJar);
26929
+ /** 本会话的私钥,缺失时生成一把并写回 CookieJar */
26930
+ private get privateKey();
26931
+ /** 未压缩格式的公钥(base64),即 `bd-ticket-guard-ree-public-key` */
26932
+ get reePublicKey(): string;
26933
+ /** 已签发的票据,未签发时为 undefined */
26934
+ get state(): TicketGuardState | undefined;
26935
+ /**
26936
+ * 在首个 passport 请求之前把公钥交给服务端
26937
+ *
26938
+ * 缺了这一步扫码依然能成功,但服务端不会签发票据,后续请求也就无从携带。
26939
+ */
26940
+ publishPublicKey(): void;
26941
+ /**
26942
+ * 消化响应里可能带回的票据签发结果
26943
+ * @param headers 响应头
26944
+ * @returns 是否收到了新票据
26945
+ */
26946
+ applyServerData(headers: Record<string, unknown>): boolean;
26947
+ /**
26948
+ * 生成本次请求的 bd-ticket-guard 请求头
26949
+ *
26950
+ * 尚未拿到票据时只声明公钥,让服务端有机会签发;拿到之后带完整签名。
26951
+ * @param path 请求路径,不含 query
26952
+ * @param timestamp 秒级时间戳,默认取当前
26953
+ */
26954
+ headers(path: string, timestamp?: number): Record<string, string>;
26955
+ /**
26956
+ * ECDH + HKDF-SHA256 派生 HMAC 密钥
26957
+ * @param clientCert 服务端下发的证书或裸公钥
26958
+ */
26959
+ private deriveEcdhKey;
26960
+ }
26961
+ //#endregion
26962
+ //#region src/platform/douyin/passport/client.d.ts
26963
+ /** 与签名里的浏览器环境保持一致的 UA */
26964
+ declare const PASSPORT_USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36";
26965
+ /** passport 接口的通用响应形状 */
26966
+ interface PassportPayload {
26967
+ message?: string;
26968
+ error_code?: number;
26969
+ description?: string;
26970
+ data?: Record<string, unknown>;
26971
+ }
26972
+ interface PassportResponse<T = PassportPayload> {
26973
+ /** HTTP 状态码 */
26974
+ status: number;
26975
+ /** 原始响应体 */
26976
+ raw: string;
26977
+ /** 解析后的 JSON,解析失败时为空对象 */
26978
+ body: T;
26979
+ /** 合并了本次 Set-Cookie 之后的完整 cookie 串 */
26980
+ cookie: string;
26981
+ }
26982
+ declare class DouyinPassportClient {
26983
+ private readonly requestConfig?;
26984
+ /** 会话 cookie */
26985
+ readonly cookies: CookieJar;
26986
+ /** bd-ticket-guard 设备票据,状态随 cookie 一起流转 */
26987
+ readonly ticketGuard: TicketGuard;
26988
+ /**
26989
+ * @param cookie 已有的会话 cookie 串
26990
+ * @param requestConfig amagi 的请求配置(代理、超时、额外请求头)
26991
+ */
26992
+ constructor(cookie?: string, requestConfig?: RequestConfig | undefined);
26993
+ /** CSRF token:优先用服务端下发的,缺失时本地生成并同步写进 cookie(双提交校验) */
26994
+ private get csrfToken();
26995
+ /**
26996
+ * 初始化登录环境指纹
26997
+ *
26998
+ * 依次请求抖音首页拿 `__ac_nonce`、再向 ttwid 服务注册拿 `ttwid`。两步都是匿名的,
26999
+ * 任意机器、任意系统都能跑;失败不抛错,只会让后续更容易命中风控。
27000
+ */
27001
+ bootstrap(): Promise<void>;
27002
+ /**
27003
+ * 请求 login.douyin.com 的 passport 接口(四重签名 + a_bogus 形态)
27004
+ * @param path 接口路径,如 `/passport/web/get_qrcode/`
27005
+ * @param params 业务参数,并入 query
27006
+ */
27007
+ request<T extends PassportPayload = PassportPayload>(path: string, params?: Record<string, string | number>): Promise<PassportResponse<T>>;
27008
+ /**
27009
+ * 请求 www.douyin.com 的验证页接口(lite 形态:固定 query + 表单 body,无签名)
27010
+ * @param path 接口路径,如 `/passport/web/send_code/`
27011
+ * @param params 业务参数,进 body
27012
+ * @param bizTraceId 业务追踪 ID,同一次验证流程内保持一致
27013
+ */
27014
+ liteRequest<T extends PassportPayload = PassportPayload>(path: string, params: Record<string, string>, bizTraceId: string): Promise<PassportResponse<T>>;
27015
+ /**
27016
+ * 跟随扫码确认后下发的 SSO 跳转链,把最终的登录凭证收进 CookieJar
27017
+ * @param redirectUrl `check_qrconnect` 返回的 redirect_url
27018
+ * @returns 是否拿到登录态 cookie
27019
+ */
27020
+ followSsoRedirect(redirectUrl: string): Promise<boolean>;
27021
+ /** 实际发请求:合并 cookie、消化 Set-Cookie 与 msToken */
27022
+ private send;
27023
+ }
27024
+ //#endregion
27025
+ //#region src/platform/douyin/passport/params.d.ts
27026
+ /**
27027
+ * 逐字节异或 5 后转十六进制,SDK 用它编码参数名列表、验证码与密码
27028
+ * @param input 明文
27029
+ */
27030
+ declare const xor5Hex: (input: string) => string;
27031
+ /** 随机十六进制串,用于 biz_trace_id 一类的追踪 ID */
27032
+ declare const randomHex: (length: number) => string;
27033
+ /** 当日 UTC 12:00 的秒级时间戳,aid-sign 以此为密钥基准 */
27034
+ declare const utcNoonTimestamp: (now?: Date) => number;
27035
+ /**
27036
+ * 计算 sign 与 qs
27037
+ * @param params query 参数(仅排序后的前 10 个参与签名)
27038
+ * @param data body 参数,GET 请求传空对象
27039
+ */
27040
+ declare const makeSignAndQs: (params: Record<string, unknown>, data?: Record<string, unknown>) => {
27041
+ sign: string;
27042
+ qs: string;
27043
+ };
27044
+ /**
27045
+ * 计算 `x-tt-passport-aid-sign` 请求头
27046
+ * @param urlPath 接口路径,如 `/passport/web/get_qrcode/`
27047
+ * @param timestamp 当日 UTC 正午时间戳(秒),默认取当前
27048
+ */
27049
+ declare const makeAidSign: (urlPath: string, timestamp?: number) => string;
27050
+ //#endregion
27051
+ //#region src/platform/douyin/passport/types.d.ts
27052
+ /** 二维码信息,`get_qrcode` 的解析结果 */
27053
+ interface QrcodeInfo {
27054
+ /** 轮询用的二维码令牌 */
27055
+ token: string;
27056
+ /** 二维码承载的内容,优先用它渲染,缺失时回退到 token */
27057
+ content: string;
27058
+ /**
27059
+ * 二维码过期时间,服务端给的是**绝对 Unix 时间戳(秒)**而非时长
27060
+ *
27061
+ * 实测二维码只有约 60 秒有效期,调用方应据此设置扫码等待上限。
27062
+ */
27063
+ expireTime: number;
27064
+ }
27065
+ /** 二次验证上下文 */
27066
+ type VerifyContext = DyPassportVerifyContext;
27067
+ /** 单个验证方式 */
27068
+ type VerifyWay = DyPassportVerifyWay;
27069
+ /** 一次轮询的结果 */
27070
+ type PollResult = DyPassportPollResult;
27071
+ /** 发送短信验证码的结果 */
27072
+ type SendCodeResult = DyPassportSendCodeResult;
27073
+ /** 提交短信验证码的结果 */
27074
+ type ValidateCodeResult = DyPassportValidateCodeResult;
27075
+ //#endregion
27076
+ //#region src/platform/douyin/passport/parser.d.ts
27077
+ /**
27078
+ * 解析 `get_qrcode` 响应
27079
+ * @param payload 服务端响应体
27080
+ * @returns 二维码信息,缺少 token 时返回 null
27081
+ */
27082
+ declare const parseQrcode: (payload: PassportPayload) => QrcodeInfo | null;
27083
+ /**
27084
+ * 解析 `check_qrconnect` 响应为状态机可消费的结果
27085
+ * @param payload 服务端响应体
27086
+ */
27087
+ declare const parsePollResult: (payload: PassportPayload) => PollResult;
27088
+ /**
27089
+ * 解析 `send_code` 响应
27090
+ * @param payload 服务端响应体
27091
+ */
27092
+ declare const parseSendCodeResult: (payload: PassportPayload) => SendCodeResult;
27093
+ /**
27094
+ * 解析 `validate_code` 响应
27095
+ * @param payload 服务端响应体
27096
+ */
27097
+ declare const parseValidateCodeResult: (payload: PassportPayload) => ValidateCodeResult;
27098
+ //#endregion
27099
+ //#region src/platform/douyin/passport/sm3.d.ts
27100
+ /**
27101
+ * SM3 摘要(GM/T 0004-2012),抖音 bdms 签名链使用的变体
27102
+ *
27103
+ * 与标准实现的唯一差异:字符串按 `charCodeAt` 逐字符取字节(非 UTF-8 编码),
27104
+ * 与浏览器里 bdms 的 `strToBytes` 行为一致。签名输入均为 ASCII,实际不会踩到多字节分支,
27105
+ * 但仍保留该分支以保证与浏览器实现逐位一致。
27106
+ */
27107
+ /**
27108
+ * 计算 SM3 摘要
27109
+ * @param message 待摘要的字符串或字节数组
27110
+ * @returns 32 字节摘要
27111
+ */
27112
+ declare const sm3: (message: string | number[]) => number[];
27113
+ /**
27114
+ * 连续两次 SM3(bdms 对 URL 与盐值的处理方式)
27115
+ * @param message 待摘要的字符串或字节数组
27116
+ * @returns 32 字节摘要
27117
+ */
27118
+ declare const sm3Twice: (message: string | number[]) => number[];
27119
+ /**
27120
+ * 十六进制摘要,仅用于测试与排查
27121
+ * @param message 待摘要的字符串或字节数组
27122
+ */
27123
+ declare const sm3Hex: (message: string | number[]) => string;
27124
+ declare namespace index_d_exports {
27125
+ export { BDMS_SDK_VERSION, CookieJar, DouyinPassportClient, INTERNAL_PREFIX, PASSPORT_USER_AGENT, PassportPayload, PassportResponse, PollResult, QrcodeInfo, SendCodeResult, TicketGuard, TicketGuardState, ValidateCodeResult, VerifyContext, VerifyWay, aBogus, makeAidSign, makeSignAndQs, parsePollResult, parseQrcode, parseSendCodeResult, parseValidateCodeResult, randomHex, sm3, sm3Hex, sm3Twice, utcNoonTimestamp, xor5Hex };
27126
+ }
27127
+ //#endregion
27128
+ //#region src/model/fetchers/douyin/auth.d.ts
27129
+ /**
27130
+ * 判断某个验证方式能否用短信验证码流程完成
27131
+ * @param verifyWay 服务端下发的 verify_way
27132
+ */
27133
+ declare const isSmsCodeVerifyWay: (verifyWay: string) => boolean;
27134
+ /**
27135
+ * 以下四个别名对应 `DouyinReturnTypeMap` 里的 passport 条目,保留是为了让调用方
27136
+ * 能按 `Douyin<接口名>` 的习惯直接引用,定义本身只有 ReturnDataType 那一份。
27137
+ */
27138
+ /** 登录二维码 */
27139
+ type DouyinPassportQrcode = DouyinReturnTypeMap['passportQrcode'];
27140
+ /** 二维码状态 */
27141
+ type DouyinPassportQrcodeStatus = DouyinReturnTypeMap['passportQrcodeStatus'];
27142
+ /** 发送短信验证码的结果 */
27143
+ type DouyinPassportSendCode = DouyinReturnTypeMap['passportSendCode'];
27144
+ /** 提交短信验证码的结果 */
27145
+ type DouyinPassportValidateCode = DouyinReturnTypeMap['passportValidateCode'];
27146
+ /** 二维码状态查询参数 */
27147
+ interface DouyinPassportQrcodeStatusOptions extends BaseRequestOptions {
27148
+ /** `requestPassportQrcode` 返回的令牌 */
27149
+ token: string;
27150
+ }
27151
+ /** 发送短信验证码参数 */
27152
+ interface DouyinPassportSendCodeOptions extends BaseRequestOptions {
27153
+ /** 轮询返回 `status: 'verify'` 时给出的验证上下文 */
27154
+ verify: VerifyContext;
27155
+ /** 追踪 ID,不传则自动生成 */
27156
+ biz_trace_id?: string;
27157
+ /**
27158
+ * 本次使用的验证方式
27159
+ *
27160
+ * 不传则从 `verify.verifyWays` 里自动挑一个能收验证码的。服务端对不同账号会给出
27161
+ * 不同的取值(如 `mobile_sms_verify` 或辅助验证的 `assist_mobile_sms_verify`),
27162
+ * 必须原样回传,写死会导致验证失败。
27163
+ */
27164
+ verify_way?: string;
27165
+ }
27166
+ /** 提交短信验证码参数 */
27167
+ interface DouyinPassportValidateCodeOptions extends DouyinPassportSendCodeOptions {
27168
+ /** 用户收到的 6 位验证码明文 */
27169
+ code: string;
27170
+ }
27171
+ /**
27172
+ * 申请抖音扫码登录二维码
27173
+ *
27174
+ * 首次调用会自动完成环境指纹初始化(`__ac_nonce` + `ttwid`),无需额外准备。
27175
+ * @param options - 请求选项 (可选)
27176
+ * @param cookie - 已有的会话 Cookie (可选,续用同一会话时传入)
27177
+ * @param requestConfig - 请求配置 (可选)
27178
+ * @returns 二维码令牌、内容与会话 cookie
27179
+ * @example
27180
+ * ```typescript
27181
+ * const qrcode = await requestPassportQrcode()
27182
+ * console.log(qrcode.data.content) // 拿去生成二维码图片
27183
+ * ```
27184
+ */
27185
+ declare function requestPassportQrcode<M extends TypeMode = 'loose'>(options?: {
27186
+ typeMode?: M;
27187
+ }, cookie?: string, requestConfig?: RequestConfig): Promise<Result<ConditionalReturnType<DouyinReturnTypeMap['passportQrcode'], M>>>;
27188
+ /**
27189
+ * 查询抖音扫码登录二维码的状态
27190
+ *
27191
+ * 状态为 `confirmed` 时会自动跟随 SSO 跳转领取登录凭证,返回的 `cookie` 即完整登录态。
27192
+ * @param options - 二维码状态参数
27193
+ * @param options.token - `requestPassportQrcode` 返回的令牌
27194
+ * @param cookie - 会话 Cookie,必须是申请二维码时返回的那一份
27195
+ * @param requestConfig - 请求配置 (可选)
27196
+ * @returns 扫码状态与最新会话 cookie
27197
+ * @example
27198
+ * ```typescript
27199
+ * const status = await checkPassportQrcode({ token }, cookie)
27200
+ * // new 未扫码 / scanned 已扫待确认 / verify 需二次验证 / confirmed 登录成功 / expired 已过期
27201
+ * console.log(status.data.status)
27202
+ * ```
27203
+ */
27204
+ declare function checkPassportQrcode<M extends TypeMode = 'loose'>(options: DouyinPassportQrcodeStatusOptions & {
27205
+ typeMode?: M;
27206
+ }, cookie?: string, requestConfig?: RequestConfig): Promise<Result<ConditionalReturnType<DouyinReturnTypeMap['passportQrcodeStatus'], M>>>;
27207
+ /**
27208
+ * 向账号绑定手机发送二次验证短信验证码
27209
+ *
27210
+ * 用于轮询返回 `status: 'verify'`(即 `error_code=2046` / `account_flow=verify`)的场景。
27211
+ * @param options - 发码参数
27212
+ * @param options.verify - 轮询返回的验证上下文
27213
+ * @param options.biz_trace_id - 追踪 ID (可选,不传自动生成)
27214
+ * @param cookie - 会话 Cookie
27215
+ * @param requestConfig - 请求配置 (可选)
27216
+ * @returns 脱敏手机号、重发等待秒数与追踪 ID
27217
+ */
27218
+ declare function sendPassportVerifyCode<M extends TypeMode = 'loose'>(options: DouyinPassportSendCodeOptions & {
27219
+ typeMode?: M;
27220
+ }, cookie?: string, requestConfig?: RequestConfig): Promise<Result<ConditionalReturnType<DouyinReturnTypeMap['passportSendCode'], M>>>;
27221
+ /**
27222
+ * 提交二次验证的短信验证码
27223
+ * @param options - 验码参数
27224
+ * @param options.verify - 轮询返回的验证上下文
27225
+ * @param options.code - 用户收到的 6 位验证码明文
27226
+ * @param options.biz_trace_id - 必须与发码时用的是同一个
27227
+ * @param cookie - 会话 Cookie
27228
+ * @param requestConfig - 请求配置 (可选)
27229
+ * @returns 验证结果;`wrongCode` 为 true 表示验证码填错,可以让用户重试
27230
+ */
27231
+ declare function validatePassportVerifyCode<M extends TypeMode = 'loose'>(options: DouyinPassportValidateCodeOptions & {
27232
+ typeMode?: M;
27233
+ }, cookie?: string, requestConfig?: RequestConfig): Promise<Result<ConditionalReturnType<DouyinReturnTypeMap['passportValidateCode'], M>>>;
27234
+ //#endregion
26677
27235
  //#region src/model/fetchers/douyin/types.d.ts
26678
27236
  /** 抖音作品请求参数 */
26679
27237
  interface DouyinWorkOptions extends BaseRequestOptions {
@@ -26829,6 +27387,28 @@ interface IDouyinFetcher {
26829
27387
  * 申请抖音登录二维码
26830
27388
  */
26831
27389
  requestLoginQrcode: MethodOverload<DouyinQrcodeOptions, DouyinReturnTypeMap['loginQrcode']>;
27390
+ /**
27391
+ * 申请抖音 passport 扫码登录二维码
27392
+ *
27393
+ * 与 `requestLoginQrcode`(旧的 sso.douyin.com 形态)不同,这一套能走完整的登录流程:
27394
+ * 取码 → 轮询 → 二次验证 → 下发登录 cookie。
27395
+ *
27396
+ * 登录是有会话的:返回的 `cookie` 需要在后续调用中原样传回,因此这几个方法只在
27397
+ * `douyinFetcher` 上提供,不进绑定了固定 cookie 的 `BoundDouyinFetcher`。
27398
+ */
27399
+ requestPassportQrcode: NoParamMethodOverload<DouyinReturnTypeMap['passportQrcode']>;
27400
+ /**
27401
+ * 查询 passport 扫码登录二维码的状态
27402
+ */
27403
+ checkPassportQrcode: MethodOverload<DouyinPassportQrcodeStatusOptions, DouyinReturnTypeMap['passportQrcodeStatus']>;
27404
+ /**
27405
+ * 向账号绑定手机发送二次验证短信验证码
27406
+ */
27407
+ sendPassportVerifyCode: MethodOverload<DouyinPassportSendCodeOptions, DouyinReturnTypeMap['passportSendCode']>;
27408
+ /**
27409
+ * 提交二次验证的短信验证码
27410
+ */
27411
+ validatePassportVerifyCode: MethodOverload<DouyinPassportValidateCodeOptions, DouyinReturnTypeMap['passportValidateCode']>;
26832
27412
  /**
26833
27413
  * 获取抖音表情列表
26834
27414
  */
@@ -27775,6 +28355,7 @@ declare const createAmagiClient: (options?: Options) => {
27775
28355
  /** fetcher */
27776
28356
  fetcher: IBoundDouyinFetcher;
27777
28357
  sign: typeof douyinSign;
28358
+ passport: typeof index_d_exports;
27778
28359
  douyinApiUrls: typeof douyinApiUrls;
27779
28360
  };
27780
28361
  bilibili: {
@@ -28009,6 +28590,13 @@ declare const createDouyinRoutes: (cookie: string, requestConfig?: RequestConfig
28009
28590
  type douyinUtilsModel = {
28010
28591
  /** 签名算法相关 */
28011
28592
  sign: typeof douyinSign;
28593
+ /**
28594
+ * passport 扫码登录协议(签名、CookieJar、响应解析)
28595
+ *
28596
+ * 日常调用请优先用 `douyinFetcher` 上的 `requestPassportQrcode` 等方法,
28597
+ * 这里暴露的是底层构件,便于自行编排或做单元测试。
28598
+ */
28599
+ passport: typeof index_d_exports;
28012
28600
  /**
28013
28601
  * 该类下的所有方法只会返回拼接好参数后的 Url 地址,需要手动请求该地址以获取数据
28014
28602
  *
@@ -28751,4 +29339,4 @@ declare const CreateApp: AmagiConstructor;
28751
29339
  declare const Client: typeof CreateApp;
28752
29340
  declare const amagi: typeof Client;
28753
29341
  //#endregion
28754
- export { APIErrorType, AdditionalType, AmagiEventMap, AmagiEventType, type AnonymousFetcherRequestConfig, type ApiEndpoint, ApiError, ApiErrorEventData, ApiSuccessEventData, ArticleCard, ArticleContent, ArticleInfo, ArticleWork, BaseRequestOptions, BaseResponse, BiliAv2Bv, BiliBangumiVideoInfo, BiliBangumiVideoPlayurlIsLogin, BiliBangumiVideoPlayurlNoLogin, BiliBiliVideoPlayurlNoLogin, BiliBv2AV, BiliCheckQrcode, BiliCommentReply, BiliDynamicInfo, BiliDynamicInfoUnion, BiliEmojiList, BiliLiveRoomDef, BiliLiveRoomDetail, BiliNewLoginQrcode, BiliOneWork, BiliProtobufDanmaku, BiliUserDynamic, BiliUserFullView, BiliUserLiveStatus, BiliUserProfile, BiliVideoPlayurlIsLogin, BiliWorkComments, BilibiliApiRoutes, type BilibiliApplyCaptchaOptions, BilibiliApplyCaptchaParamsSchema, type BilibiliArticleCardOptions, BilibiliArticleCardParamsSchema, BilibiliArticleInfoParamsSchema, type BilibiliArticleOptions, BilibiliArticleParamsSchema, type BilibiliAv2BvOptions, BilibiliAv2BvParamsSchema, type BilibiliBangumiInfoOptions, BilibiliBangumiInfoParamsSchema, type BilibiliBangumiStreamOptions, BilibiliBangumiStreamParamsSchema, type BilibiliBv2AvOptions, BilibiliBv2AvParamsSchema, BilibiliColumnInfoParamsSchema, BilibiliCommentParamsSchema, type BilibiliCommentRepliesOptions, BilibiliCommentReplyParamsSchema, type BilibiliCommentsOptions, type BilibiliDanmakuOptions, BilibiliDanmakuParamsSchema, BilibiliDataOptions, BilibiliDataOptionsMap, type BilibiliDynamicOptions, BilibiliDynamicParamsSchema, BilibiliEmojiParamsSchema, type BilibiliFetcher, BilibiliFetcherMethodKey, BilibiliFetcherMethods, BilibiliInternalMethodKey, BilibiliInternalMethods, BilibiliLiveParamsSchema, type BilibiliLiveRoomOptions, BilibiliLoginParamsSchema, type BilibiliMethodKey, BilibiliMethodMapping, BilibiliMethodOptMap, BilibiliMethodOptionsMap, BilibiliMethodRoutes, BilibiliMethodToFetcher, BilibiliMethodType, type BilibiliMethodValue, BilibiliQrcodeParamsSchema, type BilibiliQrcodeStatusOptions, BilibiliQrcodeStatusParamsSchema, BilibiliReturnTypeMap, type BilibiliUserOptions, BilibiliUserParamsSchema, type BilibiliValidateCaptchaOptions, BilibiliValidateCaptchaParamsSchema, BilibiliValidationSchemas, BilibiliVideoDownloadParamsSchema, type BilibiliVideoInfoOptions, BilibiliVideoParamsSchema, type BilibiliVideoStreamOptions, type BoundBilibiliFetcher, type BoundDouyinFetcher, type BoundKuaishouFetcher, type BoundXiaohongshuFetcher, ColumnInfo, CommentReply, CommentType, ConditionalReturnType, CookieConfig, CreateApp, DouyinApiRoutes, DouyinCommentParamsSchema, type DouyinCommentRepliesOptions, DouyinCommentReplyParamsSchema, type DouyinCommentsOptions, type DouyinDanmakuOptions, DouyinDanmakuParamsSchema, DouyinDataOptions, DouyinDataOptionsMap, DouyinEmojiListParamsSchema, DouyinEmojiProParamsSchema, type DouyinFetcher, DouyinFetcherMethodKey, DouyinFetcherMethods, DouyinHotWordsParamsSchema, DouyinInternalMethodKey, DouyinInternalMethods, type DouyinLiveRoomOptions, DouyinLiveRoomParamsSchema, type DouyinMethodKey, DouyinMethodMapping, DouyinMethodOptMap, DouyinMethodOptionsMap, DouyinMethodRoutes, DouyinMethodToFetcher, DouyinMethodType, type DouyinMethodValue, type DouyinMusicOptions, DouyinMusicParamsSchema, type DouyinQrcodeOptions, DouyinQrcodeParamsSchema, DouyinReturnTypeMap, type DouyinSearchOptions, DouyinSearchParamsSchema, type DouyinSuggestWordsOptions, type DouyinUserListOptions, DouyinUserListParamsSchema, type DouyinUserOptions, DouyinUserParamsSchema, DouyinValidationSchemas, type DouyinWorkOptions, DouyinWorkParamsSchema, DyDanmakuList, DyEmojiList, DyEmojiProList, DyImageAlbumWork, DyMusicWork, DySearchInfo, DySlidesWork, DySuggestWords, DyUserInfo, DyUserLiveVideos, DyUserPostVideos, DyVideoWork, DyWorkComments, DynamicType, DynamicTypeAV, DynamicTypeArticle, DynamicTypeDraw, DynamicTypeForward, DynamicTypeForwardUnion, DynamicTypeLiveRcmd, DynamicTypeWord, ErrorResult, ExtractTypeMode, FetcherConfig, type FetcherCookieForRequestConfig, type FetcherRequestConfigWithCookie, type FetcherRequestConfigWithoutCookie, HomeFeed, type HttpMethod, HttpRequestEventData, HttpResponseEventData, type IBilibiliFetcher, type IBoundBilibiliFetcher, type IBoundDouyinFetcher, type IBoundKuaishouFetcher, type IBoundXiaohongshuFetcher, type IDouyinFetcher, type IKuaishouFetcher, type IXiaohongshuFetcher, type KsBannedStatus, KsEmojiList, KsLiveRoomInfo, KsOneWork, type KsUserHomeWork, KsUserProfile, type KsUserProfileCounts, type KsUserProfileGameInfo, type KsUserProfileLiveInfo, type KsUserProfileSensitiveInfo, type KsUserProfileUserInfo, KsUserWorkList, type KsVerifiedStatus, KsWorkComments, KuaishouApiRoutes, KuaishouCommentParamsSchema, type KuaishouCommentsOptions, KuaishouDataOptions, KuaishouDataOptionsMap, KuaishouEmojiParamsSchema, type KuaishouFetcher, KuaishouFetcherMethodKey, KuaishouFetcherMethods, type KuaishouGraphqlRequest, KuaishouInternalMethodKey, KuaishouInternalMethods, type KuaishouLiveApiRequest, type KuaishouLiveRoomInfoOptions, KuaishouLiveRoomInfoParamsSchema, type KuaishouMethodKey, KuaishouMethodMapping, KuaishouMethodOptMap, KuaishouMethodOptionsMap, KuaishouMethodRoutes, KuaishouMethodToFetcher, KuaishouMethodType, type KuaishouMethodValue, KuaishouReturnTypeMap, type KuaishouUserProfileOptions, KuaishouUserProfileParamsSchema, type KuaishouUserWorkListOptions, KuaishouUserWorkListParamsSchema, KuaishouValidationSchemas, KuaishouVideoParamsSchema, type KuaishouVideoWorkOptions, LogEventData, MajorType, MethodMaps, NetworkErrorEventData, NetworkRetryEventData, type NetworksConfigType, NoteComments, OmitMethodType, OneNote, Options, type Platform, RequestConfig, Result, SearchInfoGeneralData, SearchInfoUser, SearchInfoVideo, SearchNotes, SuccessResult, TypeControl, TypeMode, ValidationError, XiaohongshuApiRoutes, type XiaohongshuCommentsOptions, XiaohongshuDataOptions, XiaohongshuDataOptionsMap, XiaohongshuEmojiList, type XiaohongshuFetcher, XiaohongshuFetcherMethodKey, XiaohongshuFetcherMethods, type XiaohongshuHomeFeedOptions, XiaohongshuInternalMethodKey, XiaohongshuInternalMethods, type XiaohongshuMethodKey, XiaohongshuMethodMapping, XiaohongshuMethodOptMap, XiaohongshuMethodOptionsMap, XiaohongshuMethodRoutes, XiaohongshuMethodToFetcher, XiaohongshuMethodType, type XiaohongshuMethodValue, type XiaohongshuNoteDetailOptions, XiaohongshuReturnTypeMap, type XiaohongshuSearchNotesOptions, type XiaohongshuUserNotesOptions, XiaohongshuUserProfile, type XiaohongshuUserProfileOptions, XiaohongshuValidationSchemas, amagi, amagiEvents, av2bv, bilibiliApiUrls, bilibiliErrorCodeMap, bilibiliFetcher, bilibiliUtils, bv2av, createAmagiClient, createBilibiliRoutes, createBilibiliRoutes as registerBilibiliRoutes, createBoundBilibiliFetcher, createBoundDouyinFetcher, createBoundKuaishouFetcher, createBoundXiaohongshuFetcher, createDouyinRoutes, createDouyinRoutes as registerDouyinRoutes, createErrorResponse, createKuaishouRoutes, createKuaishouRoutes as registerKuaishouRoutes, createSuccessResponse, createXiaohongshuRoutes, createXiaohongshuRoutes as registerXiaohongshuRoutes, Client as default, douyinApiUrls, douyinFetcher, douyinSign, douyinUtils, emitApiError, emitApiSuccess, emitHttpRequest, emitHttpResponse, emitLog, emitLogDebug, emitLogError, emitLogInfo, emitLogMark, emitLogWarn, emitNetworkError, emitNetworkRetry, fetchData, fetchResponse, getApiRoute, getEnglishMethodName, getHeadersAndData, handleError, isNetworkErrorResult, kuaishouApiUrls, kuaishouFetcher, kuaishouSign, kuaishouUtils, parseDmSegMobileReply, qtparam, toFetcherMethod, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, validateXiaohongshuParams, wbi_sign, xiaohongshuApiUrls, xiaohongshuFetcher, xiaohongshuSign, xiaohongshuUtils };
29342
+ export { APIErrorType, AdditionalType, AmagiEventMap, AmagiEventType, type AnonymousFetcherRequestConfig, type ApiEndpoint, ApiError, ApiErrorEventData, ApiSuccessEventData, ArticleCard, ArticleContent, ArticleInfo, ArticleWork, BaseRequestOptions, BaseResponse, BiliAv2Bv, BiliBangumiVideoInfo, BiliBangumiVideoPlayurlIsLogin, BiliBangumiVideoPlayurlNoLogin, BiliBiliVideoPlayurlNoLogin, BiliBv2AV, BiliCheckQrcode, BiliCommentReply, BiliDynamicInfo, BiliDynamicInfoUnion, BiliEmojiList, BiliLiveRoomDef, BiliLiveRoomDetail, BiliNewLoginQrcode, BiliOneWork, BiliProtobufDanmaku, BiliUserDynamic, BiliUserFullView, BiliUserLiveStatus, BiliUserProfile, BiliVideoPlayurlIsLogin, BiliWorkComments, BilibiliApiRoutes, type BilibiliApplyCaptchaOptions, BilibiliApplyCaptchaParamsSchema, type BilibiliArticleCardOptions, BilibiliArticleCardParamsSchema, BilibiliArticleInfoParamsSchema, type BilibiliArticleOptions, BilibiliArticleParamsSchema, type BilibiliAv2BvOptions, BilibiliAv2BvParamsSchema, type BilibiliBangumiInfoOptions, BilibiliBangumiInfoParamsSchema, type BilibiliBangumiStreamOptions, BilibiliBangumiStreamParamsSchema, type BilibiliBv2AvOptions, BilibiliBv2AvParamsSchema, BilibiliColumnInfoParamsSchema, BilibiliCommentParamsSchema, type BilibiliCommentRepliesOptions, BilibiliCommentReplyParamsSchema, type BilibiliCommentsOptions, type BilibiliDanmakuOptions, BilibiliDanmakuParamsSchema, BilibiliDataOptions, BilibiliDataOptionsMap, type BilibiliDynamicOptions, BilibiliDynamicParamsSchema, BilibiliEmojiParamsSchema, type BilibiliFetcher, BilibiliFetcherMethodKey, BilibiliFetcherMethods, BilibiliInternalMethodKey, BilibiliInternalMethods, BilibiliLiveParamsSchema, type BilibiliLiveRoomOptions, BilibiliLoginParamsSchema, type BilibiliMethodKey, BilibiliMethodMapping, BilibiliMethodOptMap, BilibiliMethodOptionsMap, BilibiliMethodRoutes, BilibiliMethodToFetcher, BilibiliMethodType, type BilibiliMethodValue, BilibiliQrcodeParamsSchema, type BilibiliQrcodeStatusOptions, BilibiliQrcodeStatusParamsSchema, BilibiliReturnTypeMap, type BilibiliUserOptions, BilibiliUserParamsSchema, type BilibiliValidateCaptchaOptions, BilibiliValidateCaptchaParamsSchema, BilibiliValidationSchemas, BilibiliVideoDownloadParamsSchema, type BilibiliVideoInfoOptions, BilibiliVideoParamsSchema, type BilibiliVideoStreamOptions, type BoundBilibiliFetcher, type BoundDouyinFetcher, type BoundKuaishouFetcher, type BoundXiaohongshuFetcher, ColumnInfo, CommentReply, CommentType, ConditionalReturnType, CookieConfig, CreateApp, DouyinApiRoutes, DouyinCommentParamsSchema, type DouyinCommentRepliesOptions, DouyinCommentReplyParamsSchema, type DouyinCommentsOptions, type DouyinDanmakuOptions, DouyinDanmakuParamsSchema, DouyinDataOptions, DouyinDataOptionsMap, DouyinEmojiListParamsSchema, DouyinEmojiProParamsSchema, type DouyinFetcher, DouyinFetcherMethodKey, DouyinFetcherMethods, DouyinHotWordsParamsSchema, DouyinInternalMethodKey, DouyinInternalMethods, type DouyinLiveRoomOptions, DouyinLiveRoomParamsSchema, type DouyinMethodKey, DouyinMethodMapping, DouyinMethodOptMap, DouyinMethodOptionsMap, DouyinMethodRoutes, DouyinMethodToFetcher, DouyinMethodType, type DouyinMethodValue, type DouyinMusicOptions, DouyinMusicParamsSchema, type PollResult as DouyinPassportPollResult, type DouyinPassportQrcode, type QrcodeInfo as DouyinPassportQrcodeInfo, type DouyinPassportQrcodeStatus, type DouyinPassportQrcodeStatusOptions, type DouyinPassportSendCode, type DouyinPassportSendCodeOptions, type SendCodeResult as DouyinPassportSendCodeResult, type DouyinPassportValidateCode, type DouyinPassportValidateCodeOptions, type ValidateCodeResult as DouyinPassportValidateCodeResult, type VerifyContext as DouyinPassportVerifyContext, type VerifyWay as DouyinPassportVerifyWay, type DouyinQrcodeOptions, DouyinQrcodeParamsSchema, DouyinReturnTypeMap, type DouyinSearchOptions, DouyinSearchParamsSchema, type DouyinSuggestWordsOptions, type DouyinUserListOptions, DouyinUserListParamsSchema, type DouyinUserOptions, DouyinUserParamsSchema, DouyinValidationSchemas, type DouyinWorkOptions, DouyinWorkParamsSchema, DyDanmakuList, DyEmojiList, DyEmojiProList, DyImageAlbumWork, DyMusicWork, DyPassportPollResult, DyPassportQrcode, DyPassportQrcodeStatus, DyPassportSendCode, DyPassportSendCodeResult, DyPassportValidateCode, DyPassportValidateCodeResult, DyPassportVerifyContext, DyPassportVerifyWay, DySearchInfo, DySlidesWork, DySuggestWords, DyUserInfo, DyUserLiveVideos, DyUserPostVideos, DyVideoWork, DyWorkComments, DynamicType, DynamicTypeAV, DynamicTypeArticle, DynamicTypeDraw, DynamicTypeForward, DynamicTypeForwardUnion, DynamicTypeLiveRcmd, DynamicTypeWord, ErrorResult, ExtractTypeMode, FetcherConfig, type FetcherCookieForRequestConfig, type FetcherRequestConfigWithCookie, type FetcherRequestConfigWithoutCookie, HomeFeed, type HttpMethod, HttpRequestEventData, HttpResponseEventData, type IBilibiliFetcher, type IBoundBilibiliFetcher, type IBoundDouyinFetcher, type IBoundKuaishouFetcher, type IBoundXiaohongshuFetcher, type IDouyinFetcher, type IKuaishouFetcher, type IXiaohongshuFetcher, type KsBannedStatus, KsEmojiList, KsLiveRoomInfo, KsOneWork, type KsUserHomeWork, KsUserProfile, type KsUserProfileCounts, type KsUserProfileGameInfo, type KsUserProfileLiveInfo, type KsUserProfileSensitiveInfo, type KsUserProfileUserInfo, KsUserWorkList, type KsVerifiedStatus, KsWorkComments, KuaishouApiRoutes, KuaishouCommentParamsSchema, type KuaishouCommentsOptions, KuaishouDataOptions, KuaishouDataOptionsMap, KuaishouEmojiParamsSchema, type KuaishouFetcher, KuaishouFetcherMethodKey, KuaishouFetcherMethods, type KuaishouGraphqlRequest, KuaishouInternalMethodKey, KuaishouInternalMethods, type KuaishouLiveApiRequest, type KuaishouLiveRoomInfoOptions, KuaishouLiveRoomInfoParamsSchema, type KuaishouMethodKey, KuaishouMethodMapping, KuaishouMethodOptMap, KuaishouMethodOptionsMap, KuaishouMethodRoutes, KuaishouMethodToFetcher, KuaishouMethodType, type KuaishouMethodValue, KuaishouReturnTypeMap, type KuaishouUserProfileOptions, KuaishouUserProfileParamsSchema, type KuaishouUserWorkListOptions, KuaishouUserWorkListParamsSchema, KuaishouValidationSchemas, KuaishouVideoParamsSchema, type KuaishouVideoWorkOptions, LogEventData, MajorType, MethodMaps, NetworkErrorEventData, NetworkRetryEventData, type NetworksConfigType, NoteComments, OmitMethodType, OneNote, Options, type Platform, RequestConfig, Result, SearchInfoGeneralData, SearchInfoUser, SearchInfoVideo, SearchNotes, SuccessResult, TypeControl, TypeMode, ValidationError, XiaohongshuApiRoutes, type XiaohongshuCommentsOptions, XiaohongshuDataOptions, XiaohongshuDataOptionsMap, XiaohongshuEmojiList, type XiaohongshuFetcher, XiaohongshuFetcherMethodKey, XiaohongshuFetcherMethods, type XiaohongshuHomeFeedOptions, XiaohongshuInternalMethodKey, XiaohongshuInternalMethods, type XiaohongshuMethodKey, XiaohongshuMethodMapping, XiaohongshuMethodOptMap, XiaohongshuMethodOptionsMap, XiaohongshuMethodRoutes, XiaohongshuMethodToFetcher, XiaohongshuMethodType, type XiaohongshuMethodValue, type XiaohongshuNoteDetailOptions, XiaohongshuReturnTypeMap, type XiaohongshuSearchNotesOptions, type XiaohongshuUserNotesOptions, XiaohongshuUserProfile, type XiaohongshuUserProfileOptions, XiaohongshuValidationSchemas, amagi, amagiEvents, av2bv, bilibiliApiUrls, bilibiliErrorCodeMap, bilibiliFetcher, bilibiliUtils, bv2av, checkPassportQrcode, createAmagiClient, createBilibiliRoutes, createBilibiliRoutes as registerBilibiliRoutes, createBoundBilibiliFetcher, createBoundDouyinFetcher, createBoundKuaishouFetcher, createBoundXiaohongshuFetcher, createDouyinRoutes, createDouyinRoutes as registerDouyinRoutes, createErrorResponse, createKuaishouRoutes, createKuaishouRoutes as registerKuaishouRoutes, createSuccessResponse, createXiaohongshuRoutes, createXiaohongshuRoutes as registerXiaohongshuRoutes, Client as default, douyinApiUrls, douyinFetcher, index_d_exports as douyinPassport, douyinSign, douyinUtils, emitApiError, emitApiSuccess, emitHttpRequest, emitHttpResponse, emitLog, emitLogDebug, emitLogError, emitLogInfo, emitLogMark, emitLogWarn, emitNetworkError, emitNetworkRetry, fetchData, fetchResponse, getApiRoute, getEnglishMethodName, getHeadersAndData, handleError, isNetworkErrorResult, isSmsCodeVerifyWay, kuaishouApiUrls, kuaishouFetcher, kuaishouSign, kuaishouUtils, parseDmSegMobileReply, qtparam, requestPassportQrcode, sendPassportVerifyCode, toFetcherMethod, validateBilibiliParams, validateDouyinParams, validateKuaishouParams, validatePassportVerifyCode, validateXiaohongshuParams, wbi_sign, xiaohongshuApiUrls, xiaohongshuFetcher, xiaohongshuSign, xiaohongshuUtils };