@larksuiteoapi/lark-mcp
Version:
Feishu/Lark OpenAPI MCP
655 lines (654 loc) • 115 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.calendarV4Tools = exports.calendarV4TimeoffEventDelete = exports.calendarV4TimeoffEventCreate = exports.calendarV4SettingGenerateCaldavConf = exports.calendarV4FreebusyList = exports.calendarV4ExchangeBindingGet = exports.calendarV4ExchangeBindingDelete = exports.calendarV4ExchangeBindingCreate = exports.calendarV4CalendarUnsubscription = exports.calendarV4CalendarUnsubscribe = exports.calendarV4CalendarSubscription = exports.calendarV4CalendarSubscribe = exports.calendarV4CalendarSearch = exports.calendarV4CalendarPrimary = exports.calendarV4CalendarPatch = exports.calendarV4CalendarList = exports.calendarV4CalendarGet = exports.calendarV4CalendarEventUnsubscription = exports.calendarV4CalendarEventSubscription = exports.calendarV4CalendarEventSearch = exports.calendarV4CalendarEventReply = exports.calendarV4CalendarEventPatch = exports.calendarV4CalendarEventMeetingMinuteCreate = exports.calendarV4CalendarEventMeetingChatDelete = exports.calendarV4CalendarEventMeetingChatCreate = exports.calendarV4CalendarEventList = exports.calendarV4CalendarEventInstances = exports.calendarV4CalendarEventInstanceView = exports.calendarV4CalendarEventGet = exports.calendarV4CalendarEventDelete = exports.calendarV4CalendarEventCreate = exports.calendarV4CalendarEventAttendeeList = exports.calendarV4CalendarEventAttendeeCreate = exports.calendarV4CalendarEventAttendeeChatMemberList = exports.calendarV4CalendarEventAttendeeBatchDelete = exports.calendarV4CalendarDelete = exports.calendarV4CalendarCreate = exports.calendarV4CalendarAclUnsubscription = exports.calendarV4CalendarAclSubscription = exports.calendarV4CalendarAclList = exports.calendarV4CalendarAclDelete = exports.calendarV4CalendarAclCreate = void 0;
const zod_1 = require("zod");
exports.calendarV4CalendarAclCreate = {
project: 'calendar',
name: 'calendar.v4.calendarAcl.create',
sdkName: 'calendar.v4.calendarAcl.create',
path: '/open-apis/calendar/v4/calendars/:calendar_id/acls',
httpMethod: 'POST',
description: '[Feishu/Lark]-Calendar-Calendar access control-Create ACL-Call this interface to add access control to the specified calendar in your current identity (application or user), that is, calendar member permissions',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z.object({
role: zod_1.z
.enum(['unknown', 'free_busy_reader', 'reader', 'writer', 'owner'])
.describe('Access to the calendar. Options:unknown(Unkonwn Unknown permission. unknown is one of the enumerated values of the role parameter, but when role is used as a request parameter, it does not support the input of unknown.),free_busy_reader(FreeBusyReader Guest. A guest can only view availability information.),reader(Subscriber. A subscriber can view all event details.),writer(Editor. An editor can create and modify events.),owner(Administrator. An administrator can manage calendars and share settings.)'),
scope: zod_1.z
.object({
type: zod_1.z
.literal('user')
.describe("The type of the scope where the permission takes effect.**Note**: Currently, only user is supported. When `type=user`, the user_id needs to be consistent with the type of user_id_type. For example, when `user_id_type=open_id`, the user_id needs to be the user's open_id. Options:user(User)"),
user_id: zod_1.z
.string()
.describe('User ID, for more information, you can refer to the [Concept of User-Related ID]')
.optional(),
})
.describe("The scope of the permission's effectiveness"),
}),
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({
calendar_id: zod_1.z
.string()
.describe('The calendar ID for which access control needs to be added.The calendar ID is returned when a shared calendar is created. You can also call the following interfaces to obtain the ID of a calendar.- [Query primary calendar information]- [Query calendar list]- [Search calendars]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarAclDelete = {
project: 'calendar',
name: 'calendar.v4.calendarAcl.delete',
sdkName: 'calendar.v4.calendarAcl.delete',
path: '/open-apis/calendar/v4/calendars/:calendar_id/acls/:acl_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-Calendar-Calendar access control-Delete ACL-Call this interface to delete a certain access control in the specified calendar with the current identity (application or user), i.e., member permissions',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('The ID of the calendar for which access control needs to be deleted is required.The calendar ID is returned when a shared calendar is created. You can also call the following interfaces to obtain the ID of a calendar.- [Query primary calendar information]- [Query calendar list]- [Search calendars]'),
acl_id: zod_1.z
.string()
.describe('Access control ID.The access control ID is returned when access control is created for the calendar. You can also call the [get access control list] interface to get the access control information within the specified calendar'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarAclList = {
project: 'calendar',
name: 'calendar.v4.calendarAcl.list',
sdkName: 'calendar.v4.calendarAcl.list',
path: '/open-apis/calendar/v4/calendars/:calendar_id/acls',
httpMethod: 'GET',
description: '[Feishu/Lark]-Calendar-Calendar access control-Obtain the ACL-Call this interface to get the access control list of the specified calendar as the current identity (application or user)',
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(),
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('Page size, that is, the maximum number of items returned by one request.**Note**: The minimum value is 10, that is, when the value is less than 10, it is uniformly processed as 10')
.optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('Calendar ID.The calendar ID is returned when creating a shared calendar. You can also call the following interfaces to obtain the ID of a calendar.- [Query Primary Calendar Information]- [Query Calendar List]- [Search Calendar]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarAclSubscription = {
project: 'calendar',
name: 'calendar.v4.calendarAcl.subscription',
sdkName: 'calendar.v4.calendarAcl.subscription',
path: '/open-apis/calendar/v4/calendars/:calendar_id/acls/subscription',
httpMethod: 'POST',
description: '[Feishu/Lark]-Calendar-Calendar access control-Subscribe ACL Event-Call this interface in the identity of the user to subscribe to access control change events under the specified calendar',
accessTokens: ['user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('Calendar ID. The calendar ID is returned when a shared calendar is created. You can also call the following interfaces to obtain the ID of a calendar.- [Query primary calendar information]- [Query calendar list]- [Search calendars]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarAclUnsubscription = {
project: 'calendar',
name: 'calendar.v4.calendarAcl.unsubscription',
sdkName: 'calendar.v4.calendarAcl.unsubscription',
path: '/open-apis/calendar/v4/calendars/:calendar_id/acls/unsubscription',
httpMethod: 'POST',
description: "[Feishu/Lark]-Calendar-Calendar access control-Unsubscribe ACL Event-Invoke this interface in the user's identity to unsubscribe from access control change events under the specified calendar",
accessTokens: ['user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('Calendar ID. The calendar ID is returned when a shared calendar is created. You can also call the following interfaces to obtain the ID of a calendar.- [Query primary calendar information]- [Query calendar list]- [Search calendars]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarCreate = {
project: 'calendar',
name: 'calendar.v4.calendar.create',
sdkName: 'calendar.v4.calendar.create',
path: '/open-apis/calendar/v4/calendars',
httpMethod: 'POST',
description: '[Feishu/Lark]-Calendar-Calendar management-Create a shared calendar-Call this interface to create a shared calendar for the current identity (app or user)',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
summary: zod_1.z.string().describe('Calendar title.**Default value**: Empty').optional(),
description: zod_1.z.string().describe('Calendar description.**Default value**: Empty').optional(),
permissions: zod_1.z
.enum(['private', 'show_only_free_busy', 'public'])
.describe('Calendar visibility range.**Default value**: show_only_free_busy Options:private(Private.),show_only_free_busy(ShowOnlyFreeBusy Only availability information is displayed.),public(Public. Event details are visible to other people.)')
.optional(),
color: zod_1.z
.number()
.describe('Calendar color, the value is represented by the int32 of the RGB color value, where, 24 ~ 31 bits are transparency, 16 ~ 23 bits are red, 8 ~ 15 bits are green, 0 ~ 7 bits are blue. For example, -11034625 represents the RGB value (87, 159, 255).**Note**:- The value range is -2^31 ~ 2^31-1- The color of the calendar will be mapped to the closest color on the Feishu client palette for display.- This color only applies to the current identity.**Default value**: -14513409')
.optional(),
summary_alias: zod_1.z
.string()
.describe('Calendar alias, setting this field (including subsequent modification of this field) only takes effect for the current identity.**Default value**: Empty')
.optional(),
})
.optional(),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarDelete = {
project: 'calendar',
name: 'calendar.v4.calendar.delete',
sdkName: 'calendar.v4.calendar.delete',
path: '/open-apis/calendar/v4/calendars/:calendar_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-Calendar-Calendar management-Delete shared calendar-Call this interface to delete a specified shared calendar under the current identity (application or user)',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('Calendar ID.When creating a shared calendar, the calendar ID will be returned. You can also call the following interfaces to get the ID of a calendar.- [Query Primary Calendar Information]- [Query Calendar List]- [Search Calendars]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarEventAttendeeBatchDelete = {
project: 'calendar',
name: 'calendar.v4.calendarEventAttendee.batchDelete',
sdkName: 'calendar.v4.calendarEventAttendee.batchDelete',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/attendees/batch_delete',
httpMethod: 'POST',
description: '[Feishu/Lark]-Calendar-Event attendee (Including meeting room)-Delete event invitees-Call this interface to delete one or more invitees of the specified event with the current identity (app or user)',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
attendee_ids: zod_1.z
.array(zod_1.z.string())
.describe('List of invitee IDs that need to be deleted.When adding a event invitee, the invitee ID (attendee_id) will be returned. You can also call [Get event invitee list] Interface to query the invitee ID of the specified event.- Up to 500 attendees can be deleted at a time (counted together with delete_ids)')
.optional(),
delete_ids: zod_1.z
.array(zod_1.z.object({
type: zod_1.z
.enum(['user', 'chat', 'resource', 'third_party'])
.describe('Invitee type. Options:user(User),chat(Group),resource(Room),third_party(ThirdParty Email)')
.optional(),
user_id: zod_1.z
.string()
.describe("Event invitee's user ID, which depends on the returned user_id_type parameter. When is_external is true, this field returns the open_id or union_id. For more information, see [User-related IDs]")
.optional(),
chat_id: zod_1.z
.string()
.describe('The group chat_id of a chat-type event invitee. For details, see [Group ID description]')
.optional(),
room_id: zod_1.z.string().describe('The room_id of a resource-type event invitee').optional(),
third_party_email: zod_1.z.string().describe('Email of a third_party type event invitee').optional(),
}))
.describe('The ID corresponding to the invitee type, which is a supplementary field to the attendee_ids field.- Up to 500 attendees can be deleted at a time (counted together with attendee_ids)')
.optional(),
need_notification: zod_1.z
.boolean()
.describe('Whether to send Bot notifications to invitees when deleting event invitees.**Optional values are**:- true (default): send- false: do not send')
.optional(),
instance_start_time_admin: zod_1.z
.string()
.describe('When accessing as an administrator, the instance to be modified (only used to modify one instance of a recurring event, this field does not need to be filled in for non-recurring events)')
.optional(),
is_enable_admin: zod_1.z
.boolean()
.describe('Whether to enable the meeting room administrator identity (you need to set someone as the meeting room administrator in the management background first).**Optional values are**:- true: enable- false (default): disable')
.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() })
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('Calendar ID. For details, see [Calendar-related IDs]'),
event_id: zod_1.z
.string()
.describe('Event ID.The event ID is returned when creating a event. You can also call the following interface to obtain the ID of a certain calendar.- [Get event list]- [Search event]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarEventAttendeeChatMemberList = {
project: 'calendar',
name: 'calendar.v4.calendarEventAttendeeChatMember.list',
sdkName: 'calendar.v4.calendarEventAttendeeChatMember.list',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/attendees/:attendee_id/chat_members',
httpMethod: 'GET',
description: '[Feishu/Lark]-Calendar-Event attendee (Including meeting room)-Obtain the list of members of group invitees of an event-Call this interface with the current identity (app or user) to get the group member list of the group type invitees in the event',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
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 maximum number of group members returned in one request').optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('Calendar ID. For details, see [Calendar-related IDs]'),
event_id: zod_1.z
.string()
.describe('Event ID.The event ID is returned when creating a event. You can also call the following interface to obtain the ID of a certain calendar.- [Get event list]- [Search event]'),
attendee_id: zod_1.z
.string()
.describe('Group type invitee ID.When adding a event invitee, the invitee ID (attendee_id) will be returned. You can also call [Get event invitee list] Interface to query the invitee ID of the specified event'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarEventAttendeeCreate = {
project: 'calendar',
name: 'calendar.v4.calendarEventAttendee.create',
sdkName: 'calendar.v4.calendarEventAttendee.create',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/attendees',
httpMethod: 'POST',
description: '[Feishu/Lark]-Calendar-Event attendee (Including meeting room)-Create event invitees-Use this interface to add one or more invitees to a specified event with the current identity (app or user). Invitee types include users, groups, meeting rooms, and emails',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
attendees: zod_1.z
.array(zod_1.z.object({
type: zod_1.z
.enum(['user', 'chat', 'resource', 'third_party'])
.describe('Event invitee type Options:user(User),chat(Group),resource(Room),third_party(ThirdParty Email)')
.optional(),
is_optional: zod_1.z
.boolean()
.describe('Whether the invitee is optional.**Optional values are**:- true- false**Note**: This field cannot be edited for room type invitees')
.optional(),
user_id: zod_1.z
.string()
.describe('User ID. When selecting a user type invitee (the value of type is user), this parameter needs to be passed in. The user ID type passed in needs to be consistent with the value of user_id_type. For information about user IDs, see [User-related ID concepts]')
.optional(),
chat_id: zod_1.z
.string()
.describe('Group ID. When selecting group type invitees (type value is chat), this parameter needs to be passed in. For details about group ID, please refer to [Group ID Description]')
.optional(),
room_id: zod_1.z
.string()
.describe('Meeting room ID. When selecting meeting room type invitees (type value is resource), this parameter needs to be passed in.You can obtain the specified meeting room ID through the following interface:- [Query meeting room list]- [Search meeting room]')
.optional(),
third_party_email: zod_1.z
.string()
.describe('Email address. When selecting an external mailbox type invitee (type value is third_party), this parameter needs to be passed in')
.optional(),
operate_id: zod_1.z
.string()
.describe('Meeting room contact ID. The user ID type passed in needs to be consistent with the value of user_id_type. For information about user IDs, see [User-related ID concepts].**Note**: If the current schedule is created based on the application identity, when adding a meeting room type invitee, you need to specify the contact person of the meeting room through this parameter, and the contact will be displayed in the schedule meeting room information.**Default**: empty')
.optional(),
resource_customization: zod_1.z
.array(zod_1.z.object({
index_key: zod_1.z.string().describe('Unique ID of each configuration'),
input_content: zod_1.z
.string()
.describe('This parameter is required when the type field is left empty')
.optional(),
options: zod_1.z
.array(zod_1.z.object({
option_key: zod_1.z.string().describe('Unique ID of each option').optional(),
others_content: zod_1.z
.string()
.describe('This parameter is required when the type field is set to other options')
.optional(),
}))
.describe('Options of each configuration')
.optional(),
}))
.describe('Personalized configuration of meeting rooms.- When selecting meeting room type invitees, if the meeting room has a reservation form, you can configure the form information through this parameter.- When the currently added invitee does not involve the personalized configuration of the meeting room, there is no need to set this parameter')
.optional(),
approval_reason: zod_1.z
.string()
.describe('The reason for requesting reservation approval for the meeting room. Parameter configuration description:- This field takes effect only when booking an approved meeting room using user identity (user_access_token).- For the scenario of applying for reservation and approval of a meeting room, if this value is not passed, the reservation will directly fail.- If you use the application identity (tenant_access_token) to reserve an approval meeting room, it will directly fail.**Default**: empty')
.optional(),
}))
.describe('Add a new invitee list.**Notice**:- The maximum number of invitees (including meeting rooms) that can be set in a single request is 1,000.- The maximum number of meeting rooms that can be set up in a single request is 100')
.optional(),
need_notification: zod_1.z
.boolean()
.describe('Whether to send bot notifications to invitees.**Optional values are**:- true (default): send- false: do not send')
.optional(),
instance_start_time_admin: zod_1.z
.string()
.describe('The instance to be modified when accessing as an administrator.**Note**:- This parameter is only used to modify a event instance in a repeating event. This field does not need to be filled in for non-repeating events.- You can call the [Get repeating event instance] interface to obtain the event_id of a event instance in the repeating event. The value of this parameter is the timestamp suffix of event_id. For example, the queried event instance ID is `2cf525f0-1e67-4b04-ad4d-30b7f003903c_1713168000`, then the current `instance_start_time_admin` value is `1713168000`.**Default**: empty')
.optional(),
is_enable_admin: zod_1.z
.boolean()
.describe('Whether to enable the meeting room administrator status (you need to set a member as the meeting room administrator in the management background first).**Optional values are**:- true: enable- false (default): disable**Note**: After it is turned on, this request will only process meeting room data, and the operations of other invitees will not take effect')
.optional(),
add_operator_to_attendee: zod_1.z
.boolean()
.describe('Whether to add the meeting room contact (operate_id) to the schedule invitees.**Optional values are**:- true (default): enabled- false: disable')
.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() })
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('The calendar ID corresponding to the event. To learn more, see [Calendar ID Introduction]'),
event_id: zod_1.z
.string()
.describe('Event ID.The event ID is returned when creating a event. You can also call the following interface to obtain the ID of a certain calendar.- [Get event list]- [Search event]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarEventAttendeeList = {
project: 'calendar',
name: 'calendar.v4.calendarEventAttendee.list',
sdkName: 'calendar.v4.calendarEventAttendee.list',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/attendees',
httpMethod: 'GET',
description: '[Feishu/Lark]-Calendar-Event attendee (Including meeting room)-Obtain event invitee list-Call this interface to retrieve the list of invitees for a event with the current identity (app or user)',
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(),
need_resource_customization: zod_1.z
.boolean()
.describe('Whether meeting room form information is required.**Optional values are**:- true: required- false (default): not required**Note**: The current identity needs to have the editing rights of the event to return the meeting room form information, that is, the current identity needs to be the organizer of the event, or a invitee of the event and the event is set to **Invitees can edit the event** permissions. You can call the [Get event] interface to obtain the invitee permissions (attendee_ability) of the event')
.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 maximum number of event invitees returned in one request. The minimum value is 10. If a value less than 10 is passed in, it will default to 10')
.optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('Calendar ID. For details, see [Calendar-related IDs]'),
event_id: zod_1.z
.string()
.describe('Evnet ID.The evnet ID is returned when creating a evnet. You can also call the following interface to obtain the ID of a certain calendar.- [Get evnet list]- [Search evnet]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarEventCreate = {
project: 'calendar',
name: 'calendar.v4.calendarEvent.create',
sdkName: 'calendar.v4.calendarEvent.create',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events',
httpMethod: 'POST',
description: '[Feishu/Lark]-Calendar-Event management-Create event-Call this interface to create a event on the specified calendar with the current identity (application or user)',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z.object({
summary: zod_1.z.string().describe('Event title').optional(),
description: zod_1.z
.string()
.describe('Event description. Supports parsing HTML tags.**Note**: While HTML tags can be used to achieve some rich text formatting, the rich text formatting generated by the client is not implemented using HTML tags. If you update the description through the API after generating rich text formatting on the client side, it may result in the loss of the original rich text formatting applied by the client')
.optional(),
need_notification: zod_1.z
.boolean()
.describe('Whether to send Bot notifications to event participants when updating the event.**Optional values are**:- true: send notification- false: Do not send notifications**Default value**: true')
.optional(),
start_time: zod_1.z
.object({
date: zod_1.z
.string()
.describe('Start time, only use this field for all-day events, [RFC 3339] format, for example, 2018-09-01.**Note**: This parameter cannot be specified at the same time as `timestamp`')
.optional(),
timestamp: zod_1.z
.string()
.describe('Second-level timestamp, used to set a specific start time. For example, 1602504000 means 2020/10/12 20:00:00 (UTC +8 time zone).**Note**: This parameter cannot be specified at the same time as `date`')
.optional(),
timezone: zod_1.z
.string()
.describe('Time zone. Use IANA Time Zone Database standards such as Asia/Shanghai.- The all-day event time zone is fixed to UTC +0- The default time zone for non-all-day events is Asia/Shanghai')
.optional(),
})
.describe('Event start time'),
end_time: zod_1.z
.object({
date: zod_1.z
.string()
.describe('End time, only use this field for all-day events, [RFC 3339] format, for example, 2018-09-01.**Note**: This parameter cannot be specified at the same time as `timestamp`')
.optional(),
timestamp: zod_1.z
.string()
.describe('Second-level timestamp, used to set a specific end time. For example, 1602504000 means 2020/10/12 20:00:00 (UTC +8 time zone).**Note**: This parameter cannot be specified at the same time as `date`')
.optional(),
timezone: zod_1.z
.string()
.describe('Time zone. Use IANA Time Zone Database standards such as Asia/Shanghai.- The all-day event time zone is fixed to UTC +0- The default time zone for non-all-day events is Asia/Shanghai')
.optional(),
})
.describe('Event end time'),
vchat: zod_1.z
.object({
vc_type: zod_1.z
.enum(['vc', 'third_party', 'no_meeting', 'lark_live', 'unknown'])
.describe('Video conferencing type. If video conferencing is not required, `no_meeting` must be passed.**Default value**: empty, which means the Feishu video conference URL will be automatically generated when a event participant is added for the first time. Options:vc(Feishu video conferencing. When this type is selected, other fields in vchat are invalid.),third_party(ThirdParty Third-party linked video conferencing. When this type is selected, only the icon_type, description, and meeting_url fields in vchat will take effect.),no_meeting(NoMeeting No video conferencing. When this type is selected, other fields in vchat are invalid.),lark_live(LarkLive Feishu Live. Read-only enumeration value, used only on the client side, not supported through API calls.),unknown(Unknown type. Read-only enumeration value, only used for client compatibility, does not support API calls.)')
.optional(),
icon_type: zod_1.z
.enum(['vc', 'live', 'default'])
.describe('The icon type for third-party video conferencing.**Default**: default Options:vc(Feishu Video Conference icon.),live(Livestream video conference icon.),default(Default icon.)')
.optional(),
description: zod_1.z
.string()
.describe('Third-party video conferencing copywriting.**Default value**: empty. If empty, the default copy will be displayed')
.optional(),
meeting_url: zod_1.z.string().describe('Video conference URL').optional(),
meeting_settings: zod_1.z
.object({
owner_id: zod_1.z
.string()
.describe('Set the user ID of the conference owner, the ID type needs to be the same as user_id_type remains consistent.This parameter must meet all of the following conditions to take effect:- Apply identity (tenant_access_token) request and operate event on the application calendar.- The owner can only be set when the event is set to a VC meeting for the first time.- owner cannot be a non-user identity.- owner cannot be an external tenant user identity')
.optional(),
join_meeting_permission: zod_1.z
.enum(['anyone_can_join', 'only_organization_employees', 'only_event_attendees'])
.describe('Set the membership range.**Default**: anyone_can_join Options:anyone_can_join(AnyOne Any user can join the meeting),only_organization_employees(OnlySameOrganization Only users that from the same organization can join the meeting),only_event_attendees(OnlyEventAttendees Only event attendees can join the meeting)')
.optional(),
assign_hosts: zod_1.z
.array(zod_1.z.string())
.describe('Specify the moderator by user ID, the ID type needs to be the same as user_id_type remains consistent.**Notice**:- Only event organizers can designate hosts.- Moderator cannot be a non-user.- The host cannot be an external tenant user identity.- When operating events on the app calendar, specifying a host is not allowed')
.optional(),
auto_record: zod_1.z
.boolean()
.describe('Whether to enable automatic recording.**Optional values are**:- true: enable- false (default value): disable')
.optional(),
open_lobby: zod_1.z
.boolean()
.describe('Whether to enable the waiting room.**Optional values are**:- true (default value): enabled- false: disable')
.optional(),
allow_attendees_start: zod_1.z
.boolean()
.describe('Whether to allow event participants to initiate meetings.**Optional values are**:- true (default): allow- false: not allowed**Note**: When operating event on the application calendar, this field must be true, otherwise no one can initiate a meeting')
.optional(),
})
.describe('Pre-conference settings for video conference. The following conditions need to be met (all must be met):- It takes effect when vc_type is vc.- Requires edit permission for the event')
.optional(),
})
.describe('Video conference information')
.optional(),
visibility: zod_1.z
.enum(['default', 'public', 'private'])
.describe('Event visibility. The value is Default for new events by default. This is valid for all invitees only when an event is created. Any changes to the property are valid only for the current identity. Options:default(Default range, which depends on the calendar visibility. Only the availability status is visible to other people by default.),public(Public. Event details are displayed.),private(Private. Details are visible only to the current identity.)')
.optional(),
attendee_ability: zod_1.z
.enum(['none', 'can_see_others', 'can_invite_others', 'can_modify_event'])
.describe("Event invitees' scopes.**Default**: none Options:none(Cannot edit events, cannot invite others, and cannot view event invitee list),can_see_others(CanSeeOthers Cannot edit events, cannot invite others, and can view event invitee list),can_invite_others(CanInviteOthers Cannot edit events, can invite others, and can view event invitee list),can_modify_event(CanModifyEvent Can edit events, can invite others, and can view event invitee list)")
.optional(),
free_busy_status: zod_1.z
.enum(['busy', 'free'])
.describe('Event availability. The value is Busy for new events by default. This is valid for all invitees only when an event is created. Any changes to the property are valid only for the current identity. Options:busy(Busy),free(Free)')
.optional(),
location: zod_1.z
.object({
name: zod_1.z.string().describe('Name of the location').optional(),
address: zod_1.z.string().describe('Address of the location').optional(),
latitude: zod_1.z
.number()
.describe('Latitude coordinate of the location. Locations within China Mainland should comply with the GCJ-02 standard, and locations outside China Mainland should comply with the WGS84 standard')
.optional(),
longitude: zod_1.z
.number()
.describe('Longitude coordinate of the location. Locations within China Mainland should comply with the GCJ-02 standard, and locations outside China Mainland should comply with the WGS84 standard')
.optional(),
})
.describe('Event location. If no value is passed, it will be empty by default')
.optional(),
color: zod_1.z
.number()
.describe('Event color, the value is represented by an int32 color RGB value.**Notice**:- This parameter only takes effect for the current identity.- When displayed on the client, it will be mapped to the closest color on the color palette.- When the value is 0 or -1, the calendar color will be followed by default')
.optional(),
reminders: zod_1.z
.array(zod_1.z.object({
minutes: zod_1.z
.number()
.describe('Offset of the event reminder time. A positive value means the reminder is triggered X minutes before the event starts, and a negative value means the reminder is triggered X minutes after the event starts.This field is specified when an event is created or updated, and only valid for the current identity, not for other invitees in the event')
.optional(),
}))
.describe('Event reminder list. If no value is passed, it defaults to empty')
.optional(),
recurrence: zod_1.z
.string()
.describe('Recurrence rule for recurring events. For details, see [RFC 5545].**Default value**: empty, indicating that the current event is not a repeating event.**Note**:- COUNT and UNTIL cannot coexist;- The length of a scheduled recurring event in a room cannot exceed two years')
.optional(),
schemas: zod_1.z
.array(zod_1.z.object({
ui_name: zod_1.z
.string()
.describe('UI name. Valid values: - ForwardIcon: Event forwarding button - MeetingChatIcon: Meeting group chat button - MeetingMinutesIcon: Meeting minutes button - MeetingVideo: Video conference area - RSVP: Accept/decline/pending area - Attendee: Event invitees area - OrganizerOrCreator: Organizer/creator area')
.optional(),
ui_status: zod_1.z
.enum(['hide', 'readonly', 'editable', 'unknown'])
.describe('Custom status of UI items. Only "hide" is supported. Options:hide(Hidden),readonly(Read-only),editable(Editable),unknown(Unknown UI item custom state. This parameter is only for read-time compatibility and does not support passing in as a request parameter value.)')
.optional(),
app_link: zod_1.z
.string()
.describe('Link that is redirected to after the button is tapped/clicked.**Note**: The compatibility parameter is read-only, so passing in this request parameter is not supported yet')
.optional(),
}))
.describe('Custom information of the event. This field controls the UI display on the event details page')
.optional(),
attachments: zod_1.z
.array(zod_1.z.object({
file_token: zod_1.z
.string()
.describe('Attachment token. Call the [Upload Material] interface to obtain the file_token of the attachment. When calling the upload material interface, please note:- `parent_type` needs to pass in a fixed value `calendar`.- `parent_node` needs to pass in a calendar ID that is consistent with the current interface.**Attachment verification rule**: The total size of the attachment does not exceed 25 MB')
.optional(),
}))
.describe('Event attachment')
.optional(),
event_check_in: zod_1.z
.object({
enable_check_in: zod_1.z.boolean().describe('Whether to enable event check-in'),
check_in_start_time: zod_1.z
.object({
time_type: zod_1.z
.enum(['before_event_start', 'after_event_start', 'after_event_end'])
.describe('Check-in time type, duration calculates the final time according to it. Options:before_event_start(BeforeEventStart Before the start of event),after_event_start(AfterEventStart After the start of event),after_event_end(AfterEventEnd After the end of event)'),
duration: zod_1.z
.number()
.describe('The offset (in minutes) relative to the beginning or end of the event.- Currently, the value can only be one of the lists [0, 5, 15, 30, 60], where 0 indicates immediate start.- When time_type is before_event_start, duration cannot be set to 0'),
})
.describe('Event check-in start time.**Note**: The check-in start time cannot be greater than or equal to the check-in end time')
.optional(),
check_in_end_time: zod_1.z
.object({
time_type: zod_1.z
.enum(['before_event_start', 'after_event_start', 'after_event_end'])
.describe('Check-in time type, duration calculates the final time according to it. Options:before_event_start(BeforeEventStart Before the start of event),after_event_start(AfterEventStart After the start of event),after_event_end(AfterEventEnd After the end of event)'),
duration: zod_1.z
.number()
.describe('The offset (in minutes) relative to the beginning or end of the event.- Currently, the value can only be one of the lists [0, 5, 15, 30, 60], where 0 indicates immediate start.- When time_type is before_event_start, duration cannot be set to 0'),
})
.describe('Event check-in end time.**Note**: The check-in start time cannot be greater than or equal to the check-in end time')
.optional(),
need_notify_attendees: zod_1.z
.boolean()
.describe('Whether a check-in notification is automatically sent to the participant at the start of the check-in')
.optional(),
})
.describe('Event check-in settings. If this parameter is empty, check-in Settings are not performed')
.optional(),
}),
params: zod_1.z
.object({
idempotency_key: zod_1.z
.string()
.describe('Create an idempotent key for the event. This key is unique under the application and calendar dimensions and is used to avoid repeated creation of resources. It is recommended to follow the format of the example value')
.optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('User ID type').optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('Calendar ID.The calendar ID is returned when creating a shared calendar. You can also call the following interface to obtain the ID of a certain calendar.- [Query primary calendar information]- [Query calendar list]- [Search calendar]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarEventDelete = {
project: 'calendar',
name: 'calendar.v4.calendarEvent.delete',
sdkName: 'calendar.v4.calendarEvent.delete',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-Calendar-Event management-Delete Event-Call this interface to delete an event on the specified calendar with the current identity (application or user)',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
need_notification: zod_1.z
.enum(['true', 'false'])
.describe('Whether to send Bot notifications to event participants when deleting a event.**Default value**: true Options:true(Send),false(Do not send)')
.optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('The calendar ID where the event is located. See [Calendar ID Description]'),
event_id: zod_1.z
.string()
.describe('Event ID. How to get it:- [Create a event] will return the event ID- [Get a event list]- [Search for a event]'),
}),
useUAT: zod_1.z.boolean().describe('Use user access token, otherwise use tenant access token').optional(),
},
};
exports.calendarV4CalendarEventGet = {
project: 'calendar',
name: 'calendar.v4.calendarEvent.get',
sdkName: 'calendar.v4.calendarEvent.get',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-Calendar-Event management-Get Event-Call this interface with the current identity (app or user) to obtain the event information within a specified calendar, including the title of the event, time period, video conference information, public scope, and invitee rights, etc',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
need_meeting_settings: zod_1.z
.boolean()