@softtynet/zca-js 2.2.7 → 2.2.9

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.
Files changed (147) hide show
  1. package/README.md +160 -179
  2. package/dist/apis/clearUnreadFriendRequests.d.ts +2 -0
  3. package/dist/apis/clearUnreadFriendRequests.js +29 -0
  4. package/dist/apis/encryptGids.d.ts +4 -0
  5. package/dist/apis/encryptGids.js +24 -0
  6. package/dist/apis/getAliasListV2.d.ts +10 -0
  7. package/dist/apis/getAliasListV2.js +28 -0
  8. package/dist/apis/getBlockFriends.d.ts +6 -0
  9. package/dist/apis/getBlockFriends.js +28 -0
  10. package/dist/apis/getCloudInfo.d.ts +3 -0
  11. package/dist/apis/getCloudInfo.js +34 -0
  12. package/dist/apis/getCloudSettings.d.ts +10 -0
  13. package/dist/apis/getCloudSettings.js +34 -0
  14. package/dist/apis/getCloudViewerKey.d.ts +5 -0
  15. package/dist/apis/getCloudViewerKey.js +25 -0
  16. package/dist/apis/getConversationMedia.d.ts +26 -0
  17. package/dist/apis/getConversationMedia.js +39 -0
  18. package/dist/apis/getEmojiStatusConfig.d.ts +17 -0
  19. package/dist/apis/getEmojiStatusConfig.js +23 -0
  20. package/dist/apis/getExtraFriendInfo.d.ts +3 -0
  21. package/dist/apis/getExtraFriendInfo.js +31 -0
  22. package/dist/apis/getExtraGroupInfo.d.ts +7 -0
  23. package/dist/apis/getExtraGroupInfo.js +32 -0
  24. package/dist/apis/getFamilyProfile.d.ts +3 -0
  25. package/dist/apis/getFamilyProfile.js +34 -0
  26. package/dist/apis/getFamilyUsage.d.ts +7 -0
  27. package/dist/apis/getFamilyUsage.js +34 -0
  28. package/dist/apis/getFamilyViewerKey.d.ts +5 -0
  29. package/dist/apis/getFamilyViewerKey.js +25 -0
  30. package/dist/apis/getFriendsEmojiStatus.d.ts +17 -0
  31. package/dist/apis/getFriendsEmojiStatus.js +30 -0
  32. package/dist/apis/getGroupCloudMessageJump.d.ts +3 -0
  33. package/dist/apis/getGroupCloudMessageJump.js +46 -0
  34. package/dist/apis/getLastReadContactTab.d.ts +4 -0
  35. package/dist/apis/getLastReadContactTab.js +15 -0
  36. package/dist/apis/getLastSeen.d.ts +11 -0
  37. package/dist/apis/getLastSeen.js +40 -0
  38. package/dist/apis/getLastSeenReaction.d.ts +9 -0
  39. package/dist/apis/getLastSeenReaction.js +28 -0
  40. package/dist/apis/getListPinTopics.d.ts +5 -0
  41. package/dist/apis/getListPinTopics.js +28 -0
  42. package/dist/apis/getMediaStorePreview.d.ts +3 -0
  43. package/dist/apis/getMediaStorePreview.js +31 -0
  44. package/dist/apis/getMiniProfile.d.ts +13 -0
  45. package/dist/apis/getMiniProfile.js +34 -0
  46. package/dist/apis/getPersonalizedStickerList.d.ts +5 -0
  47. package/dist/apis/getPersonalizedStickerList.js +24 -0
  48. package/dist/apis/getPhonebookV2.d.ts +6 -0
  49. package/dist/apis/getPhonebookV2.js +21 -0
  50. package/dist/apis/getProfileRank.d.ts +5 -0
  51. package/dist/apis/getProfileRank.js +25 -0
  52. package/dist/apis/getProfileVerificationStatus.d.ts +5 -0
  53. package/dist/apis/getProfileVerificationStatus.js +20 -0
  54. package/dist/apis/getQuotaCommunity.d.ts +8 -0
  55. package/dist/apis/getQuotaCommunity.js +27 -0
  56. package/dist/apis/getRecentSearchList.d.ts +6 -0
  57. package/dist/apis/getRecentSearchList.js +25 -0
  58. package/dist/apis/getStickerCategoriesV2.d.ts +17 -0
  59. package/dist/apis/getStickerCategoriesV2.js +21 -0
  60. package/dist/apis/getStickerCategoryData.d.ts +3 -0
  61. package/dist/apis/getStickerCategoryData.js +25 -0
  62. package/dist/apis/getStickerHello.d.ts +16 -0
  63. package/dist/apis/getStickerHello.js +34 -0
  64. package/dist/apis/getStickerSuggestKeywords.d.ts +12 -0
  65. package/dist/apis/getStickerSuggestKeywords.js +24 -0
  66. package/dist/apis/getStickerSuggestion.d.ts +12 -0
  67. package/dist/apis/getStickerSuggestion.js +30 -0
  68. package/dist/apis/getUsageMyCloud.d.ts +7 -0
  69. package/dist/apis/getUsageMyCloud.js +34 -0
  70. package/dist/apis/getUsageZCloud.d.ts +11 -0
  71. package/dist/apis/getUsageZCloud.js +34 -0
  72. package/dist/apis/keepAlive.d.ts +2 -1
  73. package/dist/apis/keepAlive.js +5 -3
  74. package/dist/apis/listen.d.ts +13 -0
  75. package/dist/apis/listen.js +10 -0
  76. package/dist/apis/readContactTab.d.ts +2 -0
  77. package/dist/apis/readContactTab.js +26 -0
  78. package/dist/apis/removeConversationMedia.d.ts +8 -0
  79. package/dist/apis/removeConversationMedia.js +30 -0
  80. package/dist/apis/undoMultiMessage.d.ts +9 -0
  81. package/dist/apis/undoMultiMessage.js +46 -0
  82. package/dist/apis/updateRecentSearch.d.ts +11 -0
  83. package/dist/apis/updateRecentSearch.js +41 -0
  84. package/dist/apis/verifyCloudMedia.d.ts +14 -0
  85. package/dist/apis/verifyCloudMedia.js +43 -0
  86. package/dist/apis/voiceToText.d.ts +4 -0
  87. package/dist/apis/voiceToText.js +30 -0
  88. package/dist/apis.d.ts +82 -0
  89. package/dist/apis.js +82 -0
  90. package/dist/cjs/apis/clearUnreadFriendRequests.cjs +34 -0
  91. package/dist/cjs/apis/encryptGids.cjs +29 -0
  92. package/dist/cjs/apis/getAliasListV2.cjs +33 -0
  93. package/dist/cjs/apis/getBlockFriends.cjs +33 -0
  94. package/dist/cjs/apis/getCloudInfo.cjs +39 -0
  95. package/dist/cjs/apis/getCloudSettings.cjs +39 -0
  96. package/dist/cjs/apis/getCloudViewerKey.cjs +30 -0
  97. package/dist/cjs/apis/getConversationMedia.cjs +44 -0
  98. package/dist/cjs/apis/getEmojiStatusConfig.cjs +28 -0
  99. package/dist/cjs/apis/getExtraFriendInfo.cjs +36 -0
  100. package/dist/cjs/apis/getExtraGroupInfo.cjs +37 -0
  101. package/dist/cjs/apis/getFamilyProfile.cjs +39 -0
  102. package/dist/cjs/apis/getFamilyUsage.cjs +39 -0
  103. package/dist/cjs/apis/getFamilyViewerKey.cjs +30 -0
  104. package/dist/cjs/apis/getFriendsEmojiStatus.cjs +35 -0
  105. package/dist/cjs/apis/getGroupCloudMessageJump.cjs +63 -0
  106. package/dist/cjs/apis/getLastReadContactTab.cjs +20 -0
  107. package/dist/cjs/apis/getLastSeen.cjs +45 -0
  108. package/dist/cjs/apis/getLastSeenReaction.cjs +33 -0
  109. package/dist/cjs/apis/getListPinTopics.cjs +33 -0
  110. package/dist/cjs/apis/getMediaStorePreview.cjs +36 -0
  111. package/dist/cjs/apis/getMiniProfile.cjs +39 -0
  112. package/dist/cjs/apis/getPersonalizedStickerList.cjs +29 -0
  113. package/dist/cjs/apis/getPhonebookV2.cjs +26 -0
  114. package/dist/cjs/apis/getProfileRank.cjs +30 -0
  115. package/dist/cjs/apis/getProfileVerificationStatus.cjs +25 -0
  116. package/dist/cjs/apis/getQuotaCommunity.cjs +32 -0
  117. package/dist/cjs/apis/getRecentSearchList.cjs +30 -0
  118. package/dist/cjs/apis/getStickerCategoriesV2.cjs +26 -0
  119. package/dist/cjs/apis/getStickerCategoryData.cjs +30 -0
  120. package/dist/cjs/apis/getStickerHello.cjs +39 -0
  121. package/dist/cjs/apis/getStickerSuggestKeywords.cjs +29 -0
  122. package/dist/cjs/apis/getStickerSuggestion.cjs +35 -0
  123. package/dist/cjs/apis/getUsageMyCloud.cjs +39 -0
  124. package/dist/cjs/apis/getUsageZCloud.cjs +39 -0
  125. package/dist/cjs/apis/keepAlive.cjs +5 -3
  126. package/dist/cjs/apis/listen.cjs +10 -0
  127. package/dist/cjs/apis/readContactTab.cjs +31 -0
  128. package/dist/cjs/apis/removeConversationMedia.cjs +35 -0
  129. package/dist/cjs/apis/undoMultiMessage.cjs +62 -0
  130. package/dist/cjs/apis/updateRecentSearch.cjs +46 -0
  131. package/dist/cjs/apis/verifyCloudMedia.cjs +48 -0
  132. package/dist/cjs/apis/voiceToText.cjs +35 -0
  133. package/dist/cjs/apis.cjs +82 -0
  134. package/dist/cjs/index.cjs +2 -0
  135. package/dist/cjs/update.cjs +8 -6
  136. package/dist/cjs/utils.cjs +25 -0
  137. package/dist/context.d.ts +4 -0
  138. package/dist/index.d.ts +42 -1
  139. package/dist/index.js +1 -1
  140. package/dist/update.js +8 -6
  141. package/dist/utils.d.ts +10 -0
  142. package/dist/utils.js +23 -0
  143. package/docs/INTEGRATION_GUIDE_SYNC_AND_CALL.md +110 -0
  144. package/package.json +12 -9
  145. package/CODE_OF_CONDUCT.md +0 -163
  146. package/CONTRIBUTING.md +0 -470
  147. package/SECURITY.md +0 -83
