wjx-mcp-server 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/.env.example +11 -0
  2. package/LICENSE +21 -0
  3. package/README.md +317 -0
  4. package/dist/core/api-client.d.ts +1 -0
  5. package/dist/core/api-client.js +2 -0
  6. package/dist/core/api-client.js.map +1 -0
  7. package/dist/core/constants.d.ts +1 -0
  8. package/dist/core/constants.js +2 -0
  9. package/dist/core/constants.js.map +1 -0
  10. package/dist/core/context.d.ts +16 -0
  11. package/dist/core/context.js +18 -0
  12. package/dist/core/context.js.map +1 -0
  13. package/dist/core/load-env.d.ts +1 -0
  14. package/dist/core/load-env.js +53 -0
  15. package/dist/core/load-env.js.map +1 -0
  16. package/dist/core/types.d.ts +1 -0
  17. package/dist/core/types.js +2 -0
  18. package/dist/core/types.js.map +1 -0
  19. package/dist/helpers.d.ts +14 -0
  20. package/dist/helpers.js +23 -0
  21. package/dist/helpers.js.map +1 -0
  22. package/dist/index.d.ts +4 -0
  23. package/dist/index.js +62 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/modules/analytics/compute.d.ts +1 -0
  26. package/dist/modules/analytics/compute.js +2 -0
  27. package/dist/modules/analytics/compute.js.map +1 -0
  28. package/dist/modules/analytics/push-decode.d.ts +1 -0
  29. package/dist/modules/analytics/push-decode.js +2 -0
  30. package/dist/modules/analytics/push-decode.js.map +1 -0
  31. package/dist/modules/analytics/tools.d.ts +2 -0
  32. package/dist/modules/analytics/tools.js +132 -0
  33. package/dist/modules/analytics/tools.js.map +1 -0
  34. package/dist/modules/analytics/types.d.ts +1 -0
  35. package/dist/modules/analytics/types.js +2 -0
  36. package/dist/modules/analytics/types.js.map +1 -0
  37. package/dist/modules/contacts/client.d.ts +1 -0
  38. package/dist/modules/contacts/client.js +2 -0
  39. package/dist/modules/contacts/client.js.map +1 -0
  40. package/dist/modules/contacts/tools.d.ts +2 -0
  41. package/dist/modules/contacts/tools.js +458 -0
  42. package/dist/modules/contacts/tools.js.map +1 -0
  43. package/dist/modules/contacts/types.d.ts +1 -0
  44. package/dist/modules/contacts/types.js +2 -0
  45. package/dist/modules/contacts/types.js.map +1 -0
  46. package/dist/modules/multi-user/client.d.ts +1 -0
  47. package/dist/modules/multi-user/client.js +2 -0
  48. package/dist/modules/multi-user/client.js.map +1 -0
  49. package/dist/modules/multi-user/tools.d.ts +2 -0
  50. package/dist/modules/multi-user/tools.js +170 -0
  51. package/dist/modules/multi-user/tools.js.map +1 -0
  52. package/dist/modules/multi-user/types.d.ts +1 -0
  53. package/dist/modules/multi-user/types.js +2 -0
  54. package/dist/modules/multi-user/types.js.map +1 -0
  55. package/dist/modules/response/client.d.ts +1 -0
  56. package/dist/modules/response/client.js +2 -0
  57. package/dist/modules/response/client.js.map +1 -0
  58. package/dist/modules/response/tools.d.ts +2 -0
  59. package/dist/modules/response/tools.js +381 -0
  60. package/dist/modules/response/tools.js.map +1 -0
  61. package/dist/modules/response/types.d.ts +1 -0
  62. package/dist/modules/response/types.js +2 -0
  63. package/dist/modules/response/types.js.map +1 -0
  64. package/dist/modules/sso/client.d.ts +1 -0
  65. package/dist/modules/sso/client.js +2 -0
  66. package/dist/modules/sso/client.js.map +1 -0
  67. package/dist/modules/sso/tools.d.ts +2 -0
  68. package/dist/modules/sso/tools.js +201 -0
  69. package/dist/modules/sso/tools.js.map +1 -0
  70. package/dist/modules/sso/types.d.ts +1 -0
  71. package/dist/modules/sso/types.js +2 -0
  72. package/dist/modules/sso/types.js.map +1 -0
  73. package/dist/modules/survey/client.d.ts +2 -0
  74. package/dist/modules/survey/client.js +2 -0
  75. package/dist/modules/survey/client.js.map +1 -0
  76. package/dist/modules/survey/tools.d.ts +2 -0
  77. package/dist/modules/survey/tools.js +675 -0
  78. package/dist/modules/survey/tools.js.map +1 -0
  79. package/dist/modules/survey/types.d.ts +1 -0
  80. package/dist/modules/survey/types.js +2 -0
  81. package/dist/modules/survey/types.js.map +1 -0
  82. package/dist/modules/user-system/client.d.ts +1 -0
  83. package/dist/modules/user-system/client.js +2 -0
  84. package/dist/modules/user-system/client.js.map +1 -0
  85. package/dist/modules/user-system/tools.d.ts +2 -0
  86. package/dist/modules/user-system/tools.js +232 -0
  87. package/dist/modules/user-system/tools.js.map +1 -0
  88. package/dist/modules/user-system/types.d.ts +1 -0
  89. package/dist/modules/user-system/types.js +2 -0
  90. package/dist/modules/user-system/types.js.map +1 -0
  91. package/dist/prompts/analysis.d.ts +2 -0
  92. package/dist/prompts/analysis.js +318 -0
  93. package/dist/prompts/analysis.js.map +1 -0
  94. package/dist/prompts/index.d.ts +2 -0
  95. package/dist/prompts/index.js +225 -0
  96. package/dist/prompts/index.js.map +1 -0
  97. package/dist/prompts.d.ts +1 -0
  98. package/dist/prompts.js +3 -0
  99. package/dist/prompts.js.map +1 -0
  100. package/dist/resources/analysis-reference.d.ts +55 -0
  101. package/dist/resources/analysis-reference.js +56 -0
  102. package/dist/resources/analysis-reference.js.map +1 -0
  103. package/dist/resources/dsl-reference.d.ts +49 -0
  104. package/dist/resources/dsl-reference.js +90 -0
  105. package/dist/resources/dsl-reference.js.map +1 -0
  106. package/dist/resources/index.d.ts +2 -0
  107. package/dist/resources/index.js +71 -0
  108. package/dist/resources/index.js.map +1 -0
  109. package/dist/resources/push-reference.d.ts +44 -0
  110. package/dist/resources/push-reference.js +57 -0
  111. package/dist/resources/push-reference.js.map +1 -0
  112. package/dist/resources/survey-reference.d.ts +14 -0
  113. package/dist/resources/survey-reference.js +73 -0
  114. package/dist/resources/survey-reference.js.map +1 -0
  115. package/dist/resources.d.ts +3 -0
  116. package/dist/resources.js +5 -0
  117. package/dist/resources.js.map +1 -0
  118. package/dist/server.d.ts +2 -0
  119. package/dist/server.js +46 -0
  120. package/dist/server.js.map +1 -0
  121. package/dist/transports/http.d.ts +12 -0
  122. package/dist/transports/http.js +169 -0
  123. package/dist/transports/http.js.map +1 -0
  124. package/dist/wjx-client.d.ts +1 -0
  125. package/dist/wjx-client.js +2 -0
  126. package/dist/wjx-client.js.map +1 -0
  127. package/package.json +42 -0
