weaver-work-cli 0.1.1 → 0.1.4

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 (351) hide show
  1. package/README.md +187 -76
  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 +160 -55
  7. package/dist/internal/e10/auth/crypto.js +7 -22
  8. package/dist/internal/e10/auth/session.js +1 -1
  9. package/dist/internal/e10/auth/xiaoe.js +268 -0
  10. package/dist/internal/e10/context.js +16 -2
  11. package/dist/internal/e10/index.js +1 -0
  12. package/dist/internal/e10/request-runtime.js +344 -0
  13. package/dist/internal/skills/install.js +48 -6
  14. package/dist/internal/skills/reader.js +27 -0
  15. package/dist/shortcuts/archive/continuation.js +70 -0
  16. package/dist/shortcuts/archive/errors.js +53 -0
  17. package/dist/shortcuts/archive/host.js +197 -0
  18. package/dist/shortcuts/archive/index.js +363 -0
  19. package/dist/shortcuts/archive/manifest.js +45 -0
  20. package/dist/shortcuts/archive/operations/archive-info.js +55 -0
  21. package/dist/shortcuts/archive/operations/borrow-car.js +146 -0
  22. package/dist/shortcuts/archive/operations/borrow-list.js +200 -0
  23. package/dist/shortcuts/archive/operations/confirm.js +46 -0
  24. package/dist/shortcuts/archive/operations/download.js +238 -0
  25. package/dist/shortcuts/archive/operations/flow-url.js +240 -0
  26. package/dist/shortcuts/archive/operations/fonds.js +95 -0
  27. package/dist/shortcuts/archive/operations/getPageUrl.js +137 -0
  28. package/dist/shortcuts/archive/operations/registry.js +43 -0
  29. package/dist/shortcuts/archive/operations/search.js +88 -0
  30. package/dist/shortcuts/archive/operations/shared.js +120 -0
  31. package/dist/shortcuts/archive/operations/types.js +23 -0
  32. package/dist/shortcuts/archive/operations/upload.js +182 -0
  33. package/dist/shortcuts/archive/operations.js +13 -0
  34. package/dist/shortcuts/archive/render/search-format.js +276 -0
  35. package/dist/shortcuts/archive/render/search-view.js +125 -0
  36. package/dist/shortcuts/asset/continuation.js +70 -0
  37. package/dist/shortcuts/asset/errors.js +67 -0
  38. package/dist/shortcuts/asset/host.js +438 -0
  39. package/dist/shortcuts/asset/index.js +255 -0
  40. package/dist/shortcuts/asset/manifest.js +471 -0
  41. package/dist/shortcuts/asset/operations/query.js +249 -0
  42. package/dist/shortcuts/asset/operations/registry.js +85 -0
  43. package/dist/shortcuts/asset/operations/shared.js +100 -0
  44. package/dist/shortcuts/asset/operations/type-cache.js +49 -0
  45. package/dist/shortcuts/asset/operations/types.js +1 -0
  46. package/dist/shortcuts/asset/operations/viewlink.js +117 -0
  47. package/dist/shortcuts/asset/operations/write.js +435 -0
  48. package/dist/shortcuts/asset/operations.js +9 -0
  49. package/dist/shortcuts/calendar/continuation.js +70 -0
  50. package/dist/shortcuts/calendar/errors.js +53 -0
  51. package/dist/shortcuts/calendar/host.js +148 -0
  52. package/dist/shortcuts/calendar/index.js +125 -0
  53. package/dist/shortcuts/calendar/manifest.js +26 -0
  54. package/dist/shortcuts/calendar/operations/read.js +259 -0
  55. package/dist/shortcuts/calendar/operations/registry.js +31 -0
  56. package/dist/shortcuts/calendar/operations/shared.js +132 -0
  57. package/dist/shortcuts/calendar/operations/types.js +25 -0
  58. package/dist/shortcuts/calendar/operations/write.js +439 -0
  59. package/dist/shortcuts/calendar/operations.js +8 -0
  60. package/dist/shortcuts/ehr/continuation.js +70 -0
  61. package/dist/shortcuts/ehr/errors.js +53 -0
  62. package/dist/shortcuts/ehr/host.js +213 -0
  63. package/dist/shortcuts/ehr/index.js +205 -0
  64. package/dist/shortcuts/ehr/manifest.js +47 -0
  65. package/dist/shortcuts/ehr/operations/attend-read.js +373 -0
  66. package/dist/shortcuts/ehr/operations/attend-write.js +514 -0
  67. package/dist/shortcuts/ehr/operations/hr-contact.js +363 -0
  68. package/dist/shortcuts/ehr/operations/hr-ds.js +298 -0
  69. package/dist/shortcuts/ehr/operations/hr-report.js +386 -0
  70. package/dist/shortcuts/ehr/operations/recruit-write.js +1629 -0
  71. package/dist/shortcuts/ehr/operations/recruit.js +803 -0
  72. package/dist/shortcuts/ehr/operations/registry.js +43 -0
  73. package/dist/shortcuts/ehr/operations/salary.js +319 -0
  74. package/dist/shortcuts/ehr/operations/shared.js +246 -0
  75. package/dist/shortcuts/ehr/operations/types.js +25 -0
  76. package/dist/shortcuts/ehr/operations.js +25 -0
  77. package/dist/shortcuts/esb/continuation.js +70 -0
  78. package/dist/shortcuts/esb/errors.js +65 -0
  79. package/dist/shortcuts/esb/host.js +187 -0
  80. package/dist/shortcuts/esb/index.js +112 -0
  81. package/dist/shortcuts/esb/manifest.js +91 -0
  82. package/dist/shortcuts/esb/operations/input-format.js +31 -0
  83. package/dist/shortcuts/esb/operations/registry.js +48 -0
  84. package/dist/shortcuts/esb/operations/shared.js +152 -0
  85. package/dist/shortcuts/esb/operations/trigger.js +76 -0
  86. package/dist/shortcuts/esb/operations/types.js +21 -0
  87. package/dist/shortcuts/esb/operations.js +15 -0
  88. package/dist/shortcuts/fna/continuation.js +70 -0
  89. package/dist/shortcuts/fna/errors.js +59 -0
  90. package/dist/shortcuts/fna/host.js +146 -0
  91. package/dist/shortcuts/fna/index.js +111 -0
  92. package/dist/shortcuts/fna/manifest.js +41 -0
  93. package/dist/shortcuts/fna/operations/budget.js +124 -0
  94. package/dist/shortcuts/fna/operations/expense-center.js +148 -0
  95. package/dist/shortcuts/fna/operations/invoice-writeoff.js +212 -0
  96. package/dist/shortcuts/fna/operations/loan.js +195 -0
  97. package/dist/shortcuts/fna/operations/registry.js +35 -0
  98. package/dist/shortcuts/fna/operations/shared.js +210 -0
  99. package/dist/shortcuts/fna/operations/types.js +25 -0
  100. package/dist/shortcuts/fna/operations.js +19 -0
  101. package/dist/shortcuts/hrm/errors.js +38 -0
  102. package/dist/shortcuts/hrm/host.js +156 -0
  103. package/dist/shortcuts/hrm/index.js +111 -0
  104. package/dist/shortcuts/hrm/manifest.js +32 -0
  105. package/dist/shortcuts/hrm/operations/employee.js +338 -0
  106. package/dist/shortcuts/hrm/operations/org.js +110 -0
  107. package/dist/shortcuts/hrm/operations/position.js +176 -0
  108. package/dist/shortcuts/hrm/operations/registry.js +33 -0
  109. package/dist/shortcuts/hrm/operations/shared.js +143 -0
  110. package/dist/shortcuts/hrm/operations/types.js +23 -0
  111. package/dist/shortcuts/hrm/operations.js +19 -0
  112. package/dist/shortcuts/index.js +20 -0
  113. package/dist/shortcuts/invoice/host.js +99 -94
  114. package/dist/shortcuts/invoice/index.js +65 -61
  115. package/dist/shortcuts/invoice/manifest.js +222 -14
  116. package/dist/shortcuts/invoice/operations/browse-field.js +17 -0
  117. package/dist/shortcuts/invoice/operations/issuing.js +198 -0
  118. package/dist/shortcuts/invoice/operations/ocr-preview.js +6 -3
  119. package/dist/shortcuts/invoice/operations/registry.js +17 -0
  120. package/dist/shortcuts/invoice/operations/reim.js +401 -0
  121. package/dist/shortcuts/invoice/operations/shared.js +271 -6
  122. package/dist/shortcuts/invoice/operations/validate-preview.js +1 -1
  123. package/dist/shortcuts/jiuchuanhui/cache.js +441 -0
  124. package/dist/shortcuts/jiuchuanhui/continuation.js +70 -0
  125. package/dist/shortcuts/jiuchuanhui/errors.js +59 -0
  126. package/dist/shortcuts/jiuchuanhui/host.js +159 -0
  127. package/dist/shortcuts/jiuchuanhui/index.js +109 -0
  128. package/dist/shortcuts/jiuchuanhui/manifest.js +469 -0
  129. package/dist/shortcuts/jiuchuanhui/operations/datajson.js +214 -0
  130. package/dist/shortcuts/jiuchuanhui/operations/esb.js +157 -0
  131. package/dist/shortcuts/jiuchuanhui/operations/generic.js +146 -0
  132. package/dist/shortcuts/jiuchuanhui/operations/registry.js +133 -0
  133. package/dist/shortcuts/jiuchuanhui/operations/shared.js +158 -0
  134. package/dist/shortcuts/jiuchuanhui/operations/types.js +1 -0
  135. package/dist/shortcuts/jiuchuanhui/operations.js +8 -0
  136. package/dist/shortcuts/mail/continuation.js +70 -0
  137. package/dist/shortcuts/mail/errors.js +53 -0
  138. package/dist/shortcuts/mail/host.js +182 -0
  139. package/dist/shortcuts/mail/index.js +519 -0
  140. package/dist/shortcuts/mail/manifest.js +38 -0
  141. package/dist/shortcuts/mail/operations/mail-blacklist.js +79 -0
  142. package/dist/shortcuts/mail/operations/mail-contacts.js +195 -0
  143. package/dist/shortcuts/mail/operations/mail-manage.js +335 -0
  144. package/dist/shortcuts/mail/operations/mail-read.js +508 -0
  145. package/dist/shortcuts/mail/operations/mail-send.js +474 -0
  146. package/dist/shortcuts/mail/operations/mail-sign.js +203 -0
  147. package/dist/shortcuts/mail/operations/mail-template.js +170 -0
  148. package/dist/shortcuts/mail/operations/registry.js +41 -0
  149. package/dist/shortcuts/mail/operations/shared.js +64 -0
  150. package/dist/shortcuts/mail/operations/types.js +27 -0
  151. package/dist/shortcuts/mail/operations.js +19 -0
  152. package/dist/shortcuts/plan/continuation.js +70 -0
  153. package/dist/shortcuts/plan/errors.js +70 -0
  154. package/dist/shortcuts/plan/host.js +180 -0
  155. package/dist/shortcuts/plan/index.js +150 -0
  156. package/dist/shortcuts/plan/manifest.js +53 -0
  157. package/dist/shortcuts/plan/operations/link.js +256 -0
  158. package/dist/shortcuts/plan/operations/read.js +259 -0
  159. package/dist/shortcuts/plan/operations/registry.js +33 -0
  160. package/dist/shortcuts/plan/operations/shared.js +246 -0
  161. package/dist/shortcuts/plan/operations/types.js +49 -0
  162. package/dist/shortcuts/plan/operations/version.js +49 -0
  163. package/dist/shortcuts/plan/operations/write.js +710 -0
  164. package/dist/shortcuts/plan/operations.js +8 -0
  165. package/docs/SKILL.md +11 -7
  166. package/docs/_catalog.md +23 -5
  167. package/docs/agent-invoice.md +31 -10
  168. package/docs/agent-skill-install.md +211 -0
  169. package/docs/calendar.md +87 -0
  170. package/docs/e10-auth.md +28 -9
  171. package/docs/ehr.md +186 -0
  172. package/docs/esb.md +64 -0
  173. package/docs/fna.md +72 -0
  174. package/docs/hrm.md +89 -0
  175. package/docs/invoice.md +66 -20
  176. package/docs/jiuchuanhui.md +131 -0
  177. package/docs/operation-manual.md +443 -0
  178. package/docs/plan.md +82 -0
  179. package/docs/wenshuding.md +129 -0
  180. package/docs/ziguanjia.md +89 -0
  181. package/package.json +4 -4
  182. package/scripts/package-skill.mjs +127 -34
  183. package/scripts/postbuild.mjs +13 -0
  184. package/skill-template/business-info.json +13 -2
  185. package/skill-template/domains/calendar.md +15 -0
  186. package/skill-template/domains/esb.md +13 -0
  187. package/skill-template/domains/hrm.md +16 -0
  188. package/skill-template/domains/jiuchuanhui.md +23 -0
  189. package/skill-template/domains/jucailin.md +22 -0
  190. package/skill-template/domains/mail.md +21 -0
  191. package/skill-template/domains/plan.md +17 -0
  192. package/skill-template/domains/qiyecheng.md +17 -0
  193. package/skill-template/domains/shared.md +9 -3
  194. package/skill-template/domains/skill-maker.md +10 -0
  195. package/skill-template/domains/wenshuding.md +22 -0
  196. package/skill-template/domains/{invoice.md → yepiaotong.md} +4 -0
  197. package/skill-template/domains/ziguanjia.md +21 -0
  198. package/skill-template/master-skill-template.md +12 -6
  199. package/skill-template/skill-template.md +40 -9
  200. package/skills/weaver-e10-calendar/SKILL.md +101 -0
  201. package/skills/weaver-e10-calendar/product.json +8 -0
  202. package/skills/weaver-e10-calendar/references/calendar-app-check.md +65 -0
  203. package/skills/weaver-e10-calendar/references/calendar-dict.md +55 -0
  204. package/skills/weaver-e10-calendar/references/calendar-query.md +70 -0
  205. package/skills/weaver-e10-calendar/references/calendar-write.md +97 -0
  206. package/skills/weaver-e10-calendar/references/source-manifest.json +54 -0
  207. package/skills/weaver-e10-esb/SKILL.md +102 -0
  208. package/skills/weaver-e10-esb/product.json +8 -0
  209. package/skills/weaver-e10-esb/references/input-format.md +52 -0
  210. package/skills/weaver-e10-esb/references/source-manifest.json +242 -0
  211. package/skills/weaver-e10-esb/references/trigger.md +99 -0
  212. package/skills/weaver-e10-hrm/SKILL.md +87 -0
  213. package/skills/weaver-e10-hrm/product.json +8 -0
  214. package/skills/weaver-e10-hrm/references/employee.md +109 -0
  215. package/skills/weaver-e10-hrm/references/org.md +95 -0
  216. package/skills/weaver-e10-hrm/references/position.md +95 -0
  217. package/skills/weaver-e10-hrm/references/source-manifest.json +121 -0
  218. package/skills/weaver-e10-jiuchuanhui/SKILL.md +174 -0
  219. package/skills/weaver-e10-jiuchuanhui/product.json +8 -0
  220. package/skills/weaver-e10-jiuchuanhui/references/cache.md +110 -0
  221. package/skills/weaver-e10-jiuchuanhui/references/clue.md +61 -0
  222. package/skills/weaver-e10-jiuchuanhui/references/contact-plan.md +56 -0
  223. package/skills/weaver-e10-jiuchuanhui/references/contact-records.md +48 -0
  224. package/skills/weaver-e10-jiuchuanhui/references/contact.md +56 -0
  225. package/skills/weaver-e10-jiuchuanhui/references/customer.md +69 -0
  226. package/skills/weaver-e10-jiuchuanhui/references/disabled-capabilities.md +24 -0
  227. package/skills/weaver-e10-jiuchuanhui/references/discovery-config.md +60 -0
  228. package/skills/weaver-e10-jiuchuanhui/references/general-helpers.md +59 -0
  229. package/skills/weaver-e10-jiuchuanhui/references/jiuchuanhui-entry.md +60 -0
  230. package/skills/weaver-e10-jiuchuanhui/references/sale.md +72 -0
  231. package/skills/weaver-e10-jiuchuanhui/references/source-manifest.json +2632 -0
  232. package/skills/weaver-e10-jucailin/SKILL.md +101 -0
  233. package/skills/weaver-e10-jucailin/product.json +8 -0
  234. package/skills/weaver-e10-jucailin/references/attend-read.md +73 -0
  235. package/skills/weaver-e10-jucailin/references/attend-write.md +82 -0
  236. package/skills/weaver-e10-jucailin/references/hr-contact.md +92 -0
  237. package/skills/weaver-e10-jucailin/references/hr-datasource.md +104 -0
  238. package/skills/weaver-e10-jucailin/references/hr-report.md +76 -0
  239. package/skills/weaver-e10-jucailin/references/recruit-read.md +76 -0
  240. package/skills/weaver-e10-jucailin/references/recruit-write.md +70 -0
  241. package/skills/weaver-e10-jucailin/references/safety-boundaries.md +35 -0
  242. package/skills/weaver-e10-jucailin/references/salary.md +110 -0
  243. package/skills/weaver-e10-jucailin/references/source-manifest.json +152 -0
  244. package/skills/weaver-e10-mail/SKILL.md +151 -0
  245. package/skills/weaver-e10-mail/product.json +8 -0
  246. package/skills/weaver-e10-mail/references/mail-agent-entry.md +47 -0
  247. package/skills/weaver-e10-mail/references/mail-attachment.md +30 -0
  248. package/skills/weaver-e10-mail/references/mail-blacklist.md +27 -0
  249. package/skills/weaver-e10-mail/references/mail-contacts.md +33 -0
  250. package/skills/weaver-e10-mail/references/mail-manage.md +44 -0
  251. package/skills/weaver-e10-mail/references/mail-read.md +76 -0
  252. package/skills/weaver-e10-mail/references/mail-send.md +43 -0
  253. package/skills/weaver-e10-mail/references/mail-sign.md +33 -0
  254. package/skills/weaver-e10-mail/references/mail-template.md +31 -0
  255. package/skills/weaver-e10-mail/references/safety-boundaries.md +32 -0
  256. package/skills/weaver-e10-plan/SKILL.md +139 -0
  257. package/skills/weaver-e10-plan/product.json +8 -0
  258. package/skills/weaver-e10-plan/references/plan-collect-and-compose.md +123 -0
  259. package/skills/weaver-e10-plan/references/plan-overview-and-routing.md +138 -0
  260. package/skills/weaver-e10-plan/references/plan-report-query.md +154 -0
  261. package/skills/weaver-e10-plan/references/plan-report-remind.md +104 -0
  262. package/skills/weaver-e10-plan/references/plan-report-write.md +162 -0
  263. package/skills/weaver-e10-plan/references/source-manifest.json +858 -0
  264. package/skills/weaver-e10-qiyecheng/SKILL.md +118 -0
  265. package/skills/weaver-e10-qiyecheng/product.json +8 -0
  266. package/skills/weaver-e10-qiyecheng/references/budget.md +65 -0
  267. package/skills/weaver-e10-qiyecheng/references/catalog.md +56 -0
  268. package/skills/weaver-e10-qiyecheng/references/expense-center.md +51 -0
  269. package/skills/weaver-e10-qiyecheng/references/invoice-writeoff.md +57 -0
  270. package/skills/weaver-e10-qiyecheng/references/loan-management.md +59 -0
  271. package/skills/weaver-e10-qiyecheng/references/source-manifest.json +698 -0
  272. package/skills/weaver-e10-shared/SKILL.md +86 -0
  273. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +127 -0
  274. package/skills/weaver-e10-shared/references/json-output-contract.md +120 -0
  275. package/skills/weaver-e10-shared/references/weaver-e10-installation.md +110 -0
  276. package/skills/weaver-e10-skill-maker/SKILL.md +77 -0
  277. package/skills/weaver-e10-skill-maker/product.json +8 -0
  278. package/skills/weaver-e10-skill-maker/references/business-skill-generation.md +124 -0
  279. package/skills/weaver-e10-skill-maker/references/detector-validation.md +101 -0
  280. package/skills/weaver-e10-skill-maker/references/module-cli-generation.md +230 -0
  281. package/skills/weaver-e10-skill-maker/references/post-generation-install.md +105 -0
  282. package/skills/weaver-e10-skill-maker/references/source-update-detection.md +261 -0
  283. package/skills/weaver-e10-skill-maker/references/weaver-skill-style.md +141 -0
  284. package/skills/weaver-e10-wenshuding/SKILL.md +157 -0
  285. package/skills/weaver-e10-wenshuding/product.json +8 -0
  286. package/skills/weaver-e10-wenshuding/references/archive-agent-entry.md +63 -0
  287. package/skills/weaver-e10-wenshuding/references/archive-borrow-car.md +52 -0
  288. package/skills/weaver-e10-wenshuding/references/archive-borrow-list.md +52 -0
  289. package/skills/weaver-e10-wenshuding/references/archive-disabled-capabilities.md +22 -0
  290. package/skills/weaver-e10-wenshuding/references/archive-download.md +48 -0
  291. package/skills/weaver-e10-wenshuding/references/archive-flow.md +46 -0
  292. package/skills/weaver-e10-wenshuding/references/archive-fonds.md +34 -0
  293. package/skills/weaver-e10-wenshuding/references/archive-info.md +33 -0
  294. package/skills/weaver-e10-wenshuding/references/archive-search.md +52 -0
  295. package/skills/weaver-e10-wenshuding/references/archive-upload.md +41 -0
  296. package/skills/weaver-e10-wenshuding/references/source-manifest.json +517 -0
  297. package/skills/weaver-e10-yepiaotong/SKILL.md +184 -0
  298. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-add.md +1 -1
  299. package/skills/weaver-e10-yepiaotong/references/invoice-agent-entry.md +47 -0
  300. package/skills/weaver-e10-yepiaotong/references/invoice-browse-field-data.md +204 -0
  301. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-delete.md +1 -1
  302. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-detail.md +13 -5
  303. package/skills/weaver-e10-yepiaotong/references/invoice-disabled-capabilities.md +28 -0
  304. package/skills/weaver-e10-yepiaotong/references/invoice-download.md +31 -0
  305. package/skills/weaver-e10-yepiaotong/references/invoice-enterprise-list.md +45 -0
  306. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-file-upload.md +15 -4
  307. package/skills/weaver-e10-yepiaotong/references/invoice-import.md +45 -0
  308. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +120 -0
  309. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-field-rules.md +161 -0
  310. package/skills/weaver-e10-yepiaotong/references/invoice-issuing.md +99 -0
  311. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-ocr-preview.md +14 -4
  312. package/skills/weaver-e10-yepiaotong/references/invoice-personal-list.md +58 -0
  313. package/skills/weaver-e10-yepiaotong/references/invoice-red.md +261 -0
  314. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +97 -0
  315. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-update.md +1 -1
  316. package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/references/invoice-validation-preview.md +10 -3
  317. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +1340 -0
  318. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +845 -0
  319. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +94 -0
  320. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +449 -0
  321. package/skills/weaver-e10-yepiaotong/references/reim-matching-rules.md +266 -0
  322. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +494 -0
  323. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +1103 -0
  324. package/skills/weaver-e10-ziguanjia/SKILL.md +162 -0
  325. package/skills/weaver-e10-ziguanjia/product.json +8 -0
  326. package/skills/weaver-e10-ziguanjia/references/source-manifest.json +147 -0
  327. package/skills/weaver-e10-ziguanjia/references/ziguanjia-agent-entry.md +65 -0
  328. package/skills/weaver-e10-ziguanjia/references/ziguanjia-create.md +45 -0
  329. package/skills/weaver-e10-ziguanjia/references/ziguanjia-depre.md +48 -0
  330. package/skills/weaver-e10-ziguanjia/references/ziguanjia-disabled-capabilities.md +22 -0
  331. package/skills/weaver-e10-ziguanjia/references/ziguanjia-purch.md +57 -0
  332. package/skills/weaver-e10-ziguanjia/references/ziguanjia-query.md +62 -0
  333. package/skills/weaver-e10-ziguanjia/references/ziguanjia-repair.md +83 -0
  334. package/skills/weaver-e10-ziguanjia/references/ziguanjia-resolve.md +49 -0
  335. package/skills/weaver-e10-ziguanjia/references/ziguanjia-return.md +70 -0
  336. package/skills/weaver-e10-ziguanjia/references/ziguanjia-update.md +45 -0
  337. package/skills/weaver-e10-ziguanjia/references/ziguanjia-use.md +60 -0
  338. package/skills/weaver-e10-ziguanjia/references/ziguanjia-viewlink.md +81 -0
  339. package/skills/weaver-work-cli-invoice/SKILL.md +0 -103
  340. package/skills/weaver-work-cli-invoice/references/invoice-agent-entry.md +0 -38
  341. package/skills/weaver-work-cli-invoice/references/invoice-disabled-capabilities.md +0 -26
  342. package/skills/weaver-work-cli-invoice/references/invoice-download.md +0 -22
  343. package/skills/weaver-work-cli-invoice/references/invoice-enterprise-list.md +0 -35
  344. package/skills/weaver-work-cli-invoice/references/invoice-import.md +0 -28
  345. package/skills/weaver-work-cli-invoice/references/invoice-personal-list.md +0 -47
  346. package/skills/weaver-work-cli-shared/SKILL.md +0 -53
  347. package/skills/weaver-work-cli-shared/references/e10-auth-and-session.md +0 -83
  348. package/skills/weaver-work-cli-shared/references/json-output-contract.md +0 -61
  349. package/skills/weaver-work-cli-shared/references/weaver-work-cli-installation.md +0 -61
  350. /package/skills/{weaver-work-cli-shared → weaver-e10-shared}/references/high-risk-write.md +0 -0
  351. /package/skills/{weaver-work-cli-invoice → weaver-e10-yepiaotong}/product.json +0 -0
