weaver-work-cli 0.1.2 → 0.1.5

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 (405) hide show
  1. package/README.md +176 -78
  2. package/dist/cmd/setup/index.js +5 -5
  3. package/dist/cmd/skills/index.js +1 -1
  4. package/dist/core/hooks.js +7 -0
  5. package/dist/index.js +0 -0
  6. package/dist/internal/e10/auth/commands.js +159 -54
  7. package/dist/internal/e10/auth/xiaoe.js +268 -0
  8. package/dist/internal/e10/context.js +16 -2
  9. package/dist/internal/e10/index.js +1 -0
  10. package/dist/internal/e10/request-runtime.js +345 -0
  11. package/dist/internal/skills/install.js +48 -6
  12. package/dist/internal/skills/reader.js +27 -0
  13. package/dist/shortcuts/archive/continuation.js +70 -0
  14. package/dist/shortcuts/archive/errors.js +53 -0
  15. package/dist/shortcuts/archive/host.js +197 -0
  16. package/dist/shortcuts/archive/index.js +363 -0
  17. package/dist/shortcuts/archive/manifest.js +45 -0
  18. package/dist/shortcuts/archive/operations/archive-info.js +55 -0
  19. package/dist/shortcuts/archive/operations/borrow-car.js +146 -0
  20. package/dist/shortcuts/archive/operations/borrow-list.js +200 -0
  21. package/dist/shortcuts/archive/operations/confirm.js +46 -0
  22. package/dist/shortcuts/archive/operations/download.js +238 -0
  23. package/dist/shortcuts/archive/operations/flow-url.js +240 -0
  24. package/dist/shortcuts/archive/operations/fonds.js +95 -0
  25. package/dist/shortcuts/archive/operations/getPageUrl.js +137 -0
  26. package/dist/shortcuts/archive/operations/registry.js +43 -0
  27. package/dist/shortcuts/archive/operations/search.js +88 -0
  28. package/dist/shortcuts/archive/operations/shared.js +120 -0
  29. package/dist/shortcuts/archive/operations/types.js +23 -0
  30. package/dist/shortcuts/archive/operations/upload.js +182 -0
  31. package/dist/shortcuts/archive/operations.js +13 -0
  32. package/dist/shortcuts/archive/render/search-format.js +276 -0
  33. package/dist/shortcuts/archive/render/search-view.js +125 -0
  34. package/dist/shortcuts/asset/continuation.js +70 -0
  35. package/dist/shortcuts/asset/errors.js +67 -0
  36. package/dist/shortcuts/asset/host.js +438 -0
  37. package/dist/shortcuts/asset/index.js +255 -0
  38. package/dist/shortcuts/asset/manifest.js +471 -0
  39. package/dist/shortcuts/asset/operations/query.js +249 -0
  40. package/dist/shortcuts/asset/operations/registry.js +85 -0
  41. package/dist/shortcuts/asset/operations/shared.js +100 -0
  42. package/dist/shortcuts/asset/operations/type-cache.js +49 -0
  43. package/dist/shortcuts/asset/operations/types.js +1 -0
  44. package/dist/shortcuts/asset/operations/viewlink.js +117 -0
  45. package/dist/shortcuts/asset/operations/write.js +435 -0
  46. package/dist/shortcuts/asset/operations.js +9 -0
  47. package/dist/shortcuts/calendar/continuation.js +70 -0
  48. package/dist/shortcuts/calendar/errors.js +53 -0
  49. package/dist/shortcuts/calendar/host.js +148 -0
  50. package/dist/shortcuts/calendar/index.js +125 -0
  51. package/dist/shortcuts/calendar/manifest.js +26 -0
  52. package/dist/shortcuts/calendar/operations/read.js +259 -0
  53. package/dist/shortcuts/calendar/operations/registry.js +31 -0
  54. package/dist/shortcuts/calendar/operations/shared.js +132 -0
  55. package/dist/shortcuts/calendar/operations/types.js +25 -0
  56. package/dist/shortcuts/calendar/operations/write.js +439 -0
  57. package/dist/shortcuts/calendar/operations.js +8 -0
  58. package/dist/shortcuts/ehr/continuation.js +70 -0
  59. package/dist/shortcuts/ehr/errors.js +53 -0
  60. package/dist/shortcuts/ehr/host.js +213 -0
  61. package/dist/shortcuts/ehr/index.js +205 -0
  62. package/dist/shortcuts/ehr/manifest.js +47 -0
  63. package/dist/shortcuts/ehr/operations/attend-read.js +373 -0
  64. package/dist/shortcuts/ehr/operations/attend-write.js +514 -0
  65. package/dist/shortcuts/ehr/operations/hr-contact.js +363 -0
  66. package/dist/shortcuts/ehr/operations/hr-ds.js +298 -0
  67. package/dist/shortcuts/ehr/operations/hr-report.js +386 -0
  68. package/dist/shortcuts/ehr/operations/recruit-write.js +1629 -0
  69. package/dist/shortcuts/ehr/operations/recruit.js +803 -0
  70. package/dist/shortcuts/ehr/operations/registry.js +43 -0
  71. package/dist/shortcuts/ehr/operations/salary.js +319 -0
  72. package/dist/shortcuts/ehr/operations/shared.js +246 -0
  73. package/dist/shortcuts/ehr/operations/types.js +25 -0
  74. package/dist/shortcuts/ehr/operations.js +25 -0
  75. package/dist/shortcuts/esb/continuation.js +70 -0
  76. package/dist/shortcuts/esb/errors.js +65 -0
  77. package/dist/shortcuts/esb/host.js +187 -0
  78. package/dist/shortcuts/esb/index.js +112 -0
  79. package/dist/shortcuts/esb/manifest.js +91 -0
  80. package/dist/shortcuts/esb/operations/input-format.js +31 -0
  81. package/dist/shortcuts/esb/operations/registry.js +48 -0
  82. package/dist/shortcuts/esb/operations/shared.js +152 -0
  83. package/dist/shortcuts/esb/operations/trigger.js +76 -0
  84. package/dist/shortcuts/esb/operations/types.js +21 -0
  85. package/dist/shortcuts/esb/operations.js +15 -0
  86. package/dist/shortcuts/fna/continuation.js +70 -0
  87. package/dist/shortcuts/fna/errors.js +59 -0
  88. package/dist/shortcuts/fna/host.js +146 -0
  89. package/dist/shortcuts/fna/index.js +111 -0
  90. package/dist/shortcuts/fna/manifest.js +41 -0
  91. package/dist/shortcuts/fna/operations/budget.js +124 -0
  92. package/dist/shortcuts/fna/operations/expense-center.js +148 -0
  93. package/dist/shortcuts/fna/operations/invoice-writeoff.js +212 -0
  94. package/dist/shortcuts/fna/operations/loan.js +195 -0
  95. package/dist/shortcuts/fna/operations/registry.js +35 -0
  96. package/dist/shortcuts/fna/operations/shared.js +210 -0
  97. package/dist/shortcuts/fna/operations/types.js +25 -0
  98. package/dist/shortcuts/fna/operations.js +19 -0
  99. package/dist/shortcuts/hrm/errors.js +38 -0
  100. package/dist/shortcuts/hrm/host.js +156 -0
  101. package/dist/shortcuts/hrm/index.js +111 -0
  102. package/dist/shortcuts/hrm/manifest.js +32 -0
  103. package/dist/shortcuts/hrm/operations/employee.js +338 -0
  104. package/dist/shortcuts/hrm/operations/org.js +110 -0
  105. package/dist/shortcuts/hrm/operations/position.js +176 -0
  106. package/dist/shortcuts/hrm/operations/registry.js +33 -0
  107. package/dist/shortcuts/hrm/operations/shared.js +143 -0
  108. package/dist/shortcuts/hrm/operations/types.js +23 -0
  109. package/dist/shortcuts/hrm/operations.js +19 -0
  110. package/dist/shortcuts/index.js +24 -0
  111. package/dist/shortcuts/invoice/host.js +99 -94
  112. package/dist/shortcuts/invoice/index.js +58 -59
  113. package/dist/shortcuts/invoice/manifest.js +200 -3
  114. package/dist/shortcuts/invoice/operations/browse-field.js +17 -0
  115. package/dist/shortcuts/invoice/operations/issuing.js +198 -0
  116. package/dist/shortcuts/invoice/operations/registry.js +17 -0
  117. package/dist/shortcuts/invoice/operations/reim.js +401 -0
  118. package/dist/shortcuts/invoice/operations/shared.js +247 -0
  119. package/dist/shortcuts/jiuchuanhui/cache.js +441 -0
  120. package/dist/shortcuts/jiuchuanhui/continuation.js +70 -0
  121. package/dist/shortcuts/jiuchuanhui/errors.js +59 -0
  122. package/dist/shortcuts/jiuchuanhui/host.js +159 -0
  123. package/dist/shortcuts/jiuchuanhui/index.js +109 -0
  124. package/dist/shortcuts/jiuchuanhui/manifest.js +469 -0
  125. package/dist/shortcuts/jiuchuanhui/operations/datajson.js +214 -0
  126. package/dist/shortcuts/jiuchuanhui/operations/esb.js +157 -0
  127. package/dist/shortcuts/jiuchuanhui/operations/generic.js +146 -0
  128. package/dist/shortcuts/jiuchuanhui/operations/registry.js +133 -0
  129. package/dist/shortcuts/jiuchuanhui/operations/shared.js +158 -0
  130. package/dist/shortcuts/jiuchuanhui/operations/types.js +1 -0
  131. package/dist/shortcuts/jiuchuanhui/operations.js +8 -0
  132. package/dist/shortcuts/mail/continuation.js +70 -0
  133. package/dist/shortcuts/mail/errors.js +53 -0
  134. package/dist/shortcuts/mail/host.js +182 -0
  135. package/dist/shortcuts/mail/index.js +519 -0
  136. package/dist/shortcuts/mail/manifest.js +38 -0
  137. package/dist/shortcuts/mail/operations/mail-blacklist.js +79 -0
  138. package/dist/shortcuts/mail/operations/mail-contacts.js +195 -0
  139. package/dist/shortcuts/mail/operations/mail-manage.js +335 -0
  140. package/dist/shortcuts/mail/operations/mail-read.js +508 -0
  141. package/dist/shortcuts/mail/operations/mail-send.js +474 -0
  142. package/dist/shortcuts/mail/operations/mail-sign.js +203 -0
  143. package/dist/shortcuts/mail/operations/mail-template.js +170 -0
  144. package/dist/shortcuts/mail/operations/registry.js +41 -0
  145. package/dist/shortcuts/mail/operations/shared.js +64 -0
  146. package/dist/shortcuts/mail/operations/types.js +27 -0
  147. package/dist/shortcuts/mail/operations.js +19 -0
  148. package/dist/shortcuts/meeting/continuation.js +70 -0
  149. package/dist/shortcuts/meeting/errors.js +63 -0
  150. package/dist/shortcuts/meeting/host.js +167 -0
  151. package/dist/shortcuts/meeting/index.js +123 -0
  152. package/dist/shortcuts/meeting/manifest.js +64 -0
  153. package/dist/shortcuts/meeting/operations/catalogs.js +58 -0
  154. package/dist/shortcuts/meeting/operations/change.js +242 -0
  155. package/dist/shortcuts/meeting/operations/conflicts.js +142 -0
  156. package/dist/shortcuts/meeting/operations/create.js +349 -0
  157. package/dist/shortcuts/meeting/operations/env.js +191 -0
  158. package/dist/shortcuts/meeting/operations/lifecycle.js +139 -0
  159. package/dist/shortcuts/meeting/operations/meetings.js +73 -0
  160. package/dist/shortcuts/meeting/operations/receipts.js +195 -0
  161. package/dist/shortcuts/meeting/operations/registry.js +47 -0
  162. package/dist/shortcuts/meeting/operations/rooms.js +132 -0
  163. package/dist/shortcuts/meeting/operations/shared.js +112 -0
  164. package/dist/shortcuts/meeting/operations/signs.js +41 -0
  165. package/dist/shortcuts/meeting/operations/types.js +25 -0
  166. package/dist/shortcuts/meeting/operations.js +19 -0
  167. package/dist/shortcuts/plan/continuation.js +70 -0
  168. package/dist/shortcuts/plan/errors.js +70 -0
  169. package/dist/shortcuts/plan/host.js +180 -0
  170. package/dist/shortcuts/plan/index.js +150 -0
  171. package/dist/shortcuts/plan/manifest.js +53 -0
  172. package/dist/shortcuts/plan/operations/link.js +256 -0
  173. package/dist/shortcuts/plan/operations/read.js +259 -0
  174. package/dist/shortcuts/plan/operations/registry.js +33 -0
  175. package/dist/shortcuts/plan/operations/shared.js +246 -0
  176. package/dist/shortcuts/plan/operations/types.js +49 -0
  177. package/dist/shortcuts/plan/operations/version.js +49 -0
  178. package/dist/shortcuts/plan/operations/write.js +710 -0
  179. package/dist/shortcuts/plan/operations.js +8 -0
  180. package/dist/shortcuts/yimiaoban/continuation.js +70 -0
  181. package/dist/shortcuts/yimiaoban/errors.js +61 -0
  182. package/dist/shortcuts/yimiaoban/host.js +469 -0
  183. package/dist/shortcuts/yimiaoban/index.js +271 -0
  184. package/dist/shortcuts/yimiaoban/manifest.js +28 -0
  185. package/dist/shortcuts/yimiaoban/operations/file-user.js +288 -0
  186. package/dist/shortcuts/yimiaoban/operations/group-read.js +477 -0
  187. package/dist/shortcuts/yimiaoban/operations/group-write.js +591 -0
  188. package/dist/shortcuts/yimiaoban/operations/msg-parse.js +429 -0
  189. package/dist/shortcuts/yimiaoban/operations/msg-sync.js +519 -0
  190. package/dist/shortcuts/yimiaoban/operations/msg-write.js +593 -0
  191. package/dist/shortcuts/yimiaoban/operations/person.js +102 -0
  192. package/dist/shortcuts/yimiaoban/operations/registry.js +38 -0
  193. package/dist/shortcuts/yimiaoban/operations/session.js +437 -0
  194. package/dist/shortcuts/yimiaoban/operations/shared.js +236 -0
  195. package/dist/shortcuts/yimiaoban/operations/types.js +27 -0
  196. package/dist/shortcuts/yimiaoban/operations/write-util.js +78 -0
  197. package/dist/shortcuts/yimiaoban/operations.js +8 -0
  198. package/docs/SKILL.md +11 -7
  199. package/docs/_catalog.md +28 -5
  200. package/docs/agent-invoice.md +19 -9
  201. package/docs/agent-skill-install.md +141 -22
  202. package/docs/calendar.md +87 -0
  203. package/docs/e10-auth.md +28 -9
  204. package/docs/ehr.md +186 -0
  205. package/docs/esb.md +64 -0
  206. package/docs/fna.md +72 -0
  207. package/docs/hrm.md +89 -0
  208. package/docs/invoice.md +61 -20
  209. package/docs/jiuchuanhui.md +131 -0
  210. package/docs/meeting.md +48 -0
  211. package/docs/operation-manual.md +443 -0
  212. package/docs/plan.md +82 -0
  213. package/docs/wenshuding.md +129 -0
  214. package/docs/yimiaoban.md +86 -0
  215. package/docs/ziguanjia.md +89 -0
  216. package/package.json +4 -4
  217. package/scripts/package-skill.mjs +127 -34
  218. package/scripts/postbuild.mjs +13 -0
  219. package/skill-template/business-info.json +16 -2
  220. package/skill-template/domains/calendar.md +15 -0
  221. package/skill-template/domains/esb.md +13 -0
  222. package/skill-template/domains/hrm.md +16 -0
  223. package/skill-template/domains/jiuchuanhui.md +23 -0
  224. package/skill-template/domains/jucailin.md +22 -0
  225. package/skill-template/domains/mail.md +21 -0
  226. package/skill-template/domains/meeting.md +3 -0
  227. package/skill-template/domains/plan.md +17 -0
  228. package/skill-template/domains/qiyecheng.md +17 -0
  229. package/skill-template/domains/shared.md +5 -3
  230. package/skill-template/domains/skill-maker.md +10 -0
  231. package/skill-template/domains/wenshuding.md +22 -0
  232. package/skill-template/domains/{invoice.md → yepiaotong.md} +4 -0
  233. package/skill-template/domains/yimiaoban.md +21 -0
  234. package/skill-template/domains/ziguanjia.md +21 -0
  235. package/skill-template/master-skill-template.md +12 -6
  236. package/skill-template/skill-template.md +26 -10
  237. package/skills/weaver-e10-calendar/SKILL.md +102 -0
  238. package/skills/weaver-e10-calendar/product.json +8 -0
  239. package/skills/weaver-e10-calendar/references/calendar-app-check.md +65 -0
  240. package/skills/weaver-e10-calendar/references/calendar-dict.md +55 -0
  241. package/skills/weaver-e10-calendar/references/calendar-query.md +70 -0
  242. package/skills/weaver-e10-calendar/references/calendar-write.md +97 -0
  243. package/skills/weaver-e10-calendar/references/source-manifest.json +54 -0
  244. package/skills/weaver-e10-esb/SKILL.md +103 -0
  245. package/skills/weaver-e10-esb/product.json +8 -0
  246. package/skills/weaver-e10-esb/references/input-format.md +52 -0
  247. package/skills/weaver-e10-esb/references/source-manifest.json +242 -0
  248. package/skills/weaver-e10-esb/references/trigger.md +99 -0
  249. package/skills/weaver-e10-hrm/SKILL.md +88 -0
  250. package/skills/weaver-e10-hrm/product.json +8 -0
  251. package/skills/weaver-e10-hrm/references/employee.md +109 -0
  252. package/skills/weaver-e10-hrm/references/org.md +95 -0
  253. package/skills/weaver-e10-hrm/references/position.md +95 -0
  254. package/skills/weaver-e10-hrm/references/source-manifest.json +121 -0
  255. package/skills/weaver-e10-jiuchuanhui/SKILL.md +175 -0
  256. package/skills/weaver-e10-jiuchuanhui/product.json +8 -0
  257. package/skills/weaver-e10-jiuchuanhui/references/cache.md +110 -0
  258. package/skills/weaver-e10-jiuchuanhui/references/clue.md +61 -0
  259. package/skills/weaver-e10-jiuchuanhui/references/contact-plan.md +56 -0
  260. package/skills/weaver-e10-jiuchuanhui/references/contact-records.md +48 -0
  261. package/skills/weaver-e10-jiuchuanhui/references/contact.md +56 -0
  262. package/skills/weaver-e10-jiuchuanhui/references/customer.md +69 -0
  263. package/skills/weaver-e10-jiuchuanhui/references/disabled-capabilities.md +24 -0
  264. package/skills/weaver-e10-jiuchuanhui/references/discovery-config.md +60 -0
  265. package/skills/weaver-e10-jiuchuanhui/references/general-helpers.md +59 -0
  266. package/skills/weaver-e10-jiuchuanhui/references/jiuchuanhui-entry.md +60 -0
  267. package/skills/weaver-e10-jiuchuanhui/references/sale.md +72 -0
  268. package/skills/weaver-e10-jiuchuanhui/references/source-manifest.json +2632 -0
  269. package/skills/weaver-e10-jucailin/SKILL.md +102 -0
  270. package/skills/weaver-e10-jucailin/product.json +8 -0
  271. package/skills/weaver-e10-jucailin/references/attend-read.md +73 -0
  272. package/skills/weaver-e10-jucailin/references/attend-write.md +82 -0
  273. package/skills/weaver-e10-jucailin/references/hr-contact.md +92 -0
  274. package/skills/weaver-e10-jucailin/references/hr-datasource.md +104 -0
  275. package/skills/weaver-e10-jucailin/references/hr-report.md +76 -0
  276. package/skills/weaver-e10-jucailin/references/recruit-read.md +76 -0
  277. package/skills/weaver-e10-jucailin/references/recruit-write.md +70 -0
  278. package/skills/weaver-e10-jucailin/references/safety-boundaries.md +35 -0
  279. package/skills/weaver-e10-jucailin/references/salary.md +110 -0
  280. package/skills/weaver-e10-jucailin/references/source-manifest.json +152 -0
  281. package/skills/weaver-e10-mail/SKILL.md +152 -0
  282. package/skills/weaver-e10-mail/product.json +8 -0
  283. package/skills/weaver-e10-mail/references/mail-agent-entry.md +47 -0
  284. package/skills/weaver-e10-mail/references/mail-attachment.md +30 -0
  285. package/skills/weaver-e10-mail/references/mail-blacklist.md +27 -0
  286. package/skills/weaver-e10-mail/references/mail-contacts.md +33 -0
  287. package/skills/weaver-e10-mail/references/mail-manage.md +44 -0
  288. package/skills/weaver-e10-mail/references/mail-read.md +76 -0
  289. package/skills/weaver-e10-mail/references/mail-send.md +43 -0
  290. package/skills/weaver-e10-mail/references/mail-sign.md +33 -0
  291. package/skills/weaver-e10-mail/references/mail-template.md +31 -0
  292. package/skills/weaver-e10-mail/references/safety-boundaries.md +32 -0
  293. package/skills/weaver-e10-meeting/SKILL.md +106 -0
  294. package/skills/weaver-e10-meeting/product.json +8 -0
  295. package/skills/weaver-e10-meeting/references/meeting-change.md +67 -0
  296. package/skills/weaver-e10-meeting/references/meeting-create.md +52 -0
  297. package/skills/weaver-e10-meeting/references/meeting-lifecycle.md +57 -0
  298. package/skills/weaver-e10-meeting/references/meeting-queries.md +61 -0
  299. package/skills/weaver-e10-meeting/references/meeting-receipts-signs.md +48 -0
  300. package/skills/weaver-e10-meeting/references/meeting-update.md +7 -0
  301. package/skills/weaver-e10-meeting/references/source-manifest.json +50 -0
  302. package/skills/weaver-e10-plan/SKILL.md +140 -0
  303. package/skills/weaver-e10-plan/product.json +8 -0
  304. package/skills/weaver-e10-plan/references/plan-collect-and-compose.md +123 -0
  305. package/skills/weaver-e10-plan/references/plan-overview-and-routing.md +138 -0
  306. package/skills/weaver-e10-plan/references/plan-report-query.md +154 -0
  307. package/skills/weaver-e10-plan/references/plan-report-remind.md +104 -0
  308. package/skills/weaver-e10-plan/references/plan-report-write.md +162 -0
  309. package/skills/weaver-e10-plan/references/source-manifest.json +858 -0
  310. package/skills/weaver-e10-qiyecheng/SKILL.md +119 -0
  311. package/skills/weaver-e10-qiyecheng/product.json +8 -0
  312. package/skills/weaver-e10-qiyecheng/references/budget.md +65 -0
  313. package/skills/weaver-e10-qiyecheng/references/catalog.md +56 -0
  314. package/skills/weaver-e10-qiyecheng/references/expense-center.md +51 -0
  315. package/skills/weaver-e10-qiyecheng/references/invoice-writeoff.md +57 -0
  316. package/skills/weaver-e10-qiyecheng/references/loan-management.md +59 -0
  317. package/skills/weaver-e10-qiyecheng/references/source-manifest.json +698 -0
  318. package/skills/weaver-e10-shared/SKILL.md +90 -0
  319. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +127 -0
  320. package/skills/{weaver-work-cli-shared → weaver-e10-shared}/references/json-output-contract.md +34 -0
  321. package/skills/weaver-e10-shared/references/weaver-e10-installation.md +110 -0
  322. package/skills/weaver-e10-skill-maker/SKILL.md +78 -0
  323. package/skills/weaver-e10-skill-maker/product.json +8 -0
  324. package/skills/weaver-e10-skill-maker/references/business-skill-generation.md +124 -0
  325. package/skills/weaver-e10-skill-maker/references/detector-validation.md +101 -0
  326. package/skills/weaver-e10-skill-maker/references/module-cli-generation.md +230 -0
  327. package/skills/weaver-e10-skill-maker/references/post-generation-install.md +105 -0
  328. package/skills/weaver-e10-skill-maker/references/source-update-detection.md +261 -0
  329. package/skills/weaver-e10-skill-maker/references/weaver-skill-style.md +141 -0
  330. package/skills/weaver-e10-wenshuding/SKILL.md +158 -0
  331. package/skills/weaver-e10-wenshuding/product.json +8 -0
  332. package/skills/weaver-e10-wenshuding/references/archive-agent-entry.md +63 -0
  333. package/skills/weaver-e10-wenshuding/references/archive-borrow-car.md +52 -0
  334. package/skills/weaver-e10-wenshuding/references/archive-borrow-list.md +52 -0
  335. package/skills/weaver-e10-wenshuding/references/archive-disabled-capabilities.md +22 -0
  336. package/skills/weaver-e10-wenshuding/references/archive-download.md +48 -0
  337. package/skills/weaver-e10-wenshuding/references/archive-flow.md +46 -0
  338. package/skills/weaver-e10-wenshuding/references/archive-fonds.md +34 -0
  339. package/skills/weaver-e10-wenshuding/references/archive-info.md +33 -0
  340. package/skills/weaver-e10-wenshuding/references/archive-search.md +52 -0
  341. package/skills/weaver-e10-wenshuding/references/archive-upload.md +41 -0
  342. package/skills/weaver-e10-wenshuding/references/source-manifest.json +517 -0
  343. package/skills/weaver-e10-yepiaotong/SKILL.md +184 -0
  344. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-add.md +1 -1
  345. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-agent-entry.md +16 -9
  346. package/skills/weaver-e10-yepiaotong/references/invoice-browse-field-data.md +204 -0
  347. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-delete.md +1 -1
  348. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-detail.md +13 -5
  349. package/skills/weaver-e10-yepiaotong/references/invoice-disabled-capabilities.md +28 -0
  350. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-download.md +9 -2
  351. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-enterprise-list.md +12 -4
  352. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-file-upload.md +9 -2
  353. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-import.md +16 -7
  354. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +120 -0
  355. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-field-rules.md +161 -0
  356. package/skills/weaver-e10-yepiaotong/references/invoice-issuing.md +99 -0
  357. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-ocr-preview.md +12 -4
  358. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-personal-list.md +12 -4
  359. package/skills/weaver-e10-yepiaotong/references/invoice-red.md +261 -0
  360. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +97 -0
  361. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-update.md +1 -1
  362. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-validation-preview.md +9 -2
  363. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +1340 -0
  364. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +845 -0
  365. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +94 -0
  366. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +449 -0
  367. package/skills/weaver-e10-yepiaotong/references/reim-matching-rules.md +266 -0
  368. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +494 -0
  369. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +1103 -0
  370. package/skills/weaver-e10-yimiaoban/SKILL.md +104 -0
  371. package/skills/weaver-e10-yimiaoban/product.json +8 -0
  372. package/skills/weaver-e10-yimiaoban/references/ding-write.md +68 -0
  373. package/skills/weaver-e10-yimiaoban/references/error-codes.md +85 -0
  374. package/skills/weaver-e10-yimiaoban/references/field-resolution.md +46 -0
  375. package/skills/weaver-e10-yimiaoban/references/file-user-i18n.md +54 -0
  376. package/skills/weaver-e10-yimiaoban/references/group-read.md +55 -0
  377. package/skills/weaver-e10-yimiaoban/references/group-write.md +72 -0
  378. package/skills/weaver-e10-yimiaoban/references/msg-read.md +59 -0
  379. package/skills/weaver-e10-yimiaoban/references/msg-write.md +64 -0
  380. package/skills/weaver-e10-yimiaoban/references/person.md +44 -0
  381. package/skills/weaver-e10-yimiaoban/references/safety-boundaries.md +61 -0
  382. package/skills/weaver-e10-yimiaoban/references/session-sysmsg.md +47 -0
  383. package/skills/weaver-e10-yimiaoban/references/source-manifest.json +485 -0
  384. package/skills/weaver-e10-ziguanjia/SKILL.md +163 -0
  385. package/skills/weaver-e10-ziguanjia/product.json +8 -0
  386. package/skills/weaver-e10-ziguanjia/references/source-manifest.json +147 -0
  387. package/skills/weaver-e10-ziguanjia/references/ziguanjia-agent-entry.md +65 -0
  388. package/skills/weaver-e10-ziguanjia/references/ziguanjia-create.md +45 -0
  389. package/skills/weaver-e10-ziguanjia/references/ziguanjia-depre.md +48 -0
  390. package/skills/weaver-e10-ziguanjia/references/ziguanjia-disabled-capabilities.md +22 -0
  391. package/skills/weaver-e10-ziguanjia/references/ziguanjia-purch.md +57 -0
  392. package/skills/weaver-e10-ziguanjia/references/ziguanjia-query.md +62 -0
  393. package/skills/weaver-e10-ziguanjia/references/ziguanjia-repair.md +83 -0
  394. package/skills/weaver-e10-ziguanjia/references/ziguanjia-resolve.md +49 -0
  395. package/skills/weaver-e10-ziguanjia/references/ziguanjia-return.md +70 -0
  396. package/skills/weaver-e10-ziguanjia/references/ziguanjia-update.md +45 -0
  397. package/skills/weaver-e10-ziguanjia/references/ziguanjia-use.md +60 -0
  398. package/skills/weaver-e10-ziguanjia/references/ziguanjia-viewlink.md +81 -0
  399. package/skills/weaver-work-cli-invoice/SKILL.md +0 -122
  400. package/skills/weaver-work-cli-invoice/references/invoice-disabled-capabilities.md +0 -26
  401. package/skills/weaver-work-cli-shared/SKILL.md +0 -63
  402. package/skills/weaver-work-cli-shared/references/e10-auth-and-session.md +0 -90
  403. package/skills/weaver-work-cli-shared/references/weaver-work-cli-installation.md +0 -73
  404. /package/skills/{weaver-work-cli-shared → weaver-e10-shared}/references/high-risk-write.md +0 -0
  405. /package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/product.json +0 -0