@@ -360,6 +360,16 @@ export class Listener extends EventEmitter {
360
360
  const callEvent = initializeCallEvent(callEventData, control.content.act, control.content.act_type);
361
361
  this.emit("call_event", callEvent);
362
362
  }
363
+ else if (control.content.act_type == "voice2text") {
364
+ const v2tData = typeof control.content.data == "string"
365
+ ? JSON.parse(control.content.data)
366
+ : control.content.data;
367
+ this.emit("voice2text_event", {
368
+ act: control.content.act,
369
+ act_type: "voice2text",
370
+ data: v2tData,
371
+ });
372
+ }
363
373
  }
364
374
  }
365
375
  if (cmd == 612) {
@@ -0,0 +1,2 @@
1
+ export type ReadContactTabResponse = Record<string, unknown> | string;
2
+ export declare const readContactTabFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (ts?: number) => Promise<ReadContactTabResponse>;
@@ -0,0 +1,26 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const readContactTabFactory = apiFactory()((api, _ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.friend[0]}/api/friend/read-contact-tab`);
5
+ /**
6
+ * Đánh dấu đã đọc tab Danh bạ (command 12231)
7
+ *
8
+ * @param ts Dấu thời gian (mặc định: `Date.now()`)
9
+ * @throws {ZaloApiError}
10
+ */
11
+ return async function readContactTab(ts = Date.now()) {
12
+ const params = {
13
+ ts,
14
+ };
15
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
16
+ if (!encryptedParams)
17
+ throw new ZaloApiError("Failed to encrypt params");
18
+ const response = await utils.request(serviceURL, {
19
+ method: "POST",
20
+ body: new URLSearchParams({
21
+ params: encryptedParams,
22
+ }),
23
+ });
24
+ return utils.resolve(response);
25
+ };
26
+ });
@@ -0,0 +1,8 @@
1
+ import type { MediaStoreType } from "./getConversationMedia.js";
2
+ export type RemoveConversationMediaOptions = {
3
+ groupId: string;
4
+ mediaType: MediaStoreType;
5
+ mediaId: string | number | (string | number)[];
6
+ };
7
+ export type RemoveConversationMediaResponse = unknown;
8
+ export declare const removeConversationMediaFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (options: RemoveConversationMediaOptions) => Promise<unknown>;
@@ -0,0 +1,30 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const removeConversationMediaFactory = apiFactory()((api, _ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.media_store[0]}/api/mediastore/remove`);
5
+ /**
6
+ * Xóa mục Ảnh/Video, File hoặc Link khỏi Kho Lưu Trữ của nhóm (command 11842)
7
+ *
8
+ * @param options Thông tin mục cần xóa (`groupId`, `mediaType`, `mediaId`)
9
+ * @throws {ZaloApiError}
10
+ */
11
+ return async function removeConversationMedia(options) {
12
+ if (!options.groupId) {
13
+ throw new ZaloApiError("Missing groupId");
14
+ }
15
+ const cleanGroupId = options.groupId.startsWith("g") ? options.groupId.slice(1) : options.groupId;
16
+ const params = {
17
+ media_type: options.mediaType,
18
+ media_id: options.mediaId,
19
+ group_id: cleanGroupId,
20
+ };
21
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
22
+ if (!encryptedParams) {
23
+ throw new ZaloApiError("Failed to encrypt params");
24
+ }
25
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
26
+ method: "POST",
27
+ });
28
+ return utils.resolve(response);
29
+ };
30
+ });
@@ -0,0 +1,9 @@
1
+ import { ThreadType } from "../models/index.js";
2
+ export type UndoMultiMessageItem = {
3
+ globalMsgId: string | number;
4
+ cliMsgId: string | number;
5
+ cliMsgIdUndo?: string | number;
6
+ destId?: string;
7
+ };
8
+ export type UndoMultiMessageResponse = Record<string, unknown>;
9
+ export declare const undoMultiMessageFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (msgs: UndoMultiMessageItem[], threadId: string, type?: ThreadType) => Promise<UndoMultiMessageResponse>;
@@ -0,0 +1,46 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { ThreadType } from "../models/index.js";
3
+ import { apiFactory } from "../utils.js";
4
+ export const undoMultiMessageFactory = apiFactory()((api, _ctx, utils) => {
5
+ /**
6
+ * Thu hồi hàng loạt nhiều tin nhắn cùng lúc trong hội thoại cá nhân hoặc nhóm (command 12115 / 12116)
7
+ *
8
+ * @param msgs Danh sách tin nhắn cần thu hồi (`globalMsgId`, `cliMsgId` của tin nhắn gốc)
9
+ * @param threadId ID người nhận hoặc ID nhóm
10
+ * @param type Loại hội thoại (`ThreadType.User` hoặc `ThreadType.Group`)
11
+ * @throws {ZaloApiError}
12
+ */
13
+ return async function undoMultiMessage(msgs, threadId, type = ThreadType.User) {
14
+ if (!Array.isArray(msgs) || msgs.length === 0) {
15
+ throw new ZaloApiError("Missing messages to undo");
16
+ }
17
+ if (!threadId) {
18
+ throw new ZaloApiError("Missing threadId");
19
+ }
20
+ const isGroup = type === ThreadType.Group || threadId.startsWith("g");
21
+ const cleanThreadId = threadId.startsWith("g") ? threadId.slice(1) : threadId;
22
+ const serviceURL = isGroup
23
+ ? utils.makeURL(`${api.zpwServiceMap.group[0]}/api/group/multi_undomsg`)
24
+ : utils.makeURL(`${api.zpwServiceMap.chat[0]}/api/message/multi_undo`);
25
+ const now = Date.now();
26
+ const normalizedMsgs = msgs.map((m, idx) => ({
27
+ cliMsgId: m.cliMsgIdUndo !== undefined ? m.cliMsgId : now + idx,
28
+ cliMsgIdUndo: m.cliMsgIdUndo !== undefined ? m.cliMsgIdUndo : m.cliMsgId,
29
+ globalMsgId: String(m.globalMsgId),
30
+ }));
31
+ const payload = isGroup
32
+ ? { grid: cleanThreadId, msgs: normalizedMsgs }
33
+ : { toid: cleanThreadId, msgs: normalizedMsgs };
34
+ const encryptedParams = utils.encodeAES(JSON.stringify(payload));
35
+ if (!encryptedParams) {
36
+ throw new ZaloApiError("Failed to encrypt params");
37
+ }
38
+ const response = await utils.request(serviceURL, {
39
+ method: "POST",
40
+ body: new URLSearchParams({
41
+ params: encryptedParams,
42
+ }),
43
+ });
44
+ return utils.resolve(response);
45
+ };
46
+ });
@@ -0,0 +1,11 @@
1
+ export type UpdateRecentSearchOptions = {
2
+ listRecent?: Record<string, unknown>[];
3
+ listKeyword?: string[];
4
+ version?: number;
5
+ };
6
+ export type UpdateRecentSearchResponse = {
7
+ version: number;
8
+ list_recent: Record<string, unknown>[];
9
+ list_keyword: string[];
10
+ };
11
+ export declare const updateRecentSearchFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (options?: UpdateRecentSearchOptions) => Promise<UpdateRecentSearchResponse>;
@@ -0,0 +1,41 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const updateRecentSearchFactory = apiFactory()((api, ctx, utils) => {
4
+ const serviceURL = utils.makeURL(`${api.zpwServiceMap.recent_search[0]}/api/recentsearch/update`);
5
+ /**
6
+ * Cập nhật danh sách lịch sử tìm kiếm gần đây trên Zalo (command 12126)
7
+ *
8
+ * @param options Danh sách tìm kiếm gần đây và từ khóa (`listRecent`, `listKeyword`, `version`)
9
+ * @throws {ZaloApiError}
10
+ */
11
+ return async function updateRecentSearch(options = {}) {
12
+ var _a, _b, _c;
13
+ let currentVersion = options.version;
14
+ if (currentVersion === undefined) {
15
+ try {
16
+ const current = await api.getRecentSearchList(0);
17
+ currentVersion = (_a = current === null || current === void 0 ? void 0 : current.version) !== null && _a !== void 0 ? _a : 0;
18
+ }
19
+ catch (_d) {
20
+ currentVersion = 0;
21
+ }
22
+ }
23
+ const params = {
24
+ list_recent: (_b = options.listRecent) !== null && _b !== void 0 ? _b : [],
25
+ version: currentVersion,
26
+ list_keyword: (_c = options.listKeyword) !== null && _c !== void 0 ? _c : [],
27
+ imei: ctx.imei,
28
+ };
29
+ const encryptedParams = utils.encodeAES(JSON.stringify(params));
30
+ if (!encryptedParams) {
31
+ throw new ZaloApiError("Failed to encrypt params");
32
+ }
33
+ const response = await utils.request(serviceURL, {
34
+ method: "POST",
35
+ body: new URLSearchParams({
36
+ params: encryptedParams,
37
+ }),
38
+ });
39
+ return utils.resolve(response);
40
+ };
41
+ });
@@ -0,0 +1,14 @@
1
+ import type { GetCloudViewerKeyResponse } from "./getCloudViewerKey.js";
2
+ export type VerifyCloudMediaOptions = {
3
+ lastNoiseId?: string;
4
+ loadType?: number;
5
+ listNoiseIds?: string[];
6
+ trackingSource?: number;
7
+ };
8
+ export type VerifyCloudMediaResponse = {
9
+ lastNoiseId: string;
10
+ hasMore: number;
11
+ mediaItems: Record<string, unknown>[];
12
+ listVerifyNoiseIds: string[];
13
+ };
14
+ export declare const verifyCloudMediaFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (options?: VerifyCloudMediaOptions, viewerKeyInfo?: GetCloudViewerKeyResponse) => Promise<VerifyCloudMediaResponse>;
@@ -0,0 +1,43 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory, decryptZCloudAES, encryptZCloudAES } from "../utils.js";
3
+ export const verifyCloudMediaFactory = apiFactory()((api, _ctx, utils) => {
4
+ var _a;
5
+ const baseDomain = ((_a = api.zpwServiceMap.zcloud) === null || _a === void 0 ? void 0 : _a[0]) || "https://zcld.chat.zalo.me";
6
+ const serviceURL = utils.makeURL(`${baseDomain}/cloudmedia/queue/pc/verify`);
7
+ /**
8
+ * Kiểm tra và lấy danh sách mục Media lưu trữ trên ZCloud (command 12740 / 12761)
9
+ *
10
+ * @param options Tùy chọn truy vấn (`lastNoiseId`, `loadType`, `listNoiseIds`, `trackingSource`)
11
+ * @param viewerKeyInfo (Tùy chọn) Cặp `{ viewer_key, enk }` từ `api.getCloudViewerKey()`.
12
+ * @throws {ZaloApiError}
13
+ */
14
+ return async function verifyCloudMedia(options = {}, viewerKeyInfo) {
15
+ var _a, _b, _c, _d;
16
+ const keyInfo = viewerKeyInfo !== null && viewerKeyInfo !== void 0 ? viewerKeyInfo : (await api.getCloudViewerKey());
17
+ if (!(keyInfo === null || keyInfo === void 0 ? void 0 : keyInfo.viewer_key) || !(keyInfo === null || keyInfo === void 0 ? void 0 : keyInfo.enk)) {
18
+ throw new ZaloApiError("Invalid CloudViewerKey");
19
+ }
20
+ const payload = {
21
+ lastNoiseId: (_a = options.lastNoiseId) !== null && _a !== void 0 ? _a : "",
22
+ loadType: (_b = options.loadType) !== null && _b !== void 0 ? _b : 0,
23
+ listNoiseIds: (_c = options.listNoiseIds) !== null && _c !== void 0 ? _c : [],
24
+ tracking_source: (_d = options.trackingSource) !== null && _d !== void 0 ? _d : 0,
25
+ };
26
+ const encryptedParams = encryptZCloudAES(JSON.stringify(payload), keyInfo.enk);
27
+ const response = await utils.request(utils.makeURL(serviceURL, { params: encryptedParams }), {
28
+ method: "GET",
29
+ headers: {
30
+ "cloud-viewer-key": keyInfo.viewer_key,
31
+ },
32
+ });
33
+ const json = (await response.json());
34
+ if (json.error_code !== 0 && json.error_code !== -904) {
35
+ throw new ZaloApiError(json.error_message || "verifyCloudMedia failed", json.error_code);
36
+ }
37
+ if (!json.data) {
38
+ throw new ZaloApiError("Empty verifyCloudMedia response", json.error_code);
39
+ }
40
+ const decrypted = decryptZCloudAES(json.data, keyInfo.enk);
41
+ return JSON.parse(decrypted);
42
+ };
43
+ });
@@ -0,0 +1,4 @@
1
+ export type VoiceToTextResponse = {
2
+ req_id: string;
3
+ };
4
+ export declare const voiceToTextFactory: (ctx: import("../context.js").ContextBase, api: import("../apis.js").API) => (voiceUrl: string) => Promise<VoiceToTextResponse>;
@@ -0,0 +1,30 @@
1
+ import { ZaloApiError } from "../Errors/ZaloApiError.js";
2
+ import { apiFactory } from "../utils.js";
3
+ export const voiceToTextFactory = apiFactory()((api, _ctx, utils) => {
4
+ var _a;
5
+ const baseDomain = ((_a = api.zpwServiceMap.ai_features) === null || _a === void 0 ? void 0 : _a[0]) || "https://tt-ai-features-wpa.chat.zalo.me";
6
+ const serviceURL = utils.makeURL(`${baseDomain}/api/aifeatures/voice2text`);
7
+ /**
8
+ * Gửi yêu cầu chuyển đổi tin nhắn thoại sang văn bản bằng Zalo AI (command 13394).
9
+ * Kết quả văn bản sau khi xử lý xong sẽ được đẩy về qua sự kiện `api.listener.on("voice2text_event", ...)` khớp với `req_id`.
10
+ *
11
+ * @param voiceUrl Đường dẫn URL của tệp ghi âm tin nhắn thoại (`.aac` / `.mp3` / `.m4a`)
12
+ * @throws {ZaloApiError}
13
+ */
14
+ return async function voiceToText(voiceUrl) {
15
+ if (!voiceUrl) {
16
+ throw new ZaloApiError("Missing voiceUrl");
17
+ }
18
+ const encryptedParams = utils.encodeAES(JSON.stringify({ url: voiceUrl }));
19
+ if (!encryptedParams) {
20
+ throw new ZaloApiError("Failed to encrypt params");
21
+ }
22
+ const response = await utils.request(serviceURL, {
23
+ method: "POST",
24
+ body: new URLSearchParams({
25
+ params: encryptedParams,
26
+ }),
27
+ });
28
+ return utils.resolve(response);
29
+ };
30
+ });
package/dist/apis.d.ts CHANGED
@@ -16,6 +16,7 @@ import { changeFriendAliasFactory } from "./apis/changeFriendAlias.js";
16
16
  import { changeGroupAvatarFactory } from "./apis/changeGroupAvatar.js";
