@yanhaidao/wecom 2.4.160 → 2.5.110

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 (313) hide show
  1. package/dist/index.js +68 -0
  2. package/dist/src/accounts.js +20 -0
  3. package/dist/src/agent/handler.js +895 -0
  4. package/dist/src/agent/index.js +5 -0
  5. package/dist/src/app/account-runtime.js +216 -0
  6. package/dist/src/app/bootstrap.js +19 -0
  7. package/dist/src/app/index.js +118 -0
  8. package/dist/src/capability/agent/delivery-service.js +63 -0
  9. package/dist/src/capability/agent/fallback-policy.js +6 -0
  10. package/dist/src/capability/agent/ingress-service.js +33 -0
  11. package/dist/src/capability/agent/upstream-delivery-service.js +71 -0
  12. package/dist/src/capability/bot/dispatch-config.js +45 -0
  13. package/dist/src/capability/bot/fallback-delivery.js +147 -0
  14. package/dist/src/capability/bot/local-path-delivery.js +178 -0
  15. package/dist/src/capability/bot/sandbox-media.js +138 -0
  16. package/dist/src/capability/bot/service.js +49 -0
  17. package/dist/src/capability/bot/stream-delivery.js +321 -0
  18. package/dist/src/capability/bot/stream-finalizer.js +81 -0
  19. package/dist/src/capability/bot/stream-orchestrator.js +318 -0
  20. package/dist/src/capability/bot/types.js +1 -0
  21. package/{src/capability/calendar/client.ts → dist/src/capability/calendar/client.js} +118 -241
  22. package/{src/capability/calendar/schema.ts → dist/src/capability/calendar/schema.js} +0 -38
  23. package/dist/src/capability/calendar/tool.js +365 -0
  24. package/dist/src/capability/calendar/types.js +12 -0
  25. package/{src/capability/doc/client.ts → dist/src/capability/doc/client.js} +370 -605
  26. package/{src/capability/doc/schema.ts → dist/src/capability/doc/schema.js} +345 -394
  27. package/dist/src/capability/doc/tool.js +1556 -0
  28. package/dist/src/capability/doc/types.js +113 -0
  29. package/dist/src/capability/mcp/index.js +3 -0
  30. package/dist/src/capability/mcp/schema.js +102 -0
  31. package/dist/src/capability/mcp/tool.js +146 -0
  32. package/dist/src/capability/mcp/transport.js +293 -0
  33. package/dist/src/channel.js +224 -0
  34. package/dist/src/config/accounts.js +236 -0
  35. package/dist/src/config/derived-paths.js +31 -0
  36. package/dist/src/config/index.js +7 -0
  37. package/dist/src/config/media.js +110 -0
  38. package/dist/src/config/network.js +32 -0
  39. package/dist/src/config/routing.js +20 -0
  40. package/dist/src/config/runtime-config.js +25 -0
  41. package/dist/src/config/schema.js +4 -0
  42. package/{src/config-schema.ts → dist/src/config-schema.js} +1 -1
  43. package/dist/src/context-store.js +219 -0
  44. package/{src/crypto/aes.ts → dist/src/crypto/aes.js} +11 -28
  45. package/dist/src/crypto/index.js +9 -0
  46. package/{src/crypto/signature.ts → dist/src/crypto/signature.js} +3 -18
  47. package/{src/crypto/xml.ts → dist/src/crypto/xml.js} +3 -11
  48. package/dist/src/crypto.js +145 -0
  49. package/dist/src/domain/models.js +1 -0
  50. package/dist/src/domain/policies.js +32 -0
  51. package/{src/dynamic-agent.ts → dist/src/dynamic-agent.js} +36 -73
  52. package/dist/src/gateway-monitor.js +139 -0
  53. package/dist/src/http.js +114 -0
  54. package/{src/media.ts → dist/src/media.js} +21 -40
  55. package/dist/src/monitor/limits.js +7 -0
  56. package/dist/src/monitor/state.js +28 -0
  57. package/dist/src/monitor.js +84 -0
  58. package/dist/src/observability/audit-log.js +30 -0
  59. package/dist/src/observability/legacy-operational-event-store.js +22 -0
  60. package/dist/src/observability/raw-envelope-log.js +24 -0
  61. package/dist/src/observability/status-registry.js +9 -0
  62. package/dist/src/observability/transport-session-view.js +14 -0
  63. package/dist/src/onboarding.js +546 -0
  64. package/dist/src/outbound.js +557 -0
  65. package/dist/src/runtime/dispatcher.js +57 -0
  66. package/{src/runtime/index.ts → dist/src/runtime/index.js} +0 -1
  67. package/dist/src/runtime/outbound-intent.js +1 -0
  68. package/dist/src/runtime/reply-orchestrator.js +38 -0
  69. package/dist/src/runtime/routing-bridge.js +26 -0
  70. package/dist/src/runtime/session-manager.js +112 -0
  71. package/dist/src/runtime/source-registry.js +174 -0
  72. package/dist/src/runtime.js +1 -0
  73. package/dist/src/shared/command-auth.js +57 -0
  74. package/{src/shared/index.ts → dist/src/shared/index.js} +0 -1
  75. package/dist/src/shared/media-asset.js +65 -0
  76. package/dist/src/shared/media-service.js +59 -0
  77. package/dist/src/shared/media-types.js +1 -0
  78. package/{src/shared/xml-parser.ts → dist/src/shared/xml-parser.js} +72 -63
  79. package/dist/src/store/active-reply-store.js +41 -0
  80. package/dist/src/store/interfaces.js +1 -0
  81. package/dist/src/store/memory-store.js +33 -0
  82. package/dist/src/store/stream-batch-store.js +319 -0
  83. package/{src/target.ts → dist/src/target.js} +15 -48
  84. package/dist/src/transport/agent-api/client.js +168 -0
  85. package/dist/src/transport/agent-api/core.js +337 -0
  86. package/dist/src/transport/agent-api/delivery.js +28 -0
  87. package/dist/src/transport/agent-api/media-upload.js +4 -0
  88. package/dist/src/transport/agent-api/reply.js +24 -0
  89. package/dist/src/transport/agent-api/upstream-delivery.js +30 -0
  90. package/dist/src/transport/agent-api/upstream-media-upload.js +46 -0
  91. package/dist/src/transport/agent-api/upstream-reply.js +26 -0
  92. package/dist/src/transport/agent-callback/http-handler.js +30 -0
  93. package/dist/src/transport/agent-callback/inbound.js +4 -0
  94. package/dist/src/transport/agent-callback/reply.js +8 -0
  95. package/dist/src/transport/agent-callback/request-handler.js +189 -0
  96. package/dist/src/transport/agent-callback/session.js +15 -0
  97. package/dist/src/transport/bot-webhook/active-reply.js +27 -0
  98. package/dist/src/transport/bot-webhook/http-handler.js +31 -0
  99. package/dist/src/transport/bot-webhook/inbound-normalizer.js +496 -0
  100. package/dist/src/transport/bot-webhook/inbound.js +4 -0
  101. package/dist/src/transport/bot-webhook/message-shape.js +98 -0
  102. package/dist/src/transport/bot-webhook/protocol.js +124 -0
  103. package/dist/src/transport/bot-webhook/reply.js +9 -0
  104. package/dist/src/transport/bot-webhook/request-handler.js +285 -0
  105. package/dist/src/transport/bot-webhook/session.js +15 -0
  106. package/dist/src/transport/bot-ws/inbound.js +147 -0
  107. package/dist/src/transport/bot-ws/media.js +236 -0
  108. package/dist/src/transport/bot-ws/reply.js +310 -0
  109. package/dist/src/transport/bot-ws/sdk-adapter.js +257 -0
  110. package/dist/src/transport/bot-ws/session.js +15 -0
  111. package/dist/src/transport/http/common.js +78 -0
  112. package/dist/src/transport/http/registry.js +71 -0
  113. package/dist/src/transport/http/request-handler.js +51 -0
  114. package/{src/transport/index.ts → dist/src/transport/index.js} +2 -10
  115. package/dist/src/types/account.js +1 -0
  116. package/dist/src/types/config.js +1 -0
  117. package/dist/src/types/constants.js +28 -0
  118. package/dist/src/types/events.js +1 -0
  119. package/dist/src/types/index.js +1 -0
  120. package/dist/src/types/legacy-stream.js +1 -0
  121. package/dist/src/types/message.js +5 -0
  122. package/dist/src/types/runtime-context.js +1 -0
  123. package/dist/src/types/runtime.js +1 -0
  124. package/dist/src/types.js +1 -0
  125. package/dist/src/upstream/index.js +111 -0
  126. package/dist/src/wecom_msg_adapter/markdown_adapter.js +280 -0
  127. package/openclaw.plugin.json +15 -0
  128. package/package.json +18 -1
  129. package/.github/workflows/release.yml +0 -143
  130. package/GOVERNANCE.md +0 -26
  131. package/SKILLS_CAL.md +0 -895
  132. package/SKILLS_DOC.md +0 -2288
  133. package/UPSTREAM_CONFIG.md +0 -170
  134. package/UPSTREAM_PLAN.md +0 -175
  135. package/assets/01.bot-add.png +0 -0
  136. package/assets/01.bot-setp2.png +0 -0
  137. package/assets/01.image.jpg +0 -0
  138. package/assets/02.agent.add.png +0 -0
  139. package/assets/02.agent.api-set.png +0 -0
  140. package/assets/02.image.jpg +0 -0
  141. package/assets/03.agent.page.png +0 -0
  142. package/assets/03.bot.page.png +0 -0
  143. package/assets/link-me.jpg +0 -0
  144. package/assets/register.png +0 -0
  145. package/changelog/v2.2.28.md +0 -70
  146. package/changelog/v2.3.10.md +0 -17
  147. package/changelog/v2.3.11.md +0 -19
  148. package/changelog/v2.3.12.md +0 -25
  149. package/changelog/v2.3.13.md +0 -19
  150. package/changelog/v2.3.14.md +0 -48
  151. package/changelog/v2.3.15.md +0 -15
  152. package/changelog/v2.3.16.md +0 -11
  153. package/changelog/v2.3.18.md +0 -22
  154. package/changelog/v2.3.19.md +0 -73
  155. package/changelog/v2.3.2.md +0 -28
  156. package/changelog/v2.3.26.md +0 -21
  157. package/changelog/v2.3.27.md +0 -33
  158. package/changelog/v2.3.4.md +0 -20
  159. package/changelog/v2.3.9.md +0 -22
  160. package/changelog/v2.4.12.md +0 -37
  161. package/changelog/v2.4.16.md +0 -19
  162. package/compat-single-account.md +0 -148
  163. package/index.test.ts +0 -38
  164. package/scripts/test-proxy.ts +0 -70
  165. package/src/accounts.ts +0 -34
  166. package/src/agent/api-client.upload.test.ts +0 -109
  167. package/src/agent/handler.event-filter.test.ts +0 -100
  168. package/src/agent/handler.ts +0 -1105
  169. package/src/agent/index.ts +0 -12
  170. package/src/app/account-runtime.ts +0 -276
  171. package/src/app/bootstrap.ts +0 -29
  172. package/src/app/index.ts +0 -192
  173. package/src/capability/agent/delivery-service.ts +0 -87
  174. package/src/capability/agent/fallback-policy.ts +0 -13
  175. package/src/capability/agent/ingress-service.ts +0 -38
  176. package/src/capability/agent/upstream-delivery-service.ts +0 -96
  177. package/src/capability/bot/dispatch-config.ts +0 -47
  178. package/src/capability/bot/fallback-delivery.ts +0 -178
  179. package/src/capability/bot/local-path-delivery.ts +0 -215
  180. package/src/capability/bot/sandbox-media.test.ts +0 -221
  181. package/src/capability/bot/sandbox-media.ts +0 -176
  182. package/src/capability/bot/service.ts +0 -56
  183. package/src/capability/bot/stream-delivery.ts +0 -379
  184. package/src/capability/bot/stream-finalizer.ts +0 -120
  185. package/src/capability/bot/stream-orchestrator.ts +0 -371
  186. package/src/capability/bot/types.ts +0 -8
  187. package/src/capability/calendar/SKILLS_CHECKLIST.md +0 -251
  188. package/src/capability/calendar/tool.ts +0 -417
  189. package/src/capability/calendar/types.ts +0 -309
  190. package/src/capability/doc/tool.ts +0 -1629
  191. package/src/capability/doc/types.ts +0 -792
  192. package/src/capability/mcp/index.ts +0 -10
  193. package/src/capability/mcp/schema.ts +0 -107
  194. package/src/capability/mcp/tool.ts +0 -174
  195. package/src/capability/mcp/transport.ts +0 -394
  196. package/src/channel.config.test.ts +0 -147
  197. package/src/channel.lifecycle.test.ts +0 -255
  198. package/src/channel.meta.test.ts +0 -26
  199. package/src/channel.ts +0 -256
  200. package/src/config/accounts.resolve.test.ts +0 -75
  201. package/src/config/accounts.ts +0 -296
  202. package/src/config/derived-paths.test.ts +0 -111
  203. package/src/config/derived-paths.ts +0 -41
  204. package/src/config/index.ts +0 -26
  205. package/src/config/media.test.ts +0 -113
  206. package/src/config/media.ts +0 -139
  207. package/src/config/network.ts +0 -53
  208. package/src/config/routing.test.ts +0 -88
  209. package/src/config/routing.ts +0 -26
  210. package/src/config/runtime-config.ts +0 -46
  211. package/src/config/schema.ts +0 -90
  212. package/src/context-store.ts +0 -297
  213. package/src/crypto/index.ts +0 -24
  214. package/src/crypto.test.ts +0 -32
  215. package/src/crypto.ts +0 -176
  216. package/src/domain/models.ts +0 -7
  217. package/src/domain/policies.ts +0 -36
  218. package/src/dynamic-agent.account-scope.test.ts +0 -17
  219. package/src/gateway-monitor.ts +0 -181
  220. package/src/http.ts +0 -145
  221. package/src/media.test.ts +0 -82
  222. package/src/monitor/limits.ts +0 -7
  223. package/src/monitor/state.queue.test.ts +0 -185
  224. package/src/monitor/state.ts +0 -34
  225. package/src/monitor.active.test.ts +0 -245
  226. package/src/monitor.inbound-filter.test.ts +0 -63
  227. package/src/monitor.integration.test.ts +0 -208
  228. package/src/monitor.ts +0 -121
  229. package/src/monitor.webhook.test.ts +0 -774
  230. package/src/observability/audit-log.ts +0 -48
  231. package/src/observability/legacy-operational-event-store.ts +0 -36
  232. package/src/observability/raw-envelope-log.ts +0 -28
  233. package/src/observability/status-registry.ts +0 -13
  234. package/src/observability/transport-session-view.ts +0 -14
  235. package/src/onboarding.test.ts +0 -336
  236. package/src/onboarding.ts +0 -704
  237. package/src/outbound.test.ts +0 -1271
  238. package/src/outbound.ts +0 -746
  239. package/src/runtime/dispatcher.ts +0 -71
  240. package/src/runtime/outbound-intent.ts +0 -4
  241. package/src/runtime/reply-orchestrator.test.ts +0 -71
  242. package/src/runtime/reply-orchestrator.ts +0 -67
  243. package/src/runtime/routing-bridge.test.ts +0 -115
  244. package/src/runtime/routing-bridge.ts +0 -44
  245. package/src/runtime/session-manager.test.ts +0 -174
  246. package/src/runtime/session-manager.ts +0 -139
  247. package/src/runtime/source-registry.ts +0 -249
  248. package/src/runtime.ts +0 -14
  249. package/src/shared/command-auth.ts +0 -87
  250. package/src/shared/media-asset.ts +0 -78
  251. package/src/shared/media-service.test.ts +0 -111
  252. package/src/shared/media-service.ts +0 -84
  253. package/src/shared/media-types.ts +0 -5
  254. package/src/shared/xml-parser.test.ts +0 -50
  255. package/src/store/active-reply-store.ts +0 -42
  256. package/src/store/interfaces.ts +0 -11
  257. package/src/store/memory-store.ts +0 -43
  258. package/src/store/stream-batch-store.ts +0 -350
  259. package/src/transport/agent-api/client.ts +0 -277
  260. package/src/transport/agent-api/core.ts +0 -463
  261. package/src/transport/agent-api/delivery.ts +0 -41
  262. package/src/transport/agent-api/media-upload.ts +0 -11
  263. package/src/transport/agent-api/reply.ts +0 -39
  264. package/src/transport/agent-api/upstream-delivery.ts +0 -45
  265. package/src/transport/agent-api/upstream-media-upload.ts +0 -70
  266. package/src/transport/agent-api/upstream-reply.ts +0 -43
  267. package/src/transport/agent-callback/http-handler.ts +0 -47
  268. package/src/transport/agent-callback/inbound.ts +0 -5
  269. package/src/transport/agent-callback/reply.ts +0 -13
  270. package/src/transport/agent-callback/request-handler.ts +0 -244
  271. package/src/transport/agent-callback/session.ts +0 -23
  272. package/src/transport/bot-webhook/active-reply.ts +0 -39
  273. package/src/transport/bot-webhook/http-handler.ts +0 -48
  274. package/src/transport/bot-webhook/inbound-normalizer.test.ts +0 -433
  275. package/src/transport/bot-webhook/inbound-normalizer.ts +0 -558
  276. package/src/transport/bot-webhook/inbound.ts +0 -5
  277. package/src/transport/bot-webhook/message-shape.ts +0 -92
  278. package/src/transport/bot-webhook/protocol.ts +0 -148
  279. package/src/transport/bot-webhook/reply.ts +0 -15
  280. package/src/transport/bot-webhook/request-handler.ts +0 -394
  281. package/src/transport/bot-webhook/session.ts +0 -23
  282. package/src/transport/bot-ws/inbound.test.ts +0 -290
  283. package/src/transport/bot-ws/inbound.ts +0 -163
  284. package/src/transport/bot-ws/media.test.ts +0 -44
  285. package/src/transport/bot-ws/media.ts +0 -321
  286. package/src/transport/bot-ws/reply.test.ts +0 -450
  287. package/src/transport/bot-ws/reply.ts +0 -365
  288. package/src/transport/bot-ws/sdk-adapter.test.ts +0 -187
  289. package/src/transport/bot-ws/sdk-adapter.ts +0 -314
  290. package/src/transport/bot-ws/session.ts +0 -28
  291. package/src/transport/http/common.ts +0 -109
  292. package/src/transport/http/registry.ts +0 -92
  293. package/src/transport/http/request-handler.ts +0 -84
  294. package/src/types/account.ts +0 -70
  295. package/src/types/config.ts +0 -114
  296. package/src/types/constants.ts +0 -31
  297. package/src/types/events.ts +0 -21
  298. package/src/types/global.d.ts +0 -9
  299. package/src/types/index.ts +0 -17
  300. package/src/types/legacy-stream.ts +0 -50
  301. package/src/types/message.ts +0 -189
  302. package/src/types/runtime-context.ts +0 -28
  303. package/src/types/runtime.ts +0 -165
  304. package/src/types.ts +0 -41
  305. package/src/upstream/index.ts +0 -150
  306. package/src/upstream.test.ts +0 -84
  307. package/src/wecom_msg_adapter/markdown_adapter.ts +0 -331
  308. package/tsconfig.json +0 -22
  309. package/vitest.config.ts +0 -26
  310. /package/{src/capability/agent/index.ts → dist/src/capability/agent/index.js} +0 -0
  311. /package/{src/capability/bot/index.ts → dist/src/capability/bot/index.js} +0 -0
  312. /package/{src/capability/calendar/index.ts → dist/src/capability/calendar/index.js} +0 -0
  313. /package/{src/capability/index.ts → dist/src/capability/index.js} +0 -0
