@yanhaidao/wecom 2.4.120 → 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 (323) hide show
  1. package/README.md +4 -5
  2. package/dist/index.js +68 -0
  3. package/dist/src/accounts.js +20 -0
  4. package/dist/src/agent/handler.js +895 -0
  5. package/dist/src/agent/index.js +5 -0
  6. package/dist/src/app/account-runtime.js +216 -0
  7. package/dist/src/app/bootstrap.js +19 -0
  8. package/dist/src/app/index.js +118 -0
  9. package/dist/src/capability/agent/delivery-service.js +63 -0
  10. package/dist/src/capability/agent/fallback-policy.js +6 -0
  11. package/dist/src/capability/agent/ingress-service.js +33 -0
  12. package/dist/src/capability/agent/upstream-delivery-service.js +71 -0
  13. package/dist/src/capability/bot/dispatch-config.js +45 -0
  14. package/dist/src/capability/bot/fallback-delivery.js +147 -0
  15. package/dist/src/capability/bot/local-path-delivery.js +178 -0
  16. package/dist/src/capability/bot/sandbox-media.js +138 -0
  17. package/dist/src/capability/bot/service.js +49 -0
  18. package/dist/src/capability/bot/stream-delivery.js +321 -0
  19. package/dist/src/capability/bot/stream-finalizer.js +81 -0
  20. package/dist/src/capability/bot/stream-orchestrator.js +318 -0
  21. package/dist/src/capability/bot/types.js +1 -0
  22. package/{src/capability/calendar/client.ts → dist/src/capability/calendar/client.js} +118 -241
  23. package/{src/capability/calendar/schema.ts → dist/src/capability/calendar/schema.js} +0 -38
  24. package/dist/src/capability/calendar/tool.js +365 -0
  25. package/dist/src/capability/calendar/types.js +12 -0
  26. package/{src/capability/doc/client.ts → dist/src/capability/doc/client.js} +370 -605
  27. package/{src/capability/doc/schema.ts → dist/src/capability/doc/schema.js} +345 -394
  28. package/dist/src/capability/doc/tool.js +1556 -0
  29. package/dist/src/capability/doc/types.js +113 -0
  30. package/dist/src/capability/mcp/index.js +3 -0
  31. package/dist/src/capability/mcp/schema.js +102 -0
  32. package/dist/src/capability/mcp/tool.js +146 -0
  33. package/dist/src/capability/mcp/transport.js +293 -0
  34. package/dist/src/channel.js +224 -0
  35. package/dist/src/config/accounts.js +236 -0
  36. package/dist/src/config/derived-paths.js +31 -0
  37. package/dist/src/config/index.js +7 -0
  38. package/dist/src/config/media.js +110 -0
  39. package/dist/src/config/network.js +32 -0
  40. package/dist/src/config/routing.js +20 -0
  41. package/dist/src/config/runtime-config.js +25 -0
  42. package/dist/src/config/schema.js +4 -0
  43. package/{src/config-schema.ts → dist/src/config-schema.js} +1 -1
  44. package/dist/src/context-store.js +219 -0
  45. package/{src/crypto/aes.ts → dist/src/crypto/aes.js} +11 -28
  46. package/dist/src/crypto/index.js +9 -0
  47. package/{src/crypto/signature.ts → dist/src/crypto/signature.js} +3 -18
  48. package/{src/crypto/xml.ts → dist/src/crypto/xml.js} +3 -11
  49. package/dist/src/crypto.js +145 -0
  50. package/dist/src/domain/models.js +1 -0
  51. package/dist/src/domain/policies.js +32 -0
  52. package/{src/dynamic-agent.ts → dist/src/dynamic-agent.js} +36 -73
  53. package/dist/src/gateway-monitor.js +139 -0
  54. package/dist/src/http.js +114 -0
  55. package/{src/media.ts → dist/src/media.js} +21 -40
  56. package/dist/src/monitor/limits.js +7 -0
  57. package/dist/src/monitor/state.js +28 -0
  58. package/dist/src/monitor.js +84 -0
  59. package/dist/src/observability/audit-log.js +30 -0
  60. package/dist/src/observability/legacy-operational-event-store.js +22 -0
  61. package/dist/src/observability/raw-envelope-log.js +24 -0
  62. package/dist/src/observability/status-registry.js +9 -0
  63. package/dist/src/observability/transport-session-view.js +14 -0
  64. package/dist/src/onboarding.js +546 -0
  65. package/dist/src/outbound.js +557 -0
  66. package/dist/src/runtime/dispatcher.js +57 -0
  67. package/{src/runtime/index.ts → dist/src/runtime/index.js} +0 -1
  68. package/dist/src/runtime/outbound-intent.js +1 -0
  69. package/dist/src/runtime/reply-orchestrator.js +38 -0
  70. package/dist/src/runtime/routing-bridge.js +26 -0
  71. package/dist/src/runtime/session-manager.js +112 -0
  72. package/dist/src/runtime/source-registry.js +174 -0
  73. package/dist/src/runtime.js +1 -0
  74. package/dist/src/shared/command-auth.js +57 -0
  75. package/{src/shared/index.ts → dist/src/shared/index.js} +0 -1
  76. package/dist/src/shared/media-asset.js +65 -0
  77. package/dist/src/shared/media-service.js +59 -0
  78. package/dist/src/shared/media-types.js +1 -0
  79. package/{src/shared/xml-parser.ts → dist/src/shared/xml-parser.js} +72 -63
  80. package/dist/src/store/active-reply-store.js +41 -0
  81. package/dist/src/store/interfaces.js +1 -0
  82. package/dist/src/store/memory-store.js +33 -0
  83. package/dist/src/store/stream-batch-store.js +319 -0
  84. package/{src/target.ts → dist/src/target.js} +15 -48
  85. package/dist/src/transport/agent-api/client.js +168 -0
  86. package/dist/src/transport/agent-api/core.js +337 -0
  87. package/dist/src/transport/agent-api/delivery.js +28 -0
  88. package/dist/src/transport/agent-api/media-upload.js +4 -0
  89. package/dist/src/transport/agent-api/reply.js +24 -0
  90. package/dist/src/transport/agent-api/upstream-delivery.js +30 -0
  91. package/dist/src/transport/agent-api/upstream-media-upload.js +46 -0
  92. package/dist/src/transport/agent-api/upstream-reply.js +26 -0
  93. package/dist/src/transport/agent-callback/http-handler.js +30 -0
  94. package/dist/src/transport/agent-callback/inbound.js +4 -0
  95. package/dist/src/transport/agent-callback/reply.js +8 -0
  96. package/dist/src/transport/agent-callback/request-handler.js +189 -0
  97. package/dist/src/transport/agent-callback/session.js +15 -0
  98. package/dist/src/transport/bot-webhook/active-reply.js +27 -0
  99. package/dist/src/transport/bot-webhook/http-handler.js +31 -0
  100. package/dist/src/transport/bot-webhook/inbound-normalizer.js +496 -0
  101. package/dist/src/transport/bot-webhook/inbound.js +4 -0
  102. package/dist/src/transport/bot-webhook/message-shape.js +98 -0
  103. package/dist/src/transport/bot-webhook/protocol.js +124 -0
  104. package/dist/src/transport/bot-webhook/reply.js +9 -0
  105. package/dist/src/transport/bot-webhook/request-handler.js +285 -0
  106. package/dist/src/transport/bot-webhook/session.js +15 -0
  107. package/dist/src/transport/bot-ws/inbound.js +147 -0
  108. package/dist/src/transport/bot-ws/media.js +236 -0
  109. package/dist/src/transport/bot-ws/reply.js +310 -0
  110. package/dist/src/transport/bot-ws/sdk-adapter.js +257 -0
  111. package/dist/src/transport/bot-ws/session.js +15 -0
  112. package/dist/src/transport/http/common.js +78 -0
  113. package/dist/src/transport/http/registry.js +71 -0
  114. package/dist/src/transport/http/request-handler.js +51 -0
  115. package/{src/transport/index.ts → dist/src/transport/index.js} +2 -10
  116. package/dist/src/types/account.js +1 -0
  117. package/dist/src/types/config.js +1 -0
  118. package/dist/src/types/constants.js +28 -0
  119. package/dist/src/types/events.js +1 -0
  120. package/dist/src/types/index.js +1 -0
  121. package/dist/src/types/legacy-stream.js +1 -0
  122. package/dist/src/types/message.js +5 -0
  123. package/dist/src/types/runtime-context.js +1 -0
  124. package/dist/src/types/runtime.js +1 -0
  125. package/dist/src/types.js +1 -0
  126. package/dist/src/upstream/index.js +111 -0
  127. package/dist/src/wecom_msg_adapter/markdown_adapter.js +280 -0
  128. package/openclaw.plugin.json +15 -0
  129. package/package.json +18 -1
  130. package/.github/workflows/release.yml +0 -143
  131. package/GOVERNANCE.md +0 -26
  132. package/MENU_EVENT_CONF.md +0 -500
  133. package/MENU_EVENT_PLAN.md +0 -440
  134. package/SKILLS_CAL.md +0 -895
  135. package/SKILLS_DOC.md +0 -2288
  136. package/UPSTREAM_CONFIG.md +0 -170
  137. package/UPSTREAM_PLAN.md +0 -175
  138. package/assets/01.bot-add.png +0 -0
  139. package/assets/01.bot-setp2.png +0 -0
  140. package/assets/01.image.jpg +0 -0
  141. package/assets/02.agent.add.png +0 -0
  142. package/assets/02.agent.api-set.png +0 -0
  143. package/assets/02.image.jpg +0 -0
  144. package/assets/03.agent.page.png +0 -0
  145. package/assets/03.bot.page.png +0 -0
  146. package/assets/link-me.jpg +0 -0
  147. package/assets/register.png +0 -0
  148. package/changelog/v2.2.28.md +0 -70
  149. package/changelog/v2.3.10.md +0 -17
  150. package/changelog/v2.3.11.md +0 -19
  151. package/changelog/v2.3.12.md +0 -25
  152. package/changelog/v2.3.13.md +0 -19
  153. package/changelog/v2.3.14.md +0 -48
  154. package/changelog/v2.3.15.md +0 -15
  155. package/changelog/v2.3.16.md +0 -11
  156. package/changelog/v2.3.18.md +0 -22
  157. package/changelog/v2.3.19.md +0 -73
  158. package/changelog/v2.3.2.md +0 -28
  159. package/changelog/v2.3.26.md +0 -21
  160. package/changelog/v2.3.27.md +0 -33
  161. package/changelog/v2.3.4.md +0 -20
  162. package/changelog/v2.3.9.md +0 -22
  163. package/changelog/v2.4.12.md +0 -37
  164. package/compat-single-account.md +0 -148
  165. package/index.test.ts +0 -38
  166. package/scripts/test-proxy.ts +0 -70
  167. package/scripts/wecom/README.md +0 -123
  168. package/scripts/wecom/menu-click-help.js +0 -59
  169. package/scripts/wecom/menu-click-help.py +0 -55
  170. package/src/accounts.ts +0 -34
  171. package/src/agent/api-client.upload.test.ts +0 -109
  172. package/src/agent/event-router.test.ts +0 -421
  173. package/src/agent/event-router.ts +0 -272
  174. package/src/agent/handler.event-filter.test.ts +0 -135
  175. package/src/agent/handler.ts +0 -1250
  176. package/src/agent/index.ts +0 -12
  177. package/src/agent/script-runner.ts +0 -186
  178. package/src/agent/test-fixtures/invalid-json-script.mjs +0 -1
  179. package/src/agent/test-fixtures/reply-event-script.mjs +0 -29
  180. package/src/agent/test-fixtures/reply-event-script.py +0 -17
  181. package/src/app/account-runtime.ts +0 -276
  182. package/src/app/bootstrap.ts +0 -29
  183. package/src/app/index.ts +0 -192
  184. package/src/capability/agent/delivery-service.ts +0 -87
  185. package/src/capability/agent/fallback-policy.ts +0 -13
  186. package/src/capability/agent/ingress-service.ts +0 -38
  187. package/src/capability/agent/upstream-delivery-service.ts +0 -96
  188. package/src/capability/bot/dispatch-config.ts +0 -47
  189. package/src/capability/bot/fallback-delivery.ts +0 -178
  190. package/src/capability/bot/local-path-delivery.ts +0 -215
  191. package/src/capability/bot/sandbox-media.test.ts +0 -221
  192. package/src/capability/bot/sandbox-media.ts +0 -176
  193. package/src/capability/bot/service.ts +0 -56
  194. package/src/capability/bot/stream-delivery.ts +0 -379
  195. package/src/capability/bot/stream-finalizer.ts +0 -120
  196. package/src/capability/bot/stream-orchestrator.ts +0 -371
  197. package/src/capability/bot/types.ts +0 -8
  198. package/src/capability/calendar/SKILLS_CHECKLIST.md +0 -251
  199. package/src/capability/calendar/tool.ts +0 -417
  200. package/src/capability/calendar/types.ts +0 -309
  201. package/src/capability/doc/tool.ts +0 -1629
  202. package/src/capability/doc/types.ts +0 -792
  203. package/src/capability/mcp/index.ts +0 -10
  204. package/src/capability/mcp/schema.ts +0 -107
  205. package/src/capability/mcp/tool.ts +0 -174
  206. package/src/capability/mcp/transport.ts +0 -394
  207. package/src/channel.config.test.ts +0 -180
  208. package/src/channel.lifecycle.test.ts +0 -255
  209. package/src/channel.meta.test.ts +0 -26
  210. package/src/channel.ts +0 -256
  211. package/src/config/accounts.resolve.test.ts +0 -75
  212. package/src/config/accounts.ts +0 -312
  213. package/src/config/derived-paths.test.ts +0 -111
  214. package/src/config/derived-paths.ts +0 -41
  215. package/src/config/index.ts +0 -22
  216. package/src/config/media.test.ts +0 -113
  217. package/src/config/media.ts +0 -139
  218. package/src/config/network.ts +0 -20
  219. package/src/config/routing.test.ts +0 -88
  220. package/src/config/routing.ts +0 -26
  221. package/src/config/runtime-config.ts +0 -46
  222. package/src/config/schema.ts +0 -144
  223. package/src/context-store.ts +0 -297
  224. package/src/crypto/index.ts +0 -24
  225. package/src/crypto.test.ts +0 -32
  226. package/src/crypto.ts +0 -176
  227. package/src/domain/models.ts +0 -7
  228. package/src/domain/policies.ts +0 -36
  229. package/src/dynamic-agent.account-scope.test.ts +0 -17
  230. package/src/gateway-monitor.ts +0 -181
  231. package/src/http.ts +0 -137
  232. package/src/media.test.ts +0 -82
  233. package/src/monitor/limits.ts +0 -7
  234. package/src/monitor/state.queue.test.ts +0 -185
  235. package/src/monitor/state.ts +0 -34
  236. package/src/monitor.active.test.ts +0 -245
  237. package/src/monitor.inbound-filter.test.ts +0 -63
  238. package/src/monitor.integration.test.ts +0 -208
  239. package/src/monitor.ts +0 -121
  240. package/src/monitor.webhook.test.ts +0 -774
  241. package/src/observability/audit-log.ts +0 -48
  242. package/src/observability/legacy-operational-event-store.ts +0 -36
  243. package/src/observability/raw-envelope-log.ts +0 -28
  244. package/src/observability/status-registry.ts +0 -13
  245. package/src/observability/transport-session-view.ts +0 -14
  246. package/src/onboarding.test.ts +0 -336
  247. package/src/onboarding.ts +0 -704
  248. package/src/outbound.test.ts +0 -1271
  249. package/src/outbound.ts +0 -746
  250. package/src/runtime/dispatcher.ts +0 -71
  251. package/src/runtime/outbound-intent.ts +0 -4
  252. package/src/runtime/reply-orchestrator.test.ts +0 -71
  253. package/src/runtime/reply-orchestrator.ts +0 -67
  254. package/src/runtime/routing-bridge.test.ts +0 -115
  255. package/src/runtime/routing-bridge.ts +0 -44
  256. package/src/runtime/session-manager.test.ts +0 -174
  257. package/src/runtime/session-manager.ts +0 -139
  258. package/src/runtime/source-registry.ts +0 -249
  259. package/src/runtime.ts +0 -14
  260. package/src/shared/command-auth.ts +0 -87
  261. package/src/shared/media-asset.ts +0 -78
  262. package/src/shared/media-service.test.ts +0 -111
  263. package/src/shared/media-service.ts +0 -84
  264. package/src/shared/media-types.ts +0 -5
  265. package/src/shared/xml-parser.test.ts +0 -50
  266. package/src/store/active-reply-store.ts +0 -42
  267. package/src/store/interfaces.ts +0 -11
  268. package/src/store/memory-store.ts +0 -43
  269. package/src/store/stream-batch-store.ts +0 -350
  270. package/src/transport/agent-api/client.ts +0 -277
  271. package/src/transport/agent-api/core.ts +0 -463
  272. package/src/transport/agent-api/delivery.ts +0 -41
  273. package/src/transport/agent-api/media-upload.ts +0 -11
  274. package/src/transport/agent-api/reply.ts +0 -39
  275. package/src/transport/agent-api/upstream-delivery.ts +0 -45
  276. package/src/transport/agent-api/upstream-media-upload.ts +0 -70
  277. package/src/transport/agent-api/upstream-reply.ts +0 -43
  278. package/src/transport/agent-callback/http-handler.ts +0 -47
  279. package/src/transport/agent-callback/inbound.ts +0 -5
  280. package/src/transport/agent-callback/reply.ts +0 -13
  281. package/src/transport/agent-callback/request-handler.ts +0 -244
  282. package/src/transport/agent-callback/session.ts +0 -23
  283. package/src/transport/bot-webhook/active-reply.ts +0 -39
  284. package/src/transport/bot-webhook/http-handler.ts +0 -48
  285. package/src/transport/bot-webhook/inbound-normalizer.ts +0 -371
  286. package/src/transport/bot-webhook/inbound.ts +0 -5
  287. package/src/transport/bot-webhook/message-shape.ts +0 -89
  288. package/src/transport/bot-webhook/protocol.ts +0 -148
  289. package/src/transport/bot-webhook/reply.ts +0 -15
  290. package/src/transport/bot-webhook/request-handler.ts +0 -394
  291. package/src/transport/bot-webhook/session.ts +0 -23
  292. package/src/transport/bot-ws/inbound.test.ts +0 -96
  293. package/src/transport/bot-ws/inbound.ts +0 -116
  294. package/src/transport/bot-ws/media.test.ts +0 -44
  295. package/src/transport/bot-ws/media.ts +0 -321
  296. package/src/transport/bot-ws/reply.test.ts +0 -450
  297. package/src/transport/bot-ws/reply.ts +0 -365
  298. package/src/transport/bot-ws/sdk-adapter.test.ts +0 -187
  299. package/src/transport/bot-ws/sdk-adapter.ts +0 -314
  300. package/src/transport/bot-ws/session.ts +0 -28
  301. package/src/transport/http/common.ts +0 -109
  302. package/src/transport/http/registry.ts +0 -92
  303. package/src/transport/http/request-handler.ts +0 -84
  304. package/src/types/account.ts +0 -72
  305. package/src/types/config.ts +0 -166
  306. package/src/types/constants.ts +0 -31
  307. package/src/types/events.ts +0 -21
  308. package/src/types/global.d.ts +0 -9
  309. package/src/types/index.ts +0 -17
  310. package/src/types/legacy-stream.ts +0 -50
  311. package/src/types/message.ts +0 -187
  312. package/src/types/runtime-context.ts +0 -28
  313. package/src/types/runtime.ts +0 -165
  314. package/src/types.ts +0 -41
  315. package/src/upstream/index.ts +0 -150
  316. package/src/upstream.test.ts +0 -84
  317. package/src/wecom_msg_adapter/markdown_adapter.ts +0 -331
  318. package/tsconfig.json +0 -22
  319. package/vitest.config.ts +0 -26
  320. /package/{src/capability/agent/index.ts → dist/src/capability/agent/index.js} +0 -0
  321. /package/{src/capability/bot/index.ts → dist/src/capability/bot/index.js} +0 -0
  322. /package/{src/capability/calendar/index.ts → dist/src/capability/calendar/index.js} +0 -0
  323. /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
+ };