@larksuiteoapi/lark-mcp
Version:
Feishu/Lark OpenAPI MCP
950 lines (949 loc) • 104 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]-日历-日历访问控制-创建访问控制-调用该接口以当前身份(应用或用户)为指定日历添加访问控制,即日历成员权限',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z.object({
role: zod_1.z
.enum(['unknown', 'free_busy_reader', 'reader', 'writer', 'owner'])
.describe('对日历的访问权限。 Options:unknown(Unkonwn 未知权限。unknown 是 role 参数枚举值之一,但 role 作为请求参数时,不支持传入 unknown。),free_busy_reader(FreeBusyReader 游客,只能看到忙碌、空闲信息。),reader(订阅者,可查看所有日程详情。),writer(编辑者,可创建及修改日程。),owner(管理员,可管理日历及共享设置。)'),
scope: zod_1.z
.object({
type: zod_1.z
.literal('user')
.describe('权限生效范围的类型。**注意**:目前只支持 `user`,且当 `type=user` 时,user_id 需要传入和 user_id_type 一致的用户 ID 类型。例如,`user_id_type=open_id` 时,user_id 需要传入用户的 open_id。 Options:user(用户)'),
user_id: zod_1.z
.string()
.describe('用户 ID。当 `type=user` 时,必须设置该参数值。关于用户 ID 的更多介绍可参见[用户相关的 ID 概念]')
.optional(),
})
.describe('权限的生效范围'),
}),
params: zod_1.z
.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() })
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('需要添加访问控制的日历 ID。创建共享日历时会返回日历 ID。你也可以调用以下接口获取某一日历的 ID。- [查询主日历信息]- [查询日历列表]- [搜索日历]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日历访问控制-删除访问控制-调用该接口以当前身份(应用或用户)删除指定日历内的某一访问控制,即成员权限',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('需要删除访问控制的日历 ID。创建共享日历时会返回日历 ID。你也可以调用以下接口获取某一日历的 ID。- [查询主日历信息]- [查询日历列表]- [搜索日历]'),
acl_id: zod_1.z
.string()
.describe('访问控制 ID。为日历创建访问控制时会返回访问控制 ID。你也可以调用[获取访问控制列表]接口,获取指定日历内的访问控制信息'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日历访问控制-获取访问控制列表-调用该接口以当前身份(应用或用户)获取指定日历的访问控制列表',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
page_size: zod_1.z
.number()
.describe('分页大小,即一次请求返回的最大条目数。**注意**:最小值 10,即取值小于 10 时统一按 10 处理')
.optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('日历 ID。创建共享日历时会返回日历 ID。你也可以调用以下接口获取某一日历的 ID。- [查询主日历信息]- [查询日历列表]- [搜索日历]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日历访问控制-订阅日历访问控制变更事件-调用该接口以用户身份订阅指定日历下的访问控制变更事件',
accessTokens: ['user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('日历ID。创建共享日历时会返回日历 ID。你也可以调用以下接口获取某一日历的 ID。- [查询主日历信息]- [查询日历列表]- [搜索日历]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日历访问控制-取消订阅日历访问控制变更事件-调用该接口以用户身份取消订阅指定日历下的访问控制变更事件',
accessTokens: ['user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('日历ID。创建共享日历时会返回日历 ID。你也可以调用以下接口获取某一日历的 ID。- [查询主日历信息]- [查询日历列表]- [搜索日历]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日历管理-创建共享日历-调用该接口为当前身份(应用或用户)创建一个共享日历',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
summary: zod_1.z.string().describe('日历标题。**默认值**:空').optional(),
description: zod_1.z.string().describe('日历描述。**默认值**:空').optional(),
permissions: zod_1.z
.enum(['private', 'show_only_free_busy', 'public'])
.describe('日历公开范围。**默认值**:show_only_free_busy Options:private(私密),show_only_free_busy(ShowOnlyFreeBusy 仅展示忙闲信息),public(公开,他人可查看日程详情)')
.optional(),
color: zod_1.z
.number()
.describe('日历颜色,取值通过颜色 RGB 值的 int32 表示,其中,24 ~ 31 位为透明度,16 ~ 23 位为红,8 ~ 15 位为绿,0 ~ 7 位为蓝。例如,-11034625 表示 RGB 值 (87, 159, 255)。**注意**:- 取值范围为 -2^31 ~ 2^31-1- 日历颜色会映射到飞书客户端色板上最接近的一种颜色进行展示。- 该颜色仅对当前身份生效。**默认值**:-14513409')
.optional(),
summary_alias: zod_1.z
.string()
.describe('日历备注名,设置该字段后(包括后续修改该字段)仅对当前身份生效。**默认值**:空')
.optional(),
})
.optional(),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日历管理-删除共享日历-调用该接口以当前身份(应用或用户)删除某一指定的共享日历',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('日历 ID。创建共享日历时会返回日历 ID。你也可以调用以下接口获取某一日历的 ID。- [查询主日历信息]- [查询日历列表]- [搜索日历]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日程参与人管理(含会议室)-删除日程参与人-调用该接口以当前身份(应用或用户)删除指定日程的一个或多个参与人',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
attendee_ids: zod_1.z
.array(zod_1.z.string())
.describe('需要删除的参与人 ID 列表。添加日程参与人时,会返回参与人 ID(attendee_id),你也可以调用[获取日程参与人列表]接口,查询指定日程的参与人 ID。- 一次最多删除500个参与人(与delete_ids一起计算)')
.optional(),
delete_ids: zod_1.z
.array(zod_1.z.object({
type: zod_1.z
.enum(['user', 'chat', 'resource', 'third_party'])
.describe('参与人类型。 Options:user(用户),chat(群组),resource(会议室),third_party(ThirdParty 外部邮箱)')
.optional(),
user_id: zod_1.z
.string()
.describe('用户 ID。当选择用户类型参与人(type 取值为 user)时,需要传入该参数。传入的用户 ID 类型需要和 user_id_type 的值保持一致')
.optional(),
chat_id: zod_1.z
.string()
.describe('群组 ID。当选择群组类型参与人(type 取值为 chat)时,需要传入该参数')
.optional(),
room_id: zod_1.z
.string()
.describe('会议室 ID。当选择会议室类型参与人(type 取值为 resource)时,需要传入该参数')
.optional(),
third_party_email: zod_1.z
.string()
.describe('邮箱地址。当选择外部邮箱类型参与人(type 取值为 third_party)时,需要传入该参数')
.optional(),
}))
.describe('参与人类型对应的 ID,该 ID 是 attendee_ids 字段的补充字段。- 一次最多删除500个参与人(与attendee_ids一起计算)')
.optional(),
need_notification: zod_1.z
.boolean()
.describe('删除日程参与人时,是否向参与人发送 Bot 通知。**可选值有**:- true(默认值):发送- false:不发送')
.optional(),
instance_start_time_admin: zod_1.z
.string()
.describe('使用管理员身份访问时,要修改的实例(仅用于重复日程修改其中的一个实例,非重复日程无需填此字段)')
.optional(),
is_enable_admin: zod_1.z
.boolean()
.describe('是否启用会议室管理员身份(需先在管理后台设置某人为会议室管理员)。**可选值有**:- true:启用- false(默认值):不启用')
.optional(),
})
.optional(),
params: zod_1.z
.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() })
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日程对应的日历 ID。了解更多,参见[日历 ID 说明]'),
event_id: zod_1.z
.string()
.describe('日程 ID。创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。- [获取日程列表]- [搜索日程]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日程参与人管理(含会议室)-获取日程参与群成员列表-调用该接口以当前身份(应用或用户)获取日程的群组类型参与人的群成员列表',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
page_size: zod_1.z.number().describe('一次请求返回的最大群成员数量').optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日程所在的日历 ID。关于日历 ID 可参见[日历 ID 说明]'),
event_id: zod_1.z
.string()
.describe('日程 ID。创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。- [获取日程列表]- [搜索日程]'),
attendee_id: zod_1.z
.string()
.describe('群组类型参与人 ID。添加日程参与人时,会返回参与人 ID(attendee_id),你也可以调用[获取日程参与人列表]接口,查询指定日程的参与人 ID'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日程参与人管理(含会议室)-添加日程参与人-调用该接口以当前身份(应用或用户)为指定日程添加一个或多个参与人,参与人类型包括用户、群组、会议室以及邮箱',
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('参与人类型。 Options:user(用户),chat(群组),resource(会议室),third_party(ThirdParty 外部邮箱)')
.optional(),
is_optional: zod_1.z
.boolean()
.describe('参与人是否为可选参加。**可选值有**:- true:是- false:否**注意**:无法编辑会议室类型参与人的此字段')
.optional(),
user_id: zod_1.z
.string()
.describe('用户 ID。当选择用户类型参与人(type 取值为 user)时,需要传入该参数。传入的用户 ID 类型需要和 user_id_type 的值保持一致。关于用户 ID 可参见[用户相关的 ID 概念]')
.optional(),
chat_id: zod_1.z
.string()
.describe('群组 ID。当选择群组类型参与人(type 取值为 chat)时,需要传入该参数。关于群组 ID 可参见[群 ID 说明]')
.optional(),
room_id: zod_1.z
.string()
.describe('会议室 ID。当选择会议室类型参与人(type 取值为 resource)时,需要传入该参数。你可以通过以下接口获取指定会议室 ID:- [查询会议室列表]- [搜索会议室]')
.optional(),
third_party_email: zod_1.z
.string()
.describe('邮箱地址。当选择外部邮箱类型参与人(type 取值为 third_party)时,需要传入该参数')
.optional(),
operate_id: zod_1.z
.string()
.describe('会议室联系人 ID。传入的用户 ID 类型需要和 user_id_type 的值保持一致。关于用户 ID 可参见[用户相关的 ID 概念]。**说明**:如果当前日程是基于应用身份创建的,则在添加会议室类型参与人时,需要通过该参数指定会议室的联系人,该联系人会在日程会议室信息中展示。**默认值**:空')
.optional(),
resource_customization: zod_1.z
.array(zod_1.z.object({
index_key: zod_1.z.string().describe('表单内配置的唯一 ID'),
input_content: zod_1.z.string().describe('当配置类型为填空时,需要填入该参数').optional(),
options: zod_1.z
.array(zod_1.z.object({
option_key: zod_1.z.string().describe('选项的唯一 ID').optional(),
others_content: zod_1.z.string().describe('当选项类型为其它选项时,需要填入该参数').optional(),
}))
.describe('每个配置的选项')
.optional(),
}))
.describe('会议室的个性化配置。- 在选择会议室类型参与人时,如果会议室有预定表单,则可以通过该参数配置表单信息。- 当前添加的参与人不涉及会议室个性化配置时,无需设置该参数')
.optional(),
approval_reason: zod_1.z
.string()
.describe('申请预定审批会议室的原因。参数配置说明:- 仅使用用户身份(user_access_token)预定审批会议室时,该字段生效。- 对于申请预定审批会议室的场景,不传该值会直接预约失败。- 如果使用应用身份(tenant_access_token)预定审批会议室,会直接失败。**默认值**:空')
.optional(),
}))
.describe('新增参与人列表。**注意**:- 单次请求可设置的参与人数量(含会议室)上限为 1000。- 单次请求可设置的会议室数量上限为 100')
.optional(),
need_notification: zod_1.z
.boolean()
.describe('是否给参与人发送 Bot 通知。**可选值有**:- true(默认值):发送- false:不发送')
.optional(),
instance_start_time_admin: zod_1.z
.string()
.describe('使用管理员身份访问时,要修改的日程实例。**注意**:- 该参数仅用于修改重复日程中的某一日程实例,非重复日程无需填此字段。- 你可以调用[获取重复日程实例]接口,获取重复日程中某一日程实例的 event_id。该参数取值为 event_id 的时间戳后缀。例如查询到的日程实例 ID 为 `2cf525f0-1e67-4b04-ad4d-30b7f003903c_1713168000`,则当前的 `instance_start_time_admin` 取值为 `1713168000`。**默认值**:空')
.optional(),
is_enable_admin: zod_1.z
.boolean()
.describe('是否启用会议室管理员身份(需先在管理后台设置某成员为会议室管理员)。**可选值有**:- true:启用- false(默认值):不启用**说明**:开启后,本次请求只处理会议室数据,其他参与人操作不会生效')
.optional(),
add_operator_to_attendee: zod_1.z
.boolean()
.describe('是否添加会议室联系人(operate_id)到日程参与人。**可选值有**:- true(默认值):启用- false:不启用')
.optional(),
})
.optional(),
params: zod_1.z
.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() })
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日程对应的日历 ID。了解更多,参见[日历 ID 说明]'),
event_id: zod_1.z
.string()
.describe('日程 ID。创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。- [获取日程列表]- [搜索日程]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日程参与人管理(含会议室)-获取日程参与人列表-调用该接口以当前身份(应用或用户)获取日程的参与人列表',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
need_resource_customization: zod_1.z
.boolean()
.describe('是否需要会议室表单信息。**可选值有**:- true:需要- false(默认值):不需要**注意**:当前身份需要有日程的编辑权限才会返回会议室表单信息,即当前身份需要是日程的组织者,或者是日程参与人且日程设置了**参与人可编辑日程**权限。你可以调用[获取日程]接口,获取日程的参与人权限(attendee_ability)')
.optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
page_size: zod_1.z
.number()
.describe('一次请求返回的最大日程参与人数量。最小值为 10,传入小于 10 的值默认按照 10 计算')
.optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日程所在的日历 ID。关于日历 ID 可参见[日历 ID 说明]'),
event_id: zod_1.z
.string()
.describe('日程 ID。创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。- [获取日程列表]- [搜索日程]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日程管理-创建日程-调用该接口以当前身份(应用或用户)在指定日历上创建一个日程',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z.object({
summary: zod_1.z
.string()
.describe('日程标题。**注意**:为确保数据安全,系统会自动检测日程标题内容,当包含 **晋升、绩效、述职、调薪、调级、复议、申诉、校准、答辩** 中任一关键词时,该日程不会生成会议纪要')
.optional(),
description: zod_1.z
.string()
.describe('日程描述。支持解析Html标签。**注意**:可以通过Html标签来实现部分富文本格式,但是客户端生成的富文本格式并不是通过Html标签实现,如果通过客户端生成富文本描述后,再通过API更新描述,会导致客户端原来的富文本格式丢失')
.optional(),
need_notification: zod_1.z
.boolean()
.describe('更新日程时,是否给日程参与人发送 Bot 通知。**可选值有**:- true:发送通知- false:不发送通知**默认值**:true')
.optional(),
start_time: zod_1.z
.object({
date: zod_1.z
.string()
.describe('开始时间,仅全天日程使用该字段,[RFC 3339] 格式,例如,2018-09-01。**注意**:该参数不能与 `timestamp` 同时指定')
.optional(),
timestamp: zod_1.z
.string()
.describe('秒级时间戳,用于设置具体的开始时间。例如,1602504000 表示 2020/10/12 20:00:00(UTC +8 时区)。**注意**:该参数不能与 `date` 同时指定')
.optional(),
timezone: zod_1.z
.string()
.describe('时区。使用 IANA Time Zone Database 标准,例如 Asia/Shanghai。- 全天日程时区固定为UTC +0- 非全天日程时区默认为 Asia/Shanghai')
.optional(),
})
.describe('日程开始时间'),
end_time: zod_1.z
.object({
date: zod_1.z
.string()
.describe('结束时间,仅全天日程使用该字段,[RFC 3339] 格式,例如,2018-09-01。**注意**:该参数不能与 `timestamp` 同时指定')
.optional(),
timestamp: zod_1.z
.string()
.describe('秒级时间戳,用于设置具体的结束时间。例如,1602504000 表示 2020/10/12 20:00:00(UTC +8 时区)。**注意**:该参数不能与 `date` 同时指定')
.optional(),
timezone: zod_1.z
.string()
.describe('时区。使用 IANA Time Zone Database 标准,例如 Asia/Shanghai。- 全天日程时区固定为UTC +0- 非全天日程时区默认为 Asia/Shanghai')
.optional(),
})
.describe('日程结束时间'),
vchat: zod_1.z
.object({
vc_type: zod_1.z
.enum(['vc', 'third_party', 'no_meeting', 'lark_live', 'unknown'])
.describe('视频会议类型。如果无需视频会议,则必须传入 `no_meeting`。**默认值**:空,表示在首次添加日程参与人时,会自动生成飞书视频会议 URL。 Options:vc(飞书视频会议。取该类型时,vchat 内的其他字段均无效。),third_party(ThirdParty 第三方链接视频会议。取该类型时,仅生效 vchat 内的 icon_type、description、meeting_url 字段。),no_meeting(NoMeeting 无视频会议。取该类型时,vchat 内的其他字段均无效。),lark_live(LarkLive 飞书直播。该值用于客户端,不支持通过 API 调用,只读。),unknown(未知类型。该值用于客户端做兼容使用,不支持通过 API 调用,只读。)')
.optional(),
icon_type: zod_1.z
.enum(['vc', 'live', 'default'])
.describe('第三方视频会议的 icon 类型。**默认值**:default Options:vc(飞书视频会议 icon。),live(直播视频会议 icon。),default(默认 icon。)')
.optional(),
description: zod_1.z.string().describe('第三方视频会议文案。**默认值**:空,为空展示默认文案').optional(),
meeting_url: zod_1.z.string().describe('视频会议 URL').optional(),
meeting_settings: zod_1.z
.object({
owner_id: zod_1.z
.string()
.describe('设置会议 owner 的用户 ID,ID 类型需和 user_id_type 保持一致。该参数需满足以下全部条件才会生效:- 应用身份(tenant_access_token)请求,且在应用日历上操作日程。- 首次将日程设置为 VC 会议时,才能设置owner。- owner 不能为非用户身份。- owner 不能为外部租户用户身份')
.optional(),
join_meeting_permission: zod_1.z
.enum(['anyone_can_join', 'only_organization_employees', 'only_event_attendees'])
.describe('设置入会范围。**默认值**:anyone_can_join Options:anyone_can_join(AnyOne 所有人可以加入会议),only_organization_employees(OnlySameOrganization 仅企业内的用户可以加入会议),only_event_attendees(OnlyEventAttendees 仅日程参与者可以加入会议)')
.optional(),
assign_hosts: zod_1.z
.array(zod_1.z.string())
.describe('通过用户 ID 指定主持人,ID 类型需和 user_id_type 保持一致。**注意**:- 仅日程组织者可以指定主持人。- 主持人不能是非用户身份。- 主持人不能是外部租户用户身份。- 在应用日历上操作日程时,不允许指定主持人')
.optional(),
auto_record: zod_1.z
.boolean()
.describe('是否开启自动录制。**可选值有**:- true:开启- false(默认值):不开启')
.optional(),
open_lobby: zod_1.z
.boolean()
.describe('是否开启等候室。**可选值有**:- true(默认值):开启- false:不开启')
.optional(),
allow_attendees_start: zod_1.z
.boolean()
.describe('是否允许日程参与者发起会议。**可选值有**:- true(默认值):允许- false:不允许**注意**:应用日历上操作日程时,该字段必须为 true,否则没有人能发起会议')
.optional(),
})
.describe('飞书视频会议(VC)的会前设置,需满足以下全部条件:- 当 `vc_type` 为 `vc` 时生效。- 需要有日程的编辑权限')
.optional(),
})
.describe('视频会议信息')
.optional(),
visibility: zod_1.z
.enum(['default', 'public', 'private'])
.describe('日程公开范围,新建日程默认为 `default`。**注意**:该参数仅在新建日程时,对所有参与人生效。如果后续更新日程修改了该参数值,则仅对当前身份生效。 Options:default(默认权限,即跟随日历权限,默认仅向他人显示是否忙碌),public(公开,显示日程详情),private(私密,仅自己可见详情)')
.optional(),
attendee_ability: zod_1.z
.enum(['none', 'can_see_others', 'can_invite_others', 'can_modify_event'])
.describe('参与人权限。**默认值**:none Options:none(无法编辑日程、无法邀请其他参与人、无法查看参与人列表),can_see_others(CanSeeOthers 无法编辑日程、无法邀请其他参与人、可以查看参与人列表),can_invite_others(CanInviteOthers 无法编辑日程、可以邀请其他参与人、可以查看参与人列表),can_modify_event(CanModifyEvent 可以编辑日程、可以邀请其他参与人、可以查看参与人列表)')
.optional(),
free_busy_status: zod_1.z
.enum(['busy', 'free'])
.describe('日程占用的忙闲状态,新建日程默认为 `busy`。**注意**:该参数仅在新建日程时,对所有参与人生效。如果后续更新日程时修改了该参数值,则仅对当前身份生效。 Options:busy(忙碌),free(空闲)')
.optional(),
location: zod_1.z
.object({
name: zod_1.z.string().describe('地点名称').optional(),
address: zod_1.z.string().describe('地点地址').optional(),
latitude: zod_1.z
.number()
.describe('地点坐标纬度信息。- 对于国内的地点,采用 GCJ-02 标准。- 对于海外的地点,采用 WGS84 标准')
.optional(),
longitude: zod_1.z
.number()
.describe('地点坐标经度信息。- 对于国内的地点,采用 GCJ-02 标准。- 对于海外的地点,采用 WGS84 标准')
.optional(),
})
.describe('日程地点,不传值则默认为空')
.optional(),
color: zod_1.z
.number()
.describe('日程颜色,取值通过颜色 RGB 值的 int32 表示。**注意**:- 该参数仅对当前身份生效。- 客户端展示时会映射到色板上最接近的一种颜色。- 取值为 0 或 -1 时,默认跟随日历颜色')
.optional(),
reminders: zod_1.z
.array(zod_1.z.object({
minutes: zod_1.z
.number()
.describe('日程提醒时间的偏移量。- 正数时表示在日程开始前 X 分钟提醒。- 负数时表示在日程开始后 X 分钟提醒。**注意**:新建或更新日程时传入该字段,仅对当前身份生效,不会对日程的其他参与人生效')
.optional(),
}))
.describe('日程提醒列表。不传值则默认为空')
.optional(),
recurrence: zod_1.z
.string()
.describe('重复日程的重复性规则,规则设置方式参考[rfc5545]。**默认值**:空,表示当前日程不是重复日程。**注意**:- COUNT 和 UNTIL 不支持同时出现。- 预定会议室重复日程长度不得超过两年')
.optional(),
schemas: zod_1.z
.array(zod_1.z.object({
ui_name: zod_1.z
.string()
.describe('UI 名称。**可选值有**: - ForwardIcon:日程转发按钮 - MeetingChatIcon:会议群聊按钮 - MeetingMinutesIcon:会议纪要按钮 - MeetingVideo:视频会议区域 - RSVP:接受、拒绝、待定区域 - Attendee:参与者区域 - OrganizerOrCreator:组织者或创建者区域')
.optional(),
ui_status: zod_1.z
.enum(['hide', 'readonly', 'editable', 'unknown'])
.describe('UI 项的状态。目前只支持选择 `hide`。 Options:hide(隐藏显示),readonly(只读),editable(可编辑),unknown(未知 UI 项自定义状态。该参数仅用于读取时兼容,不支持作为请求参数值传入)')
.optional(),
app_link: zod_1.z
.string()
.describe('按钮点击后跳转的链接。**注意**:兼容性参数,只读,因此暂不支持传入该请求参数')
.optional(),
}))
.describe('日程自定义信息,控制日程详情页的 UI 展示。不传值则默认为空')
.optional(),
attachments: zod_1.z
.array(zod_1.z.object({
file_token: zod_1.z
.string()
.describe('附件 Token。调用[上传素材]接口,获取附件的 file_token。在调用上传素材接口时需要注意:- `parent_type` 需传入固定值 `calendar`。- `parent_node` 需传入与当前接口一致的日历 ID。**附件校验规则**:附件总大小不超过 25 MB')
.optional(),
}))
.describe('日程附件')
.optional(),
event_check_in: zod_1.z
.object({
enable_check_in: zod_1.z.boolean().describe('是否启用日程签到'),
check_in_start_time: zod_1.z
.object({
time_type: zod_1.z
.enum(['before_event_start', 'after_event_start', 'after_event_end'])
.describe('偏移量(分钟)相对于的日程时间节点类型。 Options:before_event_start(BeforeEventStart 日程开始前),after_event_start(AfterEventStart 日程开始后),after_event_end(AfterEventEnd 日程结束后)'),
duration: zod_1.z
.number()
.describe('相对于日程开始或者结束的偏移量(分钟)。- 目前取值只能为列表[0, 5, 15, 30, 60]之一,0表示立即开始。- 当time_type为before_event_start,duration不能取0'),
})
.describe('日程签到开始时间。**注意**:签到开始时间不能大于或者等于签到结束时间')
.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('偏移量(分钟)相对于的日程时间节点类型。 Options:before_event_start(BeforeEventStart 日程开始前),after_event_start(AfterEventStart 日程开始后),after_event_end(AfterEventEnd 日程结束后)'),
duration: zod_1.z
.number()
.describe('相对于日程开始或者结束的偏移量(分钟)。- 目前取值只能为列表[0, 5, 15, 30, 60]之一,0表示立即开始。- 当time_type为before_event_start,duration不能取0'),
})
.describe('日程签到结束时间。**注意**:签到开始时间不能大于或者等于签到结束时间')
.optional(),
need_notify_attendees: zod_1.z.boolean().describe('签到开始时是否自动发送签到通知给参与者').optional(),
})
.describe('日程签到设置,为空则不进行日程签到设置')
.optional(),
}),
params: zod_1.z
.object({
idempotency_key: zod_1.z
.string()
.describe('创建日程的幂等 key,该 key 在应用和日历维度下唯一,用于避免重复创建资源。建议按照示例值的格式进行取值')
.optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z
.string()
.describe('日历 ID。创建共享日历时会返回日历 ID。你也可以调用以下接口获取某一日历的 ID。- [查询主日历信息]- [查询日历列表]- [搜索日历]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日程管理-删除日程-调用该接口以当前身份(应用或用户)删除指定日历上的一个日程',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
need_notification: zod_1.z
.enum(['true', 'false'])
.describe('删除日程是否给日程参与人发送 Bot 通知。**默认值**:true Options:true(发送),false(不发送)')
.optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日程所在的日历 ID。了解更多,参见[日历 ID 说明]'),
event_id: zod_1.z.string().describe('日程 ID。获取方式:- [创建日程]会返回日程 ID- [获取日程列表]- [搜索日程]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').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]-日历-日程管理-获取日程-调用该接口以当前身份(应用或用户)获取指定日历内的某一日程信息,包括日程的标题、时间段、视频会议信息、公开范围以及参与人权限等',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
need_meeting_settings: zod_1.z
.boolean()
.describe('是否需要返回飞书视频会议(VC)的会前设置。需满足以下条件才可以获取到返回结果:- 日程的会议类型(vc_type)需要是 vc。- 需要有日程的编辑权限。**可选值有**:- true:需要- false(默认值):不需要')
.optional(),
need_attendee: zod_1.z
.boolean()
.describe('是否需要返回参与人信息。**可选值有**:- true:需要- false(默认值):不需要')
.optional(),
max_attendee_num: zod_1.z
.number()
.describe('返回的最大参与人数量。调用[获取日程参与人列表]可获取日程完整的参与人信息')
.optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
})
.optional(),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日程所在的日历 ID。关于日历 ID 可参见[日历 ID 说明]'),
event_id: zod_1.z
.string()
.describe('日程 ID。创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。- [获取日程列表]- [搜索日程]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.calendarV4CalendarEventInstanceView = {
project: 'calendar',
name: 'calendar.v4.calendarEvent.instanceView',
sdkName: 'calendar.v4.calendarEvent.instanceView',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/instance_view',
httpMethod: 'GET',
description: '[Feishu/Lark]-日历-日程管理-查询日程视图-调用该接口以用户身份查询指定日历下的日程视图。与[获取日程列表]不同的是,当前接口会按照重复日程的重复性规则展开成多个日程实例(instance),并根据查询的时间区间返回相应的日程实例信息',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z.object({
start_time: zod_1.z
.string()
.describe('开始时间,Unix 时间戳,单位为秒。该参数与 end_time 用于设置查询的时间范围。**注意**:start_time 与 end_time 之间的时间区间需要小于 40 天'),
end_time: zod_1.z
.string()
.describe('结束时间,Unix 时间戳,单位为秒。该参数与 start_time 用于设置查询的时间范围。**注意**:start_time 与 end_time 之间的时间区间需要小于 40 天'),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: zod_1.z.object({ calendar_id: zod_1.z.string().describe('日历 ID。关于日历 ID 可参见[日历 ID 说明]') }),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.calendarV4CalendarEventInstances = {
project: 'calendar',
name: 'calendar.v4.calendarEvent.instances',
sdkName: 'calendar.v4.calendarEvent.instances',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/instances',
httpMethod: 'GET',
description: '[Feishu/Lark]-日历-日程管理-获取重复日程实例-调用该接口以当前身份(应用或用户)获取指定日历中的某一重复日程信息',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z.object({
start_time: zod_1.z
.string()
.describe('开始时间,Unix 时间戳,单位为秒。该参数与 end_time 用于设置时间范围,即重复日程的查询区间为 (start_time, end_time)**注意**:start_time 与 end_time 之间的时间区间不能超过 2年'),
end_time: zod_1.z
.string()
.describe('结束时间,Unix 时间戳,单位为秒。该参数与 start_time 用于设置时间范围,即重复日程的查询区间为 (start_time, end_time)**注意**:start_time 与 end_time 之间的时间区间不能超过 2年'),
page_size: zod_1.z.number().describe('一次调用返回的日程数量上限').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
}),
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日历 ID。关于日历 ID 可参见[日历 ID 说明]'),
event_id: zod_1.z
.string()
.describe('日程 ID。创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。- [获取日程列表]- [搜索日程]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.calendarV4CalendarEventList = {
project: 'calendar',
name: 'calendar.v4.calendarEvent.list',
sdkName: 'calendar.v4.calendarEvent.list',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events',
httpMethod: 'GET',
description: '[Feishu/Lark]-日历-日程管理-获取日程列表-调用该接口以当前身份(应用或用户)获取指定日历下的日程列表',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z
.object({
page_size: zod_1.z
.number()
.describe('一次请求要求返回的最大日程数量。实际返回的日程数量可能小于该值,也可能为空,可以根据响应体里的has_more字段来判断是否还有更多日程')
.optional(),
anchor_time: zod_1.z
.string()
.describe('时间锚点,Unix 时间戳(秒)。anchor_time 用于设置一个时间点,以便直接拉取该时间点之后的日程数据,从而避免拉取全量日程数据。可使用 page_token 或 sync_token 进行分页或增量拉取 anchor_time 之后的所有日程数据。**使用说明**:- 对于单次日程,会获取到 **日程结束时间 >= anchor_time** 的日程信息。- 对于重复性日程,目前设置 anchor_time 后均会获取到,包括在 anchor_time 之前的已结束的历史重复性日程。- 对于例外日程,会获取到 **original_time >= anchor_time** 以及 **日程结束时间 >= anchor_time** 的日程信息,其中 original_time 从例外日程 ID 中获取,ID 结构为 `{uid}_{original_time}`。**注意**:该参数不可与 start_time 和 end_time 一起使用。**默认值**:空')
.optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
sync_token: zod_1.z
.string()
.describe('增量同步标记,第一次请求不填。当分页查询结束(page_token 返回值为空)时,接口会返回 sync_token 字段,下次调用可使用该 sync_token 增量获取日历变更数据。**默认值**:空')
.optional(),
start_time: zod_1.z
.string()
.describe('时间区间的开始时间, Unix 时间戳(秒),与end_time搭配使用,用于拉取指定时间区间内的日程数据.**注意**:- 该方式只能一次性返回数据,无法进行分页。一次性返回的数据大小受page_size限制,超过限制的数据将被截断。- 在使用start_time和end_time时,不能与page_token或sync_token一起使用。- 在使用start_time和end_time时,不能与anchor_time一起使用。**默认值**:空')
.optional(),
end_time: zod_1.z
.string()
.describe('时间区间的结束时间, Unix 时间戳(秒)。与start_time搭配使用,用于拉取指定时间区间内的日程数据.**注意**:- 该方式只能一次性返回数据,无法进行分页。一次性返回的数据大小受page_size限制,超过限制的数据将被截断。- 在使用start_time和end_time时不能与page_token或sync_token一起使用。- 在使用start_time和end_time时,不能与anchor_time一起使用。**默认值**:空')
.optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
})
.optional(),
path: zod_1.z.object({ calendar_id: zod_1.z.string().describe('日历 ID。关于日历 ID 可参见[日历 ID 说明]') }),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.calendarV4CalendarEventMeetingChatCreate = {
project: 'calendar',
name: 'calendar.v4.calendarEventMeetingChat.create',
sdkName: 'calendar.v4.calendarEventMeetingChat.create',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/meeting_chat',
httpMethod: 'POST',
description: '[Feishu/Lark]-日历-会议群-创建会议群-调用该接口以当前身份(应用或用户)为指定日程创建一个会议群',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日程所在的日历 ID。了解更多,参见[日历 ID 说明]'),
event_id: zod_1.z
.string()
.describe('日程 ID。创建日程时会返回日程 ID。你也可以调用以下接口获取某一日历的 ID。- [获取日程列表]- [搜索日程]'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.calendarV4CalendarEventMeetingChatDelete = {
project: 'calendar',
name: 'calendar.v4.calendarEventMeetingChat.delete',
sdkName: 'calendar.v4.calendarEventMeetingChat.delete',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/meeting_chat',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-日历-会议群-解绑会议群-调用该接口以当前身份(应用或用户)为日程解绑已创建的会议群',
accessTokens: ['tenant', 'user'],
schema: {
params: zod_1.z.object({ meeting_chat_id: zod_1.z.string().describe('会议群 ID。在创建会议群时会返回会议群 ID') }),
path: zod_1.z.object({ calendar_id: zod_1.z.string().describe('日程所在的日历 ID'), event_id: zod_1.z.string().describe('日程 ID') }),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.calendarV4CalendarEventMeetingMinuteCreate = {
project: 'calendar',
name: 'calendar.v4.calendarEventMeetingMinute.create',
sdkName: 'calendar.v4.calendarEventMeetingMinute.create',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id/meeting_minute',
httpMethod: 'POST',
description: '[Feishu/Lark]-日历-会议纪要-创建会议纪要-调用该接口为指定的日程创建会议纪要。纪要以文档形式展示,成功创建后会返回纪要文档 URL',
accessTokens: ['tenant', 'user'],
schema: {
path: zod_1.z.object({
calendar_id: zod_1.z.string().describe('日历 ID。调用[查询主日历信息]接口,获取当前身份的主日历 ID'),
event_id: zod_1.z.string().describe('日程 ID。调用[搜索日程]接口,在指定日历内搜索日程并获取日程 ID'),
}),
useUAT: zod_1.z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
exports.calendarV4CalendarEventPatch = {
project: 'calendar',
name: 'calendar.v4.calendarEvent.patch',
sdkName: 'calendar.v4.calendarEvent.patch',
path: '/open-apis/calendar/v4/calendars/:calendar_id/events/:event_id',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-日历-日程管理-更新日程-调用该接口以当前身份(应用或用户)更新指定日历上的一个日程,包括日程标题、描述、开始与结束时间、视频会议以及日程地点等信息',
accessTokens: ['tenant', 'user'],
schema: {
data: zod_1.z
.object({
summary: zod_1.z.string().describe('日程标题。**默认值**:空,表示不更新该字段').optional(),
description: zod_1.z
.string()
.describe('日程描述。**注意**:目前 API 方式不支持编辑富文本描述。如果日程描述通过客户端编辑为富文本内容,则使用 API 更新描述会导致富文本格式丢失。**默认值**:空,表示不更新该字段')
.optional(),
need_notification: zod_1.z
.boolean()
.describe('更新日程时,是否给日程参与人发送 Bot 通知。**默认值**:空,表示不更新该字段**可选值有**:- true:发送通知- false:不发送通知')
.optional(),
start_time: zod_1.z
.object({
date: zod_1.z
.string()
.describe('开始时间,仅全天日程使用该字段,[RFC 3339] 格式,例如,2018-09-01。**注意**:该参数不能与 `timestamp` 同时指定')
.optional(),
timestamp: zod_1.z
.string()
.describe('秒级时间戳,用于设置具体的开始时间。例如,1602504000 表示 2020/10/12 20:00:00(UTC +8 时区)。**注意**:该参数不能与 `date` 同时指定')
.optional(),
timezone: zod_1.z
.string()
.describe('时区。使用 IANA Time Zone Database 标准,例如 Asia/Shanghai。- 全天日程时区固定为UTC +0- 非全天日程时区默认为 Asia/Shanghai')
.optional(),
})
.describe('日程开始时间。需要与end_time同时有值才会生效')
.optional(),
end_time: zod_1.z
.object({
date: zod_1.z
.string()
.describe('结束时间,仅全天日程使用该字段,[RFC 3339] 格式,例如,2018-09-01。**注意**:该参数不能与 `timestamp` 同时指定')
.optional(),
timestamp: zod_1.z
.string()
.describe('秒级时间戳,用于设置具体的结束时间。例如,1602504000 表示 2020/10/12 20:00:00(UTC +8 时区)。**注意**:该参数不能与 `date` 同时指定')
.optional(),
timezone: zod_1.z
.string()
.describe('时区。使用 IANA Time Zone Database 标准,例如 Asia/Shanghai。- 全天日程时区固定为UTC +0- 非全天日程时区默认为 Asia/Shanghai')
.optional(),
})
.describe('日程结束时间。需要与start_time同时有值才会生效')
.optional(),
vchat: zod_1.z
.object({
vc_type: zod_1.z
.enum(['vc', 'third_party', 'no_meeting', 'lark_live', 'unknown'])
.describe('视频会议类型。如果无需视频会议,则必须传入 `no_meeting`。 Options:vc(飞书视频会议。取该类型时,vchat 内的其他字段均无效。),third_party(ThirdParty 第三方链接视频会议。取该类型时,仅生效 vchat 内的 icon_type、description、meeting_url 字段。),no_meeting(NoMeeting 无视频会议。取该类型时,vchat 内的其他字段均无效。),lark_live(LarkLive 飞书直播。该值用于客户端,不支持通过 API 调用,只读。),unknown(未知类型。该值用于客户端做兼容使用,不支持通过 API 调用,只读。)')
.optional(),
icon_type: zod_1.z
.enum(['vc', 'live', 'default'])
.describe('第三方视频会议的 icon 类型。**默认值**:空,表示不更新该字段 Options:vc(飞书视频会议 icon),live(直播视频会议 icon),default(默认 icon)')
.optional(),
description: zod_1.z.string().describe('第三方视频会议文案。**默认值**:空,表示不更新该字段').optional(),
meeting_url: zod_1.z.string().describe('视频会议 URL。**默认值**:空,表示不更新该字段').optional(),
meeting_settings: zod_1.z
.object({
owner_id: zod_1.z
.string()
.describe('设置会议 owner 的用户 ID,ID 类型需和 user_id_type 保持一致。该参数需满足以下全部条件才会生效:- 应用身份(tenant_access_token)请求,且在应用日历上操作日程。- 首次将日程设置为 VC 会议时,才能设置owner。- owner 不能为非用户身份。- owner 不能为外部租户用户身份')
.optional(),
join_meeting_permission: zod_1.z
.enum(['anyone_can_join', 'only_organization_employees', 'only_event_attendees'])
.describe('设置入会范围。 Options:anyone_can_join(AnyOne 所有人可以加入会议),only_organization_employees(OnlySameOrganization 仅企业内用户可以加入会议),only_event_attendees(OnlyEventAttendees 仅日程参与者可以加入会议)')
.optional(),
assign_hosts: zod_1.z
.array(zod_1.z.string())
.describe('通过用户 ID 指定主持人,ID 类型需和 user_id_type 保持一致。**注意**:- 仅日程组织者可以指定主持人。- 主持人不能是非用户身份。- 主持人不能是外部租户用户身份。- 在应用日历上操作日程时,不允许指定主持人')
.optional(),
auto_record: zod_1.z
.boolean()
.describe('是否开启自动录制。**可选值有**:- true:开启- false:不开启**默认值**:空,表示不更新该字段')
.optional(),
open_lobby: zod_1.z
.boolean()
.describe('是否开启等候室。**可选值有**:- true:开启- false:不开启**默认值**:空,表示不更新该字段')
.optional(),
allow_attendees_start: zod_1.z
.boolean()
.describe('是否允许日程参与者发起会议。**注意**:应用日历上操作日程时,该字段必须为 true,否则没有人能发起会议。**可选值有**:- true:允许- false:不允许**默认值**:空,表示不更新该字段')
.optional(),
})
.describe('飞书视频会议(VC)的会前设置,需满足以下全部条件:- 当 `vc_type` 为 `vc` 时生效。- 需要有日程的编辑权限。不传值则表示不更新该字段')
.optional(),
})
.describe('视频会议信息。不传值则表示不更新该字段')
.optional(),
visibility: zod_1.z
.enum(['default', 'public', 'private'])
.describe('日程公开范围。**注意**:更新日程时如果修改了该参数值,则仅对当前身份生效。**默认值**:空,表示不更新该字段 Options:default(默认权限,即跟随日历权限,默认仅向他人显示是否忙碌),public(公开,显示日程详情),private(私密,仅自己可见详情)')
.optional(),
attendee_ability: zod_1.z
.enum(['none', 'can_see_others', 'can_invite_others', 'can_modify_event'])
.describe('参与人权限。**默认值**:空,表示不更新该字段 Options:none(无法编辑日程、无法邀请其他参与人、无法查看参与人列表),can_see_others(CanSeeOthers 无法编辑日程、无法邀请其他参与人、可以查看参与人列表),can_invite_others(CanInviteOthers 无法编辑日程、可以邀请其他参与人、可以查看参与人列表),can_modify_event(CanModifyEvent 可以编辑日程、可以邀请其他参与人、可以查看参与人列表)')
.optional(),
free_busy_status: zod_1.z
.enum(['busy', 'free'])
.describe('日程占用的忙闲状态,新建日程默认为 `busy`。**注意**:更新日程时如果修改了该参数值,则仅对当前身份生效。**默认值**:空,表示不更新该字段 Options:busy(忙碌),free(空闲)')
.optional(),
location: zod_1.z
.object({
name: zod_1.z.string().describe('地点名称').optional(),
address: zod_1.z.string().describe('地点地址').optional(),
latitude: zod_1.z
.number()
.describe('地点坐标纬度信息。- 对于国内的地点,采用 GCJ-02 标准。- 对于海外的地点,采用 WGS84 标准')
.optional(),
longitude: zod_1.z
.number()
.describe('地点坐标经度信息。- 对于国内的地点,采用 GCJ-02 标准。- 对于海外的地点,采用 WGS84 标准')
.optional(),
})
.describe('日程地点。不传值则表示不更新该字段')
.optional(),
color: zod_1.z
.number()
.describe('日程颜色,取值通过颜色 RGB 值的 int32 表示。**注意**:- 该参数仅对当前身份生效。- 客户端展示时会映射到色板上最接近的一种颜色。- 取值为 0 或 -1 时,默认跟随日历颜色。**默认值**:空,表示不更新该字段')
.optional(),
reminders: zod_1.z
.array(zod_1.z.object({
minutes: zod_1.z
.number()
.describe('日程提醒时间的偏移量。- 正数时表示在日程开始前 X 分钟提醒。- 负数时表示在日程开始后 X 分钟提醒。**注意**:更新日程时修改该字段仅对当前身份生效')
.optional(),
}))
.describe('日程提醒列表。不传值则表示不更新该字段')