@@ -0,0 +1,99 @@
1
+ # 触发动作流(esb.trigger.prepare → esb.trigger.apply)
2
+
3
+ ## 何时使用
4
+
5
+ - 用户表达「执行动作流 XXX」「触发这条 ESB 动作流」「按动作流 ID 跑一下流程」「用唯一值触发动作流」。
6
+ - 需要由 Agent 主动驱动后端动作流完成后续编排(表单提交、数据变更或外部事件之后)。
7
+
8
+ 本 operation 会产生业务副作用,必须走 `prepare → apply` 确认链。
9
+
10
+ ## 输入要点
11
+
12
+ | 字段 | 必填 | 说明 |
13
+ | --- | --- | --- |
14
+ | `esbFlowId` | 二选一 | 普通触发:动作流 ID(数字串)。 |
15
+ | `uniqueIndent` | 二选一 | 唯一值触发:动作流的 `primary_key`。 |
16
+ | `employeeId` | 是 | 触发人员 ID,用于标识动作流执行上下文中的操作人。 |
17
+ | `customParams` | 是 | 必须含 `mainTable` 对象;字段按 `esb.input-format` 的模板组装。 |
18
+ | `moduleSource` | 否 | 触发来源标识,默认不要传,仅二开场景传 `ecode`。 |
19
+
20
+ `esbFlowId` 与 `uniqueIndent` 不能同时传、也不能都缺;两者都传会报 `trigger_target_conflict`。
21
+
22
+ ## 命令
23
+
24
+ ### 1. prepare(不触发动作流)
25
+
26
+ Windows PowerShell:
27
+
28
+ ```powershell
29
+ weaver-work-cli --json esb run esb.trigger.prepare --input-json '{"esbFlowId":"900000000000000001","employeeId":"10001","customParams":{"mainTable":{"dataId":"D1001"}}}'
30
+ ```
31
+
32
+ macOS/Linux(bash/zsh):
33
+
34
+ ```bash
35
+ weaver-work-cli --json esb run esb.trigger.prepare --input-json '{"esbFlowId":"900000000000000001","employeeId":"10001","customParams":{"mainTable":{"dataId":"D1001"}}}'
36
+ ```
37
+
38
+ 带明细表的复杂 `customParams` 建议先写入 UTF-8 JSON 文件,再传 `--input <file>`。
39
+
40
+ Windows PowerShell:
41
+
42
+ ```powershell
43
+ Set-Content -Path .\esb-params.json -Encoding utf8 -Value '{"esbFlowId":"900000000000000001","employeeId":"10001","customParams":{"mainTable":{"dataId":"D1001"}}}'
44
+ weaver-work-cli --json esb run esb.trigger.prepare --input .\esb-params.json
45
+ ```
46
+
47
+ macOS/Linux(bash/zsh):
48
+
49
+ ```bash
50
+ cat > ./esb-params.json <<'JSON'
51
+ {"esbFlowId":"900000000000000001","employeeId":"10001","customParams":{"mainTable":{"dataId":"D1001"}}}
52
+ JSON
53
+ weaver-work-cli --json esb run esb.trigger.prepare --input ./esb-params.json
54
+ ```
55
+
56
+ `data` 返回 `target`(触发方式与标识)、`requestPreview`(即将发出的请求体)、`templateFields` 与 `continuation`(有效期 600 秒)。
57
+
58
+ ### 2. apply(真实触发)
59
+
60
+ Windows PowerShell:
61
+
62
+ ```powershell
63
+ weaver-work-cli --json esb run esb.trigger.apply --input-json '{"continuation":"REPLACE_WITH_CONTINUATION","confirm":true}'
64
+ ```
65
+
66
+ macOS/Linux(bash/zsh):
67
+
68
+ ```bash
69
+ weaver-work-cli --json esb run esb.trigger.apply --input-json '{"continuation":"REPLACE_WITH_CONTINUATION","confirm":true}'
70
+ ```
71
+
72
+ `confirm` 必须显式为 `true`;缺失或为 `false` 时报 `confirm_required`,不会发出任何请求。
73
+
74
+ ## 输出处理
75
+
76
+ `data` 字段:
77
+
78
+ - `resultCode`:固定为 `200`(非 200 会在 CLI 层转为结构化错误,不会出现在成功输出里)。
79
+ - `resultMsg`:服务端返回的执行结果信息。
80
+ - `nextAction`:`0` 表示后续操作正常执行,`1` 表示后续操作不执行。
81
+ - `actionData`:动作流输出集合,含 `pageAction`(0 无 / 1 刷新 / 2 关闭 / 3 跳转)、`reminder`(0 无 / 1 提醒 / 2 确认 / 3 警告 / 4 错误)、`reminderMsg`、`hasData`(1 时数据在 `responseData`)、`responseData`、`customData`。
82
+ - `followUp`:对 `actionData` 的中文摘要,直接用于向用户汇报后续动作。
83
+
84
+ ## 注意
85
+
86
+ - **副作用**:触发动作流会真实执行业务逻辑,可能修改业务数据、发送通知或触发下游流程。执行前必须把目标动作流、触发人员、`requestPreview` 和风险摘要展示给用户,并取得明确确认。
87
+ - **continuation 绑定**:continuation 与签发时的登录身份绑定,有效期 10 分钟;过期或身份变化需重新 prepare。
88
+ - **唯一值触发**:同一租户下多条动作流可能有相同唯一值,系统只执行 `create_time` 最新的一条;需要精确控制时改用 `esbFlowId`。
89
+ - **限流**:短时间重复触发可能被幂等限流(`throttled`)拒绝,禁止高频重试。
90
+
91
+ ## 失败处理
92
+
93
+ - `confirm_required`:未显式确认,先向用户确认后重试。
94
+ - `continuation_*`:continuation 无效、过期、不属于当前操作或身份变化,重新执行 `esb.trigger.prepare`。
95
+ - `parameter_invalid`:按 `customParams` 模板核对必填字段与类型。
96
+ - `flow_not_bound` / `flow_not_found` / `flow_disabled` / `flow_in_recycle_bin`:核对触发标识或在 ESB 中心处理,不要重试。
97
+ - `permission_denied` / `tenant_permission_denied` / `tenant_missing` / `license_required`:权限、租户或 license 问题,交由用户或管理员处理。
98
+ - `throttled` / `flow_running` / `execute_timeout`:稍后重试或查看动作流运行日志。
99
+ - `write_uncertain`:**立即停止**。请求已发出但结果未知,不能判定动作流未执行,禁止自动重试;先在 ESB 中心查看动作流运行日志,确认后再决定是否重新触发。
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: weaver-e10-hrm
3
+ display_name: 泛微E10组织管理
4
+ display_name_en: Weaver E10 Organization Management
5
+ description: 泛微E10组织管理(员工/组织/岗位查询)的 E10 查询能力,通过 weaver-work-cli hrm 命令执行。
6
+ description_zh: 泛微E10组织管理(员工/组织/岗位查询)的 E10 查询能力,通过 weaver-work-cli hrm 命令执行。
7
+ description_en: Weaver E10 Organization Management capabilities for E10, covering employee, organization and position queries, delivered through the weaver-work-cli hrm command.
8
+ version: 1.0.0
9
+ author: 泛微网络科技股份有限公司
10
+ agent_created: true
11
+ requires:
12
+ bins: ["weaver-work-cli"]
13
+ cliHelp: "weaver-work-cli hrm --help"
14
+ ---
15
+
16
+ # 泛微E10组织管理
17
+
18
+ **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`,安装或读取失败时必须停止执行。**
19
+
20
+ 本技能覆盖组织管理三大业务域:**员工(employee)**、**组织(org)**、**岗位(position)**,全部为只读查询,无写操作。代理商查询(`containsDls=true`)属于禁用边界,见 [`references/employee.md`](references/employee.md)。
21
+
22
+ ## 命令入口
23
+
24
+ ```text
25
+ weaver-work-cli hrm --help
26
+ weaver-work-cli hrm schema
27
+ weaver-work-cli --json hrm run <operation> --input -
28
+ ```
29
+
30
+ `schema` 是可用能力的唯一事实来源。禁止把本技能或源文档里的接口路径当成可直接调用的地址,也禁止把未出现在 `schema` 中的能力当作可用 operation。
31
+
32
+ ## 认证
33
+
34
+ 所有请求复用 `weaver-work-cli` 托管的 E10 会话,业务输入只描述业务对象和意图。会话凭证(Cookie / ETEAMSID / 业务 Token)由 `weaver-work-cli` 认证体系统一托管获取与保存,本技能不自行登录、不保存、不转发任何凭证,禁止硬编码凭证或使用浏览器自动化登录兜底。禁止读取、列出、打印或解析 `.e10-cli` 等认证目录和文件;认证诊断只能通过 `weaver-work-cli auth` 系列命令、`weaver-work-cli doctor --e10` 和业务命令返回的 JSON 错误完成。
35
+
36
+ ## Reference 路由表
37
+
38
+ 命中任一条件时,执行下一步前读取对应 reference。
39
+
40
+ | 触发条件 | Reference |
41
+ | --- | --- |
42
+ | 查员工、工号/手机/邮箱、查下属、部门成员、批量人员、人员详情 | [`references/employee.md`](references/employee.md) |
43
+ | 查分部、查部门、组织架构、层级路径、组织详情 | [`references/org.md`](references/org.md) |
44
+ | 查岗位、岗位详情、批量岗位 | [`references/position.md`](references/position.md) |
45
+
46
+ ## 跨模块约定(必须先知道)
47
+
48
+ 三个业务域统一走 E10 HRM 内部浏览/详情接口,响应统一 `WeaResult` 契约,已在 CLI 内归一化,但语义差异仍会影响结果解读:
49
+
50
+ - **响应成功判定**:统一 `code=200`(WeaResult)。业务失败码即使 HTTP 200 也会抛 `api/business_error`;`403` 会抛 `api/permission_denied`(提示联系管理员开启接口开关,不盲目重试)。
51
+ - **数据行位置**:列表接口行在 `data.data`(浏览按钮 `browser/data/*` 与岗位批量 `queryListByOrgTree`),总数在 `data.total`;员工浏览/下属查询因 `data/resource` 的 `data.count` 恒为 0,CLI 额外请求 `count/resource` 取真实 `data.total`。下属按 id 查询(`myDirectSubordinates`/`myIndirectSubordinates`)的行在 `data.page.result`、总数在 `data.page.totalCount`。
52
+ - **详情接口**:员工名片(`profile/get`)、组织详情(`organization/getForm`)、岗位详情(`getEditOrAddPostForm`)返回单对象(`data` 直接承载),CLI 附 `link`。
53
+ - **长整型 id 一律按字符串传递**:人员 id、组织节点 id、岗位 id 都是长整型,避免精度丢失。
54
+ - **手机号脱敏**:员工/批量/下属列表返回的 `mobile` 已由 CLI 脱敏(3 位前缀 + `****` + 末 4 位),Agent 直接呈现,不做二次处理。
55
+
56
+ ## 安全边界
57
+
58
+ - **🔴 无条件禁止全量拉取**:`employee.query`/`org.query`/`position.query` 必须携带至少一个收敛条件,无条件时先询问用户,禁止空条件调用。`position.list` 无 `org`/`name`/`code` 过滤时必须显式 `all=true`。
59
+ - **🔴 `status` 不能单独使用**:`employee.query` 的 `status`(`["normal"]` 在职 / `["6"]` 离职)必须搭配其它条件(keyword/工号/姓名/手机/邮箱)。
60
+ - **批量禁止循环单查**:批量查询一律走 `batch`(每批 ≤100,CLI 自动分批);岗位批量走 `position.list` 一次性返回,禁止按 id 逐个调详情。
61
+ - **姓名/工号/名称模糊匹配**:多人命中时必须列出候选让用户选择,不得自动取第一条;`dept.members` 部门重名时报 `dept_ambiguous`,需改用组织 id。
62
+ - **人员 id、组织 id、岗位 id 都是长整型**,一律按字符串传递。
63
+ - **代理商查询禁用**:`hrm.employee.dls`(`containsDls=true`)仅泛微自用系统支持,已列为禁用边界,不得编造或绕过。
64
+
65
+ ## 失败处理
66
+
67
+ - `code=302` 或认证类错误:引导用户执行 `weaver-work-cli auth login`,不要用其他方式排查。
68
+ - 业务失败看 stderr JSON 的 `error.type` / `error.subtype` / `error.message`,不要用退出码 `0` 判断成功。
69
+ - 常见业务错误:`empty_condition`(空条件拉取被拦截)、`full_pull_blocked`(岗位全量需 `all=true`)、`dept_not_found`/`dept_ambiguous`(组织未找到或重名,改用 id)、`enum_invalid`(枚举取值非法)、`permission_denied`(接口开关未开启)。
70
+
71
+ ## 平台兼容
72
+
73
+ 命令示例必须同时兼容 Windows 与 macOS/Linux。涉及 JSON stdin 时:
74
+
75
+ Windows PowerShell:
76
+
77
+ ```powershell
78
+ weaver-work-cli --json hrm run hrm.employee.query --input-json '{"keyword":"张三"}'
79
+ ```
80
+
81
+ macOS/Linux(bash/zsh):
82
+
83
+ ```bash
84
+ printf '%s\n' '{"keyword":"张三"}' | weaver-work-cli --json hrm run hrm.employee.query --input -
85
+ ```
86
+
87
+ 复杂 JSON 建议保存为 UTF-8 文件后按平台传给 `--input <file>`。
@@ -0,0 +1,8 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "product": "weaver-work-cli",
4
+ "productVersion": "0.1.2",
5
+ "packageName": "weaver-work-cli",
6
+ "command": "weaver-work-cli",
7
+ "nodeEngine": ">=18"
8
+ }
@@ -0,0 +1,109 @@
1
+ # 员工查询
2
+
3
+ ## 何时使用
4
+
5
+ 按工号/姓名/手机/邮箱查员工、按人员 id 查当前登录人或任意员工的下属、查部门/分部下成员、按 id 列表批量查人员精简详情、按人员 id 取资料名片时使用。全部为只读操作。
6
+
7
+ ## 输入要点
8
+
9
+ | operation | 必填 | 说明 |
10
+ | --- | --- | --- |
11
+ | `hrm.employee.query` | 至少一个收敛条件 | 按工号/姓名/手机/邮箱/状态分页查询员工 |
12
+ | `hrm.employee.batch` | `ids` | 按人员 id 列表批量查精简详情(每批 ≤100 自动分批,不含部门/岗位/上级名称) |
13
+ | `hrm.employee.detail` | `id` | 按人员 id 取资料名片(头像/是否管理员/在线状态,不含姓名/工号/部门/手机) |
14
+ | `hrm.subordinate.mine` | `scope`(默认 all) | 查当前登录人的下属(direct/indirect/all),基于当前会话身份 |
15
+ | `hrm.subordinate.by-id` | `id`(`scope` 默认 direct) | 按目标人员 id 查直接/间接下属(**无需切换会话**);所有下属 = direct + indirect 两次并集 |
16
+ | `hrm.dept.members` | `dept` | 按部门/分部名或 id 查其下直接成员(组织名需唯一) |
17
+
18
+ ### `hrm.employee.query` 关键字段
19
+
20
+ | 字段 | 说明 |
21
+ | --- | --- |
22
+ | `keyword` | 查询关键词,自动推断字段:含 `@`→邮箱;11 位纯数字→手机;纯数字或字母开头含数字→工号;其余→姓名(模糊) |
23
+ | `username` | 姓名(模糊匹配) |
24
+ | `job_num` | 工号(模糊匹配) |
25
+ | `mobile` | 手机号(模糊匹配) |
26
+ | `email` | 邮箱(模糊匹配) |
27
+ | `status` | `["normal"]` 在职(默认)/ `["6"]` 离职。**不能单独使用**,必须搭配其它条件 |
28
+ | `current`/`pageSize` | 分页(pageSize 默认 200) |
29
+
30
+ `keyword` 与 `username`/`job_num`/`mobile`/`email` 互斥,显式字段优先。
31
+
32
+ ## 命令
33
+
34
+ 按姓名查员工:
35
+
36
+ Windows PowerShell:
37
+
38
+ ```powershell
39
+ weaver-work-cli --json hrm run hrm.employee.query --input-json '{"keyword":"张三"}'
40
+ ```
41
+
42
+ macOS/Linux(bash/zsh):
43
+
44
+ ```bash
45
+ printf '%s\n' '{"keyword":"张三"}' | weaver-work-cli --json hrm run hrm.employee.query --input -
46
+ ```
47
+
48
+ 查离职人员(须搭配其它条件):
49
+
50
+ ```powershell
51
+ weaver-work-cli --json hrm run hrm.employee.query --input-json '{"keyword":"李四","status":["6"]}'
52
+ ```
53
+
54
+ 按 id 列表批量查人员:
55
+
56
+ ```powershell
57
+ weaver-work-cli --json hrm run hrm.employee.batch --input-json '{"ids":["1000000000000000001","1000000000000000002"]}'
58
+ ```
59
+
60
+ 按 id 取资料名片(头像/管理员/在线):
61
+
62
+ ```powershell
63
+ weaver-work-cli --json hrm run hrm.employee.detail --input-json '{"id":"1000000000000000001"}'
64
+ ```
65
+
66
+ 查当前登录人的所有下属:
67
+
68
+ ```powershell
69
+ weaver-work-cli --json hrm run hrm.subordinate.mine --input-json '{"scope":"all"}'
70
+ ```
71
+
72
+ 查某人的直接下属(无需切换会话):
73
+
74
+ ```powershell
75
+ weaver-work-cli --json hrm run hrm.subordinate.by-id --input-json '{"id":"1000000000000000001","scope":"direct"}'
76
+ ```
77
+
78
+ 查部门下成员:
79
+
80
+ ```powershell
81
+ weaver-work-cli --json hrm run hrm.dept.members --input-json '{"dept":"示例部门"}'
82
+ ```
83
+
84
+ ## 输出处理
85
+
86
+ - 查询类返回 `data.rows`(行数组)+ `data.total`(总数)+ `meta`(current/pageSize);批量/下属返回 `data.rows` + `data.total`。
87
+ - 每行含派生字段 `link`(人员卡片链接 `/sp/hrm/profileInfo/{id}`)与 `deptLink`(部门卡片链接),Agent 输出用 `[姓名](link)` 形式呈现;列表行自带 `departmentId`,可同时输出 `[部门名](deptLink)`。
88
+ - `employee.detail` 返回 `data`(含 `avatar`/`isAdmin`/`managerType`/`online`)+ `data.link`。这是轻量名片,**不含**姓名/工号/部门/手机。
89
+ - `subordinate.by-id` 返回 `data.rows` + `data.total` + `data.page`(hasNext/totalPages)。
90
+ - `mobile` 已由 CLI 脱敏(3 位前缀 + `****` + 末 4 位),直接呈现。
91
+
92
+ ## 注意
93
+
94
+ - **🔴 无条件禁止全量拉取**:`employee.query` 必须带至少一个收敛条件。
95
+ - **🔴 `status` 不能单独使用**:必须搭配其它条件,否则 `empty_condition`。
96
+ - 在职查询未命中时,CLI 会在 `data.hint` 提示"可能已离职",Agent 应据此询问用户是否要查离职人员,不要直接答复"查无此人"。
97
+ - `employee.batch` 不含部门/岗位/上级**名称**,需要名称时用列表接口或 `employee.detail`(但 detail 也不含这些,需走 `employee.query` 或 `subordinate.by-id`)。
98
+ - `subordinate.by-id` 的 `scope` 两值:`direct`(直接)/`indirect`(间接);"所有下属"需两次调用并集(无 `all` 接口,实测 404)。
99
+ - `subordinate.mine` 返回的是**当前登录人**的下属,查"某人的下属"请用 `subordinate.by-id`。
100
+ - 人员 id 是长整型,按字符串传递。
101
+ - **代理商查询禁用**:`hrm.employee.dls`(`containsDls=true`)仅泛微自用系统支持,未实现,不得编造或绕过。
102
+
103
+ ## 失败处理
104
+
105
+ - `empty_condition`:空条件拉取被拦截,先询问用户补条件。
106
+ - `enum_invalid`:`status`/`scope` 取值非法。
107
+ - `dept_not_found`/`dept_ambiguous`:`dept.members` 组织未找到或重名,改用组织 id。
108
+ - `permission_denied`(`code=403`):HRM 读接口开关未开启,提示用户联系管理员开启,不要盲目重试。
109
+ - 认证类错误:引导用户执行 `weaver-work-cli auth login`。
@@ -0,0 +1,95 @@
1
+ # 组织查询(分部 / 部门)
2
+
3
+ ## 何时使用
4
+
5
+ 按名称/编号/上级组织查分部(subcompany)与部门(department)、按组织节点 id 取详情、按多级路径逐级收敛查询时使用。全部为只读操作。
6
+
7
+ ## 输入要点
8
+
9
+ | operation | 必填 | 说明 |
10
+ | --- | --- | --- |
11
+ | `hrm.org.query` | 至少一个收敛条件 | 按名称/编号/上级组织查询组织(`type` 区分分部/部门) |
12
+ | `hrm.org.detail` | `id` | 按组织节点 id 取详情表单(类型由服务端自动判断,含全路径与人员统计) |
13
+
14
+ ### `hrm.org.query` 关键字段
15
+
16
+ | 字段 | 说明 |
17
+ | --- | --- |
18
+ | `type` | `subcompany` 分部 / `department` 部门;不传默认 `department` |
19
+ | `name` | 组织名称(模糊包含匹配) |
20
+ | `code` | 组织编号(模糊包含匹配) |
21
+ | `parent` | 上级**部门** id 数组(查挂在某部门下的子部门,`department`) |
22
+ | `subcompany` | 上级**分部** id 数组(查挂在某分部下的组织,`department`) |
23
+ | `supSubDepartment` | 上级**分部** id 数组(查挂在某分部下的分部,`subcompany`) |
24
+ | `current`/`pageSize` | 分页(pageSize 默认 200) |
25
+
26
+ > **parent vs subcompany vs supSubDepartment**:`parent` 限定上级部门、`subcompany` 限定上级分部(部门挂在分部下)、`supSubDepartment` 限定上级分部(分部挂在分部下)。三者键名不同,按 `type` 选用,不要混用。
27
+
28
+ ## 命令
29
+
30
+ 按名称查部门:
31
+
32
+ Windows PowerShell:
33
+
34
+ ```powershell
35
+ weaver-work-cli --json hrm run hrm.org.query --input-json '{"name":"示例部门","type":"department"}'
36
+ ```
37
+
38
+ macOS/Linux(bash/zsh):
39
+
40
+ ```bash
41
+ printf '%s\n' '{"name":"示例部门","type":"department"}' | weaver-work-cli --json hrm run hrm.org.query --input -
42
+ ```
43
+
44
+ 按名称查分部:
45
+
46
+ ```powershell
47
+ weaver-work-cli --json hrm run hrm.org.query --input-json '{"name":"示例分部","type":"subcompany"}'
48
+ ```
49
+
50
+ 查某部门下的子部门(drill-down):
51
+
52
+ ```powershell
53
+ weaver-work-cli --json hrm run hrm.org.query --input-json '{"parent":["1000000000000000101"],"type":"department"}'
54
+ ```
55
+
56
+ 查某分部下的组织:
57
+
58
+ ```powershell
59
+ weaver-work-cli --json hrm run hrm.org.query --input-json '{"subcompany":["1000000000000000102"],"type":"department"}'
60
+ ```
61
+
62
+ 按 id 取组织详情(含全路径与人员统计):
63
+
64
+ ```powershell
65
+ weaver-work-cli --json hrm run hrm.org.detail --input-json '{"id":"1000000000000000101"}'
66
+ ```
67
+
68
+ ## 多级路径查询(drill-down 编排)
69
+
70
+ 路径形如 `总部/研发部/产品组`,逐级用「父节点 id 作为上级条件 + 下一段名称」调用 `org.query`:
71
+
72
+ 1. 首段名称查 `org.query`(`name`),得到根节点(看返回 `type` 判断是分部还是部门)。
73
+ 2. 父为**部门** → `parent=[父部门id]` + 下一段 `name`;父为**分部** → `subcompany=[父分部id]`(查部门)或 `supSubDepartment=[父分部id]`(查分部)+ 下一段 `name`。
74
+ 3. 逐级收敛至末段;先根→叶,空则叶→根(两者等价)。
75
+
76
+ ## 输出处理
77
+
78
+ - `org.query` 返回 `data.rows`(组织数组)+ `data.total` + `meta`(current/pageSize);每行含派生字段 `link`(组织卡片链接 `/sp/hrm/orgCard/{id}`),Agent 输出用 `[组织名](link)` 呈现。
79
+ - `org.detail` 返回 `data`(含 `name`/`code`/`type`/`fullPath`/`employee_count`/`parent`/`subcompany` 等)+ `data.link`。`employee_count` 格式为 `"直接人数/总人数"`(`includeSub=true` 时总数含下级)。
80
+ - 名称/全称已转多语言,直接呈现。
81
+
82
+ ## 注意
83
+
84
+ - **🔴 无条件禁止全量拉取**:`org.query` 必须带至少一个收敛条件。
85
+ - 分部与部门是两个不同接口(`browser/data/subcompany` 与 `browser/data/department`),CLI 用 `type` 区分;不传 `type` 默认查部门。
86
+ - `org.detail` 详情查询**只需传 `id`**,服务端按记录自动判断分部/部门,无需传 `type`。
87
+ - 组织节点 id 是长整型,按字符串传递。
88
+ - 浏览按钮行含 `title`(`名称|全路径`),可直接用于路径确认/重建。
89
+
90
+ ## 失败处理
91
+
92
+ - `empty_condition`:空条件拉取被拦截,先询问用户补条件。
93
+ - `enum_invalid`:`type` 取值非法(仅 `subcompany`/`department`)。
94
+ - `permission_denied`(`code=403`):HRM 读接口开关未开启,提示用户联系管理员开启。
95
+ - 认证类错误:引导用户执行 `weaver-work-cli auth login`。
@@ -0,0 +1,95 @@
1
+ # 岗位查询
2
+
3
+ ## 何时使用
4
+
5
+ 按名称/编号查岗位、按岗位 id 取详情(含职务/职级)、按组织/名称/编号批量查岗位时使用。全部为只读操作。
6
+
7
+ ## 输入要点
8
+
9
+ | operation | 必填 | 说明 |
10
+ | --- | --- | --- |
11
+ | `hrm.position.query` | 至少一个收敛条件 | 按名称/编号查岗位(快捷搜索名称编号合一;显式 name/code 走高级条件) |
12
+ | `hrm.position.detail` | `id` | 按岗位 id 取详情表单(只读,含职务/职级) |
13
+ | `hrm.position.list` | 至少一个过滤或 `all=true` | 按组织/名称/编号批量查岗位(岗位地址簿,一次性 + 自动翻页) |
14
+
15
+ ### `hrm.position.query` 关键字段
16
+
17
+ | 字段 | 说明 |
18
+ | --- | --- |
19
+ | `keyword` | 快捷搜索关键词,名称与编号合一匹配 |
20
+ | `name` | 岗位名称(包含匹配) |
21
+ | `code` | 岗位编号(精确匹配) |
22
+
23
+ `keyword` 与 `name`/`code` 互斥:传 `name`/`code` 时走高级条件,否则走快捷搜索。
24
+
25
+ ### `hrm.position.list` 关键字段
26
+
27
+ | 字段 | 说明 |
28
+ | --- | --- |
29
+ | `org` | 组织 id(限定该组织下岗位) |
30
+ | `name` | 岗位名称过滤(与 `code` 二选一) |
31
+ | `code` | 岗位编号过滤(与 `name` 二选一) |
32
+ | `all` | 显式确认全量拉取(无 `org`/`name`/`code` 过滤时必填 `true`) |
33
+ | `pageSize` | 分页大小(默认 100,自动翻页到 total) |
34
+
35
+ ## 命令
36
+
37
+ 按名称查岗位:
38
+
39
+ Windows PowerShell:
40
+
41
+ ```powershell
42
+ weaver-work-cli --json hrm run hrm.position.query --input-json '{"name":"示例岗位"}'
43
+ ```
44
+
45
+ macOS/Linux(bash/zsh):
46
+
47
+ ```bash
48
+ printf '%s\n' '{"name":"示例岗位"}' | weaver-work-cli --json hrm run hrm.position.query --input -
49
+ ```
50
+
51
+ 按编号查岗位:
52
+
53
+ ```powershell
54
+ weaver-work-cli --json hrm run hrm.position.query --input-json '{"code":"POS001"}'
55
+ ```
56
+
57
+ 按 id 取岗位详情(含职务/职级):
58
+
59
+ ```powershell
60
+ weaver-work-cli --json hrm run hrm.position.detail --input-json '{"id":"1000000000000000201"}'
61
+ ```
62
+
63
+ 批量查某组织下岗位:
64
+
65
+ ```powershell
66
+ weaver-work-cli --json hrm run hrm.position.list --input-json '{"org":"1000000000000000101"}'
67
+ ```
68
+
69
+ 按名称批量查岗位:
70
+
71
+ ```powershell
72
+ weaver-work-cli --json hrm run hrm.position.list --input-json '{"name":"行政"}'
73
+ ```
74
+
75
+ ## 输出处理
76
+
77
+ - `position.query` 返回 `data.rows`(轻量行:`id`/`name`/`code`/`title`/`leaf`)+ `data.total`;每行含派生字段 `link`(岗位卡片链接 `/sp/hrm/positionCard/{id}`),Agent 输出用 `[岗位名](link)` 呈现。
78
+ - `position.list` 返回 `data.rows`(结构化行:`id`/`name`/`fullName`/`code`/`parent`/`department`/`userCount`/`partTimeCount`/`cancelStatus`/`jobsetid`)+ `data.total`;每行含 `link`。
79
+ - `position.detail` 返回 `data`(含岗位名称/全称/编号/上级岗位/所属部门/职务/职级)+ `data.link`。
80
+ - 岗位名/全称/职务/职级名已转多语言,直接呈现。
81
+
82
+ ## 注意
83
+
84
+ - **🔴 无条件禁止全量拉取**:`position.query` 必须带至少一个收敛条件;`position.list` 无 `org`/`name`/`code` 过滤时必须显式 `all=true`,否则 `full_pull_blocked`。
85
+ - **批量禁止循环单查**:批量一律走 `position.list` 一次性返回,禁止按 id 逐个调 `position.detail`。
86
+ - 两个列表接口返回字段不同:`position.query`(浏览按钮)返回轻量行,`position.list`(岗位地址簿)返回结构化行(含全名/上级/人员数)。
87
+ - 岗位 id 是长整型,按字符串传递。
88
+ - `cancelStatus`:1=封存 / 0=未封存。
89
+
90
+ ## 失败处理
91
+
92
+ - `empty_condition`:空条件拉取被拦截,先询问用户补条件。
93
+ - `full_pull_blocked`:`position.list` 无过滤,补 `org`/`name`/`code` 或显式 `all=true`。
94
+ - `permission_denied`(`code=403`):HRM 读接口开关未开启,提示用户联系管理员开启。
95
+ - 认证类错误:引导用户执行 `weaver-work-cli auth login`。
@@ -0,0 +1,121 @@
1
+ {
2
+ "schemaVersion": 2,
3
+ "module": "hrm",
4
+ "skill": "weaver-e10-hrm",
5
+ "generatedFrom": {
6
+ "sourceSkill": "weaver-e10-hrm",
7
+ "version": "1.0.15",
8
+ "path": "business-apis/hrm",
9
+ "kind": "workbuddy-document-skill",
10
+ "availability": "source-provided-by-user"
11
+ },
12
+ "generatedAt": "2026-09-10T04:03:43.608Z",
13
+ "sourceSet": {
14
+ "aggregateSha256": "0dc0139f7e5f457cccdae966f68c34d8c477854a92a52ca3dc1ac50e8bf714e2",
15
+ "sourceRoots": [
16
+ "business-apis/hrm"
17
+ ],
18
+ "detectionStrength": "strong"
19
+ },
20
+ "generatedTargets": {
21
+ "cli": [
22
+ "src/shortcuts/hrm",
23
+ "src/shortcuts/index.ts"
24
+ ],
25
+ "skill": [
26
+ "skills/weaver-e10-hrm"
27
+ ],
28
+ "tests": [
29
+ "test/business/hrm-*.test.ts"
30
+ ],
31
+ "docs": [
32
+ "docs/hrm.md",
33
+ "skill-template/domains/hrm.md"
34
+ ]
35
+ },
36
+ "sources": [
37
+ { "path": "SKILL.md", "role": "api-doc", "size": 17494, "sha256": "24866b321ca546eeeac7122f6b08d85ce8aea8ae44b01c52b75b914cca97fa43" },
38
+ { "path": "employee/catalog.md", "role": "api-doc", "size": 8936, "sha256": "66fcc010eb555498eae78a21e18d2a36c5605b081a0d013f015234a84ecba705" },
39
+ { "path": "employee/module.md", "role": "api-doc", "size": 21455, "sha256": "1fede5c4542776f0faa43d0a624af8f1018bd786744f3abc8a3b16ef3885d362" },
40
+ { "path": "employee/hrm-employee-query.md", "role": "api-doc", "size": 14166, "sha256": "d06aa7b8fab8555ec174a47677600128860665b83c26732db323da44b3dd149c" },
41
+ { "path": "employee/hrm-employee-detail.md", "role": "api-doc", "size": 9699, "sha256": "e07ce5738393b97ee8ebf829592fc2236d03e5a9cd1c7f2dc48e48461a8350ac" },
42
+ { "path": "employee/hrm-employee-batch-detail.md", "role": "api-doc", "size": 7507, "sha256": "f09d3a6270be8a30a6fca81408849444f3e8ad8fbcee0107e7995b9d31f76acc" },
43
+ { "path": "employee/hrm-employee-subordinate.md", "role": "api-doc", "size": 8156, "sha256": "a50101c73a7da66a1e9cde4566e918a222be23166470b325c3304ee6864ede1d" },
44
+ { "path": "employee/hrm-employee-subordinate-byid.md", "role": "api-doc", "size": 10421, "sha256": "8369c287f538f7e34a63bdba1d7827d227abcdbecdf03c99c6fc660ccc2fa9dd" },
45
+ { "path": "employee/hrm-employee-dls.md", "role": "api-doc", "size": 6577, "sha256": "a4adae454cc909a479ab33c663f73c6ede700df6211567d65094b71c19116d77" },
46
+ { "path": "employee/hrm-employee-matching.md", "role": "api-doc", "size": 7138, "sha256": "eba3b7270a7707106e48069d78417b56ce0b31ac1dee11987eb43f95cfd03334" },
47
+ { "path": "org/catalog.md", "role": "api-doc", "size": 3689, "sha256": "ca1196557cb9b74d2502fc2ca293055f0b537b8dc304a6b1d10f553c49f83f12" },
48
+ { "path": "org/module.md", "role": "api-doc", "size": 11161, "sha256": "415e2e2ab2d1d905bd1131770abc9dfd53141f0da9e019ec5bee92beb7d14a32" },
49
+ { "path": "org/hrm-org-subcompany-list.md", "role": "api-doc", "size": 7176, "sha256": "1f112cbd4512c93f45cf1d1f04da01c5554e1356d13e8a3a9410c5cf37252aca" },
50
+ { "path": "org/hrm-org-department-list.md", "role": "api-doc", "size": 8471, "sha256": "a2fbc5d1b615bb596a045bfa5738b762d7bc1c46689ef0fbf0b3fa17222235f4" },
51
+ { "path": "org/hrm-org-detail.md", "role": "api-doc", "size": 13600, "sha256": "8d0be5707dccdee6f04b5f084830018047b44824ed7c5d4192fafacbd321c04a" },
52
+ { "path": "org/hrm-org-path-query.md", "role": "api-doc", "size": 7736, "sha256": "548675ef7359373a4e3ab166a9378fe25b97847560b690aaa7ac65d597dc99ff" },
53
+ { "path": "position/catalog.md", "role": "api-doc", "size": 5149, "sha256": "0b60e5bb1508c9d37cfaa70eceda08cacc20ee8631362d2b9bd311d86882738d" },
54
+ { "path": "position/module.md", "role": "api-doc", "size": 10909, "sha256": "c75b8e4a0f0f9e2989224a63ba37acb9e7cdf1844322ac53eea23ec0b4660803" },
55
+ { "path": "position/hrm-position-browse.md", "role": "api-doc", "size": 8844, "sha256": "ee52c1f1b4d36b2527b2a13c04fa07298db7a4afb24d100278b4a86dfd798414" },
56
+ { "path": "position/hrm-position-detail.md", "role": "api-doc", "size": 11809, "sha256": "00d4853296292eb1b8de1c0a353641d55e697ccff6db9cb948c6039b641a83c2" },
57
+ { "path": "position/hrm-position-list.md", "role": "api-doc", "size": 9980, "sha256": "d4cc8b258fc765836d5f3e2e7cce9fda1c5ca4c6d63140b99396c9926b3ffd71" },
58
+ { "path": "scripts/hrm-cli.mjs", "role": "code", "size": 17279, "sha256": "56081ce43a5870a9830778e89982d8dfa4dfc21999695f8af4e4dddb43a06a1e" },
59
+ { "path": "scripts/hrm-position-cli.mjs", "role": "code", "size": 12062, "sha256": "f8a5fd7d859dc81a739d1989e093cd6d676d56a26a02740c4b31bcad26c8286d" },
60
+ { "path": "scripts/hrm-request.mjs", "role": "code", "size": 12478, "sha256": "6480e18a029d9e468a0f8acc5d856958eb94e7132e7ee9f7a9cce8306fcdf8df" }
61
+ ],
62
+ "sourceChunks": [
63
+ {
64
+ "id": "hrm.employee",
65
+ "sourcePath": "employee/catalog.md",
66
+ "anchor": "HRM 员工查询接口索引",
67
+ "sha256": "66fcc010eb555498eae78a21e18d2a36c5605b081a0d013f015234a84ecba705",
68
+ "mapsToOperations": [
69
+ "hrm.employee.query",
70
+ "hrm.employee.batch",
71
+ "hrm.employee.detail",
72
+ "hrm.subordinate.mine",
73
+ "hrm.subordinate.by-id",
74
+ "hrm.dept.members"
75
+ ],
76
+ "mapsToReferences": ["references/employee.md"]
77
+ },
78
+ {
79
+ "id": "hrm.org",
80
+ "sourcePath": "org/catalog.md",
81
+ "anchor": "HRM 组织架构查询接口索引",
82
+ "sha256": "ca1196557cb9b74d2502fc2ca293055f0b537b8dc304a6b1d10f553c49f83f12",
83
+ "mapsToOperations": [
84
+ "hrm.org.query",
85
+ "hrm.org.detail"
86
+ ],
87
+ "mapsToReferences": ["references/org.md"]
88
+ },
89
+ {
90
+ "id": "hrm.position",
91
+ "sourcePath": "position/catalog.md",
92
+ "anchor": "HRM 岗位查询接口索引",
93
+ "sha256": "0b60e5bb1508c9d37cfaa70eceda08cacc20ee8631362d2b9bd311d86882738d",
94
+ "mapsToOperations": [
95
+ "hrm.position.query",
96
+ "hrm.position.detail",
97
+ "hrm.position.list"
98
+ ],
99
+ "mapsToReferences": ["references/position.md"]
100
+ }
101
+ ],
102
+ "operationImpact": {
103
+ "hrm.employee.query": { "sourceChunkIds": ["hrm.employee"], "schemaFields": ["keyword", "username", "job_num", "mobile", "email", "status", "current", "pageSize"], "references": ["references/employee.md"], "tests": ["test/business/hrm-operations.test.ts", "test/business/hrm-host.test.ts"], "risk": "read", "requiresConfirmationChain": false },
104
+ "hrm.employee.batch": { "sourceChunkIds": ["hrm.employee"], "schemaFields": ["ids"], "references": ["references/employee.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
105
+ "hrm.employee.detail": { "sourceChunkIds": ["hrm.employee"], "schemaFields": ["id"], "references": ["references/employee.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
106
+ "hrm.subordinate.mine": { "sourceChunkIds": ["hrm.employee"], "schemaFields": ["scope", "current", "pageSize"], "references": ["references/employee.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
107
+ "hrm.subordinate.by-id": { "sourceChunkIds": ["hrm.employee"], "schemaFields": ["id", "scope", "pageNo", "pageSize"], "references": ["references/employee.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
108
+ "hrm.dept.members": { "sourceChunkIds": ["hrm.employee"], "schemaFields": ["dept", "current", "pageSize"], "references": ["references/employee.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
109
+ "hrm.org.query": { "sourceChunkIds": ["hrm.org"], "schemaFields": ["type", "name", "code", "parent", "subcompany", "supSubDepartment", "current", "pageSize"], "references": ["references/org.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
110
+ "hrm.org.detail": { "sourceChunkIds": ["hrm.org"], "schemaFields": ["id"], "references": ["references/org.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
111
+ "hrm.position.query": { "sourceChunkIds": ["hrm.position"], "schemaFields": ["keyword", "name", "code"], "references": ["references/position.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
112
+ "hrm.position.detail": { "sourceChunkIds": ["hrm.position"], "schemaFields": ["id"], "references": ["references/position.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false },
113
+ "hrm.position.list": { "sourceChunkIds": ["hrm.position"], "schemaFields": ["org", "name", "code", "all", "pageSize"], "references": ["references/position.md"], "tests": ["test/business/hrm-operations.test.ts"], "risk": "read", "requiresConfirmationChain": false }
114
+ },
115
+ "notes": [
116
+ "源资料为用户提供的 weaver-interface 仓库 hrm 模块(原始 document-skill 形态,含 SKILL.md + employee/org/position 模块文档 + scripts/*.mjs 参考 CLI)。",
117
+ "本次转换将原始「weaver-e10-login 会话 + 去域名内部路径 + 脚本」形态改写为 weaver-work-cli 的 hrm shortcut + weaver-e10-hrm Skill,接口路径与请求体以源资料 scripts/*.mjs 与模块文档为唯一依据,未编造接口。",
118
+ "代理商查询(containsDls=true)仅自用系统支持,列为禁用边界 hrm.employee.dls,未实现。",
119
+ "manifest 只记录路径、hash、影响映射和转换摘要,不保存 Cookie、Token、个人主目录绝对路径或大段源正文。"
120
+ ]
121
+ }