17
17
  import { changeGroupNameFactory } from "./apis/changeGroupName.js";
18
18
  import { changeGroupOwnerFactory } from "./apis/changeGroupOwner.js";
19
+ import { clearUnreadFriendRequestsFactory } from "./apis/clearUnreadFriendRequests.js";
19
20
  import { createAutoReplyFactory } from "./apis/createAutoReply.js";
20
21
  import { createBankAccountFactory } from "./apis/createBankAccount.js";
21
22
  import { createCatalogFactory } from "./apis/createCatalog.js";
@@ -39,12 +40,14 @@ import { downloadTransferSyncFactory } from "./apis/downloadTransferSync.js";
39
40
  import { editNoteFactory } from "./apis/editNote.js";
40
41
  import { editReminderFactory } from "./apis/editReminder.js";
41
42
  import { enableGroupLinkFactory } from "./apis/enableGroupLink.js";
43
+ import { encryptGidsFactory } from "./apis/encryptGids.js";
42
44
  import { endVoiceCallFactory } from "./apis/endVoiceCall.js";
43
45
  import { fetchAccountInfoFactory } from "./apis/fetchAccountInfo.js";
44
46
  import { findUserFactory } from "./apis/findUser.js";
45
47
  import { findUserByUsernameFactory } from "./apis/findUserByUsername.js";