@@ -0,0 +1,27 @@
1
+ # 黑名单(prepare → apply 确认链)
2
+
3
+ 风险等级:`write`。新增/删除均走 prepare→apply 确认链。
4
+
5
+ ## 操作字段
6
+
7
+ | operation | 字段 |
8
+ |---|---|
9
+ | `mail.blacklist.operate.prepare` | `operateType`(`add` / `delete`)、`mailAddress`(add 时必填)、`id`(delete 时按 id)、`confirm`、`continuation` |
10
+ | `mail.blacklist.operate.apply` | 同上(apply 必带 `continuation` + `confirm:true`) |
11
+
12
+ ## 流程
13
+
14
+ ```text
15
+ weaver-work-cli --json mail run mail.blacklist.operate.prepare --input-json '{"operateType":"add","mailAddress":"spam@example.com"}'
16
+ # 返回 continuation(含操作类型与目标)
17
+ weaver-work-cli --json mail run mail.blacklist.operate.apply --input-json '{"continuation":"<PREPARE_CONTINUATION>","confirm":true}'
18
+ ```
19
+
20
+ - `add`:需 `mailAddress`(邮箱地址)。
21
+ - `delete`:需 `id`(黑名单记录 id)或对应 `mailAddress`;CLI 按源接口约定解析。
22
+
23
+ ## 要点
24
+
25
+ - prepare 输出摘要(操作类型 + 目标),apply 前 CLI 重新校验 continuation 与上下文。
26
+ - 删除为即时写,确认目标。
27
+ - 写请求已发出后遇到不确定结果,停止重试,按共享 `high-risk-write.md` 处理。
@@ -0,0 +1,33 @@
1
+ # 联系人 / 分组(prepare → apply 确认链,删除单步)
2
+
3
+ 风险等级:`write`。保存类走 prepare→apply 确认链;删除单步执行。
4
+
5
+ ## 联系人保存(prepare → apply)
6
+
7
+ | operation | 字段 |
8
+ |---|---|
9
+ | `mail.contacts.save.prepare` | `id`(编辑时填)、`mailUserName`、`mailAddress`、`mailUserTel`、`mailUserCompany`、`mailUserDesc`、`groupId`、`confirm`、`continuation` |
10
+ | `mail.contacts.save.apply` | 同上(apply 必带 `continuation` + `confirm:true`) |
11
+
12
+ prepare 调用 `getMailContactsForm` 取全量表单并输出摘要(不保存);apply 执行保存。新增不传 `id`,编辑传 `id`。
13
+
14
+ ## 联系人删除
15
+
16
+ `mail.contacts.delete` 字段:`id`。单步执行,删除前确认。
17
+
18
+ ## 分组保存(prepare → apply)
19
+
20
+ | operation | 字段 |
21
+ |---|---|
22
+ | `mail.contacts.group.save.prepare` | `id`(编辑时填)、`groupName`、`confirm`、`continuation` |
23
+ | `mail.contacts.group.save.apply` | 同上(apply 必带 `continuation` + `confirm:true`) |
24
+
25
+ ## 分组删除
26
+
27
+ `mail.contacts.group.delete` 字段:`id`。单步执行,删除前确认。
28
+
29
+ ## 要点
30
+
31
+ - 保存类必须 prepare 先取全量表单,避免覆盖用户已有字段;apply 前 CLI 重新校验 continuation 与上下文。
32
+ - 删除为单步即时写,执行前确认 id 与目标。
33
+ - 写请求已发出后遇到不确定结果,停止重试,按共享 `high-risk-write.md` 处理。
@@ -0,0 +1,44 @@
1
+ # 邮件管理类写操作(标记 / 待办 / 移动 / 删除 / 文件夹 / 撤回)
2
+
3
+ 风险等级均为 `write`(单步执行,无 prepare/apply 链,但部分会直接改数据)。
4
+
5
+ ## mail.star — 标星/取消标星
6
+
7
+ 字段:`id`、`star`("1" 标星 / "0" 取消)。
8
+
9
+ ## mail.read.status — 标记单封已读/未读
10
+
11
+ 字段:`id`、`read`("1" 已读 / "0" 未读)。
12
+
13
+ ## mail.read.all — 标记全部已读
14
+
15
+ 字段:`folder`(文件夹 id,默认全部)。
16
+
17
+ ## mail.wait.add — 创建待办/提醒
18
+
19
+ 字段:`id`(邮件 id)、`title`(待办标题,缺省从邮件主题取)、`endDate`(截止日期)、`reminderWay`、`reminderTime`、`remark`。CLI 在标题缺失时自动取邮件主题。
20
+
21
+ ## mail.move.folder — 移动邮件至文件夹
22
+
23
+ 字段:`id`、`folder`(目标文件夹 id)。
24
+
25
+ ## mail.delete.move — 逻辑删除(移至已删除,可恢复)
26
+
27
+ 字段:`id`(邮件 id 或逗号分隔多个)。**这是逻辑删除,不是物理永久删除**;物理永久删除 `mail.delete.batch` 已暂缓,见 `safety-boundaries.md`。
28
+
29
+ ## mail.folder.create / folder.delete — 文件夹管理
30
+
31
+ | operation | 字段 |
32
+ |---|---|
33
+ | `mail.folder.create` | `name`(文件夹名)、`id`(编辑时填) |
34
+ | `mail.folder.delete` | `id`(文件夹 id) |
35
+
36
+ ## mail.recall — 撤回已发送的内部邮件
37
+
38
+ 字段:`id`。仅对内部邮件有效;撤回失败按错误语义处理,不盲目重试。
39
+
40
+ ## 要点
41
+
42
+ - 以上操作均为即时写,执行前在回复中向用户确认目标 id 与动作。
43
+ - 删除走逻辑删除,可恢复;如用户要求物理永久删除,说明 `mail.delete.batch` 已暂缓,不在常规 CLI 提供。
44
+ - 写请求已发出后遇到不确定结果,停止重试,按共享 `high-risk-write.md` 处理。
@@ -0,0 +1,76 @@
1
+ # 邮件查询类 operation
2
+
3
+ 全部风险等级:`read`。只读,不修改数据。
4
+
5
+ ## mail.list — 邮件列表
6
+
7
+ ```text
8
+ weaver-work-cli --json mail run mail.list --input-json '{"folder":"0","keyword":"","unread":true,"star":false,"todo":false,"hasFile":false,"startDate":"","endDate":"","page":1,"size":10}'
9
+ ```
10
+
11
+ 字段(均为可选):
12
+
13
+ | 字段 | 说明 |
14
+ |---|---|
15
+ | `folder` | 文件夹:0 收件箱 / -1 已发送 / -2 草稿箱 / -3 垃圾箱 / -4 已删除 / -10 全部。默认按命令约定 |
16
+ | `keyword` | 主题关键字 |
17
+ | `from` | 发件人 |
18
+ | `to` | 收件人 |
19
+ | `unread` | true 仅未读 |
20
+ | `star` | true 仅星标 |
21
+ | `todo` | true 仅待办 |
22
+ | `hasFile` | true 仅带附件 |
23
+ | `startDate` / `endDate` | 时间范围 YYYY-MM-DD |
24
+ | `page` / `size` | 分页,默认小页 |
25
+
26
+ ## mail.contact.list — 往来邮件
27
+
28
+ 某联系人与我之间的往来邮件(对方发来 + 我发给对方)。字段:`name`(姓名/工号)、`page`、`size`。
29
+
30
+ ## mail.view.info — 邮件详情
31
+
32
+ 含正文与附件列表。字段:`id`(邮件 id)。若正文为空会自动回退取正文接口。
33
+
34
+ ## mail.view.content — 邮件正文
35
+
36
+ 字段:`id`。仅返回正文(clobContent)。
37
+
38
+ ## mail.unread.count — 未读统计
39
+
40
+ 五箱统计:收件箱 / 已删除 / 垃圾箱 / 待办 / 星标。无输入字段。
41
+
42
+ ## mail.config.get — 邮件配置
43
+
44
+ 返回发送开关、附件限制等配置。无输入字段。
45
+
46
+ ## 收件人解析(Agent 辅助,发送前用)
47
+
48
+ | operation | 字段 | 说明 |
49
+ |---|---|---|
50
+ | `mail.person.search` | `keyword` | 内部人员/部门搜索(返回 id 供发送解析) |
51
+ | `mail.dep.search` | `keyword` | 部门树定位(返回部门 id 与成员展开入口) |
52
+ | `mail.address.search` | `keyword` | 外部邮箱搜索 |
53
+
54
+ 注意:发送时也可直接在 `mail.send.prepare` 传 `--to`/`--to-dep`/`--to-id`/`--external` 让 CLI 解析;同名人员会要求确认唯一性。
55
+
56
+ ## mail.contacts.list / group.list / group.detail
57
+
58
+ | operation | 字段 | 说明 |
59
+ |---|---|---|
60
+ | `mail.contacts.list` | `keyword`,`page`,`size` | 联系人列表/搜索 |
61
+ | `mail.contacts.group.list` | 无 | 联系人分组列表 |
62
+ | `mail.contacts.group.detail` | `id` | 分组详情(含统计) |
63
+
64
+ ## mail.template.list / sign.list / blacklist.list / attachment.center / clearlog.list
65
+
66
+ | operation | 字段 | 说明 |
67
+ |---|---|---|
68
+ | `mail.template.list` | 无 | 模板列表 |
69
+ | `mail.sign.list` | 无 | 签名列表 |
70
+ | `mail.blacklist.list` | 无 | 黑名单列表 |
71
+ | `mail.attachment.center` | `keyword`,`page`,`size` | 附件中心列表/搜索 |
72
+ | `mail.clearlog.list` | `page`,`size` | 邮件清理日志列表 |
73
+
74
+ ## mail.sign.qrcode — 二维码名片
75
+
76
+ 风险等级:`read`。字段:`id`(签名 id,二选一)、`userName`、`jobtitle`、`email`、`signLocation`、`mobile`、`telephone`、`fax`、`selected`。给定 `id` 时从签名表单解析姓名等;否则按传入字段生成。
@@ -0,0 +1,43 @@
1
+ # 发送 / 回复 / 转发 / 存草稿(prepare → apply 确认链)
2
+
3
+ 发送类写操作分两步:先 `prepare` 组装请求 + 安全预检 + 输出摘要(**不发送**),用户确认后 `apply` 执行。
4
+
5
+ 风险等级:`write`。`mail.send.prepare` 与 `mail.send.apply` 均须走确认链。
6
+
7
+ ## 字段(prepare / apply 共用)
8
+
9
+ | 字段 | 说明 |
10
+ |---|---|
11
+ | `flag` | -1 新建 / 1 回复 / 3 转发 / 4 编辑草稿 |
12
+ | `id` | 原邮件 id(回复/转发/编辑草稿时必填) |
13
+ | `to` | 收件人(姓名/工号,逗号分隔;CLI 解析为 id) |
14
+ | `cc` / `bcc` | 抄送 / 密送 |
15
+ | `toDep` / `ccDep` / `bccDep` | 部门收件人(部门名,逗号分隔) |
16
+ | `toId` / `ccId` / `bccId` | 精确收件人/抄送/密送 id(逗号分隔,跳过解析) |
17
+ | `external` | true 表示外部邮件(用 `mail.address.search` 或原始邮箱) |
18
+ | `subject` | 主题 |
19
+ | `content` | 正文 |
20
+ | `timing` | 定时发送 YYYY-MM-DD HH:mm:ss |
21
+ | `files` / `filesizes` | 附件 fileid / 大小(逗号分隔;fileid 来自 `mail.attachment.upload`) |
22
+ | `draft` | true 存草稿(不发送) |
23
+ | `continuation` | prepare 返回的 continuation 令牌(apply 必填) |
24
+ | `confirm` | true 才执行(apply 必填) |
25
+
26
+ ## 流程
27
+
28
+ ```text
29
+ weaver-work-cli --json mail run mail.send.prepare --input-json '{"flag":"-1","to":"张三","subject":"季度汇报","content":"您好。"}'
30
+ # 返回 continuation(含摘要、收件人解析结果、是否草稿)
31
+ weaver-work-cli --json mail run mail.send.apply --input-json '{"continuation":"<PREPARE_CONTINUATION>","confirm":true}'
32
+ ```
33
+
34
+ Windows PowerShell 与 macOS/Linux 命令一致(JSON 用单引号包裹)。
35
+
36
+ ## 要点
37
+
38
+ - 回复(flag=1)/ 转发(flag=3)会自动把原邮件正文包裹进 `content`;编辑草稿(flag=4)需带 `id`。
39
+ - 收件人解析:内部人员走 `mail.person.search`/部门展开,外部走 `mail.address.search` 或原始邮箱;出现重名时 CLI 抛出候选错误并要求确认,不要臆造 id。
40
+ - `draft=true` 时 prepare 不预检发送权限,apply 走 `saveDraft`;否则 apply 走 `sendMail`。
41
+ - 附件:先用 `mail.attachment.upload` 拿到 fileid,再在 `files` 传入。
42
+ - apply 前 CLI 会重新校验 continuation、baseUrl/profile/userId 上下文一致,并(非草稿)重新预检发送权限;上下文变化会拒绝执行。
43
+ - 写请求已发出后遇到不确定结果,停止重试,按共享 `high-risk-write.md` 处理。
@@ -0,0 +1,33 @@
1
+ # 邮件签名(prepare → apply 确认链,更新/删除/默认/二维码)
2
+
3
+ 风险等级:保存类 `write`;`mail.sign.qrcode` 为 `read`。
4
+
5
+ ## 签名保存(prepare → apply)
6
+
7
+ | operation | 字段 |
8
+ |---|---|
9
+ | `mail.sign.save.prepare` | `id`(编辑时填)、`signName`、`clobContent`(签名内容,base64)、`signDesc`、`defaultUse`、`signType`(默认 "0")、`electronSignEnable`、`confirm`、`continuation` |
10
+ | `mail.sign.save.apply` | 同上(apply 必带 `continuation` + `confirm:true`) |
11
+
12
+ `clobContent` 为签名内容,CLI 内部做 base64 编码。
13
+
14
+ ## 签名编辑(GET 全量 + 保存)
15
+
16
+ `mail.sign.update` 字段:`id`、`signName`、`clobContent`、`signDesc`、`defaultUse`、`signType`、`electronSignEnable`。先 `getMailSignForm` 取全量再全量回写。
17
+
18
+ ## 签名删除 / 设为默认
19
+
20
+ | operation | 字段 |
21
+ |---|---|
22
+ | `mail.sign.delete` | `id` |
23
+ | `mail.sign.default` | `id` |
24
+
25
+ ## 二维码名片(read)
26
+
27
+ `mail.sign.qrcode` 字段:`id`(签名 id,二选一)、`userName`、`jobtitle`、`email`、`signLocation`、`mobile`、`telephone`、`fax`、`selected`。给定 `id` 时从签名表单解析姓名等;否则按传入字段生成。
28
+
29
+ ## 要点
30
+
31
+ - 保存类必须 prepare 先查全量;apply 前重新校验 continuation 与上下文。
32
+ - 编辑/删除/默认为即时写,确认目标 id。
33
+ - 写请求已发出后遇到不确定结果,停止重试,按共享 `high-risk-write.md` 处理。
@@ -0,0 +1,31 @@
1
+ # 邮件模板(prepare → apply 确认链,更新/删除/默认)
2
+
3
+ 风险等级:`write`。保存类走 prepare→apply;update 为 GET 全量 + 保存单步;delete/default 单步。
4
+
5
+ ## 模板保存(prepare → apply)
6
+
7
+ | operation | 字段 |
8
+ |---|---|
9
+ | `mail.template.save.prepare` | `id`(编辑时填)、`templateType`、`subject`、`mailSubject`、`clobContent`(正文,base64)、`templateDesc`、`defaultUse`、`contentId`、`confirm`、`continuation` |
10
+ | `mail.template.save.apply` | 同上(apply 必带 `continuation` + `confirm:true`) |
11
+
12
+ `clobContent` 为正文内容,CLI 内部做 base64 编码;`contentId` 默认 `"null"`,编辑时取原值。
13
+
14
+ ## 模板编辑(GET 全量 + 保存)
15
+
16
+ `mail.template.update` 字段:`id`、`subject`、`clobContent`、`templateDesc`、`defaultUse`、`templateType`。先 `getMailTemplateInfo` 取全量再全量回写。
17
+
18
+ ## 模板删除 / 设为默认
19
+
20
+ | operation | 字段 |
21
+ |---|---|
22
+ | `mail.template.delete` | `id` |
23
+ | `mail.template.default` | `id` |
24
+
25
+ 均为单步执行,执行前确认 id 与目标。
26
+
27
+ ## 要点
28
+
29
+ - 保存类必须 prepare 先查全量;apply 前重新校验 continuation 与上下文。
30
+ - 编辑/删除/默认为即时写,确认目标 id。
31
+ - 写请求已发出后遇到不确定结果,停止重试,按共享 `high-risk-write.md` 处理。
@@ -0,0 +1,32 @@
1
+ # 邮件 Skill 安全边界(已暂缓 / 禁用 operation)
2
+
3
+ 本文件记录 `weaver-e10-mail` 中**未纳入 CLI manifest** 的破坏性/缺口操作,以及高风险操作的安全约束。
4
+
5
+ ## 已暂缓的 operation(withheldOperations)
6
+
7
+ | operation | 状态 | 原因 |
8
+ |---|---|---|
9
+ | `mail.delete.batch` | 暂缓 | 物理永久删除(`deleteMailResourceBatch`)不可逆、无法撤销,破坏性最强。常规 CLI 不提供;如确需执行,请在确认风险后以单独授权方式处理。 |
10
+ | `mail.resend` | 暂缓 | 重发邮件(`resendMail`)依赖「邮件发送日志 id」(`mailRemindLogId`),源技能未封装日志查询接口,无法获得该 id 时如实提示,不臆造。 |
11
+
12
+ Agent **不得**调用上述 operation,也不得用 `mail.delete.move`(逻辑删除)冒充物理永久删除。
13
+
14
+ ## 高风险写操作约束
15
+
16
+ 以下写操作会修改真实邮件数据,必须遵守共享规则 `../weaver-e10-shared/references/high-risk-write.md`:
17
+
18
+ - 发送/回复/转发/存草稿:`mail.send.prepare` → 用户确认 → `mail.send.apply`(带 `continuation` + `confirm:true`)
19
+ - 联系人/分组保存:`mail.contacts.save.prepare` → 用户确认 → `mail.contacts.save.apply`
20
+ - 模板保存:`mail.template.save.prepare` → 用户确认 → `mail.template.save.apply`
21
+ - 签名保存:`mail.sign.save.prepare` → 用户确认 → `mail.sign.save.apply`
22
+ - 黑名单:`mail.blacklist.operate.prepare` → 用户确认 → `mail.blacklist.operate.apply`
23
+ - 单步写:标星、已读、全部已读、待办、移动、逻辑删除、文件夹新建/删除、撤回、联系人/分组/模板/签名删除与默认、附件上传/下载
24
+
25
+ 通用约束:
26
+
27
+ 1. 禁止输出或索取 Cookie、ETEAMSID、业务 Token、access token、app key、app secret。
28
+ 2. 禁止读取、列出、打印、复制或解析用户主目录下的旧 `.e10-cli`、auth、config 或 Keychain 数据。
29
+ 3. 禁止绕过 `weaver-work-cli` 直接 curl、fetch、浏览器自动化或访问 E10 邮件接口。
30
+ 4. 写入/删除必须使用 CLI 确认流程;prepare→apply 时把 continuation 原样传给 apply,并在 apply 前取得用户明确确认。
31
+ 5. 附件、图片上传或文件解析属敏感数据处理,即便 operation 风险等级非高风险写入,也必须先取得用户对“文件内容可能进入大模型/外部解析服务”的明确确认。
32
+ 6. 写请求已发出后遇 `partial`/`write_uncertain`/网络中断/回查失败,立即停止,按 `high-risk-write.md` 决策树处理,不盲目重试。
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: weaver-e10-meeting
3
+ display_name: 泛微会议管理
4
+ display_name_en: Weaver Meeting Management
5
+ description: "泛微 E10 会议管理(标准版):环境模式探测、会议列表、会议室与占用、会议类型、强制冲突检测、预约会议(prepare/apply 确认链)、回执与签到查询。"
6
+ description_zh: "泛微 E10 会议管理(标准版):模式探测、会议/会议室/类型查询、冲突检测、预约会议确认链、回执更新确认链与签到统计。"
7
+ description_en: "Weaver E10 meeting management (standard edition): environment detection, meeting/room/type queries, conflict checks, booking with prepare/apply confirmation chain, receipt updates and sign-in summary."
8
+ version: 1.0.0
9
+ author: 泛微网络科技股份有限公司
10
+ agent_created: true
11
+ requires:
12
+ bins: ["weaver-work-cli"]
13
+ cliHelp: "weaver-work-cli meeting --help"
14
+ ---
15
+
16
+ # 泛微 E10 会议管理 Skill(标准版)
17
+
18
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若不存在则必须先执行 `weaver-work-cli skills install shared --target-dir <当前Agent的Skills目录>`,若 CLI 未安装则先执行 `npm install -g weaver-work-cli`,安装或读取失败时必须停止执行。**
19
+
20
+ 凭证边界:所有 E10 调用凭证一律由 `weaver-work-cli` 的登录托管凭据(`auth` 命令/profile 体系)提供,禁止硬编码任何密钥,禁止向用户索取 Cookie、ETEAMSID、Token 或密码。
21
+
22
+ 本 Skill 通过 `weaver-work-cli meeting` 命令调用真实 operation,不绕过 CLI 直接拼接口。
23
+
24
+ ## 路由优先级
25
+
26
+ 1. 先判断用户意图是否属于会议域:会议、会议室、预约/建会、会议冲突、签到、回执、会议类型、占用视图。
27
+ 2. **属于本模块 → 第一步强制跑 `meeting.env.detect` 确定环境模式**(默认按 baseUrl 读缓存;用户说"重新探测/刷新模式"时传 `refresh:true`):
28
+ - `mode=standard` → 继续按「命令表」选择 operation;
29
+ - `mode=eb` → **明确告知"EB 版会议链路 CLI 未实现"并停止**,禁止拿标准接口的结果冒充 EB 环境数据;
30
+ - `env_unavailable` → 提示环境会议应用未安装或接口未配置完整,停止。
31
+ 3. 不确定字段先跑 `weaver-work-cli meeting schema`。
32
+ 4. 不属于本模块(日程、审批流程、组织查询)→ 转对应 Skill(calendar / workflow / hrm)。
33
+
34
+ ## 高优先级语义
35
+
36
+ - 「今天的会议 / 下一个会」→ `meeting.list`(`filterDate` 客户端过滤;接口 body 过滤实测不生效,不要现场试 body)。
37
+ - 「会议室占用 / 空闲 / 推荐」→ `meeting.room.list`(必须成对传 `beginDate`/`endDate`;`disabled=true` 已占用,不得推荐)。
38
+ - 「预约会议 / 建会」→ 先 `meeting.create.prepare`(内部强制冲突检测),用户确认后 `meeting.create.apply`。
39
+ - 「改期 / 换会议室 / 改参会人 / 变更会议」→ `meeting.change.prepare` → 确认后 `apply`。CLI 按会议状态**自动分流**:草稿走 `UPDATE`、正常会议走 `CHANGE`;权限由服务端判定并返回原文提示(如"您没有变更权限!"),必须原样转达用户。
40
+ - 「取消会议 / 不开了」→ `meeting.cancel.prepare` → 确认后 `apply`。
41
+ - 「删除会议记录」→ `meeting.delete.prepare` → 确认后 `apply`。
42
+ - 「提前结束会议」→ **CLI 不支持**(服务端 `overMeeting` 为空实现,调用会假成功但不生效),如实告知用户并建议在系统页面操作。
43
+ - 「回执为否 / 请假」→ `meeting.receipt.update.prepare`(自动回查回执记录 id)→ 确认后 `apply`。
44
+ - 「签到情况」→ `meeting.sign.list`(输出已签/未签统计)。
45
+
46
+ ## 命令表
47
+
48
+ | 用户意图 | CLI operation | Reference |
49
+ | --- | --- | --- |
50
+ | 探测环境模式(EB/标准) | `meeting.env.detect` | [meeting-queries.md](references/meeting-queries.md) |
51
+ | 建会前置判断(onlyFlowCreate/工作流) | `meeting.calendar.base` | [meeting-queries.md](references/meeting-queries.md) |
52
+ | 会议列表 / 今天的会议 | `meeting.list`(便捷命令 `weaver-work-cli meeting today`) | [meeting-queries.md](references/meeting-queries.md) |
53
+ | 会议详情表单结构 / 提醒 options | `meeting.detail.field` | [meeting-queries.md](references/meeting-queries.md) |
54
+ | 会议室列表与占用 | `meeting.room.list` | [meeting-queries.md](references/meeting-queries.md) |
55
+ | 会议室占用视图 | `meeting.room.usage` | [meeting-queries.md](references/meeting-queries.md) |
56
+ | 会议类型列表 | `meeting.type.list` | [meeting-queries.md](references/meeting-queries.md) |
57
+ | 会议室/人员/属性冲突检测 | `meeting.conflict.room` / `member` / `roomAttribute` | [meeting-create.md](references/meeting-create.md) |
58
+ | 预约会议 | `meeting.create.prepare` → `meeting.create.apply` | [meeting-create.md](references/meeting-create.md) |
59
+ | 会议变更(改期 / 改地点 / 改参会人) | `meeting.change.prepare` → `meeting.change.apply` | [meeting-change.md](references/meeting-change.md) |
60
+ | 取消会议 | `meeting.cancel.prepare` → `meeting.cancel.apply` | [meeting-lifecycle.md](references/meeting-lifecycle.md) |
61
+ | 删除会议记录 | `meeting.delete.prepare` → `meeting.delete.apply` | [meeting-lifecycle.md](references/meeting-lifecycle.md) |
62
+ | 回执列表 | `meeting.receipt.list` | [meeting-receipts-signs.md](references/meeting-receipts-signs.md) |
63
+ | 更新回执 | `meeting.receipt.update.prepare` → `apply` | [meeting-receipts-signs.md](references/meeting-receipts-signs.md) |
64
+ | 签到记录与统计 | `meeting.sign.list` | [meeting-receipts-signs.md](references/meeting-receipts-signs.md) |
65
+
66
+ ## 处理链:预约会议(高风险写,强制确认链)
67
+
68
+ 1. **环境模式确定(强制第一步)**:跑 `meeting.env.detect`(默认读缓存,`refresh:true` 强制刷新);`mode=eb` → 提示 EB 未实现并停止;`env_unavailable` → 提示并停止。
69
+ 2. 解析意图:名称 / 时间(`yyyy-MM-dd HH:mm`)/ 会议室 / 参会人 / 类型;缺失字段先向用户确认,**禁止字段未确认直接建会**。
70
+ 3. `meeting.room.list`(带时间范围)推荐空闲会议室、`meeting.type.list` 推荐类型,交用户点选。
71
+ 3. `meeting.create.prepare`:自动执行建会路径检查(`onlyFlowCreate=1` 或周期工作流 → 拒绝并提示走流程)与**强制冲突检测**(接口失败视为冲突;`cansub=false` 直接拒绝;`cansub=true` 有冲突描述 → warnings 提醒并建议换时间/地点,**绝不提供"强制新建"选项**)。
72
+ 4. 向用户摘要 preview(含 caller/contacter 默认当前用户、周期 `repeatDesc` 自动拼接)。
73
+ 5. 用户明确确认 → `meeting.create.apply`(`confirm: true` + continuation,**10 分钟内有效,过期重新 prepare**)。
74
+ 6. 结果回读用 `meeting.list`,会议链接由 Agent 按 `{baseUrl}/sp/meeting/meetingSingle?meetingId={id}` 内联输出。
75
+
76
+ ## 处理链:变更 / 取消 / 删除会议(高风险写,强制确认链)
77
+
78
+ 1. 先用 `meeting.list`(或用户给出的会议 id)定位目标会议,必要时把 `[名称]({baseUrl}/sp/meeting/meetingSingle?meetingId={id})` 给用户核对。
79
+ 2. `meeting.change.prepare`(变更)/ `meeting.cancel.prepare` / `meeting.delete.prepare`(入参 `id`):CLI 先**回查会议存在性**;`change` 还会按会议状态自动决定 `operateType`(草稿=UPDATE、正常=CHANGE)。**权限判定交给服务端**,CLI 不做权限预判。成功返回 `preview` + `continuation`(10 分钟有效)。
80
+ 3. 向用户摘要动作与不可逆性(变更=覆盖所提交字段、当前状态与分流类型;取消=会议进入取消状态、占用/回执/签到失效;删除=彻底移除记录),**取得明确确认**。变更只提交 preview 中列出的字段。
81
+ 4. 用户确认 → `meeting.*.apply`(`confirm: true` + continuation)。
82
+ 5. 结果回读:`meeting.list` 确认状态(取消/删除后该会议不应再出现在正常列表)。
83
+ 6. **禁止**跳过 prepare 直接 apply;**禁止**在未确认目标存在时执行写操作。
84
+
85
+ ## 执行原则
86
+
87
+ - 最小必要查询;列表结果默认摘要输出,不粘贴超长 JSON。
88
+ - 长 id(`address`/`mtId`/`hrmMembers` 等)一律字符串传递(超 2^53 数字会失真)。
89
+ - **服务端业务/权限提示必须原文转达用户**:如"您没有变更权限!""您没有取消权限!""您没有删除权限!""您没有读取权限!"——不得改写成模糊说法,也不得建议用户绕过 CLI 自行拼接口。
90
+ - 错误驱动:`error.type/subtype` 决定下一步(`session_expired` → 登录流程;`conflict_rejected` → 停止;`confirmation.required` → 补 confirm;`meeting_not_operable` → 核对会议 id 与可见性)。
91
+
92
+ ## 写操作失败决策树
93
+
94
+ - 写请求发出后网络中断 / 超时 → CLI 返回 `partial/write_uncertain`:**立即停止,禁止自动重试**,先 `meeting.list` / `meeting.receipt.list` 只读回查确认是否已生效,确未生效才可重新 prepare。
95
+ - `apply` 返回 `target_changed` / `continuation_expired` → 重新执行 prepare,向用户重新确认。
96
+ - 冲突 `conflict_rejected` → 直接停止,不提供任何绕过选项。
97
+ - `session_expired` → 先完成 E10 登录,再从失败步骤续跑,已成功的步骤不重做。
98
+
99
+ ## 不在范围
100
+
101
+ - 禁止绕过 CLI 直接 `curl`/`fetch` E10 接口;禁止读取认证目录与 Cookie。
102
+ - **历史变更**:旧 `meeting.update.*` 已下线(它固定发送 `operateType=UPDATE`,与业务语义不符),改由 `meeting.change.*` 按会议状态自动分流;迁移说明见 [meeting-update.md](references/meeting-update.md)。
103
+ - **提前结束会议(meeting.over)不提供**:服务端接口为空实现(源码中 service 调用被注释、直接返回成功),调用只会得到"假成功";请引导用户在系统页面操作,禁止绕过 CLI 自行拼接口。
104
+ - EB 版业务链路(`query_mtDetail_list`、`create_meeting`、占用/回执/签到三件套、议题、纪要、报表)未随 v1 实现,见 manifest `withheldOperations`。
105
+ - 周期会议走工作流(`repeatWorkFlowBaseIds` 非空)与 `onlyFlowCreate=1` 的流程建会需要工作流集成,CLI 会主动拒绝。
106
+ - 签到二维码、签到写操作、会议室/类型管理、会议变更/取消/结束未实现。
@@ -0,0 +1,8 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "product": "weaver-work-cli",
4
+ "productVersion": "0.1.3",
5
+ "packageName": "weaver-work-cli",
6
+ "command": "weaver-work-cli",
7
+ "nodeEngine": ">=18"
8
+ }
@@ -0,0 +1,67 @@
1
+ # 会议变更(改期 / 改地点 / 改参会人)— prepare/apply 确认链
2
+
3
+ ## 何时使用
4
+
5
+ 修改已有会议的时间、会议室/地点、参会人、类型、召集人/联系人等主表字段。
6
+
7
+ > **术语与分流**:业务上叫「变更」。CLI 会按会议当前状态**自动选择服务端操作类型**,调用方无需也不应自行指定:
8
+ > - **草稿**会议(`mtStatus="草稿"`)→ `operateType=UPDATE`(更新)
9
+ > - **正常**会议(`mtStatus="未开始"/"进行中"` 等)→ `operateType=CHANGE`(变更)
10
+ >
11
+ > 依据源码 `MeetingBaseServiceUtils.getShowButtons`:草稿给按钮 `do_edit`,正常且未结束给按钮 `do_change`。
12
+
13
+ ## 输入要点
14
+
15
+ - 必填 `id`,再给出**至少一个**要修改的字段(否则报 `no_changes`)。
16
+ - 可改字段:`name` / `beginDatetime` / `endDatetime` / `address` / `customizeAddress` / `mtType` / `hrmMembers` / `orgMembers` / `otherMembers` / `crmMembers` / `totalMember` / `caller` / `contacter`。
17
+ - 时间格式 `yyyy-MM-dd HH:mm`;长 id 用字符串;人员/部门/客户字段用逗号分隔 id 串。
18
+ - **只提交显式给出的字段**:`preview.changedFields` 列出本次将提交的字段;未列出的主表字段是否保持原值由服务端决定(源码只确认提醒/议题/服务会按 id 回填)。若担心覆盖,请把需要保持不变的主表字段一并显式传入。
19
+
20
+ ## 命令
21
+
22
+ Windows PowerShell:
23
+
24
+ ```powershell
25
+ weaver-work-cli --json meeting run meeting.change.prepare --input-json '{\"id\":\"1305624900858404950\",\"beginDatetime\":\"2026-09-18 15:00\",\"endDatetime\":\"2026-09-18 16:00\"}'
26
+ # 用户确认后(continuation 与字段都保持一致):
27
+ weaver-work-cli --json meeting run meeting.change.apply --input-json '{\"confirm\":true,\"continuation\":\"<prepare返回>\",\"id\":\"1305624900858404950\",\"beginDatetime\":\"2026-09-18 15:00\",\"endDatetime\":\"2026-09-18 16:00\"}'
28
+ ```
29
+
30
+ macOS/Linux(bash/zsh):
31
+
32
+ ```bash
33
+ weaver-work-cli --json meeting run meeting.change.prepare --input-json '{"id":"1305624900858404950","beginDatetime":"2026-09-18 15:00","endDatetime":"2026-09-18 16:00"}'
34
+ weaver-work-cli --json meeting run meeting.change.apply --input-json '{"confirm":true,"continuation":"<prepare返回>","id":"1305624900858404950","beginDatetime":"2026-09-18 15:00","endDatetime":"2026-09-18 16:00"}'
35
+ ```
36
+
37
+ ## 输出处理
38
+
39
+ - `prepare` 返回 `AWAITING_CONFIRMATION` + `preview`:
40
+ - `currentStatus`(会议当前状态原文)、`operateType`(`UPDATE`/`CHANGE`)与 `operateTypeReason`(分流原因);
41
+ - `changedFields`(本次将提交的字段)与 `body`(完整提交体);
42
+ - `continuation`(10 分钟有效)。
43
+ - 向用户摘要「会议名 + 当前状态 + 走的是更新还是变更 + 改了哪些字段」后再确认。
44
+ - `apply` 返回 `COMPLETE` + `operateType`;随后 `meeting.list` 回查新时间/地点。
45
+
46
+ ## 权限与提示(重要)
47
+
48
+ - **权限判定完全由服务端负责**(`MeetingPermissionEvent` 按会议状态 + 会议基础设置 + 召集人/监控权限判定按钮)。CLI **不做**权限预判。
49
+ - 无权限时服务端返回本地化原文提示,CLI 原样透传,**必须完整转达用户**,例如:
50
+ - `您没有变更权限!`(正常会议不允许变更)
51
+ - `您没有取消权限!` / `您没有删除权限!` / `您没有提前结束权限!`
52
+ - `您没有读取权限!`
53
+ - 不要把这类提示改写成"操作失败"之类模糊说法,也不要建议用户绕过 CLI 自行拼接口。
54
+
55
+ ## 注意
56
+
57
+ - 变更、取消、删除都是**写操作**:`apply` 的字段必须与 `prepare` 完全一致(不一致报 `target_changed`)。
58
+ - 会议状态在 prepare 与 apply 之间发生变化(如正常→草稿或已结束),CLI 会报 `target_changed` 并要求重新 prepare。
59
+ - 改期不会自动做冲突检测——需要时应先跑 `meeting.conflict.room` / `meeting.conflict.member` 核对目标时间段。
60
+ - 示例中的 id 为 `PLACEHOLDER_VALUE`。
61
+
62
+ ## 失败处理
63
+
64
+ - `meeting_not_found`:列表中定位不到该会议(id 错误或当前账号不可见)。
65
+ - `no_changes`:没有提供任何可改字段。
66
+ - `confirmation.required` / `target_changed` / `continuation_expired`:补 `confirm: true`,或重新 prepare 并再次确认。
67
+ - 写请求发出后网络中断 → `partial/write_uncertain`:**禁止自动重试**,先 `meeting.list` 回查是否已生效。
@@ -0,0 +1,52 @@
1
+ # 冲突检测与预约会议(prepare/apply 确认链)
2
+
3
+ ## 何时使用
4
+
5
+ 预约会议 / 建会;建会前的会议室 / 参会人 / 属性冲突核查。
6
+
7
+ ## 输入要点
8
+
9
+ - 必填:`name`、`beginDatetime`、`endDatetime`(`yyyy-MM-dd HH:mm`)。
10
+ - `caller`/`contacter` 缺省当前登录用户(后端 contacter 无兜底,CLI 已显式默认)。
11
+ - 会议室 `address`、类型 `mtType`、参会人 `hrmMembers`/`orgMembers`(逗号分隔 id 字符串)。
12
+ - 周期会议:`repeatType`(1=每天 2=每周 4=每月 5=每年 6=自定义)+ `finishAt`(1=次数 2=日期,**禁止 0=永不**)+ `count`/`until`;`repeatDesc` 缺省按规则自动拼接(如 `每 1 周 周一 周三 周五 重复5次 非工作日正常召开`)。
13
+
14
+ ## 命令
15
+
16
+ Windows PowerShell:
17
+
18
+ ```powershell
19
+ weaver-work-cli --json meeting run meeting.conflict.room --input-json '{"address":"1297870848451641350","beginDatetime":"2026-09-11 09:00","endDatetime":"2026-09-11 10:00"}'
20
+ weaver-work-cli --json meeting run meeting.conflict.member --input-json '{"hrmids":"100,101","beginDatetime":"2026-09-11 09:00","endDatetime":"2026-09-11 10:00"}'
21
+ weaver-work-cli --json meeting run meeting.create.prepare --input-json '{"name":"周会","beginDatetime":"2026-09-11 09:00","endDatetime":"2026-09-11 10:00","address":"1297870848451641350","hrmMembers":"100,101"}'
22
+ # 用户确认后:
23
+ weaver-work-cli --json meeting run meeting.create.apply --input-json '{"confirm":true,"continuation":"<prepare返回的continuation>","name":"周会","beginDatetime":"2026-09-11 09:00","endDatetime":"2026-09-11 10:00","address":"1297870848451641350","hrmMembers":"100,101"}'
24
+ ```
25
+
26
+ macOS/Linux(bash/zsh):
27
+
28
+ ```bash
29
+ weaver-work-cli --json meeting run meeting.conflict.room --input-json '{"address":"1297870848451641350","beginDatetime":"2026-09-11 09:00","endDatetime":"2026-09-11 10:00"}'
30
+ weaver-work-cli --json meeting run meeting.conflict.member --input-json '{"hrmids":"100,101","beginDatetime":"2026-09-11 09:00","endDatetime":"2026-09-11 10:00"}'
31
+ weaver-work-cli --json meeting run meeting.create.prepare --input-json '{"name":"周会","beginDatetime":"2026-09-11 09:00","endDatetime":"2026-09-11 10:00","address":"1297870848451641350","hrmMembers":"100,101"}'
32
+ # 用户确认后:
33
+ weaver-work-cli --json meeting run meeting.create.apply --input-json '{"confirm":true,"continuation":"<prepare返回的continuation>","name":"周会","beginDatetime":"2026-09-11 09:00","endDatetime":"2026-09-11 10:00","address":"1297870848451641350","hrmMembers":"100,101"}'
34
+ ```
35
+
36
+ ## 输出处理
37
+
38
+ - 冲突检测结果 `verdict`:`ok`(无冲突)/ `warn`(可提交但有冲突描述 → warnings 建议换时间/地点)/ `rejected`(`cansub=false`)/ `unknown`(接口未返回 cansub,人工复核)。
39
+ - `create.prepare` 返回 `AWAITING_CONFIRMATION` + `preview` + `continuation`(10 分钟有效);向用户摘要后再 apply。
40
+ - `create.apply` 成功返回 `meetingId`;用 `meeting.list` 回读确认。
41
+
42
+ ## 注意
43
+
44
+ - `prepare` 内部已强制执行冲突检测(接口失败视为冲突、`cansub=false` 直接拒绝),独立冲突 operation 用于"只查不建"场景。
45
+ - **命中任何冲突(含仅提醒)一律不得提示绕过冲突直接建会**;`cansub=false` 直接终止。
46
+ - `onlyFlowCreate=1` 或周期会议配置了工作流(`repeatWorkFlowBaseIds` 非空)时 `prepare` 主动拒绝(`conflict_rejected`),提示走流程建会。
47
+
48
+ ## 失败处理
49
+
50
+ - `conflict_rejected` / `conflict_check_failed`:停止建会,不提供绕过选项。
51
+ - `target_changed` / `continuation_expired` / `continuation_invalid`:重新 prepare 并再次向用户确认。
52
+ - 写请求发出后网络中断 → `partial/write_uncertain`:禁止自动重试,先 `meeting.list` 回查是否已建会。
@@ -0,0 +1,57 @@
1
+ # 取消 / 删除会议(prepare/apply 确认链)
2
+
3
+ ## 何时使用
4
+
5
+ 取消一场会议(不开了)、彻底删除会议记录。
6
+
7
+ > 提前结束会议(`overMeeting`)**不在支持范围**:服务端该接口为空实现(service 调用被注释、直接返回成功),调用只会得到"假成功"但不生效。请引导用户在系统页面操作。
8
+
9
+ ## 输入要点
10
+
11
+ - 两个动作都只需会议 `id`(长 id 用字符串)。
12
+ - prepare 阶段 CLI 会**回查会议存在性**(`getMeetingDetailField`);回查失败直接报 `meeting_not_operable`,不做任何写入。
13
+ - **权限判定由服务端负责**(按会议状态 + 会议基础设置 + 召集人/监控权限):无权限时服务端返回原文提示,CLI 原样透传,**必须完整转达用户**——`您没有取消权限!` / `您没有删除权限!` / `您没有提前结束权限!` / `您没有读取权限!`。不要改写成"操作失败"这类模糊说法。
14
+ - `continuation` 有效期 10 分钟,过期需重新 prepare。
15
+ - 传参方式按源码签名区分(已核对 `com.weaver.meeting.controller`):
16
+ - `cancel` → `operateMeetingByType`(`@RequestBody`,body 传 JSON);
17
+ - `delete` → `deleteMeetingDetail(Long id)`(**表单绑定,必须 query 传参**)。
18
+
19
+ ## 命令
20
+
21
+ Windows PowerShell:
22
+
23
+ ```powershell
24
+ weaver-work-cli --json meeting run meeting.cancel.prepare --input-json '{\"id\":\"1305624900858404950\"}'
25
+ # 用户确认后(continuation 原样传入):
26
+ weaver-work-cli --json meeting run meeting.cancel.apply --input-json '{\"confirm\":true,\"continuation\":\"<prepare返回>\",\"id\":\"1305624900858404950\"}'
27
+ weaver-work-cli --json meeting run meeting.delete.prepare --input-json '{\"id\":\"1305624900858404950\"}'
28
+ ```
29
+
30
+ macOS/Linux(bash/zsh):
31
+
32
+ ```bash
33
+ weaver-work-cli --json meeting run meeting.cancel.prepare --input-json '{"id":"1305624900858404950"}'
34
+ weaver-work-cli --json meeting run meeting.cancel.apply --input-json '{"confirm":true,"continuation":"<prepare返回>","id":"1305624900858404950"}'
35
+ weaver-work-cli --json meeting run meeting.delete.prepare --input-json '{"id":"1305624900858404950"}'
36
+ ```
37
+
38
+ ## 输出处理
39
+
40
+ - `prepare` 返回 `AWAITING_CONFIRMATION` + `preview`(`action`/`id`/`body`/`note`)+ `continuation`。
41
+ - `apply` 返回 `COMPLETE` + `result`(接口原始返回);随后用 `meeting.list` 回查确认。
42
+ - 两个动作的语义区别:
43
+ - `cancel`:会议进入**取消状态**,占用/回执/签到随之失效;
44
+ - `delete`:**彻底移除**会议记录(区别于取消),不可逆。
45
+
46
+ ## 注意
47
+
48
+ - 两者都是**不可逆写操作**:apply 前必须向用户明确说明动作与后果并取得确认。
49
+ - 禁止跳过 prepare 直接 apply;apply 的 `id` 必须与 prepare 一致(不一致报 `target_changed`)。
50
+ - 示例中的 id 为 `PLACEHOLDER_VALUE`,实际使用请替换为真实查询结果。
51
+
52
+ ## 失败处理
53
+
54
+ - `meeting_not_operable`:会议不存在或当前账号无权操作,停止并提示用户核对。
55
+ - `confirmation.required`:缺少 `confirm: true`,补上后重试。
56
+ - `continuation_expired` / `target_changed`:重新 prepare 并再次向用户确认。
57
+ - 写请求发出后网络中断 → `partial/write_uncertain`:**禁止自动重试**,先 `meeting.list` 回查会议状态(是否已取消/已删除),确未生效才重新 prepare。