@@ -1,69 +1,59 @@
1
1
  const accountIdProperty = {
2
- type: "string",
3
- minLength: 1,
4
- description:
5
- "可选:指定企业微信账号 ID;不填时按 agent 账号/默认账号自动选择",
2
+ type: "string",
3
+ minLength: 1,
4
+ description: "可选:指定企业微信账号 ID;不填时按 agent 账号/默认账号自动选择",
6
5
  };
7
-
8
6
  const docTypeProperty = {
9
- oneOf: [
10
- {
11
- type: "string",
12
- enum: ["doc", "spreadsheet", "smart_table"],
13
- },
14
- {
15
- type: "integer",
16
- enum: [3, 4, 10],
17
- },
18
- ],
19
- default: "doc",
20
- description: "文档类型:doc=文档,spreadsheet=表格,smart_table=智能表格",
7
+ oneOf: [
8
+ {
9
+ type: "string",
10
+ enum: ["doc", "spreadsheet", "smart_table"],
11
+ },
12
+ {
13
+ type: "integer",
14
+ enum: [3, 4, 10],
15
+ },
16
+ ],
17
+ default: "doc",
18
+ description: "文档类型:doc=文档,spreadsheet=表格,smart_table=智能表格",
21
19
  };
22
-
23
20
  const sheetIdProperty = {
24
- type: "string",
25
- minLength: 1,
26
- description: "子表 ID (sheet_id)",
21
+ type: "string",
22
+ minLength: 1,
23
+ description: "子表 ID (sheet_id)",
27
24
  };
