dingtalk-honorary-mcp
Version:
DingTalk Honor MCP Server - TypeScript implementation for AI assistants to manage enterprise honor system
116 lines • 2.63 kB
TypeScript
export interface DingTalkTool {
name: string;
description: string;
requestTemplate: {
method: string;
url: string;
headers?: Array<{
key: string;
value: string;
}>;
};
args?: Array<{
name: string;
type: string;
description: string;
required?: boolean;
position?: 'path' | 'query' | 'body';
items?: any;
}>;
}
export interface DingTalkConfig {
name?: string;
version?: string;
description?: string;
tools: DingTalkTool[];
}
export interface TokenCacheData {
access_token: string;
expires_in: number;
expires_at: number;
created_at: number;
app_id?: string;
}
export interface ServerOptions {
accessToken?: string;
appId?: string;
appSecret?: string;
tokenCacheFile?: string;
configPath?: string;
}
export interface HonorInfo {
honorId: string;
honorName: string;
honorDesc: string;
honorImgUrl: string;
honorPendantImgUrl?: string;
}
export interface GrantHonorParams {
honorId: string;
senderUserId: string;
grantReason: string;
granterName: string;
expirationTime?: number;
noticeSingle?: boolean;
noticeAnnouncer?: boolean;
receiverUserIds: string[];
openConversationIds?: string[];
}
export interface QueryOrgHonorsParams {
nextToken: string;
maxResults?: number;
}
export interface QueryUserHonorsParams {
userId: string;
nextToken: string;
maxResults?: number;
}
export interface CreateOrgHonorParams {
userId: string;
medalName: string;
medalDesc: string;
medalMediaId: string;
avatarFrameMediaId: string;
defaultBgColor: string;
}
export interface RecallHonorParams {
honorId: string;
userId: string;
}
export interface HonorQueryResult {
success: boolean;
result: {
nextToken?: string;
openHonors?: HonorInfo[];
honors?: Array<{
grantHistory: Array<{
senderUserid: string;
grantTime: number;
}>;
honorId: string;
honorName: string;
honorDesc: string;
expirationTime?: number;
}>;
};
}
export interface HonorGrantResult {
success: boolean;
result: {
successUserIds: string[];
failedUserIds: string[];
};
}
export interface HonorCreateResult {
success: boolean;
result: {
honorId: string;
};
}
export interface HonorRecallResult {
success: boolean;
result: {
honorId: string;
};
}
//# sourceMappingURL=types.d.ts.map