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,70 @@
1
+ # 招聘写操作
2
+
3
+ ## 何时使用
4
+
5
+ 需要变更招聘模块数据时使用:新建人才、安排面试、发送 Offer 邮件、办理入职、提交/修改面试反馈、催促面试评价。全部走 **prepare → 用户确认 → apply** 协议,禁止跳过确认直接执行。
6
+
7
+ 写入边界(与源系统纪律一致):
8
+
9
+ - 每个写操作必须先调 `*.prepare`(只读定位/查重/解析 + 确认摘要 + continuation),把摘要给用户确认后才调 `*.apply`(需 `confirm:true` + continuation)。
10
+ - `cancel-change-entry`(取消改期入职)未实现,属禁用边界,见 `safety-boundaries.md`。
11
+ - 面试通知(安排面试的 `notify`)、Offer 邮件、催评通知属 **L3 外部通知**,会打扰真实的人,必须用户明确同意后才传 `notify:true` / 执行 apply。
12
+
13
+ ## 操作一览
14
+
15
+ | operation(prepare/apply 成对) | 用途 | 关键校验 |
16
+ | --- | --- | --- |
17
+ | `ehr.recruit.candidate.create.*` | 新建人才 | 手机号建前查重(apply 二次查重强制拦截);渠道须在数据字典中 |
18
+ | `ehr.recruit.candidate.interview.arrange.*` | 安排面试 | 候选人 READ 权限;面试方式/轮次须在枚举内;面试官姓名须解析到 userId |
19
+ | `ehr.recruit.offer.send.*` | 发送 Offer 邮件(L3) | Offer 状态必须「未发送」;邮箱必填;模板须存在于 uf_rcrt_notify_mould |
20
+ | `ehr.recruit.entry.process.*` | 办理入职(落账号不可逆) | estValidateEntry 校验;已办理(status=2)拒绝;department/positionRank 必填 |
21
+ | `ehr.recruit.candidate.interview.feedback.edit.*` | 提交/修改面试反馈 | 已失效(INVALID)面试拒绝;结果须在枚举内;全字段集保存防清空 + 乐观锁 |
22
+ | `ehr.recruit.candidate.interview.feedback.urge.*` | 催促面试评价(L3) | 定位待反馈记录;催评按钮动作流运行时解析,解析不到阻断 |
23
+
24
+ ## 协议细节
25
+
26
+ 1. `prepare` 返回 `status: AWAITING_CONFIRMATION`、`preview`(人类可读摘要)、`continuation`(10 分钟有效)与 `expiresInSeconds`。
27
+ 2. `apply` 入参 = prepare 相同业务参数 + `confirm: true` + `continuation`。**apply 会校验指纹**:业务参数与 prepare 快照不一致时报 `target_changed`,须重新 prepare。
28
+ 3. continuation 与当前 CLI 登录环境绑定(由 `weaver-work-cli auth` 托管),切换租户或账号后报 `context_mismatch`,此时须重新 prepare。登录与认证细节见共享规则 [`../../weaver-e10-shared/SKILL.md`](../../weaver-e10-shared/SKILL.md)。
29
+ 4. 多步写入(saveFormData → initTalentBatch / sendOffer / saveEstPreEntry / runEsb)中途网络中断时报 `partial/write_uncertain` 并给出已落地的记录 id——**禁止自动重试**,先按提示回查(`candidate.search` / `candidate.card`)确认实际状态。
30
+ 5. prepare 与 apply 应连续执行。`arrange` 默认时间窗取「当前时刻」,间隔跨分钟后指纹不一致会报 `target_changed`;如需指定时间请显式传 `startTime`/`endTime`(格式 `YYYY-MM-DD HH:mm`)。
31
+
32
+ ## 参数要点
33
+
34
+ - `create`:`name` + `mobile` 必填,`channel` 传中文名(如「BOSS直聘」),CLI 负责解析为字典 optionId,查不到报 `channel_not_found`。
35
+ - `arrange`:`talentId` + `interviewer`(姓名)必填;`type`(现场/视频/电话/AI面试)、`session`(初试/复试等,须在该环境枚举内);`positionId` 不填时从人才当前应聘批次继承,继承不到报错要求显式提供。
36
+ - `offer.send`:`talentId` 必填;`email`/`deadline` 缺省时从 Offer 记录继承;`template` 默认「offer通知」。
37
+ - `entry.process`:`departmentId`/`positionRankId` 必填(Offer 记录无此字段);`subcompanyId`/`positionId`/`entryTime` 缺省时从 Offer 记录继承。
38
+ - `feedback.edit`:`talentId` 必填;`feedbackId` 最稳定位,或 `feedbackIndex`(默认第 0 场含反馈的面试);`result`/`comment` 至少一项。
39
+ - `feedback.urge`:`talentId` 必填,无需其他参数。
40
+
41
+ ## 命令示例
42
+
43
+ 安排面试(prepare → 确认 → apply):
44
+
45
+ Windows PowerShell:
46
+
47
+ ```powershell
48
+ weaver-work-cli --json ehr run ehr.recruit.candidate.interview.arrange.prepare --input-json '{"talentId":"PLACEHOLDER_TALENT_ID","interviewer":"张三","type":"现场面试","session":"初试"}'
49
+ # 向用户确认 preview 后:
50
+ weaver-work-cli --json ehr run ehr.recruit.candidate.interview.arrange.apply --input-json '{"talentId":"PLACEHOLDER_TALENT_ID","interviewer":"张三","type":"现场面试","session":"初试","confirm":true,"continuation":"PREPARE 返回的 continuation"}'
51
+ ```
52
+
53
+ macOS/Linux(bash/zsh):
54
+
55
+ ```bash
56
+ weaver-work-cli --json ehr run ehr.recruit.candidate.interview.arrange.prepare --input-json '{"talentId":"PLACEHOLDER_TALENT_ID","interviewer":"张三","type":"现场面试","session":"初试"}'
57
+ # 向用户确认 preview 后:
58
+ weaver-work-cli --json ehr run ehr.recruit.candidate.interview.arrange.apply --input-json '{"talentId":"PLACEHOLDER_TALENT_ID","interviewer":"张三","type":"现场面试","session":"初试","confirm":true,"continuation":"PREPARE 返回的 continuation"}'
59
+ ```
60
+
61
+ ## 错误形状(稳定 subtype)
62
+
63
+ `duplicate_blocked`(查重命中)/ `duplicate_ambiguous`(多条重复)/ `target_changed`(指纹不一致)/ `context_mismatch`(会话变化)/ `channel_not_found` / `interviewer_not_found` / `result_not_in_enum` / `offer_status_invalid` / `entry_already_processed` / `interview_invalid_status` / `esb_action_unresolved`(按钮/动作流解析不到,禁止编造 esbActionIds)/ `partial` + `write_uncertain`(多步写入中断)。
64
+
65
+ ## 注意
66
+
67
+ - 所有 apply 前必须已获得用户对 preview 的明确确认;用户确认前不得调用 apply。
68
+ - Offer 邮件、面试通知、催评会触达真实候选人/面试官,误发无法撤回;拿不准时再问一次用户。
69
+ - `entry.process` 落人员账号后不可撤销,apply 前务必复述组织架构参数(分部/部门/职位/职级/入职日期)让用户确认。
70
+ - 写入成功后建议回查:`candidate.card` 查面试与反馈,`candidate.list type=offer` 查 Offer 状态,`candidate.list type=entry` 查 transact_status。
@@ -0,0 +1,35 @@
1
+ # 能力边界与禁止项
2
+
3
+ ## 招聘:写操作走 prepare→apply,撤销类禁用
4
+
5
+ 招聘**读操作**已可用(人才搜索、业务列表、人才详情卡片),用法见 [`recruit-read.md`](recruit-read.md)。
6
+
7
+ 招聘**写操作**已实现五个(新建人才、安排面试、发送 Offer、办理入职、面试反馈编辑/催评),全部走 prepare → 用户明确确认 → apply 协议,且 offer.send / interview.arrange(notify) / feedback.urge 属 **L3 外部通知**(触达真实候选人/面试官),用法见 [`recruit-write.md`](recruit-write.md)。
8
+
9
+ **招聘撤销类写操作(取消改期入职)仍在禁用清单**,见 `weaver-work-cli ehr schema` 的 `withheldOperations`。原因:撤销动作破坏性最强且依赖独立入口链路,未迁移实现;不编造、不绕过,也不要引导用户改用源文档里的原始接口路径。
10
+
11
+ ## 移动端考勤打卡:禁用
12
+
13
+ `attend.card.sign.mobile` 同样在 `withheldOperations` 中。
14
+
15
+ 移动端打卡依赖真实经纬度、WiFi/蓝牙、设备信息与客户端加密凭证,这些 Agent 均无法真实获取,服务端校验必然拒绝。**严禁伪造定位坐标、WiFi 信息或设备凭证重试**。
16
+
17
+ 正确的处理方式是:明确告知用户该环境需要移动端打卡,请改用 IM APP 移动端、移动端企业微信等完成打卡。若租户开启了「允许 PC 电脑端打卡」,则可改用 `ehr.attend.card.check.prepare` / `.apply`。
18
+
19
+ ## 通用禁止项
20
+
21
+ - 禁止读取、复制或解析认证目录、Cookie、ETEAMSID、业务 Token。认证诊断只能通过 `weaver-work-cli auth` 系列命令与 `weaver-work-cli doctor --e10` 完成。
22
+ - 禁止把源文档里的原始接口路径当成可直接调用的地址。所有调用必须走 `weaver-work-cli ehr run <operation> --input -`。
23
+ - 禁止把未出现在 `weaver-work-cli ehr schema` 中的能力写成可用 operation。
24
+ - 禁止在写操作中跳过确认链:不得在 `prepare` 之后未经用户明确确认就调用 `apply`,不得自动重试 `apply`。
25
+ - 遇到 `partial`、`write_uncertain`、登录失效或网络中断时,立即停止当前写流程,先做只读回查。
26
+ - 涉及附件、图片、本地文件、远程 URL 或文件内容解析时,必须先向用户说明:文件内容可能会被上传到业务系统或解析服务,并可能进入当前大模型上下文。必须等待用户**明确确认**后才继续。
27
+
28
+ ## 未实测声明
29
+
30
+ 本技能的接口契约全部来自源文档,未在真实 E10 环境实测。以下差异点需要在你的环境中复核(详见交付说明中的待验证项清单):
31
+
32
+ - 三个子系统的响应成功判定与分页结构差异。
33
+ - 各报表 `pageSize` 是否被页面配置固定为 100。
34
+ - PC 端打卡凭证算法与目标租户的打卡方式开关是否匹配。
35
+ - 各数据源的必填过滤字段是否严格为文档中标注的字段。
@@ -0,0 +1,110 @@
1
+ # 薪酬查询
2
+
3
+ ## 何时使用
4
+
5
+ 需要查询工资单、社保公积金福利、调薪记录、社保台账或员工薪资明细时使用。全部为只读操作。
6
+
7
+ ## 输入要点
8
+
9
+ | operation | 必填 | 说明 |
10
+ | --- | --- | --- |
11
+ | `ehr.salary.bill.list` | 无 | 分页查询**当前登录人**的工资单;也用于取得详情接口的 `salaryInfoId` |
12
+ | `ehr.salary.bill.get` | `salaryInfoId` | 查看某一张**已发放**工资单的完整展示数据 |
13
+ | `ehr.salary.welfare.list` | 无 | 社保、公积金及其他福利缴费汇总与动态明细 |
14
+ | `ehr.salary.adjustment.list` | 无 | 薪资项目调整记录;`startYear` 与 `endYear` 必须成对提供 |
15
+ | `ehr.salary.siaccount.query` | 至少一个范围条件 | 社保台账详情,需薪酬社保台账权限 |
16
+ | `ehr.salary.employee.list` | 无 | 员工薪资明细,需薪酬统计权限 |
17
+
18
+ `ehr.salary.bill.list` 与 `ehr.salary.employee.list` 的月份参数只接受 1 或 2 项(`[开始月, 结束月]`)。超过 2 项时服务端仅保留第 1 项,CLI 会直接拒绝,避免静默返回错误范围。
19
+
20
+ `ehr.salary.siaccount.query` 不分页且返回高度敏感数据,CLI 强制要求至少提供月份范围或人员/组织 ID 之一,否则拒绝执行。
21
+
22
+ `billStatus` 取值 `0`(未归档)/`1`(已归档);`paymentStatusList` 取值 `0` 正常缴纳、`1` 补缴、`2` 代缴、`3` 退差、`4` 补差。**这两个枚举在运行时校验**:传非法值会直接报 `enum_invalid` 而不发请求。这一点很重要——早期版本未校验时,非法值会被服务端静默忽略并返回空数组,调用方会误判为"没有数据"。
23
+
24
+ `startBillMonth` 与 `endBillMonth` 是**月份**(`YYYY-MM`),必须成对提供,否则报 `month_range_incomplete`;倒序报 `month_range_invalid`。
25
+
26
+ ## 命令
27
+
28
+ Windows PowerShell:
29
+
30
+ ```powershell
31
+ weaver-work-cli --json ehr run ehr.salary.bill.list --input-json '{"current":1,"pageSize":20}'
32
+ ```
33
+
34
+ macOS/Linux(bash/zsh):
35
+
36
+ ```bash
37
+ printf '%s\n' '{"current":1,"pageSize":20}' | weaver-work-cli --json ehr run ehr.salary.bill.list --input -
38
+ ```
39
+
40
+ 按薪资月份查询工资单:
41
+
42
+ Windows PowerShell:
43
+
44
+ ```powershell
45
+ weaver-work-cli --json ehr run ehr.salary.bill.list --input-json '{"salaryYearMonth":["2026-01","2026-03"]}'
46
+ ```
47
+
48
+ macOS/Linux(bash/zsh):
49
+
50
+ ```bash
51
+ printf '%s\n' '{"salaryYearMonth":["2026-01","2026-03"]}' | weaver-work-cli --json ehr run ehr.salary.bill.list --input -
52
+ ```
53
+
54
+ ## 输出处理
55
+
56
+ - 成功 JSON 顶层是 `ok=true` 与 `data`;分页信息在 `meta.page`。
57
+ - `bill.list` 返回的记录中 `status=0` 表示未发放。查看未发放的工资单会失败,只有已发放的才能取详情。
58
+ - 工资单含高度敏感的个人薪酬数据。回复用户时给摘要和关键字段,不要原样粘贴完整 JSON。
59
+ - `welfare.list` 与 `adjustment.list` 在无数据时返回 `data: null`(**不是**空数组,也不是缺省 `data` 键)。判断是否"无记录"要看 `data` 是否为 `null` 或空数组,不要只看键是否存在。
60
+ - `bill.get` 返回的 `employeeInformation`、`salaryGroups`、`salaryTemplate`、`formData` 都是**模板驱动的动态结构**,字段随企业配置变化,消费时按实际返回处理,不要写死字段名。稳定字段有 `tenantName`、`sendTime`、`ackStatus`、`ackAutoStatus`、`feedbackStatus`、`senderId`、`sendMsgId`、`countdown`。
61
+ - `bill.get` 是读取操作,但**会记录首次查看时间及查看环境信息,不是完全无痕查询**;只有用户明确要查看详情时才调用。
62
+ - 该接口只查"我的"工资单:`salaryInfoId` 必须来自 `bill.list` 返回的当前用户记录,**不要尝试查询他人记录**。
63
+ - 涉及附件、图片或文件内容解析时,必须先说明文件内容可能进入大模型上下文,获得用户**明确确认**后才继续。
64
+
65
+ ## 注意
66
+
67
+ - `ehr.salary.bill.get` 会记录首次查看时间,**不是完全无痕查询**。执行前先向用户说明这一点。
68
+ - `ehr.salary.employee.list` 的 `idNo` 是身份证号,属于敏感字段,非必要不要传入,也不要把返回值中的身份证号回显给用户。
69
+ - `ehr.salary.siaccount.query` 与 `ehr.salary.employee.list` 需要管理权限,当前登录人没有权限时会返回业务失败,不要反复重试。
70
+ - 涉及附件、图片或文件内容解析时,必须先说明文件内容可能进入大模型上下文,获得用户**明确确认**后才继续。
71
+
72
+ ## 二次身份验证 token(重要,2026-09-04 补齐)
73
+
74
+ 工资单相关的 **4 个接口**都要求携带 `token`,它用于二次身份验证,**与登录凭证无关**,也不由认证链路提供:
75
+
76
+ | operation | token 位置 |
77
+ |---|---|
78
+ | `ehr.salary.bill.list` | body |
79
+ | `ehr.salary.bill.get` | query |
80
+ | `ehr.salary.welfare.list` | query |
81
+ | `ehr.salary.adjustment.list` | query |
82
+
83
+ 规则:
84
+
85
+ - 用户**主动提供**了二次验证 token 时使用原值;
86
+ - 用户**未提供时** CLI 自动补固定协议值 **`DONT_NEED`**;
87
+ - **不得传空值,也不得自行构造其他值**;
88
+ - 不要尝试从登录态或认证链路获取该值。
89
+
90
+ `ehr.salary.siaccount.query` 与 `ehr.salary.employee.list` **不需要** token。
91
+
92
+ 相关错误码:
93
+
94
+ | 错误码 | 含义 | 处理 |
95
+ |---|---|---|
96
+ | `checkSecondFailNoToken` | `token` 缺失或为空 | CLI 已自动补 `DONT_NEED`,出现此错误说明该环境不接受缺省值 |
97
+ | `checkSecondFail` | 二次验证失败,或传入值不被当前环境接受 | 用户已提供 token 时请其确认有效性;用 `DONT_NEED` 仍失败则如实返回,**没有 Skill 能自动获取真实 token** |
98
+ | `checkSecondError` | 二次验证服务异常 | 停止并说明异常,**不得绕过验证读取数据** |
99
+
100
+ > 关键陷阱(2026-09-04 修复):这些失败码到达时 HTTP 仍是 **200 且 `status` 仍为 `true`**,仅 `msg` 变为失败码、`data` 缺失。CLI 已在业务成功判定**之前**按 `msg` 精确识别并抛出明确 API 错误(`second_auth_token_missing` / `second_auth_failed` / `second_auth_error`),**不再**把这些失败静默吞成 `data: null`。代理看到上述子类型错误即代表二次验证失败,应如实反馈给用户,不要误读为"查询成功但没有数据"。
101
+
102
+ 安全要求:用户提供的真实 token 属敏感信息,**不得记录、回显或长期缓存**。
103
+
104
+ ## 失败处理
105
+
106
+ - `month_range_invalid`:月份格式不是 `YYYY-MM`,或数量超过 2 项,或开始月晚于结束月。
107
+ - `year_range_incomplete`:`startYear` 与 `endYear` 只提供了一个。
108
+ - `siaccount_scope_required`:社保台账查询未提供任何范围条件,必须补月份范围或人员/组织 ID。
109
+ - `salary_info_id_required` / `salary_info_id_invalid`:`salaryInfoId` 缺失或不是数字 ID。
110
+ - 认证类错误:引导用户执行 `weaver-work-cli auth login`,不要读取或解析认证目录。
@@ -0,0 +1,152 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "skill": "weaver-e10-jucailin",
4
+ "generatedFrom": {
5
+ "sourceSkill": "weaver-e10-jucailin",
6
+ "version": "1.0.19",
7
+ "path": "business-apis/ehr",
8
+ "kind": "workbuddy-document-skill"
9
+ },
10
+ "generatedAt": "2026-09-11",
11
+ "scope": {
12
+ "included": [
13
+ "hr",
14
+ "salary",
15
+ "attend",
16
+ "recruit"
17
+ ]
18
+ },
19
+ "sourceFiles": [
20
+ "references/attend-abnormal-get-list.md",
21
+ "references/attend-appeal-get-calendar-detail.md",
22
+ "references/attend-appeal-get-formid.md",
23
+ "references/attend-appeal-get-list.md",
24
+ "references/attend-appeal-save.md",
25
+ "references/attend-appeal-update-result.md",
26
+ "references/attend-card-check-pc.md",
27
+ "references/attend-card-sign-mobile.md",
28
+ "references/attend-catalog.md",
29
+ "references/attend-leavestatis-get-report.md",
30
+ "references/attend-module.md",
31
+ "references/attend-orbit-query-list.md",
32
+ "references/attend-report-get-summary.md",
33
+ "references/attend-report-recalc-status.md",
34
+ "references/attend-signrecord-get-list.md",
35
+ "references/attend-summary-get-statistics.md",
36
+ "references/attend-worktime-get-list.md",
37
+ "references/hr-all-catalog.md",
38
+ "references/hr-all-module.md",
39
+ "references/hr-birthday-search-conditions.md",
40
+ "references/hr-birthday-search-table.md",
41
+ "references/hr-browser-complete.md",
42
+ "references/hr-contact-col-list.md",
43
+ "references/hr-contact-search-conditions.md",
44
+ "references/hr-contact-search-count.md",
45
+ "references/hr-contact-search-table.md",
46
+ "references/hr-empchange-browser-complete.md",
47
+ "references/hr-empchange-search-conditions.md",
48
+ "references/hr-empchange-search-table.md",
49
+ "references/hr-employee-timepoint-ds-fields.md",
50
+ "references/hr-employee-timepoint-tp-getcountdata.md",
51
+ "references/hr-employee-timepoint-tp-getlistdata.md",
52
+ "references/hr-est-queries-ds-fields.md",
53
+ "references/hr-est-queries-ds-getcountdata.md",
54
+ "references/hr-est-queries-ds-getlistdata.md",
55
+ "references/hr-est-queries-est-dc-emp-table.md",
56
+ "references/hr-est-queries-est-emp-table.md",
57
+ "references/hr-report-basic-ds-fields.md",
58
+ "references/hr-report-basic-ds-getchartdata.md",
59
+ "references/hr-report-basic-permissiontype.md",
60
+ "references/hr-report-change-depttable.md",
61
+ "references/hr-report-change-ds-fields.md",
62
+ "references/hr-report-change-ds-getlistdata.md",
63
+ "references/hr-report-change-permissiontype.md",
64
+ "references/hr-report-dept-panel-depttable.md",
65
+ "references/hr-report-dept-panel-ds-fields.md",
66
+ "references/hr-report-dept-panel-ds-getlistdata.md",
67
+ "references/hr-report-dept-panel-permissiontype.md",
68
+ "references/hr-report-dismiss-ds-fields.md",
69
+ "references/hr-report-dismiss-ds-getcountdata.md",
70
+ "references/hr-report-dismiss-ds-getlistdata.md",
71
+ "references/hr-report-hw-ds-fields.md",
72
+ "references/hr-report-hw-hw-getcountdata.md",
73
+ "references/hr-report-hw-hw-getlistdata.md",
74
+ "references/hr-report-job-panel-ds-fields.md",
75
+ "references/hr-report-job-panel-ds-getlistdata.md",
76
+ "references/hr-report-job-panel-jobtable.md",
77
+ "references/hr-report-job-panel-jobtypetable.md",
78
+ "references/hr-report-job-panel-permissiontype.md",
79
+ "references/hr-report-posi-panel-ds-fields.md",
80
+ "references/hr-report-posi-panel-ds-getlistdata.md",
81
+ "references/hr-report-posi-panel-permissiontype.md",
82
+ "references/hr-report-posi-panel-positable.md",
83
+ "references/hr-report-turn-ds-fields.md",
84
+ "references/hr-report-turn-ds-getcountdata.md",
85
+ "references/hr-report-turn-ds-getlistdata.md",
86
+ "references/hr-report-turn-tp-emptable.md",
87
+ "references/hr-report-v2-dept-emp-move-ds-fields.md",
88
+ "references/hr-report-v2-dept-emp-move-ds-getcountdata.md",
89
+ "references/hr-report-v2-dept-emp-move-ds-getlistdata.md",
90
+ "references/hr-report-v2-dept-emp-move-tp-emptable.md",
91
+ "references/hr-report-v2-dept-emp-props-sa.md",
92
+ "references/hr-report-v2-dept-emp-props-table.md",
93
+ "references/hrmsalary-catalog.md",
94
+ "references/hrmsalary-module.md",
95
+ "references/recruit-arrange-interview.md",
96
+ "references/recruit-capability-check.md",
97
+ "references/recruit-catalog.md",
98
+ "references/recruit-check-install.md",
99
+ "references/recruit-data-dictionary.md",
100
+ "references/recruit-detail-action-buttons.md",
101
+ "references/recruit-detail-base-info.md",
102
+ "references/recruit-detail-batch-prepare.md",
103
+ "references/recruit-detail-history-batch.md",
104
+ "references/recruit-detail-interview.md",
105
+ "references/recruit-detail-other-info.md",
106
+ "references/recruit-detail-permission-check.md",
107
+ "references/recruit-detail-process.md",
108
+ "references/recruit-detail-remark.md",
109
+ "references/recruit-edit-interview-feedback.md",
110
+ "references/recruit-entry-cancel.md",
111
+ "references/recruit-entry-list.md",
112
+ "references/recruit-entry-onboard.md",
113
+ "references/recruit-form-tag-map.md",
114
+ "references/recruit-list-demand.md",
115
+ "references/recruit-list-offer.md",
116
+ "references/recruit-list-position.md",
117
+ "references/recruit-module.md",
118
+ "references/recruit-new-candidate.md",
119
+ "references/recruit-resolve-creator.md",
120
+ "references/recruit-resolve-employee.md",
121
+ "references/recruit-resolve-metadata.md",
122
+ "references/recruit-resume-parse.md",
123
+ "references/recruit-search-candidate.md",
124
+ "references/recruit-send-offer.md",
125
+ "references/recruit-stats.md",
126
+ "references/recruit-urge-feedback.md",
127
+ "references/salary-bill-detail-my-salary-bill.md",
128
+ "references/salary-bill-list-my-salary-bills.md",
129
+ "references/salary-report-adjustment-record-list.md",
130
+ "references/salary-report-employee-salary-list.md",
131
+ "references/salary-report-welfare-list.md",
132
+ "references/salary-siaccount-detail-query.md",
133
+ "scripts/_init_env_cache.mjs",
134
+ "scripts/e10-request.mjs",
135
+ "scripts/recruit-arrange-interview.mjs",
136
+ "scripts/recruit-cancel-change-entry.mjs",
137
+ "scripts/recruit-detail.mjs",
138
+ "scripts/recruit-edit-interview-feedback.mjs",
139
+ "scripts/recruit-list.mjs",
140
+ "scripts/recruit-new-candidate.mjs",
141
+ "scripts/recruit-process-entry.mjs",
142
+ "scripts/recruit-search.mjs",
143
+ "scripts/recruit-send-offer.mjs",
144
+ "scripts/recruit-stats.mjs",
145
+ "scripts/recruit-urge-feedback.mjs",
146
+ "scripts/write-op.mjs",
147
+ "SKILL.md"
148
+ ],
149
+ "fingerprintAlgorithm": "sha256",
150
+ "fingerprints": {},
151
+ "note": "fingerprints 在首次生成时留空;源资料更新检测会按文件路径计算 sha256 并与此处比对。源资料更新后,同步更新 CLI 与 Skill,且在用户确认前不要覆盖已有产物。sourceFiles 仅登记随技能交付的源资料(SKILL.md + references/*.md + scripts/*.mjs);源码根下的治理与构建文件(GOVERNANCE.md、build_release.*、audit_spec_compliance.py 等)不参与交付,故不纳入基线。四个业务模块(hr/salary/attend/recruit)均已在 CLI 侧实现。"
152
+ }
@@ -0,0 +1,152 @@
1
+ ---
2
+ name: weaver-e10-mail
3
+ display_name: 泛微E10邮件
4
+ display_name_en: Weaver E10 Mail
5
+ description: "泛微 E10 邮件管理:查询邮件、往来邮件、收件人解析、发送/回复/转发/存草稿、标星/已读/待办/移动/逻辑删除、文件夹、联系人/分组、模板、签名、黑名单与附件上传下载。"
6
+ description_zh: "泛微 E10 邮件管理。支持邮件列表/详情/正文/未读统计/配置查询,内部人员/部门/外部邮箱收件人解析,发送/回复/转发/存草稿(prepare→apply 确认链),标星、已读、全部已读、待办、移动、逻辑删除、文件夹管理、撤回,联系人及分组、模板、签名(含二维码名片)、黑名单的增删改,以及附件上传(预检→上传→绑定)与批量下载。"
7
+ description_en: "Weaver E10 Mail management: list/detail/content/unread-count/config queries, recipient resolution (internal/department/external), send/reply/forward/draft via prepare→apply confirmation chain, star/read-status/read-all/wait/move/logical-delete/folder/recall, contacts and groups, templates, signatures (with QR card), blacklist, and attachment upload/download."
8
+ version: 1.0.0
9
+ author: 泛微网络科技股份有限公司
10
+ agent_created: true
11
+ requires:
12
+ bins: ["weaver-work-cli"]
13
+ cliHelp: "weaver-work-cli mail --help"
14
+ ---
15
+
16
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若不存在则必须先执行 `weaver-work-cli skills install shared --skills-dir <当前Agent的Skills目录>`,若 CLI 未安装则先执行 `npm install -g weaver-work-cli`,安装或读取失败时必须停止执行。**
17
+
18
+ 认证和登录态只能按共享规则通过 `weaver-work-cli auth ...` 命令判断;禁止直接读取、列出、打印或解析用户主目录下的旧 `.e10-cli`、auth、config 或 Keychain 数据。
19
+ 所有命令通过 `weaver-work-cli --json mail run <operation>` 执行:简单 JSON 优先传 `--input-json '<json>'`,复杂或多行 JSON 先写入 UTF-8 文件再传 `--input <path>`,只有确认当前 shell 能稳定传管道时才使用 `--input -`。调用前先按需读取 references 下对应的文件,查参数结构,不要猜字段;**references 是第一信息源**,`weaver-work-cli mail schema` 是 operation、字段和风险等级的合约来源。
20
+ 命令示例、提示词和临时说明必须同时兼容 Windows 和 macOS/Linux;涉及 JSON 输入、用户目录、路径分隔符、Python 启动器、文件删除、目录查看或文件比对时,同时给 Windows PowerShell 与 macOS/Linux(bash/zsh)两套示例。Agent 先根据当前系统和 shell 选择对应示例,不确定时用 `node -p "process.platform"` 判断。Windows/PowerShell 下不要使用 `printf`、`$HOME/...`、`~/...`、bash 反斜杠续行、`rm/ls/diff/python3` 等 Unix-only 写法。
21
+ 涉及邮件附件、图片、本地文件、远程 URL 文件或邮件正文解析的操作,执行前必须提醒用户:文件内容可能被上传到 E10 邮件系统,并可能进入当前大模型上下文用于理解和处理;必须等待用户明确确认后才继续。
22
+
23
+ ## 路由优先级(先判断是不是 E10 邮件,再选 operation)
24
+
25
+ 只要用户的核心对象是泛微 E10 邮件(收件箱/发件箱/草稿/已删除/垃圾箱/待办邮件、邮件正文、附件、签名、模板、联系人、黑名单、往来邮件),就优先使用 `weaver-e10-mail`。
26
+
27
+ ### 明确归 `weaver-e10-mail` 的高优先级语义
28
+
29
+ 出现以下任一语义时,优先走本 Skill:
30
+
31
+ - 邮件 / 收件箱 / 发件箱 / 草稿箱 / 已删除 / 垃圾箱 / 待办邮件
32
+ - 查看邮件、看正文、看附件、未读统计、邮件配置
33
+ - 发邮件 / 回复 / 转发 / 存草稿 / 定时发送
34
+ - 标星、标记已读/未读、全部已读、待办提醒、移动邮件、删除邮件、撤回邮件
35
+ - 文件夹新建/删除
36
+ - 联系人、联系人分组、邮件模板、签名、二维码名片、黑名单
37
+ - 附件上传、附件下载、附件中心
38
+
39
+ **判定规则:** 只要最终动作是对 E10 邮件做查询、查看、发送、解析收件人、标记、移动、删除、文件夹、联系人、模板、签名、黑名单或附件处理,就归 `weaver-e10-mail`。只有当用户处理的是非邮件类 E10 业务(如招聘、薪酬、业票通)或尚未封装的邮件能力时,才不使用本 Skill。
40
+
41
+ ## 选哪个命令
42
+ | 想做什么 | 命令 | 按需读取 reference |
43
+ |---|---|---|
44
+ | 查看可用 operation、字段和风险等级 | `mail schema` | [`mail-agent-entry.md`](references/mail-agent-entry.md) |
45
+ | 查询邮件列表 | `mail run mail.list` | [`mail-read.md`](references/mail-read.md) |
46
+ | 往来邮件 | `mail run mail.contact.list` | [`mail-read.md`](references/mail-read.md) |
47
+ | 查看邮件详情/正文 | `mail run mail.view.info` / `mail.run mail.view.content` | [`mail-read.md`](references/mail-read.md) |
48
+ | 未读统计 / 邮件配置 | `mail run mail.unread.count` / `mail.run mail.config.get` | [`mail-read.md`](references/mail-read.md) |
49
+ | 收件人解析(内部/部门/外部) | `mail run mail.person.search` / `mail.run mail.dep.search` / `mail.run mail.address.search` | [`mail-read.md`](references/mail-read.md) |
50
+ | 发送/回复/转发/存草稿 | `mail run mail.send.prepare/apply` | [`mail-send.md`](references/mail-send.md) |
51
+ | 标星 / 已读 / 全部已读 / 待办 / 移动 / 逻辑删除 / 文件夹 / 撤回 | `mail run mail.star` / `mail.run mail.read.status` / `mail.run mail.read.all` / `mail.run mail.wait.add` / `mail.run mail.move.folder` / `mail.run mail.delete.move` / `mail.run mail.folder.create` / `mail.run mail.folder.delete` / `mail.run mail.recall` | [`mail-manage.md`](references/mail-manage.md) |
52
+ | 联系人 / 分组 | `mail run mail.contacts.*` | [`mail-contacts.md`](references/mail-contacts.md) |
53
+ | 模板 | `mail run mail.template.*` | [`mail-template.md`](references/mail-template.md) |
54
+ | 签名 / 二维码名片 | `mail run mail.sign.*` | [`mail-sign.md`](references/mail-sign.md) |
55
+ | 黑名单 | `mail run mail.blacklist.*` | [`mail-blacklist.md`](references/mail-blacklist.md) |
56
+ | 附件上传 / 下载 / 附件中心 | `mail run mail.attachment.upload` / `mail.run mail.attachment.download` / `mail.run mail.attachment.center` | [`mail-attachment.md`](references/mail-attachment.md) |
57
+ | 破坏性/缺口操作(已暂缓) | 无可用命令 | [`safety-boundaries.md`](references/safety-boundaries.md) |
58
+
59
+ 处理链:
60
+
61
+ - 查邮件:`mail.list`(folder/keyword/unread/star/todo/hasFile/date 过滤)-> 必要时 `mail.view.info`(含附件列表)或 `mail.view.content`(正文)
62
+ - 收件人解析:先用 `mail.person.search` / `mail.dep.search` / `mail.address.search` 拿到 id/邮箱;发送时可直接在 `mail.send.prepare` 传 `--to`/`--to-dep`/`--to-id`/`--external` 让 CLI 解析,重复姓名会要求确认
63
+ - 发送:`mail.send.prepare`(flag: -1 新建 / 1 回复 / 3 转发 / 4 编辑草稿)-> 展示摘要 -> 用户确认 -> `mail.send.apply`(传 continuation + confirm)-> 按返回回执报告
64
+ - 标记/移动/删除:`mail.star` / `mail.read.status` / `mail.read.all` / `mail.move.folder` / `mail.delete.move` / `mail.wait.add` / `mail.recall` / `mail.folder.create` / `mail.folder.delete`
65
+ - 联系人:先 `mail.contacts.list`/`mail.contacts.group.list` 定位 -> `mail.contacts.save.prepare`(查全量表单 + 输出摘要)-> 用户确认 -> `mail.contacts.save.apply`;删除用 `mail.contacts.delete`
66
+ - 模板:`mail.template.list` -> 新增 `mail.template.save.prepare/apply`;编辑 `mail.template.update`(GET 全量 + 保存);删除 `mail.template.delete`;默认 `mail.template.default`
67
+ - 签名:`mail.sign.list` -> 新增 `mail.sign.save.prepare/apply`;编辑 `mail.sign.update`;删除 `mail.sign.delete`;默认 `mail.sign.default`;二维码名片 `mail.sign.qrcode`
68
+ - 黑名单:`mail.blacklist.operate.prepare`(operateType: add/delete)-> 用户确认 -> `mail.blacklist.operate.apply`
69
+ - 附件:上传 `mail.attachment.upload`(预检→上传→绑定,返回 fileid);下载 `mail.attachment.download`(ids + output 目录);附件中心 `mail.attachment.center`
70
+
71
+ ## 执行原则(减少误路由、误重试和无效消耗)
72
+
73
+ ### 1) 先拿最小必要信息,再执行
74
+
75
+ - 只是查邮件列表时,优先直接用 `mail.list`
76
+ - 列表默认先取小页,优先 `page=1`、`size=10`;用户没有要求全量时不要自动翻完整文件夹
77
+ - 用户已经给出邮件 id 时,不要先查列表再过滤,直接用 `mail.view.info` / `mail.view.content` / 对应写操作
78
+ - 只有需要正文、附件列表或完整字段时,才补 `mail.view.info` / `mail.view.content`
79
+
80
+ ### 1.5) 大结果只摘要给用户
81
+
82
+ - 当前 CLI 会把完整 JSON envelope 写 stdout;Agent 回复时不要原样贴完整 JSON
83
+ - 列表最多先展示最相关的前 10 条,包含 id、主题、收发件人、日期、已读/星标/附件状态
84
+ - 需要全量统计时,按 `page`/`size` 分页读取并累计必要字段;说明已读取页数、命中数和是否还有更多
85
+ - 详情、附件或调试用完整响应过长时,优先落本地文件并向用户提供摘要和文件路径
86
+
87
+ ### 2) 已知对象时直达动作
88
+
89
+ - 已拿到邮件 id、联系人 id、模板 id、签名 id、附件 id 或本地文件路径时,优先调用对应 operation
90
+ - 同一轮里如果已有足够的新鲜查询结果,不要重复查询同一列表或同一详情
91
+ - 不要默认走 `list -> filter -> view -> prepare -> apply` 全链路;对象已明确时应压缩步骤
92
+
93
+ ### 3) 错误语义驱动,而不是盲目重试
94
+
95
+ - 失败后先看进程退出码、`error.type`、`error.subtype` 和 `error.message`
96
+ - **除非错误明确提示可恢复或需要补充参数,否则不要重复刷同一个 operation**
97
+ - 写请求已经发出后,遇到结果不确定必须停止;不要把 `.apply` 当成可重试读操作
98
+ - **错误为 `authentication`(未登录,如 `E10 auth not found`)或 `session_expired`(登录态失效)时:立即停止当前操作,不要用示例占位域名或自行猜域名登录,也不要盲目重试**。先读取共享规则 `../weaver-e10-shared/references/e10-auth-and-session.md`,按其中流程用宿主提问/弹框让用户输入 E10 登录域名或选择已有 profile,完成登录后再继续原操作。
99
+
100
+ ### 4) 附件、图片和文件解析确认
101
+
102
+ - 执行 `mail.attachment.upload`、`mail.attachment.download`,或任何会读取本地文件、上传远程 URL 文件、解析图片/PDF 的步骤前,必须先提醒用户文件内容可能进入大模型上下文,也可能发送到 E10 邮件系统。
103
+ - 用户未明确确认前,不要运行上传、解析或下载命令。
104
+ - 下载附件会落本地 `output` 目录,执行前确认目录与文件名,避免覆盖。
105
+
106
+ ## 写操作失败处理:`partial/write_uncertain` 决策树
107
+
108
+ 当发送、联系人/分组/模板/签名保存、黑名单操作等写操作返回 `partial/write_uncertain`,或提示网络中断、部分成功、回查失败、回查字段不一致时,按下面规则处理:
109
+
110
+ 1. **先停止盲目重试**,不要连续重复提交相同 `.apply`
111
+ 2. 优先从以下角度解释:
112
+ - 写请求可能已经到达服务端,但连接在结果确认前中断
113
+ - 服务端可能只处理了部分数据
114
+ - 写接口已返回成功,但详情回查失败或与预期不一致
115
+ - continuation、目标对象或登录上下文可能已经变化
116
+ 3. 如需确认,只补 **一次** 只读查询(例如 `mail.view.info`、列表查询或 `mail.list`),不要陷入 query/write 循环
117
+ 4. 最终给用户明确结论、已知状态和下一步人工确认建议,而不是继续无意义重试
118
+
119
+ **特别注意:** 对发送(尤其是回复/转发带原文的)、联系人删除、模板/签名覆盖和黑名单删除场景更要严格执行上述规则;这些场景最容易因重复提交造成重复发送、误删或覆盖用户刚修改的数据。
120
+
121
+ Windows PowerShell:
122
+
123
+ ```powershell
124
+ weaver-work-cli mail schema
125
+ weaver-work-cli --json mail run mail.list --input-json '{"folder":"0","page":1,"size":10}'
126
+ weaver-work-cli --json mail run mail.view.info --input-json '{"id":"12345"}'
127
+ weaver-work-cli --json mail run mail.send.prepare --input-json '{"flag":"-1","to":"张三","subject":"季度汇报","content":"您好,附件为季度汇报。"}'
128
+ weaver-work-cli --json mail run mail.send.apply --input-json '{"continuation":"PREPARE_CONTINUATION","confirm":true}'
129
+ weaver-work-cli --json mail run mail.star --input-json '{"id":"12345","star":"1"}'
130
+ weaver-work-cli --json mail run mail.attachment.upload --input-json '{"file":"./quarterly.pdf","name":"quarterly.pdf"}'
131
+ ```
132
+
133
+ macOS/Linux(bash/zsh):
134
+
135
+ ```bash
136
+ weaver-work-cli mail schema
137
+ weaver-work-cli --json mail run mail.list --input-json '{"folder":"0","page":1,"size":10}'
138
+ weaver-work-cli --json mail run mail.view.info --input-json '{"id":"12345"}'
139
+ weaver-work-cli --json mail run mail.send.prepare --input-json '{"flag":"-1","to":"张三","subject":"季度汇报","content":"您好,附件为季度汇报。"}'
140
+ weaver-work-cli --json mail run mail.send.apply --input-json '{"continuation":"PREPARE_CONTINUATION","confirm":true}'
141
+ weaver-work-cli --json mail run mail.star --input-json '{"id":"12345","star":"1"}'
142
+ weaver-work-cli --json mail run mail.attachment.upload --input-json '{"file":"./quarterly.pdf","name":"quarterly.pdf"}'
143
+ ```
144
+
145
+ ## 不在本 skill 范围
146
+
147
+ - 禁止加载原始 `weaver-e10-mail` Skill 代替 CLI。
148
+ - 禁止 curl、fetch、浏览器自动化或直接访问 E10 `/api/inc/*` 或邮件接口。
149
+ - 禁止读取或复制 CLI runtime 内部 Token、Cookie、ETEAMSID。
150
+ - 禁止读取、列出、打印或解析用户主目录下的旧 `.e10-cli`、auth、config 或 Keychain 数据。
151
+ - 永久删除(`mail.delete.batch`)与重发(`mail.resend`)当前未纳入 CLI manifest,已暂缓实现;如确需执行,请在确认风险后以单独授权方式处理,详见 [`safety-boundaries.md`](references/safety-boundaries.md)。
152
+ - 非邮件类 E10 能力(招聘、薪酬、业票通、通用流程编排)不由本 Skill 承载。
@@ -0,0 +1,8 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "product": "weaver-work-cli",
4
+ "productVersion": "0.1.4",
5
+ "packageName": "weaver-work-cli",
6
+ "command": "weaver-work-cli",
7
+ "nodeEngine": ">=18"
8
+ }
@@ -0,0 +1,47 @@
1
+ # Agent 入口与 Schema
2
+
3
+ ## 什么时候读取
4
+
5
+ 使用 `weaver-work-cli mail` 前、编写自动化调用、选择 operation 或确认字段结构时读取本文件。
6
+
7
+ ## 准备命令
8
+
9
+ ```text
10
+ weaver-work-cli --version
11
+ weaver-work-cli doctor --e10
12
+ weaver-work-cli mail schema
13
+ ```
14
+
15
+ 如未登录,按共享规则读取 `../../weaver-e10-shared/references/e10-auth-and-session.md` 后处理。
16
+
17
+ ## 固定入口
18
+
19
+ Agent 优先调用统一 operation 入口:
20
+
21
+ ```text
22
+ weaver-work-cli --json mail run mail.list --input-json '{"folder":"0","page":1,"size":10}'
23
+ ```
24
+
25
+ 简单 JSON 通过 `--input-json` 传入,复杂或多行 JSON 使用 UTF-8 文件和 `--input <path>`;只有确认当前 shell 能稳定传管道时才使用 `--input -`。按环境选择示例:
26
+
27
+ Windows PowerShell:
28
+
29
+ ```powershell
30
+ weaver-work-cli --json mail run mail.list --input-json '{"folder":"0","page":1,"size":10}'
31
+ ```
32
+
33
+ macOS/Linux(bash/zsh):
34
+
35
+ ```bash
36
+ weaver-work-cli --json mail run mail.list --input-json '{"folder":"0","page":1,"size":10}'
37
+ ```
38
+
39
+ `weaver-work-cli mail schema` 是可用 operation、输入字段、固定参数和风险等级的第一信息源(共 49 个 operation,另含 2 个已暂缓的 `withheldOperations`)。不要用未出现在 schema 中的 operation,也不要把原始 `weaver-e10-mail` reference 当作可直接调用的 CLI 合约。
40
+
41
+ ## 输出处理
42
+
43
+ 成功结果在 stdout,失败结果在 stderr。判断规则读取共享 reference:`../../weaver-e10-shared/references/json-output-contract.md`。
44
+
45
+ 列表、详情、附件或回查结果可能很长时,不要把 stdout 的完整 envelope 直接展示给用户。默认 `size=10` 小页读取;只渲染邮件识别和决策所需字段,例如 id、主题、收发件人、日期、已读/星标/附件状态。需要更多结果时按 `page` 分页继续;需要保留完整原始 JSON 时落本地文件并返回路径。
46
+
47
+ 高风险写入读取共享 reference:`../../weaver-e10-shared/references/high-risk-write.md`。
@@ -0,0 +1,30 @@
1
+ # 附件上传 / 下载
2
+
3
+ ## mail.attachment.upload — 上传附件(三步)
4
+
5
+ 风险等级:`write`(含文件上传,敏感数据处理,执行前须取得用户对“文件内容可能进入大模型/外部服务”的明确确认)。
6
+
7
+ 字段:`file`(本地文件路径)、`name`(附件名)。
8
+
9
+ 流程:预检(`preUploadCheck`)→ 上传(`module/upload`,multipart 上传文件 Blob)→ 绑定权限(`addPermissionFile`),返回 `fileid`。后续发送时在 `mail.send.prepare/apply` 的 `files` 传入该 fileid。
10
+
11
+ ```text
12
+ weaver-work-cli --json mail run mail.attachment.upload --input-json '{"file":"./quarterly.pdf","name":"quarterly.pdf"}'
13
+ ```
14
+
15
+ ## mail.attachment.download — 批量下载附件
16
+
17
+ 风险等级:`write`(落本地文件,确认输出目录避免覆盖)。
18
+
19
+ 字段:`ids`(附件 id,逗号分隔)、`output`(输出目录)。
20
+
21
+ ## mail.attachment.center — 附件中心
22
+
23
+ 风险等级:`read`。字段:`keyword`、`page`、`size`。
24
+
25
+ ## 要点
26
+
27
+ - 上传/下载前必须向用户说明:文件内容可能被上传到 E10 邮件系统,并可能进入当前大模型上下文。
28
+ - 下载会落本地 `output` 目录,执行前确认目录与文件名,避免覆盖。
29
+ - 用户未明确确认前,不执行上传、解析或下载命令。
30
+ - 写请求已发出后遇到不确定结果,停止重试,按共享 `high-risk-write.md` 处理。