@@ -0,0 +1,132 @@
1
+ import { z } from "zod";
2
+ import { decodeResponses, calculateNps, calculateCsat, detectAnomalies, compareMetrics, } from "./compute.js";
3
+ import { toolResult, toolError } from "../../helpers.js";
4
+ export function registerAnalyticsTools(server) {
5
+ // ─── decode_responses ──────────────────────────────────────────────
6
+ server.registerTool("decode_responses", {
7
+ title: "解码答卷数据",
8
+ description: "解析问卷星 submitdata 格式(题号$答案}题号$答案),识别单选、多选(管道符分隔)、填空和矩阵题型。纯本地计算,不调用 API。",
9
+ inputSchema: {
10
+ submitdata: z.string().describe("问卷星原始 submitdata 字符串,格式为 题号$答案}题号$答案"),
11
+ },
12
+ annotations: {
13
+ openWorldHint: false,
14
+ destructiveHint: false,
15
+ idempotentHint: true,
16
+ title: "解码答卷数据",
17
+ },
18
+ }, async (args) => {
19
+ try {
20
+ const result = decodeResponses(args.submitdata);
21
+ return toolResult(result, false);
22
+ }
23
+ catch (error) {
24
+ return toolError(error);
25
+ }
26
+ });
27
+ // ─── calculate_nps ─────────────────────────────────────────────────
28
+ server.registerTool("calculate_nps", {
29
+ title: "计算 NPS 净推荐值",
30
+ description: "根据 0-10 评分数组计算 NPS(净推荐值),输出推荐者/中立者/贬损者数量与比例,以及评级(>70优秀, 50-70良好, 0-50一般, <0较差)。纯本地计算。",
31
+ inputSchema: {
32
+ scores: z.array(z.number().int().min(0).max(10)).describe("0-10 评分数组"),
33
+ },
34
+ annotations: {
35
+ openWorldHint: false,
36
+ destructiveHint: false,
37
+ idempotentHint: true,
38
+ title: "计算 NPS",
39
+ },
40
+ }, async (args) => {
41
+ try {
42
+ const result = calculateNps(args.scores);
43
+ return toolResult(result, false);
44
+ }
45
+ catch (error) {
46
+ return toolError(error);
47
+ }
48
+ });
49
+ // ─── calculate_csat ────────────────────────────────────────────────
50
+ server.registerTool("calculate_csat", {
51
+ title: "计算 CSAT 满意度",
52
+ description: "根据评分数组计算 CSAT(客户满意度),支持 5 分制(4-5 为满意)和 7 分制(5-7 为满意)。输出满意率、满意人数、分值分布。纯本地计算。",
53
+ inputSchema: {
54
+ scores: z.array(z.number().int().min(1).max(7)).describe("评分数组(5分制: 1-5, 7分制: 1-7)"),
55
+ scale_type: z
56
+ .enum(["5-point", "7-point"])
57
+ .optional()
58
+ .default("5-point")
59
+ .describe("量表类型:5-point(默认)或 7-point"),
60
+ },
61
+ annotations: {
62
+ openWorldHint: false,
63
+ destructiveHint: false,
64
+ idempotentHint: true,
65
+ title: "计算 CSAT",
66
+ },
67
+ }, async (args) => {
68
+ try {
69
+ const result = calculateCsat(args.scores, args.scale_type);
70
+ return toolResult(result, false);
71
+ }
72
+ catch (error) {
73
+ return toolError(error);
74
+ }
75
+ });
76
+ // ─── detect_anomalies ──────────────────────────────────────────────
77
+ server.registerTool("detect_anomalies", {
78
+ title: "检测异常答卷",
79
+ description: "检测异常答卷:直线作答(所有答案相同)、速度异常(答题时间 < 中位数 30%)、IP+内容重复。纯本地计算。",
80
+ inputSchema: {
81
+ responses: z
82
+ .array(z.object({
83
+ id: z.union([z.string(), z.number()]).describe("答卷 ID"),
84
+ answers: z
85
+ .array(z.union([z.string(), z.number()]))
86
+ .optional()
87
+ .describe("答案数组"),
88
+ duration_seconds: z.number().optional().describe("答题时长(秒)"),
89
+ ip: z.string().optional().describe("IP 地址"),
90
+ }).passthrough())
91
+ .describe("答卷记录数组"),
92
+ },
93
+ annotations: {
94
+ openWorldHint: false,
95
+ destructiveHint: false,
96
+ idempotentHint: true,
97
+ title: "检测异常答卷",
98
+ },
99
+ }, async (args) => {
100
+ try {
101
+ const result = detectAnomalies(args.responses);
102
+ return toolResult(result, false);
103
+ }
104
+ catch (error) {
105
+ return toolError(error);
106
+ }
107
+ });
108
+ // ─── compare_metrics ───────────────────────────────────────────────
109
+ server.registerTool("compare_metrics", {
110
+ title: "对比指标数据",
111
+ description: "对比两组指标数据(A/B),输出每个指标的差值、变化率和显著性标记(|变化率|>10% 为显著)。纯本地计算。",
112
+ inputSchema: {
113
+ set_a: z.record(z.string(), z.number()).describe("指标集 A(键为指标名,值为数值)"),
114
+ set_b: z.record(z.string(), z.number()).describe("指标集 B(键为指标名,值为数值)"),
115
+ },
116
+ annotations: {
117
+ openWorldHint: false,
118
+ destructiveHint: false,
119
+ idempotentHint: true,
120
+ title: "对比指标数据",
121
+ },
122
+ }, async (args) => {
123
+ try {
124
+ const result = compareMetrics(args.set_a, args.set_b);
125
+ return toolResult(result, false);
126
+ }
127
+ catch (error) {
128
+ return toolError(error);
129
+ }
130
+ });
131
+ }
132
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/modules/analytics/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export type { DecodedAnswer, DecodeResponsesResult, NpsResult, CsatResult, AnomalyFlag, AnomalyResult, MetricComparison, CompareResult, PushDecodeResult, } from "wjx-api-sdk";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/modules/analytics/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { queryContacts, addContacts, deleteContacts, addAdmin, deleteAdmin, restoreAdmin, listDepartments, addDepartment, modifyDepartment, deleteDepartment, listTags, addTag, modifyTag, deleteTag, } from "wjx-api-sdk";
@@ -0,0 +1,2 @@
1
+ export { queryContacts, addContacts, deleteContacts, addAdmin, deleteAdmin, restoreAdmin, listDepartments, addDepartment, modifyDepartment, deleteDepartment, listTags, addTag, modifyTag, deleteTag, } from "wjx-api-sdk";
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/modules/contacts/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,SAAS,GACV,MAAM,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerContactsTools(server: McpServer): void;
@@ -0,0 +1,458 @@
1
+ import { z } from "zod";
2
+ import { queryContacts, addContacts, deleteContacts, addAdmin, deleteAdmin, restoreAdmin, listDepartments, addDepartment, modifyDepartment, deleteDepartment, listTags, addTag, modifyTag, deleteTag, } from "./client.js";
3
+ import { toolResult, toolError } from "../../helpers.js";
4
+ export function registerContactsTools(server) {
5
+ // ─── query_contacts ──────────────────────────────────────────────
6
+ server.registerTool("query_contacts", {
7
+ title: "查询通讯录成员",
8
+ description: "按用户编号查询通讯录中的指定联系人信息。corpid 可选,未提供时从 WJX_CORP_ID 环境变量获取。",
9
+ inputSchema: {
10
+ corpid: z.string().optional().describe("通讯录编号(可选,未提供时使用 WJX_CORP_ID 环境变量)"),
11
+ uid: z.string().min(1).describe("用户编号(用户唯一标识)"),
12
+ },
13
+ annotations: {
14
+ destructiveHint: false,
15
+ idempotentHint: true,
16
+ openWorldHint: true,
17
+ title: "查询通讯录成员",
18
+ },
19
+ }, async (args) => {
20
+ try {
21
+ const result = await queryContacts({
22
+ corpid: args.corpid,
23
+ uid: args.uid,
24
+ });
25
+ return toolResult(result, result.result === false);
26
+ }
27
+ catch (error) {
28
+ return toolError(error);
29
+ }
30
+ });
31
+ // ─── add_contacts ────────────────────────────────────────────────
32
+ server.registerTool("add_contacts", {
33
+ title: "添加或更新通讯录成员",
34
+ description: "批量添加或更新通讯录联系人(最多100人)。users 为 JSON 数组字符串,每个用户对象须包含 userid、name,可选 mobile、email、department、tags、birthday、gender 等。若 userid 已存在则更新。",
35
+ inputSchema: {
36
+ corpid: z.string().optional().describe("通讯录编号(可选,未提供时使用 WJX_CORP_ID 环境变量)"),
37
+ users: z
38
+ .string()
39
+ .min(2)
40
+ .refine((s) => { try {
41
+ return Array.isArray(JSON.parse(s));
42
+ }
43
+ catch {
44
+ return false;
45
+ } }, "users 必须是合法的 JSON 数组")
46
+ .describe("用户列表 JSON 字符串(数组),每项包含: userid(用户ID), name(姓名), nickname(昵称), mobile(手机号), email(邮箱), department(部门,用/分隔层级), tags(标签,格式:组/标签), birthday(生日), gender(性别:0保密/1男/2女), pwd(登录密码)等"),
47
+ auto_create_udept: z.boolean().optional().describe("是否自动创建不存在的部门"),
48
+ auto_create_tag: z.boolean().optional().describe("是否自动创建不存在的标签"),
49
+ },
50
+ annotations: {
51
+ destructiveHint: false,
52
+ idempotentHint: true,
53
+ openWorldHint: true,
54
+ title: "添加或更新通讯录成员",
55
+ },
56
+ }, async (args) => {
57
+ try {
58
+ const result = await addContacts({
59
+ corpid: args.corpid,
60
+ users: args.users,
61
+ auto_create_udept: args.auto_create_udept,
62
+ auto_create_tag: args.auto_create_tag,
63
+ });
64
+ return toolResult(result, result.result === false);
65
+ }
66
+ catch (error) {
67
+ return toolError(error);
68
+ }
69
+ });
70
+ // ─── delete_contacts ───────────────────────────────────────────
71
+ server.registerTool("delete_contacts", {
72
+ title: "删除通讯录成员",
73
+ description: "从通讯录中批量删除成员。此操作不可逆,请谨慎使用!uids 为逗号分隔的用户编号列表。",
74
+ inputSchema: {
75
+ corpid: z.string().optional().describe("通讯录编号(可选,未提供时使用 WJX_CORP_ID 环境变量)"),
76
+ uids: z.string().min(1).describe("用户编号列表,逗号分隔"),
77
+ },
78
+ annotations: {
79
+ destructiveHint: true,
80
+ idempotentHint: false,
81
+ openWorldHint: true,
82
+ title: "删除通讯录成员",
83
+ },
84
+ }, async (args) => {
85
+ try {
86
+ const result = await deleteContacts({
87
+ corpid: args.corpid,
88
+ uids: args.uids,
89
+ });
90
+ return toolResult(result, result.result === false);
91
+ }
92
+ catch (error) {
93
+ return toolError(error);
94
+ }
95
+ });
96
+ // ─── add_admin ───────────────────────────────────────────────────
97
+ server.registerTool("add_admin", {
98
+ title: "添加或修改管理员",
99
+ description: "批量添加或修改通讯录管理员(最多100人)。users 为 JSON 数组字符串,每个对象必须包含 userid(管理员用户ID,可在通讯录界面下查看)和 role(角色编码,必填),可选 confidential(是否保密账户)、effective_date(有效期,格式 yyyy-MM-dd)、remark(备注,最多50字)。",
100
+ inputSchema: {
101
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
102
+ users: z
103
+ .string()
104
+ .min(2)
105
+ .refine((s) => { try {
106
+ return Array.isArray(JSON.parse(s));
107
+ }
108
+ catch {
109
+ return false;
110
+ } }, "users 必须是合法的 JSON 数组")
111
+ .describe("管理员列表 JSON 字符串(数组),每项包含: userid(管理员用户ID,必填)、role(角色,必填: 0=系统管理员, 1=分组管理员, 2=问卷管理员, 3=统计结果查看员, 4=完整结果查看员, 5=部门管理员),可选: confidential(是否保密账户)、effective_date(有效期,格式yyyy-MM-dd)、remark(备注,最多50字)。一次不能超过100条"),
112
+ },
113
+ annotations: {
114
+ destructiveHint: false,
115
+ idempotentHint: false,
116
+ openWorldHint: true,
117
+ title: "添加或修改管理员",
118
+ },
119
+ }, async (args) => {
120
+ try {
121
+ const result = await addAdmin({
122
+ corpid: args.corpid,
123
+ users: args.users,
124
+ });
125
+ return toolResult(result, result.result === false);
126
+ }
127
+ catch (error) {
128
+ return toolError(error);
129
+ }
130
+ });
131
+ // ─── delete_admin ────────────────────────────────────────────────
132
+ server.registerTool("delete_admin", {
133
+ title: "删除管理员",
134
+ description: "批量删除通讯录管理员。uids 为逗号分隔的管理员用户编号列表,一次不能超过100条。",
135
+ inputSchema: {
136
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
137
+ uids: z.string().min(1).describe("管理员用户编号列表,逗号分隔,一次最多100个"),
138
+ },
139
+ annotations: {
140
+ destructiveHint: true,
141
+ idempotentHint: false,
142
+ openWorldHint: true,
143
+ title: "删除管理员",
144
+ },
145
+ }, async (args) => {
146
+ try {
147
+ const result = await deleteAdmin({
148
+ corpid: args.corpid,
149
+ uids: args.uids,
150
+ });
151
+ return toolResult(result, result.result === false);
152
+ }
153
+ catch (error) {
154
+ return toolError(error);
155
+ }
156
+ });
157
+ // ─── restore_admin ───────────────────────────────────────────────
158
+ server.registerTool("restore_admin", {
159
+ title: "恢复管理员",
160
+ description: "批量恢复已删除的通讯录管理员。uids 为逗号分隔的管理员用户编号列表,一次不能超过100条。",
161
+ inputSchema: {
162
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
163
+ uids: z.string().min(1).describe("管理员用户编号列表,逗号分隔,一次最多100个"),
164
+ },
165
+ annotations: {
166
+ destructiveHint: false,
167
+ idempotentHint: true,
168
+ openWorldHint: true,
169
+ title: "恢复管理员",
170
+ },
171
+ }, async (args) => {
172
+ try {
173
+ const result = await restoreAdmin({
174
+ corpid: args.corpid,
175
+ uids: args.uids,
176
+ });
177
+ return toolResult(result, result.result === false);
178
+ }
179
+ catch (error) {
180
+ return toolError(error);
181
+ }
182
+ });
183
+ // ─── list_departments ────────────────────────────────────────────
184
+ server.registerTool("list_departments", {
185
+ title: "查询部门列表",
186
+ description: "查询通讯录中的部门列表。",
187
+ inputSchema: {
188
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
189
+ },
190
+ annotations: {
191
+ destructiveHint: false,
192
+ idempotentHint: true,
193
+ openWorldHint: true,
194
+ title: "查询部门列表",
195
+ },
196
+ }, async (args) => {
197
+ try {
198
+ const result = await listDepartments({
199
+ corpid: args.corpid,
200
+ });
201
+ return toolResult(result, result.result === false);
202
+ }
203
+ catch (error) {
204
+ return toolError(error);
205
+ }
206
+ });
207
+ // ─── add_department ──────────────────────────────────────────────
208
+ server.registerTool("add_department", {
209
+ title: "添加部门",
210
+ description: "批量添加部门。depts 为 JSON 数组字符串,每项为部门路径(用/分隔层级,如 \"研发部/后端\")。",
211
+ inputSchema: {
212
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
213
+ depts: z
214
+ .string()
215
+ .min(2)
216
+ .refine((s) => { try {
217
+ return Array.isArray(JSON.parse(s));
218
+ }
219
+ catch {
220
+ return false;
221
+ } }, "depts 必须是合法的 JSON 数组")
222
+ .describe("部门路径列表 JSON 字符串,如 [\"研发部/后端\", \"产品部\"]"),
223
+ },
224
+ annotations: {
225
+ destructiveHint: false,
226
+ idempotentHint: false,
227
+ openWorldHint: true,
228
+ title: "添加部门",
229
+ },
230
+ }, async (args) => {
231
+ try {
232
+ const result = await addDepartment({
233
+ corpid: args.corpid,
234
+ depts: args.depts,
235
+ });
236
+ return toolResult(result, result.result === false);
237
+ }
238
+ catch (error) {
239
+ return toolError(error);
240
+ }
241
+ });
242
+ // ─── modify_department ───────────────────────────────────────────
243
+ server.registerTool("modify_department", {
244
+ title: "修改部门",
245
+ description: "批量修改部门信息(最多100条)。depts 为 JSON 数组字符串,每项为部门对象(包含 id、name、order 等字段)。id 从 list_departments 返回值获取。",
246
+ inputSchema: {
247
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
248
+ depts: z
249
+ .string()
250
+ .min(2)
251
+ .refine((s) => { try {
252
+ return Array.isArray(JSON.parse(s));
253
+ }
254
+ catch {
255
+ return false;
256
+ } }, "depts 必须是合法的 JSON 数组")
257
+ .describe("部门列表 JSON 字符串(数组),每项包含: id(部门ID), name(部门名称), order(排序序号,须为>0且<999999的整数),一次最多100条"),
258
+ },
259
+ annotations: {
260
+ destructiveHint: true,
261
+ idempotentHint: true,
262
+ openWorldHint: true,
263
+ title: "修改部门",
264
+ },
265
+ }, async (args) => {
266
+ try {
267
+ const result = await modifyDepartment({
268
+ corpid: args.corpid,
269
+ depts: args.depts,
270
+ });
271
+ return toolResult(result, result.result === false);
272
+ }
273
+ catch (error) {
274
+ return toolError(error);
275
+ }
276
+ });
277
+ // ─── delete_department ───────────────────────────────────────────
278
+ server.registerTool("delete_department", {
279
+ title: "删除部门",
280
+ description: "批量删除部门。type 指定删除方式:1=按ID删除,2=按名称删除。depts 为 JSON 数组字符串,包含要删除的部门标识列表。",
281
+ inputSchema: {
282
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
283
+ type: z.string().refine((s) => s === "1" || s === "2", "type 必须为 \"1\"(按ID) 或 \"2\"(按名称)").describe("删除方式:1=按ID删除,2=按名称删除"),
284
+ depts: z
285
+ .string()
286
+ .min(2)
287
+ .refine((s) => { try {
288
+ return Array.isArray(JSON.parse(s));
289
+ }
290
+ catch {
291
+ return false;
292
+ } }, "depts 必须是合法的 JSON 数组")
293
+ .describe("要删除的部门标识列表 JSON 字符串(数组),type=1时为ID列表,type=2时为名称列表"),
294
+ del_child: z.boolean().optional().describe("是否同时删除子部门"),
295
+ },
296
+ annotations: {
297
+ destructiveHint: true,
298
+ idempotentHint: false,
299
+ openWorldHint: true,
300
+ title: "删除部门",
301
+ },
302
+ }, async (args) => {
303
+ try {
304
+ const result = await deleteDepartment({
305
+ corpid: args.corpid,
306
+ type: args.type,
307
+ depts: args.depts,
308
+ del_child: args.del_child,
309
+ });
310
+ return toolResult(result, result.result === false);
311
+ }
312
+ catch (error) {
313
+ return toolError(error);
314
+ }
315
+ });
316
+ // ─── list_tags ───────────────────────────────────────────────────
317
+ server.registerTool("list_tags", {
318
+ title: "查询标签列表",
319
+ description: "查询通讯录中的所有标签。",
320
+ inputSchema: {
321
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
322
+ },
323
+ annotations: {
324
+ destructiveHint: false,
325
+ idempotentHint: true,
326
+ openWorldHint: true,
327
+ title: "查询标签列表",
328
+ },
329
+ }, async (args) => {
330
+ try {
331
+ const result = await listTags({
332
+ corpid: args.corpid,
333
+ });
334
+ return toolResult(result, result.result === false);
335
+ }
336
+ catch (error) {
337
+ return toolError(error);
338
+ }
339
+ });
340
+ // ─── add_tag ─────────────────────────────────────────────────────
341
+ server.registerTool("add_tag", {
342
+ title: "添加标签",
343
+ description: "批量添加通讯录标签。child_names 为 JSON 数组字符串,格式为 \"标签组/标签名\",如 [\"学历/本科\", \"学历/硕士\"]。",
344
+ inputSchema: {
345
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
346
+ child_names: z
347
+ .string()
348
+ .min(2)
349
+ .refine((s) => { try {
350
+ return Array.isArray(JSON.parse(s));
351
+ }
352
+ catch {
353
+ return false;
354
+ } }, "child_names 必须是合法的 JSON 数组")
355
+ .describe("标签列表 JSON 字符串,格式: [\"组/标签\", ...], 如 [\"学历/本科\", \"年龄/18-35\"]"),
356
+ is_radio: z
357
+ .boolean()
358
+ .optional()
359
+ .describe("标签组是否为单选(true=单选, false=多选,默认多选)"),
360
+ },
361
+ annotations: {
362
+ destructiveHint: false,
363
+ idempotentHint: false,
364
+ openWorldHint: true,
365
+ title: "添加标签",
366
+ },
367
+ }, async (args) => {
368
+ try {
369
+ const result = await addTag({
370
+ corpid: args.corpid,
371
+ child_names: args.child_names,
372
+ is_radio: args.is_radio,
373
+ });
374
+ return toolResult(result, result.result === false);
375
+ }
376
+ catch (error) {
377
+ return toolError(error);
378
+ }
379
+ });
380
+ // ─── modify_tag ──────────────────────────────────────────────────
381
+ server.registerTool("modify_tag", {
382
+ title: "修改标签",
383
+ description: "修改通讯录标签。可更新标签组名称(tp_name)和子标签(child_names)。tp_id 从 list_tags 返回值获取。",
384
+ inputSchema: {
385
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
386
+ tp_id: z.string().min(1).describe("标签组 ID(从 list_tags 获取)"),
387
+ tp_name: z.string().optional().describe("新标签组名称"),
388
+ child_names: z
389
+ .string()
390
+ .optional()
391
+ .refine((s) => { if (s === undefined)
392
+ return true; try {
393
+ return Array.isArray(JSON.parse(s));
394
+ }
395
+ catch {
396
+ return false;
397
+ } }, "child_names 必须是合法的 JSON 数组")
398
+ .describe("子标签 JSON 数组字符串,每项包含标签对象(如 [{\"id\":\"xxx\",\"name\":\"新名称\"}])"),
399
+ },
400
+ annotations: {
401
+ destructiveHint: true,
402
+ idempotentHint: true,
403
+ openWorldHint: true,
404
+ title: "修改标签",
405
+ },
406
+ }, async (args) => {
407
+ try {
408
+ const result = await modifyTag({
409
+ corpid: args.corpid,
410
+ tp_id: args.tp_id,
411
+ tp_name: args.tp_name,
412
+ child_names: args.child_names,
413
+ });
414
+ return toolResult(result, result.result === false);
415
+ }
416
+ catch (error) {
417
+ return toolError(error);
418
+ }
419
+ });
420
+ // ─── delete_tag ──────────────────────────────────────────────────
421
+ server.registerTool("delete_tag", {
422
+ title: "删除标签",
423
+ description: "批量删除通讯录标签。type 指定删除方式:1=按ID删除,2=按名称删除。tags 为 JSON 数组字符串,包含要删除的标签标识列表。",
424
+ inputSchema: {
425
+ corpid: z.string().optional().describe("通讯录编号(可选)"),
426
+ type: z.string().refine((s) => s === "1" || s === "2", "type 必须为 \"1\"(按ID) 或 \"2\"(按名称)").describe("删除方式:1=按ID删除,2=按名称删除"),
427
+ tags: z
428
+ .string()
429
+ .min(2)
430
+ .refine((s) => { try {
431
+ return Array.isArray(JSON.parse(s));
432
+ }
433
+ catch {
434
+ return false;
435
+ } }, "tags 必须是合法的 JSON 数组")
436
+ .describe("要删除的标签标识列表 JSON 字符串(数组),type=1时为ID列表,type=2时为名称列表"),
437
+ },
438
+ annotations: {
439
+ destructiveHint: true,
440
+ idempotentHint: false,
441
+ openWorldHint: true,
442
+ title: "删除标签",
443
+ },
444
+ }, async (args) => {
445
+ try {
446
+ const result = await deleteTag({
447
+ corpid: args.corpid,
448
+ type: args.type,
449
+ tags: args.tags,
450
+ });
451
+ return toolResult(result, result.result === false);
452
+ }
453
+ catch (error) {
454
+ return toolError(error);
455
+ }
456
+ });
457
+ }
458
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/modules/contacts/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export type { QueryContactsInput, AddContactsInput, DeleteContactsInput, AddAdminInput, DeleteAdminInput, RestoreAdminInput, ListDepartmentsInput, AddDepartmentInput, ModifyDepartmentInput, DeleteDepartmentInput, ListTagsInput, AddTagInput, ModifyTagInput, DeleteTagInput, } from "wjx-api-sdk";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map