46
48
  import { forwardMessageFactory } from "./apis/forwardMessage.js";
47
49
  import { getAliasListFactory } from "./apis/getAliasList.js";
50
+ import { getAliasListV2Factory } from "./apis/getAliasListV2.js";
48
51
  import { getAllFriendsFactory } from "./apis/getAllFriends.js";
49
52
  import { getAllGroupsFactory } from "./apis/getAllGroups.js";
50
53
  import { getArchivedChatListFactory } from "./apis/getArchivedChatList.js";
@@ -53,17 +56,30 @@ import { getAutoReplyListFactory } from "./apis/getAutoReplyList.js";
53
56
  import { getAvatarListFactory } from "./apis/getAvatarList.js";
54
57
  import { getAvatarUrlProfileFactory } from "./apis/getAvatarUrlProfile.js";
55
58
  import { getBizAccountFactory } from "./apis/getBizAccount.js";
59
+ import { getBlockFriendsFactory } from "./apis/getBlockFriends.js";
56
60
  import { getCatalogListFactory } from "./apis/getCatalogList.js";
57
61
  import { getCloseFriendsFactory } from "./apis/getCloseFriends.js";
62
+ import { getCloudInfoFactory } from "./apis/getCloudInfo.js";
63
+ import { getCloudSettingsFactory } from "./apis/getCloudSettings.js";
64
+ import { getCloudViewerKeyFactory } from "./apis/getCloudViewerKey.js";
58
65
  import { getContextFactory } from "./apis/getContext.js";