28
-
29
25
  const docIdProperty = {
30
- type: "string",
31
- minLength: 1,
32
- description: "文档 docid",
26
+ type: "string",
27
+ minLength: 1,
28
+ description: "文档 docid",
33
29
  };
34
-
35
30
  const formIdProperty = {
36
- type: "string",
37
- minLength: 1,
38
- description: "收集表 formid",
31
+ type: "string",
32
+ minLength: 1,
33
+ description: "收集表 formid",
39
34
  };
40
-
41
35
  const shareUrlProperty = {
42
- type: "string",
43
- minLength: 1,
44
- description: "企业微信文档分享链接",
36
+ type: "string",
37
+ minLength: 1,
38
+ description: "企业微信文档分享链接",
45
39
  };
46
-
47
40
  const genericObjectProperty = {
48
- type: "object",
49
- additionalProperties: true,
41
+ type: "object",
42
+ additionalProperties: true,
50
43
  };
51
-
52
44
  const nonEmptyObjectProperty = {
53
- ...genericObjectProperty,
54
- minProperties: 1,
45
+ ...genericObjectProperty,
46
+ minProperties: 1,
55
47
  };
56
-
57
48
  // --- Form Statistics Schema ---
58
-
59
49
  const formStatisticRequestSchema = {
60
50
  type: "object",
61
51
  required: ["req_type", "repeated_id"],
62
52
  properties: {
63
- req_type: {
64
- type: "integer",
65
- enum: [1, 2, 3],
66
- description: "统计类型:1-仅获取统计结果,2-获取已提交列表(需 start_time 和 end_time),3-获取未提交列表"
53
+ req_type: {
54
+ type: "integer",
55
+ enum: [1, 2, 3],
56
+ description: "统计类型:1-仅获取统计结果,2-获取已提交列表(需 start_time 和 end_time),3-获取未提交列表"
67
57
  },
68
58
  repeated_id: { type: "string", description: "收集表 repeated_id" },
69
59
  start_time: { type: "integer", description: "可选:开始时间戳(毫秒),req_type=2 时必填" },
@@ -72,410 +62,371 @@ const formStatisticRequestSchema = {
72
62
  cursor: { type: "integer", description: "可选:分页游标" },
73
63
  },
74
64
  };
75
-
76
65
  // --- Doc Permission Schemas ---
77
-
78
66
  const coAuthListProperty = {
79
- type: "array",
80
- items: {
81
- type: "object",
82
- required: ["departmentid", "auth", "type"],
83
- properties: {
84
- departmentid: { type: "integer", description: "特定部门id" },
85
- auth: { type: "integer", enum: [1, 2], description: "1:只读, 2:读写" },
86
- type: { type: "integer", const: 2, description: "2:部门" },
67
+ type: "array",
68
+ items: {
69
+ type: "object",
70
+ required: ["departmentid", "auth", "type"],
71
+ properties: {
72
+ departmentid: { type: "integer", description: "特定部门id" },
73
+ auth: { type: "integer", enum: [1, 2], description: "1:只读, 2:读写" },
74
+ type: { type: "integer", const: 2, description: "2:部门" },
75
+ },
87
76
  },
88
- },
89
77
  };
90
-
91
78
  const docMemberListProperty = {
92
- type: "array",
93
- items: {
94
- type: "object",
95
- required: ["type", "auth"],
96
- properties: {
97
- type: { type: "integer", const: 1, description: "1:用户" },
98
- userid: { type: "string", description: "企业成员userid" },
99
- tmp_external_userid: { type: "string", description: "外部用户临时id" },
100
- auth: {
101
- type: "integer",
102
- enum: [1, 2, 7],
103
- description: "1:只读 2:读写 7:管理员",
104
- },
79
+ type: "array",
80
+ items: {
81
+ type: "object",
82
+ required: ["type", "auth"],
83
+ properties: {
84
+ type: { type: "integer", const: 1, description: "1:用户" },
85
+ userid: { type: "string", description: "企业成员userid" },
86
+ tmp_external_userid: { type: "string", description: "外部用户临时id" },
87
+ auth: {
88
+ type: "integer",
89
+ enum: [1, 2, 7],
90
+ description: "1:只读 2:读写 7:管理员",
91
+ },
92
+ },
105
93
  },
106
- },
107
94
  };
108
-
109
95
  const delDocMemberListProperty = {
110
- type: "array",
111
- items: {
112
- type: "object",
113
- required: ["type"],
114
- properties: {
115
- type: { type: "integer", const: 1 },
116
- userid: { type: "string" },
117
- tmp_external_userid: { type: "string" },
96
+ type: "array",
97
+ items: {
98
+ type: "object",
99
+ required: ["type"],
100
+ properties: {
101
+ type: { type: "integer", const: 1 },
102
+ userid: { type: "string" },
103
+ tmp_external_userid: { type: "string" },
104
+ },
118
105
  },
119
- },
120
106
  };
121
-
122
107
  const watermarkProperty = {
123
- type: "object",
124
- properties: {
125
- margin_type: {
126
- type: "integer",
127
- enum: [1, 2],
128
- description: "1:稀疏, 2:紧密",
108
+ type: "object",
109
+ properties: {
110
+ margin_type: {
111
+ type: "integer",
112
+ enum: [1, 2],
113
+ description: "1:稀疏, 2:紧密",
114
+ },
115
+ show_visitor_name: { type: "boolean" },
116
+ show_text: { type: "boolean" },
117
+ text: { type: "string" },
129
118
  },
130
- show_visitor_name: { type: "boolean" },
131
- show_text: { type: "boolean" },
132
- text: { type: "string" },
133
- },
134
119
  };
135
-
136
120
  // --- Smartsheet Permission Schemas ---
137
-
138
121
  const fieldRuleListSchema = {
139
- type: "array",
140
- items: {
141
- type: "object",
142
- required: ["field_id", "can_edit", "can_insert", "can_view"],
143
- properties: {
144
- field_id: { type: "string" },
145
- field_type: { type: "string" },
146
- can_edit: { type: "boolean" },
147
- can_insert: { type: "boolean" },
148
- can_view: { type: "boolean" },
122
+ type: "array",
123
+ items: {
124
+ type: "object",
125
+ required: ["field_id", "can_edit", "can_insert", "can_view"],
126
+ properties: {
127
+ field_id: { type: "string" },
128
+ field_type: { type: "string" },
129
+ can_edit: { type: "boolean" },
130
+ can_insert: { type: "boolean" },
131
+ can_view: { type: "boolean" },
132
+ },
149
133
  },
150
- },
151
134
  };
152
-
153
135
  const fieldPrivSchema = {
154
- type: "object",
155
- required: ["field_range_type", "field_rule_list"],
156
- properties: {
157
- field_range_type: {
158
- type: "integer",
159
- enum: [1, 2],
160
- description: "1-所有字段;2-部分字段",
161
- },
162
- field_rule_list: fieldRuleListSchema,
163
- field_default_rule: {
164
- type: "object",
165
- properties: {
166
- can_edit: { type: "boolean" },
167
- can_insert: { type: "boolean" },
168
- can_view: { type: "boolean" },
169
- },
136
+ type: "object",
137
+ required: ["field_range_type", "field_rule_list"],
138
+ properties: {
139
+ field_range_type: {
140
+ type: "integer",
141
+ enum: [1, 2],
142
+ description: "1-所有字段;2-部分字段",
143
+ },
144
+ field_rule_list: fieldRuleListSchema,
145
+ field_default_rule: {
146
+ type: "object",
147
+ properties: {
148
+ can_edit: { type: "boolean" },
149
+ can_insert: { type: "boolean" },
150
+ can_view: { type: "boolean" },
151
+ },
152
+ },
170
153
  },
171
- },
172
154
  };
173
-
174
155
  const recordRuleListSchema = {
175
- type: "array",
176
- items: {
177
- type: "object",
178
- required: ["field_id", "oper_type"],
179
- properties: {
180
- field_id: { type: "string" },
181
- field_type: { type: "string" },
182
- oper_type: {
183
- type: "integer",
184
- description:
185
- "1-包含自己; 2-包含value; 3-不包含; 4-等于; 5-不等于; 6-为空; 7-非空",
186
- },
187
- value: { type: "array", items: { type: "string" } },
156
+ type: "array",
157
+ items: {
158
+ type: "object",
159
+ required: ["field_id", "oper_type"],
160
+ properties: {
161
+ field_id: { type: "string" },
162
+ field_type: { type: "string" },
163
+ oper_type: {
164
+ type: "integer",
165
+ description: "1-包含自己; 2-包含value; 3-不包含; 4-等于; 5-不等于; 6-为空; 7-非空",
166
+ },
167
+ value: { type: "array", items: { type: "string" } },
168
+ },
188
169
  },
189
- },
190
170
  };
191
-
192
171
  const recordPrivSchema = {
193
- type: "object",
194
- required: ["record_range_type"],
195
- properties: {
196
- record_range_type: {
197
- type: "integer",
198
- enum: [1, 2, 3],
199
- description: "1-全部; 2-任意条件; 3-全部条件",
200
- },
201
- record_rule_list: recordRuleListSchema,
202
- other_priv: {
203
- type: "integer",
204
- enum: [1, 2],
205
- description: "1-不可编辑; 2-不可查看",
172
+ type: "object",
173
+ required: ["record_range_type"],
174
+ properties: {
175
+ record_range_type: {
176
+ type: "integer",
177
+ enum: [1, 2, 3],
178
+ description: "1-全部; 2-任意条件; 3-全部条件",
179
+ },
180
+ record_rule_list: recordRuleListSchema,
181
+ other_priv: {
182
+ type: "integer",
183
+ enum: [1, 2],
184
+ description: "1-不可编辑; 2-不可查看",
185
+ },
206
186
  },
207
- },
208
187
  };
209
-
210
188
  const privListSchema = {
211
- type: "array",
212
- items: {
213
- type: "object",
214
- required: ["sheet_id", "priv"],
215
- properties: {
216
- sheet_id: { type: "string" },
217
- priv: {
218
- oneOf: [{ type: "string" }, { type: "integer" }],
219
- description: "1-全部权限;2-可编辑;3-仅浏览;4-无权限",
220
- },
221
- can_insert_record: { type: "boolean" },
222
- can_delete_record: { type: "boolean" },
223
- can_create_modify_delete_view: { type: "boolean" },
224
- field_priv: fieldPrivSchema,
225
- record_priv: recordPrivSchema,
226
- clear: { type: "boolean" },
189
+ type: "array",
190
+ items: {
191
+ type: "object",
192
+ required: ["sheet_id", "priv"],
193
+ properties: {
194
+ sheet_id: { type: "string" },
195
+ priv: {
196
+ oneOf: [{ type: "string" }, { type: "integer" }],
197
+ description: "1-全部权限;2-可编辑;3-仅浏览;4-无权限",
198
+ },
199
+ can_insert_record: { type: "boolean" },
200
+ can_delete_record: { type: "boolean" },
201
+ can_create_modify_delete_view: { type: "boolean" },
202
+ field_priv: fieldPrivSchema,
203
+ record_priv: recordPrivSchema,
204
+ clear: { type: "boolean" },
205
+ },
227
206
  },
228
- },
229
207
  };
230
-
231
208
  const memberRangeSchema = {
232
- type: "object",
233
- properties: {
234
- userid_list: { type: "array", items: { type: "string" } },
235
- },
209
+ type: "object",
210
+ properties: {
211
+ userid_list: { type: "array", items: { type: "string" } },
212
+ },
236
213
  };
237
-
238
214
  // --- Doc Content Update Schemas ---
239
-
240
215
  const locationProperty = {
241
- type: "object",
242
- required: ["index"],
243
- properties: {
244
- index: { type: "integer", minimum: 0, description: "位置索引" },
245
- },
216
+ type: "object",
217
+ required: ["index"],
218
+ properties: {
219
+ index: { type: "integer", minimum: 0, description: "位置索引" },
220
+ },
246
221
  };
247
-
248
222
  const rangeProperty = {
249
- type: "object",
250
- required: ["start_index", "length"],
251
- properties: {
252
- start_index: { type: "integer", minimum: 0, description: "起始位置" },
253
- length: { type: "integer", minimum: 1, description: "长度" },
254
- },
223
+ type: "object",
224
+ required: ["start_index", "length"],
225
+ properties: {
226
+ start_index: { type: "integer", minimum: 0, description: "起始位置" },
227
+ length: { type: "integer", minimum: 1, description: "长度" },
228
+ },
255
229
  };
256
-
257
230
  const textPropertySchema = {
258
- type: "object",
259
- description: "文本属性",
260
- properties: {
261
- bold: { type: "boolean" },
262
- italics: { type: "boolean" },
263
- underline: { type: "boolean" },
264
- strike: { type: "boolean" },
265
- color: {
266
- type: "string",
267
- pattern: "^[0-9A-Fa-f]{6}$",
268
- description: "RRGGBB 格式颜色",
269
- },
270
- background_color: {
271
- type: "string",
272
- pattern: "^[0-9A-Fa-f]{6}$",
273
- description: "RRGGBB 格式背景色",
231
+ type: "object",
232
+ description: "文本属性",
233
+ properties: {
234
+ bold: { type: "boolean" },
235
+ italics: { type: "boolean" },
236
+ underline: { type: "boolean" },
237
+ strike: { type: "boolean" },
238
+ color: {
239
+ type: "string",
240
+ pattern: "^[0-9A-Fa-f]{6}$",
241
+ description: "RRGGBB 格式颜色",
242
+ },
243
+ background_color: {
244
+ type: "string",
245
+ pattern: "^[0-9A-Fa-f]{6}$",
246
+ description: "RRGGBB 格式背景色",
247
+ },
248
+ size: { type: "integer", description: "字体大小(half-points)" },
274
249
  },
275
- size: { type: "integer", description: "字体大小(half-points)" },
276
- },
277
250
  };
278
-
279
251
  const insertTextRequest = {
280
- type: "object",
281
- required: ["text", "location"],
282
- properties: {
283
- text: { type: "string", minLength: 1 },
284
- location: locationProperty,
285
- },
252
+ type: "object",
253
+ required: ["text", "location"],
254
+ properties: {
255
+ text: { type: "string", minLength: 1 },
256
+ location: locationProperty,
257
+ },
286
258
  };
287
-
288
259
  const replaceTextRequest = {
289
- type: "object",
290
- required: ["text", "ranges"],
291
- properties: {
292
- text: { type: "string" },
293
- ranges: { type: "array", items: rangeProperty, minItems: 1 },
294
- },
260
+ type: "object",
261
+ required: ["text", "ranges"],
262
+ properties: {
263
+ text: { type: "string" },
264
+ ranges: { type: "array", items: rangeProperty, minItems: 1 },
265
+ },
295
266
  };
296
-
297
267
  const deleteContentRequest = {
298
- type: "object",
299
- required: ["range"],
300
- properties: {
301
- range: rangeProperty,
302
- },
268
+ type: "object",
269
+ required: ["range"],
270
+ properties: {
271
+ range: rangeProperty,
272
+ },
303
273
  };
304
-
305
274
  const updateTextPropertyRequest = {
306
- type: "object",
307
- required: ["text_property", "ranges"],
308
- properties: {
309
- text_property: textPropertySchema,
310
- ranges: { type: "array", items: rangeProperty, minItems: 1 },
311
- },
275
+ type: "object",
276
+ required: ["text_property", "ranges"],
277
+ properties: {
278
+ text_property: textPropertySchema,
279
+ ranges: { type: "array", items: rangeProperty, minItems: 1 },
280
+ },
312
281
  };
313
-
314
282
  const insertImageRequest = {
315
- type: "object",
316
- required: ["image_id", "location"],
317
- properties: {
318
- image_id: { type: "string", description: "上传图片获得的 image_id/url" },
319
- location: locationProperty,
320
- width: { type: "integer", description: "宽(px)" },
321
- height: { type: "integer", description: "高(px)" },
322
- },
283
+ type: "object",
284
+ required: ["image_id", "location"],
285
+ properties: {
286
+ image_id: { type: "string", description: "上传图片获得的 image_id/url" },
287
+ location: locationProperty,
288
+ width: { type: "integer", description: "宽(px)" },
289
+ height: { type: "integer", description: "高(px)" },
290
+ },
323
291
  };
324
-
325
292
  const insertPageBreakRequest = {
326
- type: "object",
327
- required: ["location"],
328
- properties: {
329
- location: locationProperty,
330
- },
293
+ type: "object",
294
+ required: ["location"],
295
+ properties: {
296
+ location: locationProperty,
297
+ },
331
298
  };
332
-
333
299
  const insertTableRequest = {
334
- type: "object",
335
- required: ["rows", "cols", "location"],
336
- properties: {
337
- rows: { type: "integer", minimum: 1, maximum: 100 },
338
- cols: { type: "integer", minimum: 1, maximum: 60 },
339
- location: locationProperty,
340
- },
300
+ type: "object",
301
+ required: ["rows", "cols", "location"],
302
+ properties: {
303
+ rows: { type: "integer", minimum: 1, maximum: 100 },
304
+ cols: { type: "integer", minimum: 1, maximum: 60 },
305
+ location: locationProperty,
306
+ },
341
307
  };
342
-
343
308
  const insertParagraphRequest = {
344
- type: "object",
345
- description:
346
- "在指定位置插入段落。注意:请使用此操作来分段,而不是在 insert_text 中使用换行符。",
347
- required: ["location"],
348
- properties: {
349
- location: locationProperty,
350
- },
309
+ type: "object",
310
+ description: "在指定位置插入段落。注意:请使用此操作来分段,而不是在 insert_text 中使用换行符。",
311
+ required: ["location"],
312
+ properties: {
313
+ location: locationProperty,
314
+ },
351
315
  };
352
-
353
316
  // --- Spreadsheet Update Schemas ---
354
-
355
317
  const addSheetRequest = {
356
- type: "object",
357
- required: ["title"],
358
- properties: {
359
- title: { type: "string", minLength: 1 },
360
- row_count: { type: "integer", minimum: 1 },
361
- column_count: { type: "integer", minimum: 1 },
362
- },
318
+ type: "object",
319
+ required: ["title"],
320
+ properties: {
321
+ title: { type: "string", minLength: 1 },
322
+ row_count: { type: "integer", minimum: 1 },
323
+ column_count: { type: "integer", minimum: 1 },
324
+ },
363
325
  };
364
-
365
326
  const deleteSheetRequest = {
366
- type: "object",
367
- required: ["sheet_id"],
368
- properties: {
369
- sheet_id: { type: "string", minLength: 1 },
370
- },
327
+ type: "object",
328
+ required: ["sheet_id"],
329
+ properties: {
330
+ sheet_id: { type: "string", minLength: 1 },
331
+ },
371
332
  };
372
-
373
333
  const deleteDimensionRequest = {
374
- type: "object",
375
- required: ["sheet_id", "dimension", "start_index", "end_index"],
376
- properties: {
377
- sheet_id: { type: "string" },
378
- dimension: { type: "string", enum: ["ROW", "COLUMN"] },
379
- start_index: { type: "integer", minimum: 1 },
380
- end_index: { type: "integer", minimum: 2 },
381
- },
334
+ type: "object",
335
+ required: ["sheet_id", "dimension", "start_index", "end_index"],
336
+ properties: {
337
+ sheet_id: { type: "string" },
338
+ dimension: { type: "string", enum: ["ROW", "COLUMN"] },
339
+ start_index: { type: "integer", minimum: 1 },
340
+ end_index: { type: "integer", minimum: 2 },
341
+ },
382
342
  };
383
-
384
343
  const cellValueSchema = {
385
- type: "object",
386
- properties: {
387
- text: { type: "string" },
388
- link: {
389
- type: "object",
390
- required: ["text", "url"],
391
- properties: {
344
+ type: "object",
345
+ properties: {
392
346
  text: { type: "string" },
393
- url: { type: "string" },
394
- },
347
+ link: {
348
+ type: "object",
349
+ required: ["text", "url"],
350
+ properties: {
351
+ text: { type: "string" },
352
+ url: { type: "string" },
353
+ },
354
+ },
395
355
  },
396
- },
397
356
  };
398
-
399
357
  const cellFormatSchema = {
400
- type: "object",
401
- properties: {
402
- text_format: {
403
- type: "object",
404
- properties: {
405
- bold: { type: "boolean" },
406
- italic: { type: "boolean" },
407
- strikethrough: { type: "boolean" },
408
- underline: { type: "boolean" },
409
- color: {
410
- type: "object",
411
- required: ["red", "green", "blue"],
412
- properties: {
413
- red: { type: "integer", minimum: 0, maximum: 255 },
414
- green: { type: "integer", minimum: 0, maximum: 255 },
415
- blue: { type: "integer", minimum: 0, maximum: 255 },
416
- alpha: { type: "integer", minimum: 0, maximum: 255 },
417
- },
418
- },
419
- font_size: { type: "integer" },
420
- },
358
+ type: "object",
359
+ properties: {
360
+ text_format: {
361
+ type: "object",
362
+ properties: {
363
+ bold: { type: "boolean" },
364
+ italic: { type: "boolean" },
365
+ strikethrough: { type: "boolean" },
366
+ underline: { type: "boolean" },
367
+ color: {
368
+ type: "object",
369
+ required: ["red", "green", "blue"],
370
+ properties: {
371
+ red: { type: "integer", minimum: 0, maximum: 255 },
372
+ green: { type: "integer", minimum: 0, maximum: 255 },
373
+ blue: { type: "integer", minimum: 0, maximum: 255 },
374
+ alpha: { type: "integer", minimum: 0, maximum: 255 },
375
+ },
376
+ },
377
+ font_size: { type: "integer" },
378
+ },
379
+ },
421
380
  },
422
- },
423
381
  };
424
-
425
382
  const cellDataSchema = {
426
- type: "object",
427
- properties: {
428
- cell_value: cellValueSchema,
429
- cell_format: cellFormatSchema,
430
- },
383
+ type: "object",
384
+ properties: {
385
+ cell_value: cellValueSchema,
386
+ cell_format: cellFormatSchema,
387
+ },
431
388
  };
432
-
433
389
  const rowDataSchema = {
434
- type: "object",
435
- required: ["values"],
436
- properties: {
437
- values: {
438
- type: "array",
439
- items: cellDataSchema,
390
+ type: "object",
391
+ required: ["values"],
392
+ properties: {
393
+ values: {
394
+ type: "array",
395
+ items: cellDataSchema,
396
+ },
440
397
  },
441
- },
442
398
  };
443
-
444
399
  const gridDataSchema = {
445
- type: "object",
446
- required: ["rows"],
447
- properties: {
448
- start_row: { type: "integer", default: 0 },
449
- start_column: { type: "integer", default: 0 },
450
- rows: {
451
- type: "array",
452
- items: rowDataSchema,
400
+ type: "object",
401
+ required: ["rows"],
402
+ properties: {
403
+ start_row: { type: "integer", default: 0 },
404
+ start_column: { type: "integer", default: 0 },
405
+ rows: {
406
+ type: "array",
407
+ items: rowDataSchema,
408
+ },
453
409
  },
454
- },
455
410
  };
456
-
457
411
  const updateRangeRequest = {
458
- type: "object",
459
- required: ["sheet_id", "grid_data"],
460
- properties: {
461
- sheet_id: { type: "string" },
462
- grid_data: gridDataSchema,
463
- },
412
+ type: "object",
413
+ required: ["sheet_id", "grid_data"],
414
+ properties: {
415
+ sheet_id: { type: "string" },
416
+ grid_data: gridDataSchema,
417
+ },
464
418
  };
465
-
466
419
  const docMemberEntryProperty = {
467
- oneOf: [
468
- { type: "string", minLength: 1 },
469
- { type: "object", additionalProperties: true, minProperties: 1 },
470
- ],
420
+ oneOf: [
421
+ { type: "string", minLength: 1 },
422
+ { type: "object", additionalProperties: true, minProperties: 1 },
423
+ ],
471
424
  };
472
-
473
425
  const docMemberEntryArrayProperty = {
474
- type: "array",
475
- minItems: 1,
476
- items: docMemberEntryProperty,
426
+ type: "array",
427
+ minItems: 1,
428
+ items: docMemberEntryProperty,
477
429
  };
478
-
479
430
  export const wecomDocToolSchema = {
480
431
  oneOf: [
481
432
  {
@@ -695,15 +646,15 @@ export const wecomDocToolSchema = {
695
646
  description: "mod_doc_join_rule 请求体。插件会自动补 docid。",
696
647
  additionalProperties: false,
697
648
  properties: {
698
- enable_corp_internal: { type: "boolean" },
699
- corp_internal_auth: { type: "integer", description: "1:只读 2:读写" },
700
- enable_corp_external: { type: "boolean" },
701
- corp_external_auth: { type: "integer", description: "1:只读 2:读写" },
702
- corp_internal_approve_only_by_admin: { type: "boolean" },
703
- corp_external_approve_only_by_admin: { type: "boolean" },
704
- ban_share_external: { type: "boolean" },
705
- update_co_auth_list: { type: "boolean" },
706
- co_auth_list: coAuthListProperty
649
+ enable_corp_internal: { type: "boolean" },
650
+ corp_internal_auth: { type: "integer", description: "1:只读 2:读写" },
651
+ enable_corp_external: { type: "boolean" },
652
+ corp_external_auth: { type: "integer", description: "1:只读 2:读写" },
653
+ corp_internal_approve_only_by_admin: { type: "boolean" },
654
+ corp_external_approve_only_by_admin: { type: "boolean" },
655
+ ban_share_external: { type: "boolean" },
656
+ update_co_auth_list: { type: "boolean" },
657
+ co_auth_list: coAuthListProperty
707
658
  }
708
659
  },
709
660
  },
@@ -1270,23 +1221,23 @@ export const wecomDocToolSchema = {
1270
1221
  docId: docIdProperty,
1271
1222
  sheetId: sheetIdProperty,
1272
1223
  view_title: { type: "string", description: "视图标题" },
1273
- view_type: {
1274
- type: "string",
1224
+ view_type: {
1225
+ type: "string",
1275
1226
  enum: ["VIEW_TYPE_GRID", "VIEW_TYPE_KANBAN", "VIEW_TYPE_GALLERY", "VIEW_TYPE_GANTT", "VIEW_TYPE_CALENDAR"],
1276
1227
  description: "视图类型"
1277
1228
  },
1278
- property: {
1279
- type: "object",
1229
+ property: {
1230
+ type: "object",
1280
1231
  description: "视图属性(ViewProperty),包含 sort_spec, filter_spec, group_spec 等",
1281
1232
  additionalProperties: true,
1282
1233
  },
1283
- property_gantt: {
1284
- type: "object",
1234
+ property_gantt: {
1235
+ type: "object",
1285
1236
  description: "甘特视图属性(已废弃,请使用 property)",
1286
1237
  additionalProperties: true,
1287
1238
  },
1288
- property_calendar: {
1289
- type: "object",
1239
+ property_calendar: {
1240
+ type: "object",
1290
1241
  description: "日历视图属性(已废弃,请使用 property)",
1291
1242
  additionalProperties: true,
1292
1243
  },
@@ -1303,18 +1254,18 @@ export const wecomDocToolSchema = {
1303
1254
  sheetId: sheetIdProperty,
1304
1255
  view_id: { type: "string", description: "视图 ID" },
1305
1256
  view_title: { type: "string", description: "视图标题(可选)" },
1306
- property: {
1307
- type: "object",
1257
+ property: {
1258
+ type: "object",
1308
1259
  description: "视图属性(ViewProperty),包含 sort_spec, filter_spec, group_spec, color_config 等",
1309
1260
  additionalProperties: true,
1310
1261
  },
1311
- property_gantt: {
1312
- type: "object",
1262
+ property_gantt: {
1263
+ type: "object",
1313
1264
  description: "甘特视图属性(已废弃,请使用 property)",
1314
1265
  additionalProperties: true,
1315
1266
  },
1316
- property_calendar: {
1317
- type: "object",
1267
+ property_calendar: {
1268
+ type: "object",
1318
1269
  description: "日历视图属性(已废弃,请使用 property)",
1319
1270
  additionalProperties: true,
1320
1271
  },
@@ -1341,8 +1292,8 @@ export const wecomDocToolSchema = {
1341
1292
  accountId: accountIdProperty,
1342
1293
  docId: docIdProperty,
1343
1294
  sheetId: sheetIdProperty,
1344
- fields: {
1345
- type: "array",
1295
+ fields: {
1296
+ type: "array",
1346
1297
  items: nonEmptyObjectProperty,
1347
1298
  description: "要添加的字段列表,每项包含 field_title, field_type 等"
1348
1299
  },
@@ -1369,8 +1320,8 @@ export const wecomDocToolSchema = {
1369
1320
  accountId: accountIdProperty,
1370
1321
  docId: docIdProperty,
1371
1322
  sheetId: sheetIdProperty,
1372
- fields: {
1373
- type: "array",
1323
+ fields: {
1324
+ type: "array",
1374
1325
  items: nonEmptyObjectProperty,
1375
1326
  description: "要更新的字段列表,每项需包含 field_id"
1376
1327
  },
@@ -1618,4 +1569,4 @@ export const wecomDocToolSchema = {
1618
1569
  },
1619
1570
  },
1620
1571
  ],
1621
- } as const;
1572
+ };