weaver-work-cli 0.1.40 → 0.1.44

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 (401) hide show
  1. package/README.md +17 -0
  2. package/dist/chunks/{archive-JHTONRST.js → archive-P6TBQGKL.js} +13 -5
  3. package/dist/chunks/{archive-oa-FCHLCPHC.js → archive-oa-7TQ2NXOH.js} +12 -5
  4. package/dist/chunks/{asset-RLIHC7DB.js → asset-3ELRG37G.js} +11 -4
  5. package/dist/chunks/{asset-idle-KVOFTLCP.js → asset-idle-WIGMUFMD.js} +7 -3
  6. package/dist/chunks/{attachment-content-RZYDB3MB.js → attachment-content-E3276UOV.js} +5 -4
  7. package/dist/chunks/{blog-42OZTJNP.js → blog-C5NMZAAC.js} +11 -4
  8. package/dist/chunks/{caizhilian-KRK547K5.js → caizhilian-5XSM2DFP.js} +13 -6
  9. package/dist/chunks/{calendar-RTWAMKHD.js → calendar-FI2WNSBO.js} +71 -26
  10. package/dist/chunks/{chunk-CXRQWOZ5.js → chunk-3YBDYOC4.js} +3 -3
  11. package/dist/chunks/{chunk-OOUTBLZ4.js → chunk-56EZERK4.js} +1 -1
  12. package/dist/chunks/chunk-6N4JPNFL.js +76 -0
  13. package/dist/chunks/{chunk-ZUX3P6BQ.js → chunk-727FH2NI.js} +1 -1
  14. package/dist/chunks/chunk-7BDPM5ST.js +11 -0
  15. package/dist/chunks/{chunk-LN447PY2.js → chunk-BCVYBYYT.js} +432 -2247
  16. package/dist/chunks/{chunk-7E6MUOEK.js → chunk-CWYGFU5B.js} +2 -2
  17. package/dist/chunks/{chunk-NOODWMCL.js → chunk-D4ADSZ7H.js} +1 -1
  18. package/dist/chunks/{chunk-WFFNM65B.js → chunk-ETNJSKMM.js} +281 -29
  19. package/dist/chunks/{chunk-CAQNBBQA.js → chunk-F4E4EM35.js} +3 -3
  20. package/dist/chunks/{chunk-4CTESSKI.js → chunk-FAZTGX7S.js} +6 -6
  21. package/dist/chunks/chunk-FRZKBMSW.js +2562 -0
  22. package/dist/chunks/{chunk-BYBSCN4X.js → chunk-G7PQWD4L.js} +6 -3
  23. package/dist/chunks/{chunk-NJKREDA3.js → chunk-GAMZLAG2.js} +1 -1
  24. package/dist/chunks/{chunk-FLS4DPGP.js → chunk-GM6J7Q4B.js} +28 -15
  25. package/dist/chunks/{chunk-NETCCARD.js → chunk-GRDRG6HP.js} +3 -3
  26. package/dist/chunks/chunk-HIT4Y6OI.js +1238 -0
  27. package/dist/chunks/{chunk-EZALDOQH.js → chunk-HP7JIYMT.js} +5 -2
  28. package/dist/chunks/{chunk-IZSSVYAG.js → chunk-IAZ3UPY6.js} +3 -3
  29. package/dist/chunks/{chunk-ZEDWSH32.js → chunk-IC62NFM5.js} +1 -1
  30. package/dist/chunks/{chunk-P26ZWSKU.js → chunk-KIHNAS25.js} +5 -2
  31. package/dist/chunks/{chunk-57IECMWX.js → chunk-N4M2DDFE.js} +29 -15
  32. package/dist/chunks/{chunk-JWRZM2H2.js → chunk-OF4S23UB.js} +4 -4
  33. package/dist/chunks/{chunk-VNBU55SL.js → chunk-PC7VKEB5.js} +80 -2458
  34. package/dist/chunks/{chunk-G2JSIUWF.js → chunk-PUQS5MWL.js} +91 -2
  35. package/dist/chunks/{chunk-E7OK5WD5.js → chunk-Q4OYAQYH.js} +5 -5
  36. package/dist/chunks/{chunk-7BRU4EFH.js → chunk-QVSWRLLU.js} +35 -6
  37. package/dist/chunks/{chunk-T6EGVBKU.js → chunk-TA7FXXJD.js} +6 -3
  38. package/dist/chunks/{chunk-GPMFD4RD.js → chunk-TXUG266F.js} +1 -1
  39. package/dist/chunks/{chunk-4TEDNCON.js → chunk-UFIT2UU3.js} +354 -56
  40. package/dist/chunks/{chunk-LUSPKZKY.js → chunk-UG5G54VL.js} +1 -0
  41. package/dist/chunks/{chunk-NIAJ5ZCG.js → chunk-UL5XUQ25.js} +5 -2
  42. package/dist/chunks/{chunk-FMPJJYYI.js → chunk-WRXSAVKO.js} +1 -1
  43. package/dist/chunks/{chunk-7U577Q7U.js → chunk-WSF4NNMR.js} +3 -3
  44. package/dist/chunks/chunk-XHK4MDR5.js +2497 -0
  45. package/dist/chunks/{chunk-LFMSDBZN.js → chunk-XNIK66I4.js} +326 -161
  46. package/dist/chunks/{chunk-3SO6QL6U.js → chunk-YWX377BY.js} +5 -2
  47. package/dist/chunks/{chunk-BYATLLEF.js → chunk-Z3GDFVJR.js} +1 -1
  48. package/dist/chunks/{chunk-I566ZYNF.js → chunk-Z7VYWPZV.js} +1 -1
  49. package/dist/chunks/{conflict-VR55AOOO.js → conflict-ARLSZJ6V.js} +4 -3
  50. package/dist/chunks/{continuation-2CKSBLA6.js → continuation-3S37AUSH.js} +4 -3
  51. package/dist/chunks/{continuation-RN6PZN2M.js → continuation-3XLYYTKV.js} +4 -3
  52. package/dist/chunks/{continuation-HZIZRZBX.js → continuation-HFW2YT5S.js} +4 -3
  53. package/dist/chunks/{continuation-NLECEJPX.js → continuation-KI7DRRZN.js} +4 -3
  54. package/dist/chunks/{contract-HI4FNPYE.js → contract-DNIIW5VJ.js} +13 -5
  55. package/dist/chunks/{cowork-HJLI353D.js → cowork-GMLRGVIW.js} +31 -14
  56. package/dist/chunks/create-flow-J22BO65E.js +56 -0
  57. package/dist/chunks/{ebuilder-form-HTGI63UU.js → ebuilder-form-ANV2FHYV.js} +12 -7
  58. package/dist/chunks/{ehr-GYXIYH3A.js → ehr-GSTGAIY3.js} +695 -1255
  59. package/dist/chunks/{employee-SAK2QYXX.js → employee-22BGJ3QS.js} +3 -3
  60. package/dist/chunks/{env-DW3G4HUO.js → env-BX3VRFS7.js} +4 -3
  61. package/dist/chunks/{esb-I5INCEFE.js → esb-ATAIASX2.js} +12 -7
  62. package/dist/chunks/{factory-TKXGXS6L.js → factory-PETTFME6.js} +3 -2
  63. package/dist/chunks/{fna-K2MHTQ24.js → fna-YEKBSFSX.js} +14 -8
  64. package/dist/chunks/{group-chat-VYBNMJLG.js → group-chat-BFVXAYFX.js} +7 -4
  65. package/dist/chunks/{host-D5SERMAJ.js → host-HRBXEPDQ.js} +5 -5
  66. package/dist/chunks/{host-JM4YVHFM.js → host-LR55CTHP.js} +5 -5
  67. package/dist/chunks/{host-L3VLITMT.js → host-SUOY6VYQ.js} +5 -5
  68. package/dist/chunks/{host-ZUQTJYYK.js → host-SZGV4UNT.js} +5 -5
  69. package/dist/chunks/{host-256GVCAH.js → host-WIKN2EJ5.js} +5 -5
  70. package/dist/chunks/{hrm-VLRBKTZB.js → hrm-NRDO4W5G.js} +11 -7
  71. package/dist/chunks/{im-QK3VTLXK.js → im-IQ2HN23S.js} +11 -10
  72. package/dist/chunks/{invoice-T5JTA32H.js → invoice-MNRW76PP.js} +636 -1768
  73. package/dist/chunks/{jiuchuanhui-P2FNEQVZ.js → jiuchuanhui-DTRBAX4N.js} +14 -6
  74. package/dist/chunks/{lazy-dispatch-XRRI46M6.js → lazy-dispatch-ZVWAI25B.js} +7 -6
  75. package/dist/chunks/{mail-3Y7MJ6PS.js → mail-ZVAUXOJA.js} +16 -14
  76. package/dist/chunks/{meeting-M7LTXGJE.js → meeting-FEVPZ67S.js} +21 -13
  77. package/dist/chunks/{okr-OBC6S67L.js → okr-SDH3E5RA.js} +12 -5
  78. package/dist/chunks/{operations-5QL3AECO.js → operations-62N6EP3C.js} +4 -3
  79. package/dist/chunks/{plan-5H6I53SK.js → plan-E35JFDI7.js} +12 -5
  80. package/dist/chunks/{project-L75QZV4S.js → project-73QXBAB2.js} +49 -25
  81. package/dist/chunks/reception-UWZVACBN.js +1899 -0
  82. package/dist/chunks/recruit-stage-4MAOCKFY.js +4770 -0
  83. package/dist/chunks/registry-IM5G23LS.js +24 -0
  84. package/dist/chunks/{registry-UGRBCBHO.js → registry-JDUS4E7D.js} +7 -6
  85. package/dist/chunks/{registry-RXPN6BBT.js → registry-KNKSCJNT.js} +7 -6
  86. package/dist/chunks/{registry-NYPYMZXG.js → registry-PO7SI256.js} +4 -4
  87. package/dist/chunks/{registry-QGHFNUWS.js → registry-PVUZQDDQ.js} +3 -3
  88. package/dist/chunks/{room-recommend-A3UDC3CA.js → room-recommend-H7KLXA5R.js} +6 -5
  89. package/dist/chunks/{schedule-5GCACCK7.js → schedule-ESZIBAUO.js} +6 -5
  90. package/dist/chunks/{workflow-M5ZJ7DWF.js → workflow-CWJFJLQU.js} +15 -10
  91. package/dist/cmd/action.js +6 -0
  92. package/dist/cmd/identity/index.js +45 -0
  93. package/dist/cmd/index.js +2 -0
  94. package/dist/core/continuation-ttl.js +18 -0
  95. package/dist/core/error-codes.js +85 -0
  96. package/dist/core/logger.js +11 -0
  97. package/dist/index.js +41 -30
  98. package/dist/internal/e10/auth/commands.js +164 -8
  99. package/dist/internal/e10/auth/error-log.js +182 -0
  100. package/dist/internal/e10/auth/messages.js +6 -0
  101. package/dist/internal/e10/auth/session.js +34 -3
  102. package/dist/internal/e10/auth/xiaoe.js +286 -44
  103. package/dist/internal/e10/auth-recovery.js +72 -14
  104. package/dist/internal/e10/context.js +72 -13
  105. package/dist/internal/e10/index.js +1 -1
  106. package/dist/internal/e10/network-error.js +93 -0
  107. package/dist/internal/e10/request-runtime.js +6 -0
  108. package/dist/internal/skills/install.js +9 -1
  109. package/dist/shortcuts/archive/continuation.js +2 -1
  110. package/dist/shortcuts/archive/index.js +3 -0
  111. package/dist/shortcuts/archive/operations/confirm.js +2 -1
  112. package/dist/shortcuts/archive-oa/continuation.js +2 -1
  113. package/dist/shortcuts/archive-oa/index.js +2 -0
  114. package/dist/shortcuts/archive-oa/operations/confirm.js +2 -1
  115. package/dist/shortcuts/asset/continuation.js +2 -1
  116. package/dist/shortcuts/asset/index.js +2 -0
  117. package/dist/shortcuts/asset-idle/index.js +2 -0
  118. package/dist/shortcuts/blog/continuation.js +2 -1
  119. package/dist/shortcuts/blog/index.js +2 -0
  120. package/dist/shortcuts/caizhilian/continuation.js +2 -1
  121. package/dist/shortcuts/caizhilian/index.js +2 -0
  122. package/dist/shortcuts/caizhilian/operations/confirm.js +3 -2
  123. package/dist/shortcuts/calendar/continuation.js +2 -1
  124. package/dist/shortcuts/calendar/index.js +2 -0
  125. package/dist/shortcuts/calendar/operations/read.js +31 -22
  126. package/dist/shortcuts/calendar/operations/write.js +46 -2
  127. package/dist/shortcuts/contract/continuation.js +2 -1
  128. package/dist/shortcuts/contract/index.js +2 -0
  129. package/dist/shortcuts/contract/operations/write.js +2 -1
  130. package/dist/shortcuts/cowork/continuation.js +2 -1
  131. package/dist/shortcuts/cowork/index.js +2 -0
  132. package/dist/shortcuts/cowork/operations/discuss-write.js +5 -1
  133. package/dist/shortcuts/cowork/operations/item-write.js +1 -7
  134. package/dist/shortcuts/cowork/operations/member-write.js +3 -1
  135. package/dist/shortcuts/cowork/operations/permission-write.js +5 -1
  136. package/dist/shortcuts/cowork/operations/shared.js +7 -0
  137. package/dist/shortcuts/ebuilder-form/continuation.js +2 -1
  138. package/dist/shortcuts/ebuilder-form/index.js +2 -0
  139. package/dist/shortcuts/ebuilder-form/operations/write.js +3 -2
  140. package/dist/shortcuts/ehr/continuation.js +2 -1
  141. package/dist/shortcuts/ehr/index.js +2 -0
  142. package/dist/shortcuts/ehr/operations/attend-write.js +44 -2
  143. package/dist/shortcuts/ehr/operations/hr-contact.js +7 -4
  144. package/dist/shortcuts/ehr/operations/hr-report.js +13 -7
  145. package/dist/shortcuts/ehr/operations/recruit-candidate-import.js +317 -63
  146. package/dist/shortcuts/ehr/operations/recruit-position.js +134 -2
  147. package/dist/shortcuts/ehr/operations/recruit-write.js +263 -18
  148. package/dist/shortcuts/ehr/operations/recruit.js +10 -4
  149. package/dist/shortcuts/ehr/operations/shared.js +47 -0
  150. package/dist/shortcuts/esb/continuation.js +2 -1
  151. package/dist/shortcuts/esb/index.js +2 -0
  152. package/dist/shortcuts/esb/operations/trigger.js +2 -1
  153. package/dist/shortcuts/fna/continuation.js +2 -1
  154. package/dist/shortcuts/fna/index.js +2 -0
  155. package/dist/shortcuts/fna/operations/invoice-writeoff.js +1 -1
  156. package/dist/shortcuts/fna/operations/loan.js +1 -1
  157. package/dist/shortcuts/hrm/index.js +2 -0
  158. package/dist/shortcuts/hrm/operations/org.js +118 -0
  159. package/dist/shortcuts/im/continuation.js +2 -1
  160. package/dist/shortcuts/index.js +10 -0
  161. package/dist/shortcuts/invoice/continuation.js +2 -1
  162. package/dist/shortcuts/invoice/index.js +14 -15
  163. package/dist/shortcuts/invoice/invoice-record.js +93 -0
  164. package/dist/shortcuts/invoice/manifest.js +190 -393
  165. package/dist/shortcuts/invoice/operations/add.js +2 -1
  166. package/dist/shortcuts/invoice/operations/delete.js +2 -1
  167. package/dist/shortcuts/invoice/operations/import.js +2 -1
  168. package/dist/shortcuts/invoice/operations/issuing-contract-detail.js +86 -0
  169. package/dist/shortcuts/invoice/operations/issuing-contracts.js +210 -0
  170. package/dist/shortcuts/invoice/operations/registry.js +17 -17
  171. package/dist/shortcuts/invoice/operations/reim-auto.js +4 -569
  172. package/dist/shortcuts/invoice/operations/reim.js +52 -341
  173. package/dist/shortcuts/invoice/operations/shared.js +21 -4
  174. package/dist/shortcuts/invoice/operations/update.js +2 -1
  175. package/dist/shortcuts/invoice/projection.js +10 -62
  176. package/dist/shortcuts/jiuchuanhui/continuation.js +2 -1
  177. package/dist/shortcuts/jiuchuanhui/index.js +2 -0
  178. package/dist/shortcuts/jiuchuanhui/operations/datajson.js +2 -1
  179. package/dist/shortcuts/jiuchuanhui/operations/esb.js +2 -1
  180. package/dist/shortcuts/mail/continuation.js +2 -1
  181. package/dist/shortcuts/mail/index.js +2 -0
  182. package/dist/shortcuts/mail/operations/mail-blacklist.js +1 -1
  183. package/dist/shortcuts/mail/operations/mail-contacts.js +1 -1
  184. package/dist/shortcuts/mail/operations/mail-send.js +1 -1
  185. package/dist/shortcuts/mail/operations/mail-sign.js +1 -1
  186. package/dist/shortcuts/mail/operations/mail-template.js +1 -1
  187. package/dist/shortcuts/meeting/continuation.js +2 -1
  188. package/dist/shortcuts/meeting/index.js +2 -0
  189. package/dist/shortcuts/meeting/operations/change.js +1 -1
  190. package/dist/shortcuts/meeting/operations/create.js +1 -1
  191. package/dist/shortcuts/meeting/operations/eb/catalog.js +4 -1
  192. package/dist/shortcuts/meeting/operations/eb/create-flow.js +101 -35
  193. package/dist/shortcuts/meeting/operations/eb/decision.js +1 -1
  194. package/dist/shortcuts/meeting/operations/eb/factory.js +34 -1
  195. package/dist/shortcuts/meeting/operations/eb/group-chat.js +25 -3
  196. package/dist/shortcuts/meeting/operations/eb/person-cache.js +96 -0
  197. package/dist/shortcuts/meeting/operations/eb/room-recommend.js +33 -11
  198. package/dist/shortcuts/meeting/operations/lifecycle.js +1 -1
  199. package/dist/shortcuts/meeting/operations/receipts.js +1 -1
  200. package/dist/shortcuts/meeting/operations/signs.js +1 -1
  201. package/dist/shortcuts/okr/continuation.js +2 -1
  202. package/dist/shortcuts/okr/index.js +2 -0
  203. package/dist/shortcuts/okr/operations/write.js +1 -1
  204. package/dist/shortcuts/plan/continuation.js +2 -1
  205. package/dist/shortcuts/plan/index.js +2 -0
  206. package/dist/shortcuts/plan/operations/write.js +1 -1
  207. package/dist/shortcuts/project/continuation.js +2 -1
  208. package/dist/shortcuts/project/index.js +2 -0
  209. package/dist/shortcuts/project/operations/read.js +6 -25
  210. package/dist/shortcuts/project/operations/shared.js +22 -0
  211. package/dist/shortcuts/project/operations/write.js +28 -2
  212. package/dist/shortcuts/reception/constants.js +53 -0
  213. package/dist/shortcuts/reception/errors.js +54 -0
  214. package/dist/shortcuts/reception/host.js +125 -0
  215. package/dist/shortcuts/reception/index.js +198 -0
  216. package/dist/shortcuts/reception/manifest.js +177 -0
  217. package/dist/shortcuts/reception/operations/ask.js +71 -0
  218. package/dist/shortcuts/reception/operations/browsertool.js +58 -0
  219. package/dist/shortcuts/reception/operations/compose.js +129 -0
  220. package/dist/shortcuts/reception/operations/customparams.js +74 -0
  221. package/dist/shortcuts/reception/operations/doc.js +238 -0
  222. package/dist/shortcuts/reception/operations/docrender.js +36 -0
  223. package/dist/shortcuts/reception/operations/panels.js +179 -0
  224. package/dist/shortcuts/reception/operations/registry.js +26 -0
  225. package/dist/shortcuts/reception/operations/render-assets.js +184 -0
  226. package/dist/shortcuts/reception/operations/render.js +123 -0
  227. package/dist/shortcuts/reception/operations/runs.js +38 -0
  228. package/dist/shortcuts/reception/operations/schedule.js +127 -0
  229. package/dist/shortcuts/reception/operations/shared.js +196 -0
  230. package/dist/shortcuts/reception/operations/snapshot.js +68 -0
  231. package/dist/shortcuts/reception/operations/types.js +1 -0
  232. package/dist/shortcuts/reception/operations.js +33 -0
  233. package/dist/shortcuts/reception/upload.js +218 -0
  234. package/dist/shortcuts/recruit-stage/context.js +231 -0
  235. package/dist/shortcuts/recruit-stage/continuation.js +74 -0
  236. package/dist/shortcuts/recruit-stage/errors.js +65 -0
  237. package/dist/shortcuts/recruit-stage/host.js +109 -0
  238. package/dist/shortcuts/recruit-stage/index.js +115 -0
  239. package/dist/shortcuts/recruit-stage/manifest.js +29 -0
  240. package/dist/shortcuts/recruit-stage/operations/interview-arrange.js +722 -0
  241. package/dist/shortcuts/recruit-stage/operations/interview-feedback.js +269 -0
  242. package/dist/shortcuts/recruit-stage/operations/jd-create.js +719 -0
  243. package/dist/shortcuts/recruit-stage/operations/list.js +431 -0
  244. package/dist/shortcuts/recruit-stage/operations/registry.js +38 -0
  245. package/dist/shortcuts/recruit-stage/operations/resume-import.js +1354 -0
  246. package/dist/shortcuts/recruit-stage/operations/search.js +158 -0
  247. package/dist/shortcuts/recruit-stage/operations/types.js +25 -0
  248. package/dist/shortcuts/recruit-stage/school-tiers.json +318 -0
  249. package/dist/shortcuts/recruit-stage/shared.js +608 -0
  250. package/dist/shortcuts/workflow/continuation.js +2 -1
  251. package/dist/shortcuts/workflow/index.js +2 -0
  252. package/dist/shortcuts/workflow/operations/form.js +32 -8
  253. package/dist/shortcuts/workflow/operations/todoSmartConvert/detailFieldRules.js +4 -2
  254. package/dist/shortcuts/workflow/operations/todoSmartConvert/summaryCache.js +13 -6
  255. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailCache.js +17 -24
  256. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailFetcher.js +14 -9
  257. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.collect.js +50 -8
  258. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.core.js +2 -1
  259. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.detail.js +17 -11
  260. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.group.js +7 -39
  261. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.groupSummary.js +3 -2
  262. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.js +51 -15
  263. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.pipeline.js +16 -1
  264. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.smartGroup.js +151 -63
  265. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.subGroup.js +56 -0
  266. package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.summary.js +39 -14
  267. package/dist/shortcuts/workflow/operations/write.js +1 -1
  268. package/docs/_catalog.md +3 -0
  269. package/docs/agent-invoice.md +1 -1
  270. package/docs/archive-oa.md +1 -1
  271. package/docs/caizhilian.md +1 -1
  272. package/docs/calendar.md +1 -1
  273. package/docs/contract.md +1 -1
  274. package/docs/e10-auth.md +23 -1
  275. package/docs/ehr.md +2 -2
  276. package/docs/esb.md +1 -1
  277. package/docs/im.md +1 -1
  278. package/docs/invoice.md +8 -12
  279. package/docs/okr.md +1 -1
  280. package/docs/operation-manual.md +8 -0
  281. package/docs/reception.md +119 -0
  282. package/package.json +1 -1
  283. package/scripts/clean.mjs +43 -2
  284. package/scripts/install-skill-to-xiaoe.mjs +105 -0
  285. package/scripts/package-skill.mjs +4 -2
  286. package/skill-template/business-info.json +42 -2
  287. package/skill-template/domains/caizhilian.md +1 -1
  288. package/skill-template/domains/reception-flow.md +18 -0
  289. package/skill-template/domains/recruit-stage.md +29 -0
  290. package/skill-template/domains/yepiaotong.md +4 -7
  291. package/skills/weaver-e10-archive-oa/references/source-manifest.json +14 -14
  292. package/skills/weaver-e10-blog/references/blog-publish.md +1 -1
  293. package/skills/weaver-e10-blog/references/source-manifest.json +7 -7
  294. package/skills/weaver-e10-caizhilian/references/source-manifest.json +21 -21
  295. package/skills/weaver-e10-caizhilian/references/write-protocol.md +2 -2
  296. package/skills/weaver-e10-calendar/SKILL.md +2 -1
  297. package/skills/weaver-e10-calendar/references/calendar-write.md +55 -1
  298. package/skills/weaver-e10-cowork/SKILL.md +1 -1
  299. package/skills/weaver-e10-cowork/references/cowork-write.md +3 -1
  300. package/skills/weaver-e10-ebuilder-form/SKILL.md +1 -1
  301. package/skills/weaver-e10-ebuilder-form/references/custom-api.md +1 -1
  302. package/skills/weaver-e10-ebuilder-form/references/openapi-write.md +1 -1
  303. package/skills/weaver-e10-esb/SKILL.md +2 -2
  304. package/skills/weaver-e10-esb/references/source-manifest.json +22 -22
  305. package/skills/weaver-e10-esb/references/trigger.md +2 -2
  306. package/skills/weaver-e10-jinchengda/references/contract-clause-library-crud.md +1 -1
  307. package/skills/weaver-e10-jinchengda/references/contract-clause-reference-save.md +1 -1
  308. package/skills/weaver-e10-jinchengda/references/contract-request-write.md +1 -1
  309. package/skills/weaver-e10-jinchengda/references/source-manifest.json +29 -29
  310. package/skills/weaver-e10-jucailin/SKILL.md +1 -1
  311. package/skills/weaver-e10-jucailin/references/attend-write.md +10 -2
  312. package/skills/weaver-e10-jucailin/references/hr-contact.md +8 -0
  313. package/skills/weaver-e10-jucailin/references/hr-report.md +8 -0
  314. package/skills/weaver-e10-jucailin/references/recruit-create.md +14 -5
  315. package/skills/weaver-e10-jucailin/references/recruit-read.md +1 -1
  316. package/skills/weaver-e10-jucailin/references/recruit-write.md +5 -4
  317. package/skills/weaver-e10-mail/SKILL.md +1 -1
  318. package/skills/weaver-e10-meeting/SKILL.md +39 -7
  319. package/skills/weaver-e10-meeting/references/meeting-change.md +1 -1
  320. package/skills/weaver-e10-meeting/references/meeting-create.md +1 -1
  321. package/skills/weaver-e10-meeting/references/meeting-lifecycle.md +1 -1
  322. package/skills/weaver-e10-meeting/references/meeting-verification.md +1 -1
  323. package/skills/weaver-e10-okr/references/okr-align.md +1 -1
  324. package/skills/weaver-e10-okr/references/okr-keyresult.md +1 -1
  325. package/skills/weaver-e10-okr/references/okr-write.md +1 -1
  326. package/skills/weaver-e10-okr/references/source-manifest.json +8 -8
  327. package/skills/weaver-e10-plan/references/plan-report-write.md +1 -1
  328. package/skills/weaver-e10-plan/references/source-manifest.json +20 -20
  329. package/skills/weaver-e10-qiyecheng/references/loan-management.md +1 -1
  330. package/skills/weaver-e10-qiyecheng/references/source-manifest.json +18 -18
  331. package/skills/weaver-e10-reception-flow/SKILL.md +173 -0
  332. package/skills/weaver-e10-reception-flow/assets//350/241/214/347/250/213/345/215/225/346/250/241/346/235/277-/346/263/233/345/276/256.docx +0 -0
  333. package/skills/weaver-e10-reception-flow/data/fields-snapshot.json +213 -0
  334. package/skills/weaver-e10-reception-flow/references/browsertool.md +68 -0
  335. package/skills/weaver-e10-reception-flow/references/env-pitfalls.md +51 -0
  336. package/skills/weaver-e10-reception-flow/references/fields-snapshot.md +227 -0
  337. package/skills/weaver-e10-reception-flow/references/guide.md +179 -0
  338. package/skills/weaver-e10-reception-flow/scripts/locate.sh +14 -0
  339. package/skills/weaver-e10-reception-flow/scripts/render.py +724 -0
  340. package/skills/weaver-e10-recruit-stage/SKILL.md +230 -0
  341. package/skills/weaver-e10-recruit-stage/agents/openai.yaml +119 -0
  342. package/skills/weaver-e10-recruit-stage/lib/recruit-xiaoe-file.mjs +188 -0
  343. package/skills/weaver-e10-recruit-stage/lib/xiaoe-session.mjs +66 -0
  344. package/skills/weaver-e10-recruit-stage/references/position-templates.md +202 -0
  345. package/skills/weaver-e10-recruit-stage/references/recruit-arrange-interview.md +322 -0
  346. package/skills/weaver-e10-recruit-stage/references/recruit-capability-check.md +127 -0
  347. package/skills/weaver-e10-recruit-stage/references/recruit-check-install.md +65 -0
  348. package/skills/weaver-e10-recruit-stage/references/recruit-detail-process.md +63 -0
  349. package/skills/weaver-e10-recruit-stage/references/recruit-edit-interview-feedback.md +142 -0
  350. package/skills/weaver-e10-recruit-stage/references/recruit-jd-create.md +95 -0
  351. package/skills/weaver-e10-recruit-stage/references/recruit-jd-template.md +56 -0
  352. package/skills/weaver-e10-recruit-stage/references/recruit-list-candidate.md +101 -0
  353. package/skills/weaver-e10-recruit-stage/references/recruit-list-interview.md +148 -0
  354. package/skills/weaver-e10-recruit-stage/references/recruit-match-candidates.md +77 -0
  355. package/skills/weaver-e10-recruit-stage/references/recruit-output-links.md +59 -0
  356. package/skills/weaver-e10-recruit-stage/references/recruit-resolve-creator.md +69 -0
  357. package/skills/weaver-e10-recruit-stage/references/recruit-resolve-metadata.md +241 -0
  358. package/skills/weaver-e10-recruit-stage/references/recruit-resume-import.md +451 -0
  359. package/skills/weaver-e10-recruit-stage/references/recruit-resume-parse.md +128 -0
  360. package/skills/weaver-e10-recruit-stage/references/recruit-search-candidate.md +146 -0
  361. package/skills/weaver-e10-recruit-stage/references/recruit-urge-feedback.md +69 -0
  362. package/skills/weaver-e10-shared/SKILL.md +1 -1
  363. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +10 -2
  364. package/skills/weaver-e10-shijingran/SKILL.md +7 -6
  365. package/skills/weaver-e10-shijingran/references/operations.md +3 -1
  366. package/skills/weaver-e10-shijingran/references/source-manifest.json +30 -28
  367. package/skills/weaver-e10-shijingran/references/write-operations.md +2 -0
  368. package/skills/weaver-e10-skill-maker/references/module-cli-generation.md +2 -0
  369. package/skills/weaver-e10-wenshuding/references/source-manifest.json +3 -3
  370. package/skills/weaver-e10-workflow/SKILL.md +4 -2
  371. package/skills/weaver-e10-workflow/aigroup/default.json +11 -9
  372. package/skills/weaver-e10-workflow/references/source-manifest.json +32 -32
  373. package/skills/weaver-e10-workflow/references/todo-smart-convert.md +23 -13
  374. package/skills/weaver-e10-workflow/tools/todo-summary.cjs +62 -20
  375. package/skills/weaver-e10-yepiaotong/SKILL.md +28 -36
  376. package/skills/weaver-e10-yepiaotong/references/invoice-agent-entry.md +6 -3
  377. package/skills/weaver-e10-yepiaotong/references/invoice-detail.md +13 -10
  378. package/skills/weaver-e10-yepiaotong/references/invoice-enterprise-list.md +2 -0
  379. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-workflow.md +194 -155
  380. package/skills/weaver-e10-yepiaotong/references/invoice-output-view.md +28 -32
  381. package/skills/weaver-e10-yepiaotong/references/invoice-personal-list.md +5 -1
  382. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +8 -10
  383. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +211 -616
  384. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +149 -117
  385. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +17 -20
  386. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +20 -39
  387. package/skills/weaver-e10-yepiaotong/references/reim-matching-rules.md +55 -22
  388. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +7 -17
  389. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +88 -92
  390. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +144 -354
  391. package/skills/weaver-e10-yimiaoban/SKILL.md +1 -1
  392. package/skills/weaver-e10-yimiaoban/references/msg-write.md +1 -1
  393. package/skills/weaver-e10-yimiaoban/references/safety-boundaries.md +1 -1
  394. package/skills/weaver-e10-yimiaoban/references/source-manifest.json +7 -7
  395. package/dist/chunks/chunk-SPRHHSVC.js +0 -465
  396. package/dist/chunks/registry-KMHCPAAD.js +0 -22
  397. package/dist/shortcuts/invoice/markdown.js +0 -172
  398. package/dist/shortcuts/invoice/operations/issuing-qys.js +0 -424
  399. package/skills/weaver-e10-meeting.zip +0 -0
  400. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +0 -131
  401. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-form-fill-rules.md +0 -179
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: recruit-list-candidate
3
+ description: 查询应聘者列表(候选人台账),支持按职位/人才/批次精确筛选与翻页取全,返回候选人、职位、阶段、渠道、手机/邮箱等,用于「看某职位的候选人」与「按岗位找/筛候选人」
4
+ ---
5
+
6
+ # 查询应聘者列表
7
+
8
+ > **平台兼容**:本文命令示例在 macOS/Linux 与 Windows PowerShell 下均可执行——JSON 用单引号包裹、内部双引号不转义;PowerShell 下不使用反斜杠续行。
9
+
10
+ > 本文档示例中的 `env` / `form_data_id` / `talent_id` 等均为**实测环境的参考值**(不同环境全部不同);运行时按菜单别名 / `ds/fields` 解析,**不得写死**(见 `recruit-resolve-metadata.md`)。
11
+
12
+ ## 1. 基础信息
13
+ - 接口名称:查询应聘者列表(候选人台账)
14
+ - 请求方式:`POST`
15
+ - 去域名路径:`/api/ebuilder/form/list/getListDatas`(与搜索人才/需求/职位同族列表接口)
16
+ - 脚本:`node scripts/recruit-list.mjs --type candidate [--position-id <id>] [--talent-id <id>] [--all]`
17
+ - 所属模块:招聘管理(recruit)
18
+ - 所属分组:应聘者 / 查询
19
+
20
+ ## 2. 业务用途
21
+ 用户说"**这个职位有哪些候选人**""看下 X 职位的应聘者""**帮我找到适合这个岗位的候选人**""筛优质候选人"时调用。返回「应聘者」列表(候选人台账),每行含候选人、应聘职位、当前阶段、渠道、手机/邮箱、人才 id。属只读查询,**无需确认门**。
22
+
23
+ > 需求对应:【人事招聘阶段 3】④「帮我找到适合这个岗位的候选人,筛选优质候选人」——本接口提供**候选人数据**,匹配度打分/排序由 AI 完成(见 `recruit-match-candidates.md`)。
24
+
25
+ ## 3. 前置条件
26
+ - 已安装招聘服务(第 0 步闸门通过)。
27
+ - **列表参数解析(跨环境、不写死)**:优先环境缓存 `lists.candidate`;缺失时**按菜单名「应聘者」从菜单树解析** `listId`/`cusMenuId`(脚本已内置该回退)。表单 `objId` 经 tag 或缓存 `forms.candidate_manage` 解析。
28
+ - 上下文参数按 `recruit-resolve-metadata.md` §7 全带(缺则假空)。
29
+
30
+ ## 4. 请求参数
31
+
32
+ ### 4.1 Query
33
+ | 字段 | 位置 | 类型 | 必填 | 业务说明 |
34
+ |---|---|---|---|---|
35
+ | `passid` / `cid` | query | string | 是 | 应聘者表单 `objId` |
36
+
37
+ ### 4.2 Body(getListDatas 同族)
38
+ | 字段 | 位置 | 类型 | 必填 | 业务说明 |
39
+ |---|---|---|---|---|
40
+ | `listId` | body | string | 是 | 应聘者列表视图 id(`lists.candidate` 或「应聘者」菜单) |
41
+ | `cusMenuId` | body | string | 是 | 同上菜单 id |
42
+ | `searchParamData` | body | object | 是 | `{ "searchType":"3", "type":"and" }` + 可选 `commonSearchFields`(服务端条件,**实测对 `position_id` 不生效**,见 §4.3) |
43
+ | 上下文参数 | body | — | 是 | `terminal`/`browser`/`requiredMatch`/`mapResult`/`recheckQuery`/`isFollow`/`isShareToMe`/`filterCondition`/`urlPageTitle`/`menuName` |
44
+
45
+ ### 4.3 脚本筛选参数(**客户端本地等值筛选,跨环境稳定**)
46
+ | 参数 | 对应 dataKey | 说明 |
47
+ |---|---|---|
48
+ | `--position-id <职位id>` | `position_id` | 只保留该职位的候选人 |
49
+ | `--talent-id <人才id>` | `talent_id` | 只保留该人才的批次 |
50
+ | `--candidate-manage-id <批次id>` | `candidate_manage_id` | 只保留该批次 |
51
+ | `--all` | — | **翻页取全后再筛**(`--max-pages` 上限默认 20)——按职位筛「务必加 `--all`**,否则只筛第一页 |
52
+
53
+ > 实测:服务端 `commonSearchFields` 传 `position_id like` 返回**未过滤**的结果(0 效果),故筛选**一律在客户端按 dataKey 等值做**;`--all` 保证扫的是全量而不是首页 20 条。
54
+
55
+ ## 5. 响应数据结构(行字段)
56
+ | 字段 | 说明 |
57
+ |---|---|
58
+ | `candidate_name` | 候选人姓名 |
59
+ | `position_name` / `position_id` | 应聘职位名 / 职位 id |
60
+ | `stage_name` / `stage_type_key` | 当前阶段(初筛 / 面试 / 待入职 …) |
61
+ | `resume_channel` | 渠道(手动录入 / 内部推荐 / BOSS直聘 / 培训机构 …) |
62
+ | `telephone` / `email` / `gender_name` | 手机 / 邮箱 / 性别 |
63
+ | `talent_id` | 人才 id(人才卡片 URL 输出契约见 `recruit-output-links.md`) |
64
+ | `create_time` | 投递/创建时间 |
65
+ | `form_data_id` | 应聘记录 id |
66
+
67
+ ## 6. 请求示例
68
+ ```bash
69
+ # 某职位的全部候选人(先翻页取全再本地筛)
70
+ node scripts/recruit-list.mjs --type candidate --position-id <职位id> --all --page-size 20
71
+ # 只看首页 20 条内符合条件的
72
+ node scripts/recruit-list.mjs --type candidate --position-id <职位id> --page-size 20
73
+ ```
74
+
75
+ ## 7. 响应示例(脚本)
76
+ ```json
77
+ { "env": "<测试环境地址>", "type": "candidate", "total": 75, "returned": 14, "filters": ["职位"],
78
+ "rows": [
79
+ { "candidate_name": "陈宇", "position_name": "AI工程师", "stage_name": "初筛", "resume_channel": "手动录入",
80
+ "telephone": "13800000003", "talent_id": "1325294055798906885" }
81
+ ] }
82
+ ```
83
+
84
+ ## 8. 错误码
85
+ | 错误码 | 含义 | AI 处理建议 |
86
+ |---|---|---|
87
+ | 非 200 | 认证/参数错误 | 检查认证 / `listId`/`cusMenuId` |
88
+ | 菜单未匹配 | 环境未启用「应聘者」菜单 | 按 `recruit-capability-check.md` 拦截,不硬凑近似菜单 |
89
+ | 筛选后 0 行 | 该职位确无候选人,或未加 `--all` 只扫了首页 | 加 `--all` 复跑一次再下结论 |
90
+
91
+ ## 9. 调用参考
92
+ - 用户场景:"这个职位有哪些候选人""帮我找到适合这个岗位的候选人"。
93
+ - **流程**:能力探测 → 解析 `objId`/`listId`/`cusMenuId` → `--position-id` + `--all` 取候选人 → 展示或交给 `recruit-match-candidates.md` 打分排序。
94
+ - 与 `recruit-search-candidate.md` 的区别:那个是**按手机/姓名/渠道在人才库搜**;本接口是**按职位查应聘者台账**(候选人维度)。
95
+
96
+ ## 10. 注意事项
97
+ - **只读查询,无确认门**。
98
+ - **菜单名跨基线不同**:「应聘者」(环境A) / **「应聘管理」**(环境B)——脚本按别名数组匹配,不写死。
99
+ - **阶段字段跨基线不同**:`stage_name`(环境A) / **`stage_type_key`**(环境B)→ 已归一到 `stage_name`。
100
+ - **按职位筛必须加 `--all`**:服务端不做该筛选,本地筛只作用于已取回的行。
101
+ - 展示行内不输出无意义裸 id;`talent_id` 保留(供查看详情/打开人才卡片)。
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: recruit-list-interview
3
+ description: 查询面试管理列表(面试安排),支持按「近 N 天」过滤与按开始时间排序,返回候选人/职位/面试方式/环节/轮次/面试官/时间/反馈状态,用于「查看近期的面试安排」
4
+ ---
5
+
6
+ # 查询面试安排列表
7
+
8
+ > **平台兼容**:本文命令示例在 macOS/Linux 与 Windows PowerShell 下均可执行——JSON 用单引号包裹、内部双引号不转义;PowerShell 下不使用反斜杠续行。
9
+
10
+ > 本文档示例中的 `env` / `form_data_id` / `talent_id` 等均为**实测环境的参考值**(不同环境全部不同);运行时按菜单别名 / `ds/fields` 解析,**不得写死**(见 `recruit-resolve-metadata.md`)。
11
+
12
+ ## 1. 基础信息
13
+ - 接口名称:查询面试管理列表(面试安排)
14
+ - 请求方式:`POST`
15
+ - 去域名路径:`/api/ebuilder/form/list/getListDatas`(与搜索人才/需求/职位同族列表接口)
16
+ - 脚本:`node scripts/recruit-list.mjs --type interview [--recent <N>] [--sort start_time] [--page-size 20]`
17
+ - 所属模块:招聘管理(recruit)
18
+ - 所属分组:面试 / 查询
19
+
20
+ ## 2. 业务用途
21
+ 用户说"**查看近期的面试安排**""这周有哪些面试""X 的面试安排在什么时候""谁还没反馈面试"时调用。返回「面试管理」列表,每行含候选人、职位、面试时间、面试方式、环节/轮次、面试官、反馈状态。属只读查询,**无需确认门**。
22
+
23
+ > 需求对应:【人事招聘阶段 4】① 招聘人员在小e 中询问「查看近期的面试安排」——本接口即该问句的数据底座;右侧窗口用 artifact 打开「面试管理」列表(见 §9)。
24
+
25
+ ## 3. 前置条件
26
+ - 已安装招聘服务(第 0 步闸门通过)。
27
+ - **能力探测**:面试计划表单 `objId` 经 tag `uf_rcrt_interview_plan` 解析;列表 `listId`/`cusMenuId` 取环境缓存的 `lists.interview`(运行时解析,跨环境不写死)。缺失 → 按 `recruit-capability-check.md` 判定"未启用",提示「当前环境未提供面试管理功能」,不硬凑。
28
+ - 上下文参数按 `recruit-resolve-metadata.md` §7 全带(缺则假空)。
29
+
30
+ ## 4. 请求参数
31
+
32
+ ### 4.1 Query
33
+ | 字段 | 位置 | 类型 | 必填 | 业务说明 |
34
+ |---|---|---|---|---|
35
+ | `passid` / `cid` | query | string | 是 | 面试计划表单 `objId` |
36
+
37
+ ### 4.2 Body(getListDatas 同族)
38
+ | 字段 | 位置 | 类型 | 必填 | 业务说明 |
39
+ |---|---|---|---|---|
40
+ | `listId` | body | string | 是 | 面试列表视图 id(`lists.interview.listId`) |
41
+ | `cusMenuId` | body | string | 是 | 同上菜单 id |
42
+ | `searchParamData` | body | object | 是 | `{ "searchType":"3", "type":"and" }`(条件见 §4.4) |
43
+ | 上下文参数 | body | — | 是 | `terminal`/`browser`/`requiredMatch`/`mapResult`/`recheckQuery`/`isFollow`/`isShareToMe`/`filterCondition`/`urlPageTitle`/`menuName` |
44
+ | `current` / `pageSize` | body | int | 否 | 分页(脚本 `--page` / `--page-size`) |
45
+
46
+ ### 4.3 脚本本地过滤/排序(**不依赖服务端,跨环境稳定**)
47
+ | 参数 | 说明 |
48
+ |---|---|
49
+ | `--recent <N>` | 仅保留 `start_time` 在**近 N 天**内的行(本地按数据里的时间字符串判定;需求"近期"由它落地) |
50
+ | `--sort <dataKey>` | 按该字段**倒序**排序(时间类取最新在前,如 `--sort start_time`) |
51
+ | `--all` | 翻页取全量后再过滤/排序(`--max-pages` 控制上限,默认 20) |
52
+
53
+ > 实测:服务端 `commonSearchFields` 对**时间字段**筛选不稳定,故"近期"一律在本地做(`--recent`)。
54
+
55
+ ## 5. 响应数据结构(行字段)
56
+ | 字段 | 说明 |
57
+ |---|---|
58
+ | `candidate_name` | 候选人姓名 |
59
+ | `position_name` | 应聘职位 |
60
+ | `start_time` / `end_time` | 面试开始 / 结束时间(`yyyy-MM-dd HH:mm`) |
61
+ | `interview_session` | 环节(初试/复试…) |
62
+ | `interview_type_key` | **面试方式**(现场面试 / 视频面试 / 电话面试 / **AI面试**) |
63
+ | `interview_rounds` | 轮次(第一轮/第四轮…) |
64
+ | `interviewer` | 面试官 |
65
+ | `union_status_key` | 反馈状态(待反馈 / 已反馈…) |
66
+ | `subject` | 面试主题(如「AI工程师-李沐的面试」) |
67
+ | `talent_id` / `position_manage_id` / `candidate_manage_id` | 人才 / 职位 / 应聘批次 id(下游编排用) |
68
+ | `form_data_id` | 面试记录 id(详情/反馈用) |
69
+
70
+ > ⚠️ `interview_type_key`、`interview_rounds` 在 displayData 里**偶尔回退成 optionId**;脚本已做 `ds/options` 运行时映射回中文(映射不到才保留原值)。
71
+
72
+ ## 6. 请求示例
73
+ ```bash
74
+ # 查看近期(30 天内)面试安排,按开始时间倒序,取全量
75
+ node scripts/recruit-list.mjs --type interview --recent 30 --sort start_time --all --page-size 20
76
+ # 不加 --recent 则返回列表默认顺序的全部页;--page-size 控制单页
77
+ node scripts/recruit-list.mjs --type interview --page-size 10
78
+ ```
79
+
80
+ ## 7. 响应示例(脚本)
81
+ ```json
82
+ { "env": "<测试环境地址>", "type": "interview", "total": 16, "totalExact": true,
83
+ "recentDays": 30, "returned": 3,
84
+ "rows": [
85
+ { "candidate_name": "李沐", "position_name": "AI工程师", "start_time": "2026-10-10 13:19", "end_time": "2026-10-17 13:19",
86
+ "interview_session": "初试", "interview_type_key": "AI面试", "interview_rounds": "第四轮",
87
+ "interviewer": "招聘专员", "union_status_key": "待反馈", "subject": "AI工程师-李沐的面试",
88
+ "talent_id": "1276382457065553922", "position_manage_id": "1276382220792020998" }
89
+ ] }
90
+ ```
91
+
92
+ ## 8. 错误码
93
+ | 错误码 | 含义 | AI 处理建议 |
94
+ |---|---|---|
95
+ | 非 200 | 认证/参数错误 | 检查认证(`weaver-work-cli auth status`)/ `listId`/`cusMenuId` |
96
+ | `rows` 空 | 无面试记录 / 或 `--recent` 过滤后无命中 | 去掉 `--recent` 复跑一次再判"无记录" |
97
+ | 菜单未匹配 | 环境未启用面试管理 | 拦截提示,不硬凑 |
98
+
99
+ ## 9. 调用参考
100
+ - 用户场景:"查看近期的面试安排""这周的面试""谁还没反馈"。
101
+ - **流程**:能力探测(面试菜单存在)→ 解析 `objId`/`listId`/`cusMenuId` → `--recent N` 过滤 + `--sort start_time` → 展示(按"时间 → 候选人(职位)· 方式 · 环节/轮次 · 面试官 · 反馈状态"排版)。
102
+ - **右侧窗口**:小E 场景可在回答末尾附 `<artifact>[{"file_name":"面试管理","file_type":"url","url":"<面试管理列表URL>"}]</artifact>` 让右侧打开面试管理列表(URL 拼装见 `recruit-arrange-interview.md` §11 `interviewListUrl`)。
103
+
104
+ ## 10. 注意事项
105
+ - **只读查询,无确认门**。
106
+ - **跨基线列名不同**(环境B用 `name`/`interview_type`/`union_status`,且 `talent_id`/`position_manage_id` 直接给文本)→ 脚本已用 `DISPLAY_ALIASES` 归一为 `candidate_name`/`interview_type_key`/`union_status_key`;**调用方按归一后的字段读,别按环境分支判断**(详见 `recruit-resolve-metadata.md`)。
107
+ - "近期"由 `--recent N` 落地(本地判定),**不要臆造服务端时间筛选参数**。
108
+ - `total` 在部分列表不可信(某环境实测计数返回 167994,明显虚高):以 `scanned`(实际取回)与 `returned`(过滤后)为准;`--all` 触达 `--max-pages` 上限时 `totalNote` 会提示。
109
+ - 展示时间统一 `yyyy-MM-dd HH:mm`;行内不输出无意义的 16 位裸 id(`talent_id` 等业务 id 保留,供下游编排)。
110
+
111
+ ## 10. 面试待办:`--feedback-todo`(只返回我要填反馈的)
112
+
113
+ ```bash
114
+ node scripts/recruit-list.mjs --type interview --feedback-todo
115
+ ```
116
+
117
+ 固定输出两个分组(**只含我作为面试官的记录**,不返回全量面试列表):
118
+
119
+ | 分组 | 含义 | 判据 |
120
+ |---|---|---|
121
+ | `myAiPendingFeedback` | **AI 面试已答完、已有录像、我还没填意见** ← 主清单 | 待反馈 + AI面试 + 面试官含我 |
122
+ | `myOtherPendingFeedback` | 我作为面试官的其他方式面试待反馈(现场/视频/电话) | 待反馈 + 面试官含我 |
123
+
124
+ **为什么不用看视频字段**:后端 `InterviewStatusEnum.TO_FEEDBACK`(待反馈)的置位条件是
125
+ `InterviewPlanStatusPerPlanThread` 判定的「AI 面试结束时间已过 且(有录像附件 或 已开始录制)且 反馈结果为空」
126
+ ——**「待反馈」本身就等于「已完成 + 有视频 + 未填意见」**,技能侧无需再读视频字段(`video_url_info` 是「视频面试地址」,HR 手填的会议链接,与录像无关)。
127
+
128
+ 取数策略(面试列表服务端筛选不生效,只能客户端筛):
129
+ - 自动隐含 `--all`,默认 `--page-size 200`、`--max-pages 5`(约 1000 条,实测 4–5 秒)
130
+ - 输出 `scanned` 与实际总数对比,并在 `note` 提示是否需要加大 `--max-pages`
131
+ - 当前用户由 `teamsCheck` 解析(`currentUser.username`),失败时 `mine` 为空并给出 note
132
+
133
+ 输出示例:
134
+
135
+ ```json
136
+ {
137
+ "feedbackTodo": {
138
+ "currentUser": "李伟(上海)",
139
+ "scanned": 1000,
140
+ "myAiPendingFeedback": { "count": 1, "rows": [{ "candidate_name": "2606基线测试", "position_name": "大模型算法工程师", "start_time": "2026-10-27 11:47", "interview_session": "初试", "union_status_key": "待反馈", "form_data_id": "..." }] },
141
+ "myOtherPendingFeedback": { "count": 0, "rows": [] },
142
+ "note": "已扫描 1000/168386 条(面试列表默认顺序),未覆盖全部;如怀疑遗漏可加 --max-pages N 扩大"
143
+ }
144
+ }
145
+ ```
146
+
147
+ > 时效性:待反馈状态由 E10 调度任务 `RecruitSyncInterviewPlanStatusTask` 定时同步(非实时),
148
+ > 刚结束的 AI 面试可能有几分钟延迟;提示语里应说明「以系统状态为准」。
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: recruit-match-candidates
3
+ description: 按岗位找/筛优质候选人——用应聘者列表 + 职位 JD 做 AI 人岗匹配打分与排序,输出候选人评分卡与建议清单(不落库、不改状态)
4
+ ---
5
+
6
+ # 按岗位找 / 筛优质候选人(人岗匹配)
7
+
8
+ ## 1. 业务用途
9
+ 用户说"**帮我找到适合这个岗位的候选人**""筛一下优质候选人""这个职位谁最合适""按 JD 帮我排个优先级"时走本编排。输出**候选人评分卡 + 建议清单**,并在小E 场景可在右侧打开人才卡片。
10
+
11
+ > 需求对应:【人事招聘阶段 3】④「招聘人员在小e 中询问『帮我找到适合这个岗位的候选人』,筛选优质候选人」。
12
+
13
+ ## 2. 能力边界(重要,先对齐)
14
+ - **没有"人岗匹配度"后端接口**:`api-index` 全量端点中**无** match/score/degree 类接口;招聘侧 `label` 只有"标签匹配"(`matchTalentLabel`),**不是匹配度**。
15
+ - 因此**匹配度 = AI 评估能力**(与《AI人岗智能匹配_功能表述参考》讲稿一致):解析 JD → 建"岗位能力模型" → 逐维比对候选人 → 输出匹配率与优劣势。
16
+ - **不落库**:`uf_rcrt_talent_pool` / 候选人记录**没有匹配度字段**(已核 95 个字段);本能力只**输出评分与建议**,不回写、不改候选人阶段/状态。
17
+
18
+ ## 3. 数据底座(全部只读)
19
+ | 数据 | 来源 |
20
+ |---|---|
21
+ | 目标职位(含 JD 职责/要求) | `recruit-list.mjs --type position` 定位 → 详情取 `position_duty` / `work_request` / `education` / `work_years` / `work_location` / `recruit_count` |
22
+ | 该职位的候选人 | `recruit-list.mjs --type candidate --position-id <职位id> --all --page-size 20`(见 `recruit-list-candidate.md`) |
23
+ | 候选人细节(可选,用于逐维比对) | `recruit-detail.mjs --talent-id <talent_id>`(基础信息/教育/工作经历,见 `recruit-detail-*.md`) |
24
+ | 简历原文(可选) | 人才卡片「原始简历」(见 `recruit-resume-import.md` §11 / `recruit-resume-parse.md`) |
25
+
26
+ ## 4. 打分模型(AI 侧执行,维度可依企业标准调整)
27
+ | 维度 | 权重 | 判据(来自 JD 与候选人数据) |
28
+ |---|---|---|
29
+ | 硬性条件 | 高 | 学历、工作年限、工作地点、必要证书 |
30
+ | 硬技能 | 高 | JD 职责/要求中的技术栈/工具/行业经验 vs 候选人技能与工作经历 |
31
+ | 经验相关性 | 中 | 行业/岗位相关性、项目复杂度、管理与协作经验 |
32
+ | 加分项 | 低 | 名企背景、外语能力、可立即到岗等 |
33
+ | 风险点 | — | 频繁跳槽、经验断层、地点不符等(单列提示,不直接降分) |
34
+
35
+ **产出**:每位候选人 `匹配度(0–100 或 高/中/低)` + `命中点` + `缺口` + `一句话建议`。
36
+
37
+ ## 5. 执行流程(Agent 编排)
38
+ 1. **定位职位**:`node scripts/recruit-list.mjs --type position` 找目标职位 → 拿职位 `form_data_id` 与 JD 文本(缺失则读职位详情)。
39
+ 2. **取候选人**:`node scripts/recruit-list.mjs --type candidate --position-id <职位id> --all --page-size 20`。
40
+ 3. **(可选)补细节**:对前若干名调 `recruit-detail.mjs --talent-id <id>` 取教育/工作经历,做逐维比对。
41
+ 4. **AI 打分排序**:按 §4 维度逐人评分,输出**评分卡表格**(默认 Top 5–10)。
42
+ 5. **展示与跳转**:给出建议清单;小E 场景附 `<artifact>` 打开人才卡片或人才管理列表(见 §6)。
43
+
44
+ ## 6. 输出样式
45
+ ```markdown
46
+ **<职位名> · 候选人匹配度(共 N 人,按匹配度排序)**
47
+
48
+ | # | 候选人 | 匹配度 | 命中 | 缺口 | 建议 |
49
+ |---|---|---|---|---|---|
50
+ | 1 | 李沐 | 高(88) | 5年Java、AI项目经验;地点匹配 | 学历未达"本科" | 优先安排面试 |
51
+ | 2 | 何子元 | 中(65) | 技能匹配 | 年限偏少(1年) | 可作备选 |
52
+ ```
53
+ - 匹配度**必须给依据**(命中/缺口逐条),不空喊分数;
54
+ - **缺失数据不编造**:学历/年限缺就写"信息缺失",标注需人工核对。
55
+
56
+ ## 7. 右侧打开(小E 场景)
57
+ - 打开**人才卡片**:`{baseUrl}/sp/ebdpage/view/{ebdDetailPageId}?talentId={talent_id}`(见 `recruit-resume-import.md` §11)
58
+ - 打开**人才管理/应聘者列表**:用菜单拼装(同 `recruit-list-interview.md` §9 范式)
59
+ - 用法:把 `<artifact>[{"file_name":"…","file_type":"url","url":"…"}]</artifact>` 附在回答正文末尾(**仅小E**;WorkBuddy 桌面端不解析)。
60
+
61
+ ## 8. 错误码 / 异常处理
62
+ | 情况 | 处理 |
63
+ |---|---|
64
+ | 职位下无候选人 | 提示"该职位暂无候选人",并给出「人才库按关键词搜」的替代路径(`recruit-search-candidate.md`) |
65
+ | 筛选后 0 行 | 检查是否漏了 `--all`(只扫了首页) |
66
+ | 候选人教育/经历缺失 | 标注"信息缺失",不臆测;必要时先 `recruit-detail.mjs` 补取 |
67
+ | 环境未启用「应聘者」菜单 | 按 `recruit-capability-check.md` 拦截,不硬凑 |
68
+
69
+ ## 9. 调用参考(一句话触发示例)
70
+ - "帮我找 AI工程师 这个岗位合适的候选人" → 取候选人 + AI 打分 Top N。
71
+ - "这个职位的候选人帮我排个优先级" → 同上,输出排序表。
72
+ - "李沐适合这个岗位吗" → 单人对单岗评分卡。
73
+
74
+ ## 10. 注意事项
75
+ - **只读、不落库、不改状态**:不写匹配度、不改候选人阶段、不发通知。
76
+ - **不替代业务决策**:评分是辅助建议,最终以 HR 判断为准;展示时明确"AI 评估,仅供参考"。
77
+ - **维度可配置**:若企业有"岗位能力模型/招聘标准",以其为准(见 `recruit-jd-template.md`),本文件 §4 为通用兜底。
@@ -0,0 +1,59 @@
1
+ # 查看类产物的输出形态:**Markdown 链接**(不用 browsertool 卡片)
2
+
3
+ ## 基础信息
4
+
5
+ | 项目 | 内容 |
6
+ |---|---|
7
+ | 输出物 | **两个 Markdown 链接**(`[标题](url)`):① 新建职位详情查看页 ② 招聘岗位列表(已定位新建职位的"列表+滑出详情"组合页) |
8
+ | 由谁渲染 | 对话正文的标准 Markdown 渲染(平台原生,**已实证可点击**) |
9
+ | 网络请求 | 无(url 由脚本 `--commit` 产出,Agent 只负责按格式搬运) |
10
+ | 所属模块 | recruit-stage |
11
+ | 用途类型 | 用户场景 |
12
+
13
+ > 这不是 HTTP 接口文档,是**输出格式契约**。url 由脚本产出(任务1:`viewLink` / `listLocateLink`;任务2:`talentCardUrl` / `talentListLocateUrl`)。
14
+
15
+ ## 任务2(简历建档)的人才产物:也是两个 Markdown 链接
16
+
17
+ | 链接 | 字段 | 形态 |
18
+ |---|---|---|
19
+ | ① 人才卡片单页 | `talentCardUrl` | `{baseUrl}/sp/ebdpage/view/{ebdDetailPageId}?talentId={id}`(详情页 id 走环境缓存) |
20
+ | ② 人才库列表并打开该人才 | `talentListLocateUrl` | `{baseUrl}/sp/ebdfpage/list/{listId}?talentId={id}&recruitType=useSelf`(listId 取环境缓存 `lists.talent.listId`,跨环境动态组合) |
21
+
22
+ 口径与任务1 一致:两个链接都放正文、缺哪个只给另一个;browsertool / 正文 `<artifact>` 标记一律不用(原因见下)。
23
+
24
+ ## 为什么用普通链接(而不是 browsertool 卡片)——实测结论,勿回退
25
+
26
+ | 备选 | 实测结论 |
27
+ |---|---|
28
+ | **Markdown 链接(采用)** | ✅ 用户实测:可点击、浏览器已有 E10 登录态时免登录直接打开(2026-10-21) |
29
+ | `toolId: "fill_form"` 卡片 | ❌ 会执行一轮**真实填单动作**;在**非表单页**(职位详情/列表页)**卡死在「正在填单」**(2026-10-21 实测,第二张卡即此症状)。只有真正的**表单创建页**(如请休假 workflow 创建页)才适合 |
30
+ | `toolId: "open_web"` 卡片 | ⚠️ 未实测;其落点是宿主工作区视图(`bridge.open`),E10 页面可能再撞 SameSite 登录墙 —— 实证优先,不押注 |
31
+ | 正文手拼 `<artifact>` | 小E 规范禁止;且 10-16 起正文标记通道已变更 ⇒ 不可用 |
32
+
33
+ ## 输出格式(脚本已生成,Agent 原样搬运)
34
+
35
+ ```markdown
36
+ [查看 Java开发工程师 职位详情](https://…/sp/ebdfpage/card/0/{objId}/{dataId})
37
+ [打开招聘岗位列表(已定位新建职位)](https://…/sp/ebdfpage/list/{listId}/card/0/{objId}/{dataId}/{listId}?id={dataId}&openSource=field&openSourceId={dataId}&openSourceAppId={appId})
38
+ ```
39
+
40
+ | 链接 | 脚本字段 | 打开效果 |
41
+ |---|---|---|
42
+ | ① 职位详情查看页 | `viewLink`(url = `positionCardUrl`) | 单条职位的卡片详情页 |
43
+ | ② 列表 + 定位 | `listLocateLink`(url = `positionListLocateUrl`) | 招聘岗位列表 + 右侧滑出本次新建职位的详情 |
44
+
45
+ **组合页地址格式**(脚本 `buildListLocateUrl` 动态拼装,全部 id 运行时解析):
46
+
47
+ ```
48
+ {base}/sp/ebdfpage/list/{listId}/card/0/{objId}/{dataId}/{listId}?id={dataId}&openSource=field&openSourceId={dataId}&openSourceAppId={appId}
49
+ ```
50
+
51
+ - listId = 环境缓存 `lists.position.listId`(init 按菜单别名解析);objId = tag 解析;dataId = 本次落库结果;appId = 安装闸门发现
52
+ - **简化版实测可用**(2026-10-21,浏览器注入凭证验证):不需要 `EbdfListToCardKey`(会话级哈希)与 `targetConditionId`(每环境配置 id),去掉后照样打开列表并滑出详情
53
+
54
+ ## 输出要求(给 Agent 的执行约定)
55
+
56
+ 1. 两个链接**按顺序**放在回答里(详情在前、列表在后),原样搬运 `viewLink` / `listLocateLink` 字符串
57
+ 2. 链接只是查看入口:职位在用户确认时已一次性落库,**重复点击不会重复创建**
58
+ 3. 某个 url 拼不出来时只给另一个,并说明原因;不输出半截链接
59
+ 4. 提醒一句:需浏览器已登录 E10 才能打开(登录态在浏览器里,与对话登录态相互独立)
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: recruit-resolve-creator
3
+ description: Agent 辅助 — 把创建人/成员字段的自然语言名称解析为 EB 用户 ID
4
+ ---
5
+
6
+ # 创建人名称 → ID 解析(Agent 辅助)
7
+
8
+ ## 1. 基础信息
9
+ - 接口名称:浏览器字段联想(人员)
10
+ - 请求方式:`POST`
11
+ - 去域名路径:`/api/ebuilder/form/common/browser/complete/resource`
12
+ - 所属模块:招聘管理(recruit)
13
+ - 所属分组:解析 / Agent 辅助
14
+
15
+ ## 2. 业务用途
16
+ 列表后端要求 `field_2`(创建人)传**用户 ID**,而用户常说"创建人=招聘专员"。本接口把名称解析成 ID,作为搜索条件的必经步骤。
17
+
18
+ ## 3. 前置条件
19
+ - 已知要解析的字段 `fieldId`(创建人 = `2`)。
20
+ - 已知名称字符串。
21
+
22
+ ## 4. 请求参数
23
+
24
+ ### 4.1 Body
25
+ | 字段 | 位置 | 类型 | 必填 | 约束 | 业务说明 |
26
+ |---|---|---|---|---|---|
27
+ | `formParam` | body | string(JSON) | 是 | 含 `fieldId`/`module` | `module` 固定 `ebuilderform` |
28
+ | `searchValue` | body | string | 是 | 名称 | 要解析的名称 |
29
+ | `fromSearch` | body | string | 是 | 固定 `1` | |
30
+ | `browserMultiple` | body | bool | 否 | 默认 true | |
31
+
32
+ ## 5. 响应数据结构
33
+ | 字段 | 类型 | 说明 |
34
+ |---|---|---|
35
+ | `data.data` | array | 结果数组(注意:外层 `data` 是对象,数组在 `data.data`) |
36
+ | `data.data[].id` | string | 用户 ID(用作 `field_2` 条件值) |
37
+ | `data.data[].name` | string | 显示名 |
38
+ | `data.data[].content` / `title` | string | 附加信息 |
39
+
40
+ ## 6. 请求示例
41
+ ```json
42
+ {
43
+ "browserMultiple": true,
44
+ "formParam": "{\"fieldId\":\"2\",\"module\":\"ebuilderform\",\"filterItems\":[],\"dataDetails\":[],\"dataFilter\":false}",
45
+ "fromSearch": "1",
46
+ "searchValue": "招聘专员"
47
+ }
48
+ ```
49
+
50
+ ## 7. 响应示例
51
+ ```json
52
+ { "code": 200, "status": true,
53
+ "data": { "data": [ { "id": "1276064981631025154", "name": "招聘专员" } ], "template": {}, "extendButton": {} } }
54
+ ```
55
+
56
+ ## 8. 错误码
57
+ | 错误码 | 含义 | AI 处理建议 |
58
+ |---|---|---|
59
+ | 来源文档未提供接口特有错误码 | — | 非 200 → 提示 认证可能过期(`weaver-work-cli auth status`) |
60
+
61
+ ## 9. 调用参考
62
+ - Agent 辅助:用户给"创建人=名称"时调用,解析出的 `id` 作为搜索 `field_2` 条件。
63
+ - 命中 0 → 提示未找到该创建人。
64
+ - 命中 1 → 用其 `id` 继续搜索。
65
+ - 命中多个 → 列出选项并停住,由对话侧转述用户确认用哪一个(退出码 4)。
66
+
67
+ ## 10. 注意事项
68
+ - 响应信封:`data` 是对象,结果在 **`data.data[]`**(外层还含 `template`/`extendButton`)。
69
+ - 同机制可用于其它浏览器 member 字段(替换 `fieldId`)。