66
+ import { getConversationMediaFactory } from "./apis/getConversationMedia.js";
59
67
  import { getCookieFactory } from "./apis/getCookie.js";
68
+ import { getEmojiStatusConfigFactory } from "./apis/getEmojiStatusConfig.js";
69
+ import { getExtraFriendInfoFactory } from "./apis/getExtraFriendInfo.js";
70
+ import { getExtraGroupInfoFactory } from "./apis/getExtraGroupInfo.js";
71
+ import { getFamilyProfileFactory } from "./apis/getFamilyProfile.js";
72
+ import { getFamilyUsageFactory } from "./apis/getFamilyUsage.js";
73
+ import { getFamilyViewerKeyFactory } from "./apis/getFamilyViewerKey.js";
60
74
  import { getFriendBoardListFactory } from "./apis/getFriendBoardList.js";
61
75
  import { getFriendOnlinesFactory } from "./apis/getFriendOnlines.js";
62
76
  import { getFriendRecommendationsFactory } from "./apis/getFriendRecommendations.js";
63
77
  import { getFriendRequestStatusFactory } from "./apis/getFriendRequestStatus.js";
78
+ import { getFriendsEmojiStatusFactory } from "./apis/getFriendsEmojiStatus.js";
64
79
  import { getFullAvatarFactory } from "./apis/getFullAvatar.js";
65
80
  import { getGroupBlockedMemberFactory } from "./apis/getGroupBlockedMember.js";
66
81
  import { getGroupChatHistoryFactory } from "./apis/getGroupChatHistory.js";
82
+ import { getGroupCloudMessageJumpFactory } from "./apis/getGroupCloudMessageJump.js";
67
83
  import { getGroupInfoFactory } from "./apis/getGroupInfo.js";
68
84
  import { getGroupInviteBoxInfoFactory } from "./apis/getGroupInviteBoxInfo.js";
69
85
  import { getGroupInviteBoxListFactory } from "./apis/getGroupInviteBoxList.js";
@@ -72,31 +88,50 @@ import { getGroupLinkInfoFactory } from "./apis/getGroupLinkInfo.js";
72
88
  import { getGroupMembersInfoFactory } from "./apis/getGroupMembersInfo.js";
73
89
  import { getHiddenConversationsFactory } from "./apis/getHiddenConversations.js";
74
90
  import { getLabelsFactory } from "./apis/getLabels.js";
91
+ import { getLastReadContactTabFactory } from "./apis/getLastReadContactTab.js";
92
+ import { getLastSeenFactory } from "./apis/getLastSeen.js";
93
+ import { getLastSeenReactionFactory } from "./apis/getLastSeenReaction.js";
75
94
  import { getListBankFactory } from "./apis/getListBank.js";
