UNPKG

@larksuiteoapi/lark-mcp

Version:
606 lines 145 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.imV1MessageUrgentSms = exports.imV1MessageUrgentPhone = exports.imV1MessageUrgentApp = exports.imV1MessageUpdate = exports.imV1MessageReply = exports.imV1MessageReadUsers = exports.imV1MessageReactionList = exports.imV1MessageReactionDelete = exports.imV1MessageReactionCreate = exports.imV1MessagePushFollowUp = exports.imV1MessagePatch = exports.imV1MessageMergeForward = exports.imV1MessageList = exports.imV1MessageGet = exports.imV1MessageForward = exports.imV1MessageDelete = exports.imV1MessageCreate = exports.imV1ChatUpdate = exports.imV1ChatTopNoticePutTopNotice = exports.imV1ChatTopNoticeDeleteTopNotice = exports.imV1ChatTabUpdateTabs = exports.imV1ChatTabSortTabs = exports.imV1ChatTabListTabs = exports.imV1ChatTabDeleteTabs = exports.imV1ChatTabCreate = exports.imV1ChatSearch = exports.imV1ChatModerationUpdate = exports.imV1ChatModerationGet = exports.imV1ChatMenuTreeSort = exports.imV1ChatMenuTreeGet = exports.imV1ChatMenuTreeDelete = exports.imV1ChatMenuTreeCreate = exports.imV1ChatMenuItemPatch = exports.imV1ChatMembersMeJoin = exports.imV1ChatMembersIsInChat = exports.imV1ChatMembersGet = exports.imV1ChatMembersDelete = exports.imV1ChatMembersCreate = exports.imV1ChatManagersDeleteManagers = exports.imV1ChatManagersAddManagers = exports.imV1ChatList = exports.imV1ChatLink = exports.imV1ChatGet = exports.imV1ChatDelete = exports.imV1ChatCreate = exports.imV1ChatAnnouncementPatch = exports.imV1ChatAnnouncementGet = exports.imV1BatchMessageReadUser = exports.imV1BatchMessageGetProgress = exports.imV1BatchMessageDelete = void 0; exports.imV1Tools = exports.imV1ThreadForward = exports.imV1PinList = exports.imV1PinDelete = exports.imV1PinCreate = void 0; const zod_1 = require("zod"); exports.imV1BatchMessageDelete = { project: 'im', name: 'im.v1.batchMessage.delete', sdkName: 'im.v1.batchMessage.delete', path: '/open-apis/im/v1/batch_messages/:batch_message_id', httpMethod: 'DELETE', description: '[Feishu/Lark]-Messaging-Batch message-Recall messages in batches-This interface is used to withdraw messages sent through the [batch send message] interface', accessTokens: ['tenant'], schema: { path: zod_1.z.object({ batch_message_id: zod_1.z .string() .describe('The ID of the batch message task to be withdrawn. The ID is the `message_id` field in the return value of the [Batch Send Messages] interface, which is used to identify a batch message sending request'), }), }, }; exports.imV1BatchMessageGetProgress = { project: 'im', name: 'im.v1.batchMessage.getProgress', sdkName: 'im.v1.batchMessage.getProgress', path: '/open-apis/im/v1/batch_messages/:batch_message_id/get_progress', httpMethod: 'GET', description: '[Feishu/Lark]-Messaging-Batch message-Query the overall progress of a batch message-After [send batch messages] or [recall batch messages], you can use this interface to query the message send and recall progress', accessTokens: ['tenant'], schema: { path: zod_1.z.object({ batch_message_id: zod_1.z .string() .describe('The batch message task ID to be queried. This ID is the `message_id` field in the return value of the [Batch Send Messages] interface, which is used to identify a batch message sending request'), }), }, }; exports.imV1BatchMessageReadUser = { project: 'im', name: 'im.v1.batchMessage.readUser', sdkName: 'im.v1.batchMessage.readUser', path: '/open-apis/im/v1/batch_messages/:batch_message_id/read_user', httpMethod: 'GET', description: '[Feishu/Lark]-Messaging-Batch message-Query the number of pushers and readers of batch messages-After [sending messages in batches], you can use this interface to query the total number of people who have received the message push and the number of people who have read the message', accessTokens: ['tenant'], schema: { path: zod_1.z.object({ batch_message_id: zod_1.z .string() .describe('The batch message task ID to be queried. This ID is the `message_id` field in the return value of the [Batch Send Messages] interface, which is used to identify a batch message sending request'), }), }, }; exports.imV1ChatAnnouncementGet = { project: 'im', name: 'im.v1.chatAnnouncement.get', sdkName: 'im.v1.chatAnnouncement.get', path: '/open-apis/im/v1/chats/:chat_id/announcement', httpMethod: 'GET', description: '[Feishu/Lark]-Group Chat-Group announcement-Obtain group announcement information-Obtains the group announcement in a chat, with the same format as [Docs]', accessTokens: ['tenant', 'user'], schema: { params: zod_1.z .object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional() }) .optional(), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or robot is in] interface to query the chat_id of the group that the user or robot is in.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Note**: Single chat (group type is `p2p`) does not support getting group announcements'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatAnnouncementPatch = { project: 'im', name: 'im.v1.chatAnnouncement.patch', sdkName: 'im.v1.chatAnnouncement.patch', path: '/open-apis/im/v1/chats/:chat_id/announcement', httpMethod: 'PATCH', description: '[Feishu/Lark]-Group Chat-Group announcement-Update group announcement info-Updates the group announcement information in a chat, with the same format as [Docs], newer document formats are not supported', accessTokens: ['tenant', 'user'], schema: { data: zod_1.z.object({ revision: zod_1.z .string() .describe('int64 type of the current document version number, which is returned by calling the "get" API.**Note**:The difference between the incoming version number and the latest version number cannot exceed 100'), requests: zod_1.z .array(zod_1.z.string()) .describe('Announcement content. This parameter must be passed in when calling the interface. The format of the announcement content is the same as the format of updating the old version of the document content. For the specific data structure, refer to [Edit the old version of the document content]') .optional(), }), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or robot is in] interface to query the chat_id of the group that the user or robot is in.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Note**: Single chat (group type is `p2p`) does not support updating group announcements'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatCreate = { project: 'im', name: 'im.v1.chat.create', sdkName: 'im.v1.chat.create', path: '/open-apis/im/v1/chats', httpMethod: 'POST', description: '[Feishu/Lark]-Group Chat-Group management-Create a group-Create a group chat. When creating a group chat, you can set the group avatar, group name, group owner, group type and other configurations. You can also invite group members and group bots to join the group', accessTokens: ['tenant'], schema: { data: zod_1.z .object({ avatar: zod_1.z .string() .describe('Image Key of group avatar- Can be obtained by [upload image] (Note: ==image_type== of uploaded image needs to be specified as ==avatar==)- If no value is passed, the system default avatar will be used') .optional(), name: zod_1.z .string() .describe('Group name**Notes**:- It is recommended that the group name does not exceed 60 characters.- The length of the public group name must be at least 2 characters.- If the private group does not fill in the group name, the group name defaults to "`(no titile)`"') .optional(), description: zod_1.z .string() .describe('Group description. Recommended not to exceed 100 characters.**Default value**: empty') .optional(), i18n_names: zod_1.z .object({ zh_cn: zod_1.z.string().describe('Chinese name').optional(), en_us: zod_1.z.string().describe('English name').optional(), ja_jp: zod_1.z.string().describe('Japanese name').optional(), }) .describe('Internationalized group name**Notice**:- It is recommended not to exceed 60 characters- If you do not set an internationalized name, the name corresponding to the `name` parameter will be displayed by default') .optional(), owner_id: zod_1.z .string() .describe('The group owner specified when a group was created. If the field is left empty, the bot that created the group will be specified as the owner. The group owner ID value corresponds to ==user_id_type== in the query parameter. Open ID is recommended here. For details, refer to [How to get Open ID?]**Note**: When a robot with external sharing capability is enabled, it cannot be the group owner when creating an external group. A user must be designated as the group owner. In addition, when adding external users to a group, the external users must be friends with the group owner on Feishu') .optional(), user_id_list: zod_1.z .array(zod_1.z.string()) .describe("Group members invited when creating the group. The ID type is specified in the query parameter ==user_id_type==. Open ID is recommended here. For details, refer to [How to get Open ID?]**Note**: - Up to 50 users can be invited at the same time.- To facilitate viewing the effect on the client, it is recommended to add the developer's own ID when debugging the API.- If you need to invite external users to create an external group, the external users must be friends with the group owner on Feishu.- To obtain the open_id of an external user, refer to [Obtaining the open_id of an external user]") .optional(), bot_id_list: zod_1.z .array(zod_1.z.string()) .describe('Group robots invited when creating a group. For more information, please refer to [How to Obtain App ID ?] to get the App ID of the application.**Notes**:- The Bot operating this API will automatically join the group, no need to fill in again.- Please use `app_id` to invite the bot into the group.- At most 5 bots can be invited at the same time, and the number of bots in the group after invitation cannot exceed 15') .optional(), group_message_type: zod_1.z .enum(['chat', 'thread']) .describe('group message type Options:chat(chat),thread(thread)') .optional(), chat_mode: zod_1.z.string().describe('Group mode**Optional values are**:- `group`: A group').optional(), chat_type: zod_1.z .string() .describe('Group type**Optional values are**:- `private`: A private group- `public`: A public group') .optional(), join_message_visibility: zod_1.z .string() .describe('Visibility of the messages on joining a group**Optional values are**:- `only_owner`: Visible to only the group owner and administrators- `all_members`: Visible to all members- `not_anyone`: Invisible to anyone') .optional(), leave_message_visibility: zod_1.z .string() .describe('Visibility of the messages on leaving a group**Optional values are**:- `only_owner`: Visible to only the group owner and administrators- `all_members`: Visible to all members- `not_anyone`: Invisible to anyone') .optional(), membership_approval: zod_1.z .string() .describe('Group joining approval**Optional values are**:- `no_approval_required`: Approval is not required.- `approval_required`: Approval is required') .optional(), restricted_mode_setting: zod_1.z .object({ status: zod_1.z .boolean() .describe('Whether the restricted mode is enabled**Optional values**:- true: Enabled. When set to true, `screenshot_has_permission_setting`, `download_has_permission_setting`, `message_has_permission_setting` cannot all be `all_members`.- false: Disabled. When set to false, `screenshot_has_permission_setting`, `download_has_permission_setting`, `message_has_permission_setting` cannot have `not_anyone`.**Default value**: false') .optional(), screenshot_has_permission_setting: zod_1.z .enum(['all_members', 'not_anyone']) .describe('Whether to allow screenshots**Default value**: all_members Options:all_members(AllMembers All members allow screenshots),not_anyone(NotAnyone Not anyone allow screenshots)') .optional(), download_has_permission_setting: zod_1.z .enum(['all_members', 'not_anyone']) .describe('Whether to allow downloading pictures, videos and files in messages**Default value**: all_members Options:all_members(AllMembers All members allow downloading pictures, videos and files in messages),not_anyone(NotAnyone Not anyone allow downloading pictures, videos and files in messages)') .optional(), message_has_permission_setting: zod_1.z .enum(['all_members', 'not_anyone']) .describe('Whether to allow copying and forwarding of messages**Default value**: all_members Options:all_members(AllMembers All members allow copying and forwarding of messages),not_anyone(NotAnyone Not anyone allow copying and forwarding of messages)') .optional(), }) .describe('Restricted mode setting**Notice**: Confidentiality mode is applicable to Enterprise Ultimate Edition. For applicable versions and function introduction, please refer to [Session Confidentiality Mode]') .optional(), urgent_setting: zod_1.z .enum(['only_owner', 'all_members']) .describe('Who can buzz others**Default value**: all_members Options:only_owner(Only group owner and admin),all_members(Everyone in this group)') .optional(), video_conference_setting: zod_1.z .enum(['only_owner', 'all_members']) .describe('Who can start video calls**Default value**: all_members Options:only_owner(Only group owner and admin),all_members(Everyone in this group)') .optional(), edit_permission: zod_1.z .enum(['only_owner', 'all_members']) .describe('Who can edit group info**Default value**: all_members Options:only_owner(Only group owner and admin),all_members(Everyone in this group)') .optional(), hide_member_count_setting: zod_1.z .enum(['all_members', 'only_owner']) .describe('Hide member count setting**Default value**: all_members Options:all_members(visible to all group members),only_owner(visible only to group owners and group administrators)') .optional(), }) .optional(), params: zod_1.z .object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(), set_bot_manager: zod_1.z .boolean() .describe('If a user is specified as the group owner in the ==owner_id== field of the request body, you can choose whether to set the bot that created the group as the administrator at the same time. This flag is used to mark whether to set the bot that created the group as the administrator') .optional(), uuid: zod_1.z .string() .describe('A unique string sequence generated by the developer, used to request deduplication requests with the same uuid + owner_id can only successfully create 1 group within 10 hours. If no value is passed, no deduplication of requests will be performed, and a group chat will be created for each successful request') .optional(), }) .optional(), }, }; exports.imV1ChatDelete = { project: 'im', name: 'im.v1.chat.delete', sdkName: 'im.v1.chat.delete', path: '/open-apis/im/v1/chats/:chat_id', httpMethod: 'DELETE', description: '[Feishu/Lark]-Group Chat-Group management-Delete a group-Disband the specified group by chat_id. After disbanding the group through the API, the group chat history will not be saved', accessTokens: ['tenant', 'user'], schema: { path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or robot is in] interface to query the chat_id of the group that the user or robot is in.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Notice**: Only group IDs with group mode of `group` are supported. You can call the [get group information] interface and check whether the value of the `chat_mode` parameter is `group` in the returned result'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatGet = { project: 'im', name: 'im.v1.chat.get', sdkName: 'im.v1.chat.get', path: '/open-apis/im/v1/chats/:chat_id', httpMethod: 'GET', description: '[Feishu/Lark]-Group Chat-Group management-Obtain group information-Obtains basic information such as group name, description, profile photo, and owner ID', accessTokens: ['tenant', 'user'], schema: { params: zod_1.z .object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional() }) .optional(), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to obtain it:- [Create a group], and get the chat_id of the group from the returned result.- Call the [Get the list of groups where the user or bot is] interface to query the chat_id of the group where the user or bot is.- Call the [Search the list of groups visible to the user or bot] to search for the chat_id of the group where the user or bot is and the group that is open to the user or bot'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatLink = { project: 'im', name: 'im.v1.chat.link', sdkName: 'im.v1.chat.link', path: '/open-apis/im/v1/chats/:chat_id/link', httpMethod: 'POST', description: '[Feishu/Lark]-Group Chat-Group management-Get group share link-Get the sharing link of the specified group. Others can join the group after clicking the sharing link', accessTokens: ['tenant', 'user'], schema: { data: zod_1.z .object({ validity_period: zod_1.z .enum(['week', 'year', 'permanently']) .describe('The validity period of the group share link. Options:week(one_week Validity: 7 days),year(one_year Validity: 1 year),permanently(Permanently valid)') .optional(), }) .optional(), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or robot is in] interface to query the chat_id of the group that the user or bot is in.- Call [Search the list of groups visible to the user or robot] to search the chat_id of the group that the user or robot is in and the group that is open to the user or bot.**Note**: Single chat, private chat, and team group do not support sharing group links'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatList = { project: 'im', name: 'im.v1.chat.list', sdkName: 'im.v1.chat.list', path: '/open-apis/im/v1/chats', httpMethod: 'GET', description: '[Feishu/Lark]-Group Chat-Group management-Obtain groups where the user or bot is a member-Get the list of groups where the user or bot represented by [access_token] is a member', accessTokens: ['tenant', 'user'], schema: { params: zod_1.z .object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(), sort_type: zod_1.z .enum(['ByCreateTimeAsc', 'ByActiveTimeDesc']) .describe('Sort type of chat list Options:ByCreateTimeAsc(Sort by group creation time in ascending order),ByActiveTimeDesc(Sort by group active time in descending order. Because group active time changes frequently, using the `ByActiveTimeDesc` sorting method may cause groups to be missed. For example, if the paging size is set to 10, after the first request is made to obtain the first page of data, a group member in the group originally ranked 11th sends a message, then the group will be ranked 1st. At this time, when a request is made to obtain the second page of data, the group will not be obtained and needs to be obtained from the first page again.)') .optional(), page_token: zod_1.z .string() .describe('Page identifier. It is not filled in the first request, indicating traversal from the beginning when there will be more groups, the new page_token will be returned at the same time, and the next traversal can use the page_token to get more groups') .optional(), page_size: zod_1.z .number() .describe('The paging size is used to limit the number of data items returned in one request') .optional(), }) .optional(), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatManagersAddManagers = { project: 'im', name: 'im.v1.chatManagers.addManagers', sdkName: 'im.v1.chatManagers.addManagers', path: '/open-apis/im/v1/chats/:chat_id/managers/add_managers', httpMethod: 'POST', description: '[Feishu/Lark]-Group Chat-Group member-Specify group administrators-Specify a group and set the specified user or bot in the group as the group administrator', accessTokens: ['tenant', 'user'], schema: { data: zod_1.z .object({ manager_ids: zod_1.z .array(zod_1.z.string()) .describe("To set the administrator's ID, the ID type is consistent with the query parameter member_id_type value.- If it is a user (member_id_type value is user_id/open_id/union_id), it is recommended to use the user's open_id. For how to obtain it, please refer to the document [How to obtain Open ID].- If it is a bot (member_id_type value is app_id), please refer to [How to obtain the App ID of the application]**Note**:- For ordinary groups, up to 10 administrators can be specified.- For super large groups, up to 20 administrators can be specified.- When making a single request to specify robots, up to 5 bots can be specified.For the difference between super large groups and ordinary groups, see [What is the difference between super large groups and ordinary groups]") .optional(), }) .optional(), params: zod_1.z .object({ member_id_type: zod_1.z .enum(['open_id', 'union_id', 'user_id', 'app_id']) .describe("User ID categories Options:open_id(Identifies a user to an app. The same user has different Open IDs in different apps. [How to get Open ID]),union_id(Identifies a user to a tenant that acts as a developer. A user has the same Union ID in apps developed by the same developer, and has different Union IDs in apps developed by different developers. A developer can use Union ID to link the same user's identities in multiple apps. [How to get Union ID]),user_id(Identifies a user to a tenant. The same user has different User IDs in different tenants. In one single tenant, a user has the same User ID in all apps (including store apps). User ID is usually used to communicate user data between different apps. [How to get User ID]),app_id(The unique identifier of the Feishu open platform application. When an application is created, it is automatically generated by the system and cannot be modified by the user. [How to get App ID])") .optional(), }) .optional(), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or bot is in] interface to query the chat_id of the group that the user or bot is in.- Call the [Search the list of groups visible to the user or bot] to search for the chat_id of the group that the user or bot is in and the group that is open to the user or bot.**Note**: Only group IDs with group modes **group** and **topic** are supported. You can call the [get group information] interface and check whether the value of the `chat_mode` parameter is `group` or `topic` in the returned result'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatManagersDeleteManagers = { project: 'im', name: 'im.v1.chatManagers.deleteManagers', sdkName: 'im.v1.chatManagers.deleteManagers', path: '/open-apis/im/v1/chats/:chat_id/managers/delete_managers', httpMethod: 'POST', description: '[Feishu/Lark]-Group Chat-Group member-Delete group administrators-Specify a group and delete the specified administrator in the group, including user-type administrators and robot-type administrators', accessTokens: ['tenant', 'user'], schema: { data: zod_1.z .object({ manager_ids: zod_1.z .array(zod_1.z.string()) .describe("The administrator ID to be deleted. The ID type is consistent with the value of the query parameter member_id_type.- If it is a user (member_id_type is user_id/open_id/union_id), it is recommended to use the user's open_id. For how to obtain it, please refer to the document [How to obtain Open ID].- If it is a robot (member_id_type is app_id), please refer to [How to obtain the App ID of the application]**Note**: Each request can specify up to 50 users or 5 robots") .optional(), }) .optional(), params: zod_1.z .object({ member_id_type: zod_1.z .enum(['open_id', 'union_id', 'user_id', 'app_id']) .describe("User ID categories Options:open_id(Identifies a user to an app. The same user has different Open IDs in different apps. [How to get Open ID]),union_id(Identifies a user to a tenant that acts as a developer. A user has the same Union ID in apps developed by the same developer, and has different Union IDs in apps developed by different developers. A developer can use Union ID to link the same user's identities in multiple apps. [How to get Union ID]),user_id(Identifies a user to a tenant. The same user has different User IDs in different tenants. In one single tenant, a user has the same User ID in all apps (including store apps). User ID is usually used to communicate user data between different apps. [How to get User ID]),app_id(The unique identifier of the Feishu open platform application. When an application is created, it is automatically generated by the system and cannot be modified by the user. [How to get App ID])") .optional(), }) .optional(), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or robot is in] interface to query the chat_id of the group that the user or robot is in.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Note**: Only group IDs with group modes **group** and **topic** are supported. You can call the [get group information] interface and check whether the value of the `chat_mode` parameter is `group` or `topic` in the returned result'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatMembersCreate = { project: 'im', name: 'im.v1.chatMembers.create', sdkName: 'im.v1.chatMembers.create', path: '/open-apis/im/v1/chats/:chat_id/members', httpMethod: 'POST', description: '[Feishu/Lark]-Group Chat-Group member-Add users or bots to a group-Adds users or bots into a group chat', accessTokens: ['tenant', 'user'], schema: { data: zod_1.z .object({ id_list: zod_1.z .array(zod_1.z.string()) .describe('Member ID list. - It is recommended to use OpenID when inviting users to join the group. For how to obtain it, please refer to [How to get Open ID? ].- When inviting bots into the group, you need to fill in the App ID of the application. Please refer to [How to get the App ID of the application?]**Note**: - The list cannot be empty.- The member ID type filled in the list should correspond to the type selected in the ==member_id_type== parameter.- Each request can pull up to 50 users and does not exceed the upper limit of the group size. The default maximum number of Feishu groups for certified companies is: 5,000 members in general groups, 3,000 members in conference groups, and 5,000 members in topic groups. If the tenant administrator configures the upper limit of the number of groups, the upper limit shall prevail.- At most 5 bots can be invited at the same time, and the number of bots in the group after invitation cannot exceed 15') .optional(), }) .optional(), params: zod_1.z .object({ member_id_type: zod_1.z .enum(['open_id', 'union_id', 'user_id', 'app_id']) .describe("User ID categories Options:open_id(Identifies a user to an app. The same user has different Open IDs in different apps. [How to get Open ID]),union_id(Identifies a user to a tenant that acts as a developer. A user has the same Union ID in apps developed by the same developer, and has different Union IDs in apps developed by different developers. A developer can use Union ID to link the same user's identities in multiple apps. [How to get Union ID]),user_id(Identifies a user to a tenant. The same user has different User IDs in different tenants. In one single tenant, a user has the same User ID in all apps (including store apps). User ID is usually used to communicate user data between different apps. [How to get User ID]),app_id(The unique identifier of the Feishu open platform application. When an application is created, it is automatically generated by the system and cannot be modified by the user. [How to get App ID])") .optional(), succeed_type: zod_1.z .number() .describe('How to deal with unavailable ID 0/1/2**Default value**: `0` Options:0(Compatible with previous policies, non-existent/invisible IDs will fail to pull the group and return an error response. When there is a separated ID, other available IDs will be pulled into the group chat, and a successful response will be returned.),1(Pull all the available IDs in the parameters into the group chat, return the successful response of pulling the group, and show the remaining unavailable IDs and reasons.),2(As long as there is any unavailable ID in the parameter, the group will fail, an error response will be returned, and the unavailable ID will be displayed.)') .optional(), }) .optional(), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or robot is in] interface to query the chat_id of the group that the user or robot is in.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Note**: Only group IDs with group modes **group** and **topic** are supported. You can call the [get group information] interface and check whether the value of the `chat_mode` parameter is `group` or `topic` in the returned result'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatMembersDelete = { project: 'im', name: 'im.v1.chatMembers.delete', sdkName: 'im.v1.chatMembers.delete', path: '/open-apis/im/v1/chats/:chat_id/members', httpMethod: 'DELETE', description: '[Feishu/Lark]-Group Chat-Group member-Remove users or bots from a group-Removes users or bots from a group chat', accessTokens: ['tenant', 'user'], schema: { data: zod_1.z .object({ id_list: zod_1.z .array(zod_1.z.string()) .describe('Member ID list. The ID type is consistent with the value of the query parameter member_id_type.- It is recommended to use OpenID when removing users from the group. For how to obtain it, please refer to [How to get Open ID? ].- When removing bots from the group, you need to fill in the App ID of the application. Please refer to [How to get the App ID of the application?].**Note**: - ==id_list== cannot be empty.- For each request, a maximum of 50 users or 5 bots can be removed') .optional(), }) .optional(), params: zod_1.z .object({ member_id_type: zod_1.z .enum(['open_id', 'union_id', 'user_id', 'app_id']) .describe("User ID categories Options:open_id(Identifies a user to an app. The same user has different Open IDs in different apps. [How to get Open ID]),union_id(Identifies a user to a tenant that acts as a developer. A user has the same Union ID in apps developed by the same developer, and has different Union IDs in apps developed by different developers. A developer can use Union ID to link the same user's identities in multiple apps. [How to get Union ID]),user_id(Identifies a user to a tenant. The same user has different User IDs in different tenants. In one single tenant, a user has the same User ID in all apps (including store apps). User ID is usually used to communicate user data between different apps. [How to get User ID]),app_id(The unique identifier of the Feishu open platform application. When an application is created, it is automatically generated by the system and cannot be modified by the user. [How to get App ID])") .optional(), }) .optional(), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or robot is in] interface to query the chat_id of the group that the user or robot is in.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Note**: Only group IDs with group mode **group** and **topic** are supported. You can call the [get group information] interface and check whether the value of the `chat_mode` parameter is `group` or `topic` in the returned result'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatMembersGet = { project: 'im', name: 'im.v1.chatMembers.get', sdkName: 'im.v1.chatMembers.get', path: '/open-apis/im/v1/chats/:chat_id/members', httpMethod: 'GET', description: '[Feishu/Lark]-Group Chat-Group member-Obtain group member list-Get the list of members of the group the user/bot is in', accessTokens: ['tenant', 'user'], schema: { params: zod_1.z .object({ member_id_type: zod_1.z .enum(['open_id', 'union_id', 'user_id']) .describe("User ID categories Options:open_id(Identifies a user to an app. The same user has different Open IDs in different apps. [How to get Open ID]),union_id(Identifies a user to a tenant that acts as a developer. A user has the same Union ID in apps developed by the same developer, and has different Union IDs in apps developed by different developers. A developer can use Union ID to link the same user's identities in multiple apps. [How to get Union ID]),user_id(Identifies a user to a tenant. The same user has different User IDs in different tenants. In one single tenant, a user has the same User ID in all apps (including store apps). User ID is usually used to communicate user data between different apps. [How to get User ID])") .optional(), page_size: zod_1.z .number() .describe('The paging size is used to limit the number of data entries returned in one request.- Since the returned group member list will filter out robot members, the number of group members returned may be less than the specified page_size.- If there are group members who join the group at the same time, they will be returned at once, which may cause the number of group members returned to be greater than the specified page_size') .optional(), page_token: zod_1.z .string() .describe('Page identifier. It is not filled in the first request, indicating traversal from the beginning when there will be more groups, the new page_token will be returned at the same time, and the next traversal can use the page_token to get more groups') .optional(), }) .optional(), path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to obtain it:- [Create a group], and get the chat_id of the group from the returned result.- Call the [Get the list of groups where the user or robot is] interface to query the chat_id of the group where the user or robot is.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group where the user or robot is and the group that is open to the user or robot'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatMembersIsInChat = { project: 'im', name: 'im.v1.chatMembers.isInChat', sdkName: 'im.v1.chatMembers.isInChat', path: '/open-apis/im/v1/chats/:chat_id/members/is_in_chat', httpMethod: 'GET', description: '[Feishu/Lark]-Group Chat-Group member-Determine whether a user or bot is in a group-Determines whether a user or bot is in a group based on their access_token', accessTokens: ['tenant', 'user'], schema: { path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to obtain it:- [Create a group], and get the chat_id of the group from the returned result.- Call the [Get the list of groups where the user or robot is] interface to query the chat_id of the group where the user or robot is.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group where the user or robot is and the group that is open to the user or robot'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatMembersMeJoin = { project: 'im', name: 'im.v1.chatMembers.meJoin', sdkName: 'im.v1.chatMembers.meJoin', path: '/open-apis/im/v1/chats/:chat_id/members/me_join', httpMethod: 'PATCH', description: '[Feishu/Lark]-Group Chat-Group member-Users or bots join a group voluntarily-Add the operator (user or bot) currently calling the interface to the specified group chat', accessTokens: ['tenant', 'user'], schema: { path: zod_1.z.object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups where the user or robot is] interface to query the chat_id of the group where the user or robot is.- Call [Search the list of groups visible to the user or robot] to search the chat_id of the group where the user or robot is and the group open to the user or robot.**Note**:- Only public groups are supported. You can call the [Get Group Information] interface and check whether the `chat_type` parameter value is `public` in the returned result.- You cannot join the group when the number of group members reaches the upper limit. For certified companies, the default upper limit of the number of people in Feishu groups is: 5,000 for ordinary groups, 3,000 for conference groups, and 5,000 for topic groups'), }), useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(), }, }; exports.imV1ChatMenuItemPatch = { project: 'im', name: 'im.v1.chatMenuItem.patch', sdkName: 'im.v1.chatMenuItem.patch', path: '/open-apis/im/v1/chats/:chat_id/menu_items/:menu_item_id', httpMethod: 'PATCH', description: '[Feishu/Lark]-Group Chat-Chat menu-Patch chat menu item info-Patch the meta information of a top_level menu or second_level menu, including the icon, name, i18n name and redirect link of the chat menu', accessTokens: ['tenant'], schema: { data: zod_1.z.object({ update_fields: zod_1.z .array(zod_1.z .enum(['ICON', 'NAME', 'I18N_NAME', 'REDIRECT_LINK']) .describe('Options:ICON(Icon),NAME(Name),I18N_NAME(I18n name),REDIRECT_LINK(redirect link)')) .describe('Field to modify'), chat_menu_item: zod_1.z .object({ action_type: zod_1.z .enum(['NONE', 'REDIRECT_LINK']) .describe('Menu type**Notice**: - If the top_level menu has a second_level menu, the value of this top_level menu must be NONE.- The menu type cannot be changed once created. Options:NONE(NONE type),REDIRECT_LINK(REDIRECT_LINK type)') .optional(), redirect_link: zod_1.z .object({ common_url: zod_1.z.string().describe('Common redirect link, must start with http/https').optional(), ios_url: zod_1.z .string() .describe('iOS client redirect link, when this field is not set, iOS uses the `common_url` value by default. Must start with http/https') .optional(), android_url: zod_1.z .string() .describe('Android client redirect link, when this field is not set, the Android side uses the `common_url` value by default. It must start with http/https') .optional(), pc_url: zod_1.z .string() .describe('PC client redirect link, when this field is not set, the PC side uses the `common_url` value by default. Must start with http/https.**Instructions**: After clicking the group menu on the PC side, if you need the page corresponding to the url to be expanded in the Feishu sidebar, you can add `https://applink.feishu.cn/client/web_url/open?mode=sidebar-semi&url=` before the url, for example `https://applink.feishu.cn/client/web_url/open?mode=sidebar-semi&url=https://open.feishu.cn/`') .optional(), web_url: zod_1.z .string() .describe('Web client redirect link, when this field is not set, the Web side uses the `common_url` value by default. It must start with http/https') .optional(), }) .describe('Redirect link') .optional(), image_key: zod_1.z .string() .describe('image_key, upload a message type image through the [Upload Image] interface to obtain image_key and pass in the value.**Note**: If the top level menu has a second level menu, the icon cannot be set for this top level menu') .optional(), name: zod_1.z .string() .describe('Menu name.**Notice**: The number of characters in the name must be in the range of 1 to 120') .optional(), i18n_names: zod_1.z .object({ zh_cn: zod_1.z.string().describe('Chinese name').optional(), en_us: zod_1.z.string().describe('English name').optional(), ja_jp: zod_1.z.string().describe('Japanese name').optional(), }) .describe('Menu I18n names.**Notice**: The number of characters in the name must be in the range of 1 to 120') .optional(), }) .describe('Item info'), }), path: zod_1.z .object({ chat_id: zod_1.z .string() .describe('Group ID. How to get it:- [Create a group], get the chat_id of the group from the returned result.- Call the [Get the list of groups that the user or robot is in] interface to query the chat_id of the group that the user or robot is in.- Call the [Search the list of groups visible to the user or robot] to search for the chat_id of the group that the user or robot is in and the group that is open to the user or robot.**Note**: Only group IDs with group mode **Group** are supported. You can call the [get group information] interface and check whether the value of the `chat_mode` parameter is `group` in the returned result') .optional(), menu_item_id: zod_1.z .string() .describe('The ID of the top level menu or second level menu. The ID can be obtained through the [get group menu] interface') .optional(), }) .optional(), }, }; exports.imV1ChatMenuTreeCreate = { project: 'im', name: 'im.v1.chatMenuTree.create', sdkName: 'im.v1.chatMenuTree.create', path: '/open-apis/im/v1/chats/:chat_id/menu_tree', httpMethod: 'POST', description: '[Feishu/Lark]-Group Chat-Chat menu-Add chat menu-Add one or more group menus to the specified group. After a successful call, the interface will return all group menu information in the current group', accessTokens: ['tenant'], schema: { data: zod_1.z.object({ menu_tree: zod_1.z .object({ chat_menu_top_levels: zod_1.z .array(zod_1.z.object({ chat_menu_item: zod_1.z .object({ action_type: zod_1.z .enum(['NONE', 'REDIRECT_LINK']) .describe('Menu type**Notice**: - If the top_level menu has a second_level menu, the value of this top_level menu mus