@larksuiteoapi/lark-mcp
Version:
Feishu/Lark OpenAPI MCP
423 lines (422 loc) • 25.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.adminV1Tools = exports.adminV1PasswordReset = exports.adminV1BadgeUpdate = exports.adminV1BadgeList = exports.adminV1BadgeGrantUpdate = exports.adminV1BadgeGrantList = exports.adminV1BadgeGrantGet = exports.adminV1BadgeGrantDelete = exports.adminV1BadgeGrantCreate = exports.adminV1BadgeGet = exports.adminV1BadgeCreate = exports.adminV1AuditInfoList = exports.adminV1AdminUserStatList = exports.adminV1AdminDeptStatList = void 0;
const zod_1 = require("zod");
exports.adminV1AdminDeptStatList = {
project: 'admin',
name: 'admin.v1.adminDeptStat.list',
sdkName: 'admin.v1.adminDeptStat.list',
path: '/open-apis/admin/v1/admin_dept_stats',
httpMethod: 'GET',
description: '[Feishu/Lark]-管理后台-数据报表管理-获取部门维度的用户活跃和功能使用数据-该接口用于获取部门维度的用户活跃和功能使用数据,即IM(即时通讯)、日历、云文档、音视频会议、邮箱功能的使用数据',
accessTokens: ['tenant'],
schema: {
params: zod_1.z.object({
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('部门ID类型 Options:department_id(部门的 ID),open_department_id(部门的 Open ID)'),
start_date: zod_1.z.string().describe('起始日期(包含),格式是YYYY-mm-dd'),
end_date: zod_1.z.string().describe('终止日期(包含),格式是YYYY-mm-dd,起止日期之间相差不能超过91天(包含91天)'),
department_id: zod_1.z.string().describe('部门的 ID,取决于department_id_type,仅支持根部门及其下前4级子部门'),
contains_child_dept: zod_1.z
.boolean()
.describe('是否包含子部门,如果该值为false,则只查出本部门直属用户活跃和功能使用数据;如果该值为true,则查出该部门以及其子部门(子部门层级最多不超过根部门下的前4级)的用户活跃和功能使用数据'),
page_size: zod_1.z.number().describe('分页大小').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
target_geo: zod_1.z
.string()
.describe('需跨域访问的Geo数据,每个Geo仅包含本Geo数据,不传默认查本地数据,调用前需要先开通FG(cn、sg、jp、us)')
.optional(),
with_product_version: zod_1.z
.boolean()
.describe('是否返回分产品版本数据(灰度功能,如需使用请联系 CMS 团队)')
.optional(),
}),
},
};
exports.adminV1AdminUserStatList = {
project: 'admin',
name: 'admin.v1.adminUserStat.list',
sdkName: 'admin.v1.adminUserStat.list',
path: '/open-apis/admin/v1/admin_user_stats',
httpMethod: 'GET',
description: '[Feishu/Lark]-管理后台-数据报表管理-获取用户维度的用户活跃和功能使用数据-用于获取用户维度的用户活跃和功能使用数据,即IM(即时通讯)、日历、云文档、音视频会议、邮箱功能的使用数据',
accessTokens: ['tenant'],
schema: {
params: zod_1.z.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('部门ID类型 Options:department_id(部门的 ID),open_department_id(部门的 Open ID)')
.optional(),
start_date: zod_1.z.string().describe('起始日期(包含),格式是YYYY-mm-dd'),
end_date: zod_1.z.string().describe('终止日期(包含),格式是YYYY-mm-dd。起止日期之间相差不能超过31天(包含31天)'),
department_id: zod_1.z.string().describe('部门的 ID,取决于department_id_type').optional(),
user_id: zod_1.z.string().describe('用户的open_id,user_id或者union_id,取决于user_id_type').optional(),
page_size: zod_1.z.number().describe('分页大小').optional(),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
target_geo: zod_1.z
.string()
.describe('需跨域访问的Geo数据,每个Geo仅包含本Geo数据,不传默认查本地数据,调用前需要先开通FG(cn、us、sg、jp),每次只能查一个Geo数据')
.optional(),
}),
},
};
exports.adminV1AuditInfoList = {
project: 'admin',
name: 'admin.v1.auditInfo.list',
sdkName: 'admin.v1.auditInfo.list',
path: '/open-apis/admin/v1/audit_infos',
httpMethod: 'GET',
description: '[Feishu/Lark]-安全合规-行为审计日志-获取行为审计日志数据-用户行为日志搜索',
accessTokens: ['tenant'],
schema: {
params: zod_1.z.object({
user_id_type: zod_1.z.enum(['user_id', 'union_id', 'open_id']).describe('用户ID类型').optional(),
latest: zod_1.z.number().describe('日志时间范围: 结束时间. 格式: 秒级时间戳. 默认值: 此刻').optional(),
oldest: zod_1.z.number().describe('日志时间范围: 起始时间. 格式: 秒级时间戳. 默认值: 30日前此刻').optional(),
event_name: zod_1.z.string().describe('事件名称').optional(),
operator_type: zod_1.z
.enum(['user', 'bot'])
.describe('过滤操作者: 操作者类型. 与 operator_value 配合使用 Options:user(以user_id来识别用户),bot([已废弃] 以bot_id来识别用户)')
.optional(),
operator_value: zod_1.z.string().describe('过滤操作者: 操作者ID. 与 operator_type 配合使用').optional(),
event_module: zod_1.z.number().describe('过滤模块').optional(),
page_token: zod_1.z.string().describe('下一页分页的token').optional(),
page_size: zod_1.z.number().describe('分页参数').optional(),
user_type: zod_1.z
.number()
.describe('过滤用户类型. 仅当 operator_type=user 时生效 Options:0(all 互联网上的任何人),1(normal_user 组织内成员),2(external_user 组织外成员)')
.optional(),
object_type: zod_1.z.number().describe('过滤操作对象: 操作对象类型. 与object_value配合使用').optional(),
object_value: zod_1.z.string().describe('过滤操作对象: 操作对象ID. 与object_type配合使用').optional(),
ext_filter_object_by_ccm_token: zod_1.z
.string()
.describe('增强过滤操作对象: 操作对象ID,支持云文档侧泛token过滤。会覆盖object_type和object_value查询条件')
.optional(),
}),
},
};
exports.adminV1BadgeCreate = {
project: 'admin',
name: 'admin.v1.badge.create',
sdkName: 'admin.v1.badge.create',
path: '/open-apis/admin/v1/badges',
httpMethod: 'POST',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章管理-创建勋章-使用该接口可以创建一枚完整的勋章信息,一个租户下最多可创建1000枚勋章',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
name: zod_1.z.string().describe('租户内唯一的勋章名称,最多30个字符'),
explanation: zod_1.z.string().describe('勋章的描述文案,最多100个字符').optional(),
detail_image: zod_1.z
.string()
.describe('企业勋章的详情图Key。1.权限校验:非本租户上传的图片key,不能直接使用;2.时效校验:创建勋章,或者修改勋章图片key时,需使用1h内上传的图片key'),
show_image: zod_1.z
.string()
.describe('企业勋章的头像挂饰图Key。1.权限校验:非本租户上传的图片key,不能直接使用;2.时效校验:创建勋章,或者修改勋章图片key时,需使用1h内上传的图片key'),
i18n_name: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('中文文案').optional(),
en_us: zod_1.z.string().describe('英文文案').optional(),
ja_jp: zod_1.z.string().describe('日文文案').optional(),
})
.describe('勋章的多语言名称,同name字段限制,最多30个字符')
.optional(),
i18n_explanation: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('中文文案').optional(),
en_us: zod_1.z.string().describe('英文文案').optional(),
ja_jp: zod_1.z.string().describe('日文文案').optional(),
})
.describe('勋章的多语言描述文案,同explanation字段限制,最多100个字符')
.optional(),
}),
},
};
exports.adminV1BadgeGet = {
project: 'admin',
name: 'admin.v1.badge.get',
sdkName: 'admin.v1.badge.get',
path: '/open-apis/admin/v1/badges/:badge_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章管理-获取勋章详情-可以通过该接口查询勋章的详情',
accessTokens: ['tenant'],
schema: {
path: zod_1.z.object({ badge_id: zod_1.z.string().describe('勋章id') }),
},
};
exports.adminV1BadgeGrantCreate = {
project: 'admin',
name: 'admin.v1.badgeGrant.create',
sdkName: 'admin.v1.badgeGrant.create',
path: '/open-apis/admin/v1/badges/:badge_id/grants',
httpMethod: 'POST',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-创建授予名单-通过该接口可以为特定勋章创建一份授予名单,一枚勋章下最多可创建1000份授予名单',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
name: zod_1.z.string().describe('勋章下唯一的授予事项,最多100个字符'),
grant_type: zod_1.z.number().describe('授予名单类型 Options:0(manual 手动选择有效期),1(join_time 匹配系统入职时间)'),
time_zone: zod_1.z
.string()
.describe('授予名单的生效时间对应的时区,用于检查RuleDetail的时间戳的取值是否规范,取值范围为TZ database name'),
rule_detail: zod_1.z
.object({
effective_time: zod_1.z
.string()
.describe('开始生效的时间戳。1.手动设置有效期类型勋章,配置有效期限需要配置该字段;2.时间戳必须是所在时区当天的零点时间戳,如时区为Asia/Shanghai时区时的1649606400')
.optional(),
expiration_time: zod_1.z
.string()
.describe('结束生效的时间戳。1.手动设置有效期类型勋章,配置有效期限需要配置该字段;2.最大值:不得超过effective_time+100 年;3.非永久有效:时间戳必须是所在时区当天的23:59:59时间戳,如时区为Asia/Shanghai时区时的1649692799;4.永久有效:传值为0即可')
.optional(),
anniversary: zod_1.z.number().describe('入职周年日。根据入职时间发放类型勋章,需要配置该字段').optional(),
effective_period: zod_1.z
.number()
.describe('有效期限。根据入职时间发放类型勋章,需要配置该字段。 Options:1(one_year 有效期为一年),2(permanent 永久有效)')
.optional(),
})
.describe('规则详情'),
is_grant_all: zod_1.z
.boolean()
.describe('是否授予给全员。1.为false时,需要关联1~500个用户群体。2.为true时,不可关联用户、用户组、部门'),
user_ids: zod_1.z
.array(zod_1.z.string())
.describe('授予的用户ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回')
.optional(),
department_ids: zod_1.z
.array(zod_1.z.string())
.describe('授予的部门ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回')
.optional(),
group_ids: zod_1.z
.array(zod_1.z.string())
.describe('授予的用户组ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回')
.optional(),
}),
params: zod_1.z.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中使用的部门ID的类型。 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)')
.optional(),
}),
path: zod_1.z.object({ badge_id: zod_1.z.string().describe('勋章ID') }),
},
};
exports.adminV1BadgeGrantDelete = {
project: 'admin',
name: 'admin.v1.badgeGrant.delete',
sdkName: 'admin.v1.badgeGrant.delete',
path: '/open-apis/admin/v1/badges/:badge_id/grants/:grant_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-删除授予名单-通过该接口可以删除特定授予名单的信息',
accessTokens: ['tenant'],
schema: {
path: zod_1.z.object({
badge_id: zod_1.z.string().describe('企业勋章的唯一ID'),
grant_id: zod_1.z.string().describe('租户内授予名单的唯一标识,该值由系统随机生成'),
}),
},
};
exports.adminV1BadgeGrantGet = {
project: 'admin',
name: 'admin.v1.badgeGrant.get',
sdkName: 'admin.v1.badgeGrant.get',
path: '/open-apis/admin/v1/badges/:badge_id/grants/:grant_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-获取授予名单详情-通过该接口可以获取特定授予名单的信息',
accessTokens: ['tenant'],
schema: {
params: zod_1.z.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中使用的部门ID的类型。 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)')
.optional(),
}),
path: zod_1.z.object({
badge_id: zod_1.z.string().describe('租户内勋章的唯一标识,该值由系统随机生成'),
grant_id: zod_1.z.string().describe('租户内授予名单的唯一标识,该值由系统随机生成'),
}),
},
};
exports.adminV1BadgeGrantList = {
project: 'admin',
name: 'admin.v1.badgeGrant.list',
sdkName: 'admin.v1.badgeGrant.list',
path: '/open-apis/admin/v1/badges/:badge_id/grants',
httpMethod: 'GET',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-获取授予名单列表-通过该接口可以获取特定勋章下的授予名单列表,授予名单的排列顺序按照创建时间倒序排列',
accessTokens: ['tenant'],
schema: {
params: zod_1.z.object({
page_size: zod_1.z.number().describe('分页大小'),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中使用的部门ID的类型。 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)')
.optional(),
name: zod_1.z.string().describe('授予名单名称,精确匹配').optional(),
}),
path: zod_1.z.object({ badge_id: zod_1.z.string().describe('企业勋章的唯一ID') }),
},
};
exports.adminV1BadgeGrantUpdate = {
project: 'admin',
name: 'admin.v1.badgeGrant.update',
sdkName: 'admin.v1.badgeGrant.update',
path: '/open-apis/admin/v1/badges/:badge_id/grants/:grant_id',
httpMethod: 'PUT',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章授予名单-修改授予名单-通过该接口可以修改特定授予名单的相关信息',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
name: zod_1.z.string().describe('勋章下唯一的授予事项,最多100个字符'),
grant_type: zod_1.z.number().describe('授予名单类型 Options:0(manual 手动选择有效期),1(join_time 匹配系统入职时间)'),
time_zone: zod_1.z
.string()
.describe('授予名单的生效时间对应的时区,用于检查RuleDetail的时间戳的取值是否规范,取值范围为TZ database name'),
rule_detail: zod_1.z
.object({
effective_time: zod_1.z
.string()
.describe('开始生效的时间戳。1.手动设置有效期类型勋章,配置有效期限需要配置该字段;2.时间戳必须是所在时区当天的零点时间戳,如时区为Asia/Shanghai时区时的1649606400')
.optional(),
expiration_time: zod_1.z
.string()
.describe('结束生效的时间戳。1.手动设置有效期类型勋章,配置有效期限需要配置该字段;2.最大值:不得超过effective_time+100 年;3.非永久有效:时间戳必须是所在时区当天的23:59:59时间戳,如时区为Asia/Shanghai时区时的1649692799;4.永久有效:传值为0即可')
.optional(),
anniversary: zod_1.z.number().describe('入职周年日。根据入职时间发放类型勋章,需要配置该字段').optional(),
effective_period: zod_1.z
.number()
.describe('有效期限。根据入职时间发放类型勋章,需要配置该字段。 Options:1(one_year 有效期为一年),2(permanent 永久有效)')
.optional(),
})
.describe('规则详情'),
is_grant_all: zod_1.z
.boolean()
.describe('是否授予给全员。1.为false时,需要关联1~500个用户群体。2.为true时,不可关联用户、用户组、部门'),
user_ids: zod_1.z
.array(zod_1.z.string())
.describe('授予的用户ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回')
.optional(),
department_ids: zod_1.z
.array(zod_1.z.string())
.describe('授予的部门ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回')
.optional(),
group_ids: zod_1.z
.array(zod_1.z.string())
.describe('授予的用户组ID列表,授予名单列表接口返回结果中不返回该字段,只在详情接口返回')
.optional(),
}),
params: zod_1.z.object({
user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
department_id_type: zod_1.z
.enum(['department_id', 'open_department_id'])
.describe('此次调用中使用的部门ID的类型。 Options:department_id(以自定义department_id来标识部门),open_department_id(以open_department_id来标识部门)')
.optional(),
}),
path: zod_1.z.object({ badge_id: zod_1.z.string().describe('勋章ID'), grant_id: zod_1.z.string().describe('授予名单ID') }),
},
};
exports.adminV1BadgeList = {
project: 'admin',
name: 'admin.v1.badge.list',
sdkName: 'admin.v1.badge.list',
path: '/open-apis/admin/v1/badges',
httpMethod: 'GET',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章管理-获取勋章列表-可以通过该接口列出租户下所有的勋章,勋章的排列顺序是按照创建时间倒序排列',
accessTokens: ['tenant'],
schema: {
params: zod_1.z.object({
page_size: zod_1.z.number().describe('分页大小'),
page_token: zod_1.z
.string()
.describe('分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果')
.optional(),
name: zod_1.z.string().describe('租户内唯一的勋章名称,精确匹配').optional(),
}),
},
};
exports.adminV1BadgeUpdate = {
project: 'admin',
name: 'admin.v1.badge.update',
sdkName: 'admin.v1.badge.update',
path: '/open-apis/admin/v1/badges/:badge_id',
httpMethod: 'PUT',
description: '[Feishu/Lark]-管理后台-企业勋章-勋章管理-修改勋章信息-通过该接口可以修改勋章的信息',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
name: zod_1.z.string().describe('租户内唯一的勋章名称,最多30个字符'),
explanation: zod_1.z.string().describe('勋章的描述文案,最多100个字符').optional(),
detail_image: zod_1.z
.string()
.describe('企业勋章的详情图Key。1.权限校验:非本租户上传的图片key,不能直接使用;2.时效校验:创建勋章,或者修改勋章图片key时,需使用1h内上传的图片key'),
show_image: zod_1.z
.string()
.describe('企业勋章的头像挂饰图Key。1.权限校验:非本租户上传的图片key,不能直接使用;2.时效校验:创建勋章,或者修改勋章图片key时,需使用1h内上传的图片key'),
i18n_name: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('中文文案').optional(),
en_us: zod_1.z.string().describe('英文文案').optional(),
ja_jp: zod_1.z.string().describe('日文文案').optional(),
})
.describe('勋章的多语言名称,同name字段限制,最多30个字符')
.optional(),
i18n_explanation: zod_1.z
.object({
zh_cn: zod_1.z.string().describe('中文文案').optional(),
en_us: zod_1.z.string().describe('英文文案').optional(),
ja_jp: zod_1.z.string().describe('日文文案').optional(),
})
.describe('勋章的多语言描述文案,同explanation字段限制,最多100个字符')
.optional(),
}),
path: zod_1.z.object({ badge_id: zod_1.z.string().describe('勋章ID') }),
},
};
exports.adminV1PasswordReset = {
project: 'admin',
name: 'admin.v1.password.reset',
sdkName: 'admin.v1.password.reset',
path: '/open-apis/admin/v1/password/reset',
httpMethod: 'POST',
description: '[Feishu/Lark]-管理后台-登录密码管理-重置用户的企业邮箱密码',
accessTokens: ['tenant'],
schema: {
data: zod_1.z.object({
password: zod_1.z
.object({ ent_email_password: zod_1.z.string().describe('企业邮箱密码') })
.describe('需要重置的密码参数,不少于8个字符,字母、数字和符号,至少三选二'),
user_id: zod_1.z.string().describe('待修改密码的用户ID,只针对邮箱登录凭证与企业邮箱(包括别名)相等的用户生效'),
}),
params: zod_1.z.object({ user_id_type: zod_1.z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型') }),
},
};
exports.adminV1Tools = [
exports.adminV1AdminDeptStatList,
exports.adminV1AdminUserStatList,
exports.adminV1AuditInfoList,
exports.adminV1BadgeCreate,
exports.adminV1BadgeGet,
exports.adminV1BadgeGrantCreate,
exports.adminV1BadgeGrantDelete,
exports.adminV1BadgeGrantGet,
exports.adminV1BadgeGrantList,
exports.adminV1BadgeGrantUpdate,
exports.adminV1BadgeList,
exports.adminV1BadgeUpdate,
exports.adminV1PasswordReset,
];