76
95
  import { getListBankAccountFactory } from "./apis/getListBankAccount.js";
77
96
  import { getListBoardFactory } from "./apis/getListBoard.js";
78
97
  import { getListDeviceFactory } from "./apis/getListDevice.js";
98
+ import { getListPinTopicsFactory } from "./apis/getListPinTopics.js";
79
99
  import { getListReminderFactory } from "./apis/getListReminder.js";
100
+ import { getMediaStorePreviewFactory } from "./apis/getMediaStorePreview.js";
101
+ import { getMiniProfileFactory } from "./apis/getMiniProfile.js";
80
102
  import { getMultiUsersByPhonesFactory } from "./apis/getMultiUsersByPhones.js";
81
103
  import { getMuteFactory } from "./apis/getMute.js";
82
104
  import { getNoisedIdsFactory } from "./apis/getNoisedIds.js";
83
105
  import { getOwnIdFactory } from "./apis/getOwnId.js";
84
106
  import { getPendingGroupMembersFactory } from "./apis/getPendingGroupMembers.js";
107
+ import { getPersonalizedStickerListFactory } from "./apis/getPersonalizedStickerList.js";
108
+ import { getPhonebookV2Factory } from "./apis/getPhonebookV2.js";
85
109
  import { getPinConversationsFactory } from "./apis/getPinConversations.js";
86
110
  import { getPollDetailFactory } from "./apis/getPollDetail.js";
87
111
  import { getProductCatalogListFactory } from "./apis/getProductCatalogList.js";
112
+ import { getProfileRankFactory } from "./apis/getProfileRank.js";
113
+ import { getProfileVerificationStatusFactory } from "./apis/getProfileVerificationStatus.js";
88
114
  import { getQRFactory } from "./apis/getQR.js";
89
115
  import { getQuickMessageListFactory } from "./apis/getQuickMessageList.js";
116
+ import { getQuotaCommunityFactory } from "./apis/getQuotaCommunity.js";
117
+ import { getRecentSearchListFactory } from "./apis/getRecentSearchList.js";
90
118
  import { getRelatedFriendGroupFactory } from "./apis/getRelatedFriendGroup.js";
91
119
  import { getReminderFactory } from "./apis/getReminder.js";
92
120
  import { getReminderResponsesFactory } from "./apis/getReminderResponses.js";
93
121
  import { getSentFriendRequestFactory } from "./apis/getSentFriendRequest.js";
94
122
  import { getSettingsFactory } from "./apis/getSettings.js";
123
+ import { getStickerCategoriesV2Factory } from "./apis/getStickerCategoriesV2.js";
124
+ import { getStickerCategoryDataFactory } from "./apis/getStickerCategoryData.js";
95
125
  import { getStickerCategoryDetailFactory } from "./apis/getStickerCategoryDetail.js";
126
+ import { getStickerHelloFactory } from "./apis/getStickerHello.js";
127
+ import { getStickerSuggestKeywordsFactory } from "./apis/getStickerSuggestKeywords.js";
128
+ import { getStickerSuggestionFactory } from "./apis/getStickerSuggestion.js";
96
129
  import { getStickersFactory } from "./apis/getStickers.js";
97
130
  import { getStickersDetailFactory } from "./apis/getStickersDetail.js";
98
131
  import { getSyncDataFactory } from "./apis/getSyncData.js";
99
132
  import { getUnreadMarkFactory } from "./apis/getUnreadMark.js";
133
+ import { getUsageMyCloudFactory } from "./apis/getUsageMyCloud.js";
134
+ import { getUsageZCloudFactory } from "./apis/getUsageZCloud.js";
100
135
  import { getUserInfoFactory } from "./apis/getUserInfo.js";
101
136
  import { inviteUserToGroupsFactory } from "./apis/inviteUserToGroups.js";
102
137
  import { joinGroupInviteBoxFactory } from "./apis/joinGroupInviteBox.js";
@@ -109,8 +144,10 @@ import { lostFocusFactory } from "./apis/lostFocus.js";
109
144
  import { parseLinkFactory } from "./apis/parseLink.js";
110
145
  import { preloadConversationsFactory } from "./apis/preloadConversations.js";
111
146
  import { pullMobileFactory } from "./apis/pullMobile.js";
147
+ import { readContactTabFactory } from "./apis/readContactTab.js";
112
148
  import { registerCatalogFactory } from "./apis/registerCatalog.js";
113
149
  import { rejectFriendRequestFactory } from "./apis/rejectFriendRequest.js";
150
+ import { removeConversationMediaFactory } from "./apis/removeConversationMedia.js";
114
151
  import { removeFriendFactory } from "./apis/removeFriend.js";
115
152
  import { removeFriendAliasFactory } from "./apis/removeFriendAlias.js";
116
153
  import { removeGroupBlockedMemberFactory } from "./apis/removeGroupBlockedMember.js";
@@ -145,6 +182,7 @@ import { sharePollFactory } from "./apis/sharePoll.js";
145
182
  import { unblockUserFactory } from "./apis/unblockUser.js";
146
183
  import { undoFactory } from "./apis/undo.js";
147
184
  import { undoFriendRequestFactory } from "./apis/undoFriendRequest.js";
185
+ import { undoMultiMessageFactory } from "./apis/undoMultiMessage.js";
148
186
  import { updateActiveStatusFactory } from "./apis/updateActiveStatus.js";
149
187
  import { updateArchivedChatListFactory } from "./apis/updateArchivedChatList.js";
150
188
  import { updateAutoDeleteChatFactory } from "./apis/updateAutoDeleteChat.js";
@@ -159,10 +197,13 @@ import { updateProductCatalogFactory } from "./apis/updateProductCatalog.js";
159
197
  import { updateProfileFactory } from "./apis/updateProfile.js";
160
198
  import { updateProfileBioFactory } from "./apis/updateProfileBio.js";
161
199
  import { updateQuickMessageFactory } from "./apis/updateQuickMessage.js";
200
+ import { updateRecentSearchFactory } from "./apis/updateRecentSearch.js";
162
201
  import { updateSettingsFactory } from "./apis/updateSettings.js";
163
202
  import { upgradeGroupToCommunityFactory } from "./apis/upgradeGroupToCommunity.js";
164
203
  import { uploadAttachmentFactory } from "./apis/uploadAttachment.js";
165
204
  import { uploadProductPhotoFactory } from "./apis/uploadProductPhoto.js";
205
+ import { verifyCloudMediaFactory } from "./apis/verifyCloudMedia.js";
206
+ import { voiceToTextFactory } from "./apis/voiceToText.js";
166
207
  import { votePollFactory } from "./apis/votePoll.js";
167
208
  import { customFactory } from "./apis/custom.js";
168
209
  import type { ZPWServiceMap, ContextSession } from "./context.js";
@@ -186,6 +227,7 @@ export declare class API {
186
227
  changeGroupAvatar: ReturnType<typeof changeGroupAvatarFactory>;
187
228
  changeGroupName: ReturnType<typeof changeGroupNameFactory>;
188
229
  changeGroupOwner: ReturnType<typeof changeGroupOwnerFactory>;
230
+ clearUnreadFriendRequests: ReturnType<typeof clearUnreadFriendRequestsFactory>;
189
231
  createAutoReply: ReturnType<typeof createAutoReplyFactory>;
190
232
  createBankAccount: ReturnType<typeof createBankAccountFactory>;
191
233
  createCatalog: ReturnType<typeof createCatalogFactory>;
@@ -209,12 +251,14 @@ export declare class API {
209
251
  editNote: ReturnType<typeof editNoteFactory>;
210
252
  editReminder: ReturnType<typeof editReminderFactory>;
211
253
  enableGroupLink: ReturnType<typeof enableGroupLinkFactory>;
254
+ encryptGids: ReturnType<typeof encryptGidsFactory>;
212
255
  endVoiceCall: ReturnType<typeof endVoiceCallFactory>;
213
256
  fetchAccountInfo: ReturnType<typeof fetchAccountInfoFactory>;
214
257
  findUser: ReturnType<typeof findUserFactory>;
215
258
  findUserByUsername: ReturnType<typeof findUserByUsernameFactory>;
216
259
  forwardMessage: ReturnType<typeof forwardMessageFactory>;
217
260
  getAliasList: ReturnType<typeof getAliasListFactory>;
261
+ getAliasListV2: ReturnType<typeof getAliasListV2Factory>;
218
262
  getAllFriends: ReturnType<typeof getAllFriendsFactory>;
219
263
  getAllGroups: ReturnType<typeof getAllGroupsFactory>;
220
264
  getArchivedChatList: ReturnType<typeof getArchivedChatListFactory>;
@@ -223,17 +267,30 @@ export declare class API {
223
267
  getAvatarList: ReturnType<typeof getAvatarListFactory>;
224
268
  getAvatarUrlProfile: ReturnType<typeof getAvatarUrlProfileFactory>;
225
269
  getBizAccount: ReturnType<typeof getBizAccountFactory>;
270
+ getBlockFriends: ReturnType<typeof getBlockFriendsFactory>;
226
271
  getCatalogList: ReturnType<typeof getCatalogListFactory>;
227
272
  getCloseFriends: ReturnType<typeof getCloseFriendsFactory>;
273
+ getCloudInfo: ReturnType<typeof getCloudInfoFactory>;
274
+ getCloudSettings: ReturnType<typeof getCloudSettingsFactory>;
275
+ getCloudViewerKey: ReturnType<typeof getCloudViewerKeyFactory>;
228
276
  getContext: ReturnType<typeof getContextFactory>;
277
+ getConversationMedia: ReturnType<typeof getConversationMediaFactory>;
229
278
  getCookie: ReturnType<typeof getCookieFactory>;
279
+ getEmojiStatusConfig: ReturnType<typeof getEmojiStatusConfigFactory>;
280
+ getExtraFriendInfo: ReturnType<typeof getExtraFriendInfoFactory>;
281
+ getExtraGroupInfo: ReturnType<typeof getExtraGroupInfoFactory>;
282
+ getFamilyProfile: ReturnType<typeof getFamilyProfileFactory>;
283
+ getFamilyUsage: ReturnType<typeof getFamilyUsageFactory>;
284
+ getFamilyViewerKey: ReturnType<typeof getFamilyViewerKeyFactory>;
230
285
  getFriendBoardList: ReturnType<typeof getFriendBoardListFactory>;
231
286
  getFriendOnlines: ReturnType<typeof getFriendOnlinesFactory>;
232
287
  getFriendRecommendations: ReturnType<typeof getFriendRecommendationsFactory>;
233
288
  getFriendRequestStatus: ReturnType<typeof getFriendRequestStatusFactory>;
289
+ getFriendsEmojiStatus: ReturnType<typeof getFriendsEmojiStatusFactory>;
234
290
  getFullAvatar: ReturnType<typeof getFullAvatarFactory>;
235
291
  getGroupBlockedMember: ReturnType<typeof getGroupBlockedMemberFactory>;
236
292
  getGroupChatHistory: ReturnType<typeof getGroupChatHistoryFactory>;
293
+ getGroupCloudMessageJump: ReturnType<typeof getGroupCloudMessageJumpFactory>;
237
294
  getGroupInfo: ReturnType<typeof getGroupInfoFactory>;
238
295
  getGroupInviteBoxInfo: ReturnType<typeof getGroupInviteBoxInfoFactory>;
239
296
  getGroupInviteBoxList: ReturnType<typeof getGroupInviteBoxListFactory>;
@@ -242,31 +299,50 @@ export declare class API {
242
299
  getGroupMembersInfo: ReturnType<typeof getGroupMembersInfoFactory>;
243
300
  getHiddenConversations: ReturnType<typeof getHiddenConversationsFactory>;
244
301
  getLabels: ReturnType<typeof getLabelsFactory>;
302
+ getLastReadContactTab: ReturnType<typeof getLastReadContactTabFactory>;
303
+ getLastSeen: ReturnType<typeof getLastSeenFactory>;
304
+ getLastSeenReaction: ReturnType<typeof getLastSeenReactionFactory>;
245
305
  getListBank: ReturnType<typeof getListBankFactory>;
246
306
  getListBankAccount: ReturnType<typeof getListBankAccountFactory>;
247
307
  getListBoard: ReturnType<typeof getListBoardFactory>;
248
308
  getListDevice: ReturnType<typeof getListDeviceFactory>;
309
+ getListPinTopics: ReturnType<typeof getListPinTopicsFactory>;
249
310
  getListReminder: ReturnType<typeof getListReminderFactory>;
311
+ getMediaStorePreview: ReturnType<typeof getMediaStorePreviewFactory>;
312
+ getMiniProfile: ReturnType<typeof getMiniProfileFactory>;
250
313
  getMultiUsersByPhones: ReturnType<typeof getMultiUsersByPhonesFactory>;
251
314
  getMute: ReturnType<typeof getMuteFactory>;
252
315
  getNoisedIds: ReturnType<typeof getNoisedIdsFactory>;
253
316
  getOwnId: ReturnType<typeof getOwnIdFactory>;
254
317
  getPendingGroupMembers: ReturnType<typeof getPendingGroupMembersFactory>;
318
+ getPersonalizedStickerList: ReturnType<typeof getPersonalizedStickerListFactory>;
319
+ getPhonebookV2: ReturnType<typeof getPhonebookV2Factory>;
255
320
  getPinConversations: ReturnType<typeof getPinConversationsFactory>;
256
321
  getPollDetail: ReturnType<typeof getPollDetailFactory>;
257
322
  getProductCatalogList: ReturnType<typeof getProductCatalogListFactory>;
323
+ getProfileRank: ReturnType<typeof getProfileRankFactory>;
324
+ getProfileVerificationStatus: ReturnType<typeof getProfileVerificationStatusFactory>;
258
325
  getQR: ReturnType<typeof getQRFactory>;
259
326
  getQuickMessageList: ReturnType<typeof getQuickMessageListFactory>;
327
+ getQuotaCommunity: ReturnType<typeof getQuotaCommunityFactory>;
328
+ getRecentSearchList: ReturnType<typeof getRecentSearchListFactory>;
260
329
  getRelatedFriendGroup: ReturnType<typeof getRelatedFriendGroupFactory>;
261
330
  getReminder: ReturnType<typeof getReminderFactory>;
262
331
  getReminderResponses: ReturnType<typeof getReminderResponsesFactory>;
263
332
  getSentFriendRequest: ReturnType<typeof getSentFriendRequestFactory>;
264
333
  getSettings: ReturnType<typeof getSettingsFactory>;
334
+ getStickerCategoriesV2: ReturnType<typeof getStickerCategoriesV2Factory>;
335
+ getStickerCategoryData: ReturnType<typeof getStickerCategoryDataFactory>;
265
336
  getStickerCategoryDetail: ReturnType<typeof getStickerCategoryDetailFactory>;
337
+ getStickerHello: ReturnType<typeof getStickerHelloFactory>;
338
+ getStickerSuggestKeywords: ReturnType<typeof getStickerSuggestKeywordsFactory>;
339
+ getStickerSuggestion: ReturnType<typeof getStickerSuggestionFactory>;
266
340
  getStickers: ReturnType<typeof getStickersFactory>;
267
341
  getStickersDetail: ReturnType<typeof getStickersDetailFactory>;
268
342
  getSyncData: ReturnType<typeof getSyncDataFactory>;
269
343
  getUnreadMark: ReturnType<typeof getUnreadMarkFactory>;
344
+ getUsageMyCloud: ReturnType<typeof getUsageMyCloudFactory>;
345
+ getUsageZCloud: ReturnType<typeof getUsageZCloudFactory>;
270
346
  getUserInfo: ReturnType<typeof getUserInfoFactory>;
271
347
  inviteUserToGroups: ReturnType<typeof inviteUserToGroupsFactory>;
272
348
  joinGroupInviteBox: ReturnType<typeof joinGroupInviteBoxFactory>;
@@ -279,8 +355,10 @@ export declare class API {
279
355
  parseLink: ReturnType<typeof parseLinkFactory>;
280
356
  preloadConversations: ReturnType<typeof preloadConversationsFactory>;
281
357
  pullMobile: ReturnType<typeof pullMobileFactory>;
358
+ readContactTab: ReturnType<typeof readContactTabFactory>;
282
359
  registerCatalog: ReturnType<typeof registerCatalogFactory>;
283
360
  rejectFriendRequest: ReturnType<typeof rejectFriendRequestFactory>;
361
+ removeConversationMedia: ReturnType<typeof removeConversationMediaFactory>;
284
362
  removeFriend: ReturnType<typeof removeFriendFactory>;
285
363
  removeFriendAlias: ReturnType<typeof removeFriendAliasFactory>;
286
364
  removeGroupBlockedMember: ReturnType<typeof removeGroupBlockedMemberFactory>;
@@ -315,6 +393,7 @@ export declare class API {
315
393
  unblockUser: ReturnType<typeof unblockUserFactory>;
316
394
  undo: ReturnType<typeof undoFactory>;
317
395
  undoFriendRequest: ReturnType<typeof undoFriendRequestFactory>;
396
+ undoMultiMessage: ReturnType<typeof undoMultiMessageFactory>;
318
397
  updateActiveStatus: ReturnType<typeof updateActiveStatusFactory>;
319
398
  updateArchivedChatList: ReturnType<typeof updateArchivedChatListFactory>;
320
399
  updateAutoDeleteChat: ReturnType<typeof updateAutoDeleteChatFactory>;
@@ -329,10 +408,13 @@ export declare class API {
329
408
  updateProfile: ReturnType<typeof updateProfileFactory>;
330
409
  updateProfileBio: ReturnType<typeof updateProfileBioFactory>;
331
410
  updateQuickMessage: ReturnType<typeof updateQuickMessageFactory>;
411
+ updateRecentSearch: ReturnType<typeof updateRecentSearchFactory>;
332
412
  updateSettings: ReturnType<typeof updateSettingsFactory>;
333
413
  upgradeGroupToCommunity: ReturnType<typeof upgradeGroupToCommunityFactory>;
334
414
  uploadAttachment: ReturnType<typeof uploadAttachmentFactory>;
335
415
  uploadProductPhoto: ReturnType<typeof uploadProductPhotoFactory>;
416
+ verifyCloudMedia: ReturnType<typeof verifyCloudMediaFactory>;
417
+ voiceToText: ReturnType<typeof voiceToTextFactory>;
336
418
  votePoll: ReturnType<typeof votePollFactory>;
337
419
  custom: ReturnType<typeof customFactory>;
338
420
  constructor(ctx: ContextSession, zpwServiceMap: ZPWServiceMap, wsUrls: string[]);