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.
- package/README.md +17 -0
- package/dist/chunks/{archive-JHTONRST.js → archive-P6TBQGKL.js} +13 -5
- package/dist/chunks/{archive-oa-FCHLCPHC.js → archive-oa-7TQ2NXOH.js} +12 -5
- package/dist/chunks/{asset-RLIHC7DB.js → asset-3ELRG37G.js} +11 -4
- package/dist/chunks/{asset-idle-KVOFTLCP.js → asset-idle-WIGMUFMD.js} +7 -3
- package/dist/chunks/{attachment-content-RZYDB3MB.js → attachment-content-E3276UOV.js} +5 -4
- package/dist/chunks/{blog-42OZTJNP.js → blog-C5NMZAAC.js} +11 -4
- package/dist/chunks/{caizhilian-KRK547K5.js → caizhilian-5XSM2DFP.js} +13 -6
- package/dist/chunks/{calendar-RTWAMKHD.js → calendar-FI2WNSBO.js} +71 -26
- package/dist/chunks/{chunk-CXRQWOZ5.js → chunk-3YBDYOC4.js} +3 -3
- package/dist/chunks/{chunk-OOUTBLZ4.js → chunk-56EZERK4.js} +1 -1
- package/dist/chunks/chunk-6N4JPNFL.js +76 -0
- package/dist/chunks/{chunk-ZUX3P6BQ.js → chunk-727FH2NI.js} +1 -1
- package/dist/chunks/chunk-7BDPM5ST.js +11 -0
- package/dist/chunks/{chunk-LN447PY2.js → chunk-BCVYBYYT.js} +432 -2247
- package/dist/chunks/{chunk-7E6MUOEK.js → chunk-CWYGFU5B.js} +2 -2
- package/dist/chunks/{chunk-NOODWMCL.js → chunk-D4ADSZ7H.js} +1 -1
- package/dist/chunks/{chunk-WFFNM65B.js → chunk-ETNJSKMM.js} +281 -29
- package/dist/chunks/{chunk-CAQNBBQA.js → chunk-F4E4EM35.js} +3 -3
- package/dist/chunks/{chunk-4CTESSKI.js → chunk-FAZTGX7S.js} +6 -6
- package/dist/chunks/chunk-FRZKBMSW.js +2562 -0
- package/dist/chunks/{chunk-BYBSCN4X.js → chunk-G7PQWD4L.js} +6 -3
- package/dist/chunks/{chunk-NJKREDA3.js → chunk-GAMZLAG2.js} +1 -1
- package/dist/chunks/{chunk-FLS4DPGP.js → chunk-GM6J7Q4B.js} +28 -15
- package/dist/chunks/{chunk-NETCCARD.js → chunk-GRDRG6HP.js} +3 -3
- package/dist/chunks/chunk-HIT4Y6OI.js +1238 -0
- package/dist/chunks/{chunk-EZALDOQH.js → chunk-HP7JIYMT.js} +5 -2
- package/dist/chunks/{chunk-IZSSVYAG.js → chunk-IAZ3UPY6.js} +3 -3
- package/dist/chunks/{chunk-ZEDWSH32.js → chunk-IC62NFM5.js} +1 -1
- package/dist/chunks/{chunk-P26ZWSKU.js → chunk-KIHNAS25.js} +5 -2
- package/dist/chunks/{chunk-57IECMWX.js → chunk-N4M2DDFE.js} +29 -15
- package/dist/chunks/{chunk-JWRZM2H2.js → chunk-OF4S23UB.js} +4 -4
- package/dist/chunks/{chunk-VNBU55SL.js → chunk-PC7VKEB5.js} +80 -2458
- package/dist/chunks/{chunk-G2JSIUWF.js → chunk-PUQS5MWL.js} +91 -2
- package/dist/chunks/{chunk-E7OK5WD5.js → chunk-Q4OYAQYH.js} +5 -5
- package/dist/chunks/{chunk-7BRU4EFH.js → chunk-QVSWRLLU.js} +35 -6
- package/dist/chunks/{chunk-T6EGVBKU.js → chunk-TA7FXXJD.js} +6 -3
- package/dist/chunks/{chunk-GPMFD4RD.js → chunk-TXUG266F.js} +1 -1
- package/dist/chunks/{chunk-4TEDNCON.js → chunk-UFIT2UU3.js} +354 -56
- package/dist/chunks/{chunk-LUSPKZKY.js → chunk-UG5G54VL.js} +1 -0
- package/dist/chunks/{chunk-NIAJ5ZCG.js → chunk-UL5XUQ25.js} +5 -2
- package/dist/chunks/{chunk-FMPJJYYI.js → chunk-WRXSAVKO.js} +1 -1
- package/dist/chunks/{chunk-7U577Q7U.js → chunk-WSF4NNMR.js} +3 -3
- package/dist/chunks/chunk-XHK4MDR5.js +2497 -0
- package/dist/chunks/{chunk-LFMSDBZN.js → chunk-XNIK66I4.js} +326 -161
- package/dist/chunks/{chunk-3SO6QL6U.js → chunk-YWX377BY.js} +5 -2
- package/dist/chunks/{chunk-BYATLLEF.js → chunk-Z3GDFVJR.js} +1 -1
- package/dist/chunks/{chunk-I566ZYNF.js → chunk-Z7VYWPZV.js} +1 -1
- package/dist/chunks/{conflict-VR55AOOO.js → conflict-ARLSZJ6V.js} +4 -3
- package/dist/chunks/{continuation-2CKSBLA6.js → continuation-3S37AUSH.js} +4 -3
- package/dist/chunks/{continuation-RN6PZN2M.js → continuation-3XLYYTKV.js} +4 -3
- package/dist/chunks/{continuation-HZIZRZBX.js → continuation-HFW2YT5S.js} +4 -3
- package/dist/chunks/{continuation-NLECEJPX.js → continuation-KI7DRRZN.js} +4 -3
- package/dist/chunks/{contract-HI4FNPYE.js → contract-DNIIW5VJ.js} +13 -5
- package/dist/chunks/{cowork-HJLI353D.js → cowork-GMLRGVIW.js} +31 -14
- package/dist/chunks/create-flow-J22BO65E.js +56 -0
- package/dist/chunks/{ebuilder-form-HTGI63UU.js → ebuilder-form-ANV2FHYV.js} +12 -7
- package/dist/chunks/{ehr-GYXIYH3A.js → ehr-GSTGAIY3.js} +695 -1255
- package/dist/chunks/{employee-SAK2QYXX.js → employee-22BGJ3QS.js} +3 -3
- package/dist/chunks/{env-DW3G4HUO.js → env-BX3VRFS7.js} +4 -3
- package/dist/chunks/{esb-I5INCEFE.js → esb-ATAIASX2.js} +12 -7
- package/dist/chunks/{factory-TKXGXS6L.js → factory-PETTFME6.js} +3 -2
- package/dist/chunks/{fna-K2MHTQ24.js → fna-YEKBSFSX.js} +14 -8
- package/dist/chunks/{group-chat-VYBNMJLG.js → group-chat-BFVXAYFX.js} +7 -4
- package/dist/chunks/{host-D5SERMAJ.js → host-HRBXEPDQ.js} +5 -5
- package/dist/chunks/{host-JM4YVHFM.js → host-LR55CTHP.js} +5 -5
- package/dist/chunks/{host-L3VLITMT.js → host-SUOY6VYQ.js} +5 -5
- package/dist/chunks/{host-ZUQTJYYK.js → host-SZGV4UNT.js} +5 -5
- package/dist/chunks/{host-256GVCAH.js → host-WIKN2EJ5.js} +5 -5
- package/dist/chunks/{hrm-VLRBKTZB.js → hrm-NRDO4W5G.js} +11 -7
- package/dist/chunks/{im-QK3VTLXK.js → im-IQ2HN23S.js} +11 -10
- package/dist/chunks/{invoice-T5JTA32H.js → invoice-MNRW76PP.js} +636 -1768
- package/dist/chunks/{jiuchuanhui-P2FNEQVZ.js → jiuchuanhui-DTRBAX4N.js} +14 -6
- package/dist/chunks/{lazy-dispatch-XRRI46M6.js → lazy-dispatch-ZVWAI25B.js} +7 -6
- package/dist/chunks/{mail-3Y7MJ6PS.js → mail-ZVAUXOJA.js} +16 -14
- package/dist/chunks/{meeting-M7LTXGJE.js → meeting-FEVPZ67S.js} +21 -13
- package/dist/chunks/{okr-OBC6S67L.js → okr-SDH3E5RA.js} +12 -5
- package/dist/chunks/{operations-5QL3AECO.js → operations-62N6EP3C.js} +4 -3
- package/dist/chunks/{plan-5H6I53SK.js → plan-E35JFDI7.js} +12 -5
- package/dist/chunks/{project-L75QZV4S.js → project-73QXBAB2.js} +49 -25
- package/dist/chunks/reception-UWZVACBN.js +1899 -0
- package/dist/chunks/recruit-stage-4MAOCKFY.js +4770 -0
- package/dist/chunks/registry-IM5G23LS.js +24 -0
- package/dist/chunks/{registry-UGRBCBHO.js → registry-JDUS4E7D.js} +7 -6
- package/dist/chunks/{registry-RXPN6BBT.js → registry-KNKSCJNT.js} +7 -6
- package/dist/chunks/{registry-NYPYMZXG.js → registry-PO7SI256.js} +4 -4
- package/dist/chunks/{registry-QGHFNUWS.js → registry-PVUZQDDQ.js} +3 -3
- package/dist/chunks/{room-recommend-A3UDC3CA.js → room-recommend-H7KLXA5R.js} +6 -5
- package/dist/chunks/{schedule-5GCACCK7.js → schedule-ESZIBAUO.js} +6 -5
- package/dist/chunks/{workflow-M5ZJ7DWF.js → workflow-CWJFJLQU.js} +15 -10
- package/dist/cmd/action.js +6 -0
- package/dist/cmd/identity/index.js +45 -0
- package/dist/cmd/index.js +2 -0
- package/dist/core/continuation-ttl.js +18 -0
- package/dist/core/error-codes.js +85 -0
- package/dist/core/logger.js +11 -0
- package/dist/index.js +41 -30
- package/dist/internal/e10/auth/commands.js +164 -8
- package/dist/internal/e10/auth/error-log.js +182 -0
- package/dist/internal/e10/auth/messages.js +6 -0
- package/dist/internal/e10/auth/session.js +34 -3
- package/dist/internal/e10/auth/xiaoe.js +286 -44
- package/dist/internal/e10/auth-recovery.js +72 -14
- package/dist/internal/e10/context.js +72 -13
- package/dist/internal/e10/index.js +1 -1
- package/dist/internal/e10/network-error.js +93 -0
- package/dist/internal/e10/request-runtime.js +6 -0
- package/dist/internal/skills/install.js +9 -1
- package/dist/shortcuts/archive/continuation.js +2 -1
- package/dist/shortcuts/archive/index.js +3 -0
- package/dist/shortcuts/archive/operations/confirm.js +2 -1
- package/dist/shortcuts/archive-oa/continuation.js +2 -1
- package/dist/shortcuts/archive-oa/index.js +2 -0
- package/dist/shortcuts/archive-oa/operations/confirm.js +2 -1
- package/dist/shortcuts/asset/continuation.js +2 -1
- package/dist/shortcuts/asset/index.js +2 -0
- package/dist/shortcuts/asset-idle/index.js +2 -0
- package/dist/shortcuts/blog/continuation.js +2 -1
- package/dist/shortcuts/blog/index.js +2 -0
- package/dist/shortcuts/caizhilian/continuation.js +2 -1
- package/dist/shortcuts/caizhilian/index.js +2 -0
- package/dist/shortcuts/caizhilian/operations/confirm.js +3 -2
- package/dist/shortcuts/calendar/continuation.js +2 -1
- package/dist/shortcuts/calendar/index.js +2 -0
- package/dist/shortcuts/calendar/operations/read.js +31 -22
- package/dist/shortcuts/calendar/operations/write.js +46 -2
- package/dist/shortcuts/contract/continuation.js +2 -1
- package/dist/shortcuts/contract/index.js +2 -0
- package/dist/shortcuts/contract/operations/write.js +2 -1
- package/dist/shortcuts/cowork/continuation.js +2 -1
- package/dist/shortcuts/cowork/index.js +2 -0
- package/dist/shortcuts/cowork/operations/discuss-write.js +5 -1
- package/dist/shortcuts/cowork/operations/item-write.js +1 -7
- package/dist/shortcuts/cowork/operations/member-write.js +3 -1
- package/dist/shortcuts/cowork/operations/permission-write.js +5 -1
- package/dist/shortcuts/cowork/operations/shared.js +7 -0
- package/dist/shortcuts/ebuilder-form/continuation.js +2 -1
- package/dist/shortcuts/ebuilder-form/index.js +2 -0
- package/dist/shortcuts/ebuilder-form/operations/write.js +3 -2
- package/dist/shortcuts/ehr/continuation.js +2 -1
- package/dist/shortcuts/ehr/index.js +2 -0
- package/dist/shortcuts/ehr/operations/attend-write.js +44 -2
- package/dist/shortcuts/ehr/operations/hr-contact.js +7 -4
- package/dist/shortcuts/ehr/operations/hr-report.js +13 -7
- package/dist/shortcuts/ehr/operations/recruit-candidate-import.js +317 -63
- package/dist/shortcuts/ehr/operations/recruit-position.js +134 -2
- package/dist/shortcuts/ehr/operations/recruit-write.js +263 -18
- package/dist/shortcuts/ehr/operations/recruit.js +10 -4
- package/dist/shortcuts/ehr/operations/shared.js +47 -0
- package/dist/shortcuts/esb/continuation.js +2 -1
- package/dist/shortcuts/esb/index.js +2 -0
- package/dist/shortcuts/esb/operations/trigger.js +2 -1
- package/dist/shortcuts/fna/continuation.js +2 -1
- package/dist/shortcuts/fna/index.js +2 -0
- package/dist/shortcuts/fna/operations/invoice-writeoff.js +1 -1
- package/dist/shortcuts/fna/operations/loan.js +1 -1
- package/dist/shortcuts/hrm/index.js +2 -0
- package/dist/shortcuts/hrm/operations/org.js +118 -0
- package/dist/shortcuts/im/continuation.js +2 -1
- package/dist/shortcuts/index.js +10 -0
- package/dist/shortcuts/invoice/continuation.js +2 -1
- package/dist/shortcuts/invoice/index.js +14 -15
- package/dist/shortcuts/invoice/invoice-record.js +93 -0
- package/dist/shortcuts/invoice/manifest.js +190 -393
- package/dist/shortcuts/invoice/operations/add.js +2 -1
- package/dist/shortcuts/invoice/operations/delete.js +2 -1
- package/dist/shortcuts/invoice/operations/import.js +2 -1
- package/dist/shortcuts/invoice/operations/issuing-contract-detail.js +86 -0
- package/dist/shortcuts/invoice/operations/issuing-contracts.js +210 -0
- package/dist/shortcuts/invoice/operations/registry.js +17 -17
- package/dist/shortcuts/invoice/operations/reim-auto.js +4 -569
- package/dist/shortcuts/invoice/operations/reim.js +52 -341
- package/dist/shortcuts/invoice/operations/shared.js +21 -4
- package/dist/shortcuts/invoice/operations/update.js +2 -1
- package/dist/shortcuts/invoice/projection.js +10 -62
- package/dist/shortcuts/jiuchuanhui/continuation.js +2 -1
- package/dist/shortcuts/jiuchuanhui/index.js +2 -0
- package/dist/shortcuts/jiuchuanhui/operations/datajson.js +2 -1
- package/dist/shortcuts/jiuchuanhui/operations/esb.js +2 -1
- package/dist/shortcuts/mail/continuation.js +2 -1
- package/dist/shortcuts/mail/index.js +2 -0
- package/dist/shortcuts/mail/operations/mail-blacklist.js +1 -1
- package/dist/shortcuts/mail/operations/mail-contacts.js +1 -1
- package/dist/shortcuts/mail/operations/mail-send.js +1 -1
- package/dist/shortcuts/mail/operations/mail-sign.js +1 -1
- package/dist/shortcuts/mail/operations/mail-template.js +1 -1
- package/dist/shortcuts/meeting/continuation.js +2 -1
- package/dist/shortcuts/meeting/index.js +2 -0
- package/dist/shortcuts/meeting/operations/change.js +1 -1
- package/dist/shortcuts/meeting/operations/create.js +1 -1
- package/dist/shortcuts/meeting/operations/eb/catalog.js +4 -1
- package/dist/shortcuts/meeting/operations/eb/create-flow.js +101 -35
- package/dist/shortcuts/meeting/operations/eb/decision.js +1 -1
- package/dist/shortcuts/meeting/operations/eb/factory.js +34 -1
- package/dist/shortcuts/meeting/operations/eb/group-chat.js +25 -3
- package/dist/shortcuts/meeting/operations/eb/person-cache.js +96 -0
- package/dist/shortcuts/meeting/operations/eb/room-recommend.js +33 -11
- package/dist/shortcuts/meeting/operations/lifecycle.js +1 -1
- package/dist/shortcuts/meeting/operations/receipts.js +1 -1
- package/dist/shortcuts/meeting/operations/signs.js +1 -1
- package/dist/shortcuts/okr/continuation.js +2 -1
- package/dist/shortcuts/okr/index.js +2 -0
- package/dist/shortcuts/okr/operations/write.js +1 -1
- package/dist/shortcuts/plan/continuation.js +2 -1
- package/dist/shortcuts/plan/index.js +2 -0
- package/dist/shortcuts/plan/operations/write.js +1 -1
- package/dist/shortcuts/project/continuation.js +2 -1
- package/dist/shortcuts/project/index.js +2 -0
- package/dist/shortcuts/project/operations/read.js +6 -25
- package/dist/shortcuts/project/operations/shared.js +22 -0
- package/dist/shortcuts/project/operations/write.js +28 -2
- package/dist/shortcuts/reception/constants.js +53 -0
- package/dist/shortcuts/reception/errors.js +54 -0
- package/dist/shortcuts/reception/host.js +125 -0
- package/dist/shortcuts/reception/index.js +198 -0
- package/dist/shortcuts/reception/manifest.js +177 -0
- package/dist/shortcuts/reception/operations/ask.js +71 -0
- package/dist/shortcuts/reception/operations/browsertool.js +58 -0
- package/dist/shortcuts/reception/operations/compose.js +129 -0
- package/dist/shortcuts/reception/operations/customparams.js +74 -0
- package/dist/shortcuts/reception/operations/doc.js +238 -0
- package/dist/shortcuts/reception/operations/docrender.js +36 -0
- package/dist/shortcuts/reception/operations/panels.js +179 -0
- package/dist/shortcuts/reception/operations/registry.js +26 -0
- package/dist/shortcuts/reception/operations/render-assets.js +184 -0
- package/dist/shortcuts/reception/operations/render.js +123 -0
- package/dist/shortcuts/reception/operations/runs.js +38 -0
- package/dist/shortcuts/reception/operations/schedule.js +127 -0
- package/dist/shortcuts/reception/operations/shared.js +196 -0
- package/dist/shortcuts/reception/operations/snapshot.js +68 -0
- package/dist/shortcuts/reception/operations/types.js +1 -0
- package/dist/shortcuts/reception/operations.js +33 -0
- package/dist/shortcuts/reception/upload.js +218 -0
- package/dist/shortcuts/recruit-stage/context.js +231 -0
- package/dist/shortcuts/recruit-stage/continuation.js +74 -0
- package/dist/shortcuts/recruit-stage/errors.js +65 -0
- package/dist/shortcuts/recruit-stage/host.js +109 -0
- package/dist/shortcuts/recruit-stage/index.js +115 -0
- package/dist/shortcuts/recruit-stage/manifest.js +29 -0
- package/dist/shortcuts/recruit-stage/operations/interview-arrange.js +722 -0
- package/dist/shortcuts/recruit-stage/operations/interview-feedback.js +269 -0
- package/dist/shortcuts/recruit-stage/operations/jd-create.js +719 -0
- package/dist/shortcuts/recruit-stage/operations/list.js +431 -0
- package/dist/shortcuts/recruit-stage/operations/registry.js +38 -0
- package/dist/shortcuts/recruit-stage/operations/resume-import.js +1354 -0
- package/dist/shortcuts/recruit-stage/operations/search.js +158 -0
- package/dist/shortcuts/recruit-stage/operations/types.js +25 -0
- package/dist/shortcuts/recruit-stage/school-tiers.json +318 -0
- package/dist/shortcuts/recruit-stage/shared.js +608 -0
- package/dist/shortcuts/workflow/continuation.js +2 -1
- package/dist/shortcuts/workflow/index.js +2 -0
- package/dist/shortcuts/workflow/operations/form.js +32 -8
- package/dist/shortcuts/workflow/operations/todoSmartConvert/detailFieldRules.js +4 -2
- package/dist/shortcuts/workflow/operations/todoSmartConvert/summaryCache.js +13 -6
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailCache.js +17 -24
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoDetailFetcher.js +14 -9
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.collect.js +50 -8
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.core.js +2 -1
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.detail.js +17 -11
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.group.js +7 -39
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.groupSummary.js +3 -2
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.js +51 -15
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.pipeline.js +16 -1
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.smartGroup.js +151 -63
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.subGroup.js +56 -0
- package/dist/shortcuts/workflow/operations/todoSmartConvert/todoSmartConvert.summary.js +39 -14
- package/dist/shortcuts/workflow/operations/write.js +1 -1
- package/docs/_catalog.md +3 -0
- package/docs/agent-invoice.md +1 -1
- package/docs/archive-oa.md +1 -1
- package/docs/caizhilian.md +1 -1
- package/docs/calendar.md +1 -1
- package/docs/contract.md +1 -1
- package/docs/e10-auth.md +23 -1
- package/docs/ehr.md +2 -2
- package/docs/esb.md +1 -1
- package/docs/im.md +1 -1
- package/docs/invoice.md +8 -12
- package/docs/okr.md +1 -1
- package/docs/operation-manual.md +8 -0
- package/docs/reception.md +119 -0
- package/package.json +1 -1
- package/scripts/clean.mjs +43 -2
- package/scripts/install-skill-to-xiaoe.mjs +105 -0
- package/scripts/package-skill.mjs +4 -2
- package/skill-template/business-info.json +42 -2
- package/skill-template/domains/caizhilian.md +1 -1
- package/skill-template/domains/reception-flow.md +18 -0
- package/skill-template/domains/recruit-stage.md +29 -0
- package/skill-template/domains/yepiaotong.md +4 -7
- package/skills/weaver-e10-archive-oa/references/source-manifest.json +14 -14
- package/skills/weaver-e10-blog/references/blog-publish.md +1 -1
- package/skills/weaver-e10-blog/references/source-manifest.json +7 -7
- package/skills/weaver-e10-caizhilian/references/source-manifest.json +21 -21
- package/skills/weaver-e10-caizhilian/references/write-protocol.md +2 -2
- package/skills/weaver-e10-calendar/SKILL.md +2 -1
- package/skills/weaver-e10-calendar/references/calendar-write.md +55 -1
- package/skills/weaver-e10-cowork/SKILL.md +1 -1
- package/skills/weaver-e10-cowork/references/cowork-write.md +3 -1
- package/skills/weaver-e10-ebuilder-form/SKILL.md +1 -1
- package/skills/weaver-e10-ebuilder-form/references/custom-api.md +1 -1
- package/skills/weaver-e10-ebuilder-form/references/openapi-write.md +1 -1
- package/skills/weaver-e10-esb/SKILL.md +2 -2
- package/skills/weaver-e10-esb/references/source-manifest.json +22 -22
- package/skills/weaver-e10-esb/references/trigger.md +2 -2
- package/skills/weaver-e10-jinchengda/references/contract-clause-library-crud.md +1 -1
- package/skills/weaver-e10-jinchengda/references/contract-clause-reference-save.md +1 -1
- package/skills/weaver-e10-jinchengda/references/contract-request-write.md +1 -1
- package/skills/weaver-e10-jinchengda/references/source-manifest.json +29 -29
- package/skills/weaver-e10-jucailin/SKILL.md +1 -1
- package/skills/weaver-e10-jucailin/references/attend-write.md +10 -2
- package/skills/weaver-e10-jucailin/references/hr-contact.md +8 -0
- package/skills/weaver-e10-jucailin/references/hr-report.md +8 -0
- package/skills/weaver-e10-jucailin/references/recruit-create.md +14 -5
- package/skills/weaver-e10-jucailin/references/recruit-read.md +1 -1
- package/skills/weaver-e10-jucailin/references/recruit-write.md +5 -4
- package/skills/weaver-e10-mail/SKILL.md +1 -1
- package/skills/weaver-e10-meeting/SKILL.md +39 -7
- package/skills/weaver-e10-meeting/references/meeting-change.md +1 -1
- package/skills/weaver-e10-meeting/references/meeting-create.md +1 -1
- package/skills/weaver-e10-meeting/references/meeting-lifecycle.md +1 -1
- package/skills/weaver-e10-meeting/references/meeting-verification.md +1 -1
- package/skills/weaver-e10-okr/references/okr-align.md +1 -1
- package/skills/weaver-e10-okr/references/okr-keyresult.md +1 -1
- package/skills/weaver-e10-okr/references/okr-write.md +1 -1
- package/skills/weaver-e10-okr/references/source-manifest.json +8 -8
- package/skills/weaver-e10-plan/references/plan-report-write.md +1 -1
- package/skills/weaver-e10-plan/references/source-manifest.json +20 -20
- package/skills/weaver-e10-qiyecheng/references/loan-management.md +1 -1
- package/skills/weaver-e10-qiyecheng/references/source-manifest.json +18 -18
- package/skills/weaver-e10-reception-flow/SKILL.md +173 -0
- 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
- package/skills/weaver-e10-reception-flow/data/fields-snapshot.json +213 -0
- package/skills/weaver-e10-reception-flow/references/browsertool.md +68 -0
- package/skills/weaver-e10-reception-flow/references/env-pitfalls.md +51 -0
- package/skills/weaver-e10-reception-flow/references/fields-snapshot.md +227 -0
- package/skills/weaver-e10-reception-flow/references/guide.md +179 -0
- package/skills/weaver-e10-reception-flow/scripts/locate.sh +14 -0
- package/skills/weaver-e10-reception-flow/scripts/render.py +724 -0
- package/skills/weaver-e10-recruit-stage/SKILL.md +230 -0
- package/skills/weaver-e10-recruit-stage/agents/openai.yaml +119 -0
- package/skills/weaver-e10-recruit-stage/lib/recruit-xiaoe-file.mjs +188 -0
- package/skills/weaver-e10-recruit-stage/lib/xiaoe-session.mjs +66 -0
- package/skills/weaver-e10-recruit-stage/references/position-templates.md +202 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-arrange-interview.md +322 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-capability-check.md +127 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-check-install.md +65 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-detail-process.md +63 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-edit-interview-feedback.md +142 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-jd-create.md +95 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-jd-template.md +56 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-list-candidate.md +101 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-list-interview.md +148 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-match-candidates.md +77 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-output-links.md +59 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-resolve-creator.md +69 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-resolve-metadata.md +241 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-resume-import.md +451 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-resume-parse.md +128 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-search-candidate.md +146 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-urge-feedback.md +69 -0
- package/skills/weaver-e10-shared/SKILL.md +1 -1
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +10 -2
- package/skills/weaver-e10-shijingran/SKILL.md +7 -6
- package/skills/weaver-e10-shijingran/references/operations.md +3 -1
- package/skills/weaver-e10-shijingran/references/source-manifest.json +30 -28
- package/skills/weaver-e10-shijingran/references/write-operations.md +2 -0
- package/skills/weaver-e10-skill-maker/references/module-cli-generation.md +2 -0
- package/skills/weaver-e10-wenshuding/references/source-manifest.json +3 -3
- package/skills/weaver-e10-workflow/SKILL.md +4 -2
- package/skills/weaver-e10-workflow/aigroup/default.json +11 -9
- package/skills/weaver-e10-workflow/references/source-manifest.json +32 -32
- package/skills/weaver-e10-workflow/references/todo-smart-convert.md +23 -13
- package/skills/weaver-e10-workflow/tools/todo-summary.cjs +62 -20
- package/skills/weaver-e10-yepiaotong/SKILL.md +28 -36
- package/skills/weaver-e10-yepiaotong/references/invoice-agent-entry.md +6 -3
- package/skills/weaver-e10-yepiaotong/references/invoice-detail.md +13 -10
- package/skills/weaver-e10-yepiaotong/references/invoice-enterprise-list.md +2 -0
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-workflow.md +194 -155
- package/skills/weaver-e10-yepiaotong/references/invoice-output-view.md +28 -32
- package/skills/weaver-e10-yepiaotong/references/invoice-personal-list.md +5 -1
- package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +8 -10
- package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +211 -616
- package/skills/weaver-e10-yepiaotong/references/reim-examples.md +149 -117
- package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +17 -20
- package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +20 -39
- package/skills/weaver-e10-yepiaotong/references/reim-matching-rules.md +55 -22
- package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +7 -17
- package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +88 -92
- package/skills/weaver-e10-yepiaotong/references/source-manifest.json +144 -354
- package/skills/weaver-e10-yimiaoban/SKILL.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/msg-write.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/safety-boundaries.md +1 -1
- package/skills/weaver-e10-yimiaoban/references/source-manifest.json +7 -7
- package/dist/chunks/chunk-SPRHHSVC.js +0 -465
- package/dist/chunks/registry-KMHCPAAD.js +0 -22
- package/dist/shortcuts/invoice/markdown.js +0 -172
- package/dist/shortcuts/invoice/operations/issuing-qys.js +0 -424
- package/skills/weaver-e10-meeting.zip +0 -0
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +0 -131
- package/skills/weaver-e10-yepiaotong/references/invoice-issuing-form-fill-rules.md +0 -179
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: recruit-search-candidate
|
|
3
|
+
description: 按手机号/姓名/邮箱/创建人/创建时间等条件搜索人才库,返回带 talentId 的候选人列表
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 搜索人才(人才库列表)
|
|
7
|
+
> 本文档中的 `${...}` 形参(表单 objId / 列表 listId / EB 页面 viewId·pageId / 应用 appId / 动作流 id / 菜单 id cusMenuId)为**租户相关值**:表单 objId 经 `recruit-resolve-metadata.md` 的 tag 链运行时解析;列表/页面/菜单 id 由部署参数提供(**可经 `allMenus` 菜单树自动发现**,见 `recruit-resolve-metadata.md` §3.1);**字段 id(`field_<id>`)经 `ds/fields` 运行时解析,不写死**(见 `recruit-resolve-metadata.md` §5)。
|
|
8
|
+
|
|
9
|
+
## 1. 基础信息
|
|
10
|
+
- 接口名称:搜索人才(列表查询)
|
|
11
|
+
- 请求方式:`POST`
|
|
12
|
+
- 去域名路径:`/api/ebuilder/form/list/getListDatas`
|
|
13
|
+
- 所属模块:招聘管理(recruit)
|
|
14
|
+
- 所属分组:人才库 / 查询
|
|
15
|
+
|
|
16
|
+
> 计数接口 `POST /api/ebuilder/form/list/getListDataCount` 复用相同请求体(去掉 `pageSize`),返回 `data.total`,用于"先查数量"。
|
|
17
|
+
|
|
18
|
+
## 2. 业务用途
|
|
19
|
+
用户说"找手机号 138xxxx 的应聘者""搜 7 月创建的简历""查招聘专员创建的候选人"时调用。返回精简列表,每条带定位 id(`form_data_id` == `talentId`),供后续查看详情使用。手机号是系统唯一区分应聘者的主键。
|
|
20
|
+
|
|
21
|
+
## 3. 前置条件
|
|
22
|
+
- 需要 EB 列表的 `listId`(视图 id),部署参数(可经 `allMenus` 自动发现,见 resolve-metadata §3.1);无 tag 反查接口,按租户写死(已知缺口)。
|
|
23
|
+
- 创建人条件需先经"创建人名称→ID"解析为用户 ID(见 recruit-resolve-creator.md)。
|
|
24
|
+
- 渠道值返回裸 ID,经静态字典映射为中文(见 data-dictionary.md)。
|
|
25
|
+
|
|
26
|
+
## 4. 请求参数
|
|
27
|
+
|
|
28
|
+
### 4.1 Query 参数
|
|
29
|
+
| 字段 | 位置 | 类型 | 必填 | 约束 | 业务说明 |
|
|
30
|
+
|---|---|---|---|---|---|
|
|
31
|
+
| `passid` | query | string | 是 | EB pass id | 部署参数(可经 `allMenus` 自动发现,见 resolve-metadata §3.1) |
|
|
32
|
+
| `cid` | query | string | 是 | EB app id | 部署参数(可经 `allMenus` 自动发现,见 resolve-metadata §3.1) |
|
|
33
|
+
|
|
34
|
+
### 4.2 Header 参数
|
|
35
|
+
| 字段 | 位置 | 类型 | 必填 | 约束 | 业务说明 |
|
|
36
|
+
|---|---|---|---|---|---|
|
|
37
|
+
| `ebBusinessId` | header | string | 是 | EB 业务 id | 列表接口必需,部署参数(可经 `allMenus` 自动发现,见 resolve-metadata §3.1) |
|
|
38
|
+
|
|
39
|
+
### 4.3 Body 参数(key fields)
|
|
40
|
+
| 字段 | 位置 | 类型 | 必填 | 约束 | 业务说明 |
|
|
41
|
+
|---|---|---|---|---|---|
|
|
42
|
+
| `current` | body | int | 是 | 页码,1 基 | 当前页 |
|
|
43
|
+
| `pageSize` | body | int | 是 | 默认 10 | 每页条数 |
|
|
44
|
+
| `tableuid` | body | string | 是 | **每请求随机生成 32 位 hex** | EB 列表缓存键;写死会导致过滤失效 |
|
|
45
|
+
| `listId` | body | string | 是 | 视图 id | 部署参数(可经 `allMenus` 自动发现,见 resolve-metadata §3.1) |
|
|
46
|
+
| `searchParamData` | body | object | 是 | 见 4.4(须含 `searchType:"3"`) | 搜索条件 |
|
|
47
|
+
| `searchType` | body | string | 是 | 固定 `"3"` | 列表查询类型,缺失/错值返回 total=0 假空 |
|
|
48
|
+
| `terminal` | body | string | 是 | `PC` | 终端 |
|
|
49
|
+
| `browser` | body | string | 是 | `Chrome` | 浏览器 |
|
|
50
|
+
| `requiredMatch` | body | int | 是 | `1` | 固定,缺失返回假空 |
|
|
51
|
+
| `mapResult` | body | int | 是 | `1` | 固定,缺失返回假空 |
|
|
52
|
+
| `recheckQuery` | body | int | 是 | `1` | 固定,缺失返回假空 |
|
|
53
|
+
| `isFollow` | body | int | 是 | `0` | 固定 |
|
|
54
|
+
| `isShareToMe` | body | int | 是 | `0` | 固定 |
|
|
55
|
+
| `filterCondition` | body | object | 是 | `{}` | 固定 |
|
|
56
|
+
| `selectedId` | body | string | 否 | 部署参数(可经 `allMenus` 自动发现,见 resolve-metadata §3.1) `${TALENT_SELECTED_ID}` | 选中上下文 id;**可省略(新环境实测不带也返回数据)** |
|
|
57
|
+
| `cusMenuId` | body | string | 是 | 部署参数(可经 `allMenus` 自动发现,见 resolve-metadata §3.1) `${TALENT_MENU_ID}` | 菜单上下文 |
|
|
58
|
+
| `urlPageTitle` / `menuName` | body | string | 是 | EB 页面标题(如 `人才库`) | 菜单上下文 |
|
|
59
|
+
|
|
60
|
+
### 4.4 searchParamData 条件(commonSearchFields)
|
|
61
|
+
每个条件形态:`{ "field_<fieldId>": [ { "field_<fieldId>": <value>, "field_<fieldId>_condition_type": <cond> } ] }`
|
|
62
|
+
|
|
63
|
+
| 业务字段 | EB fieldId(运行时解析) | 默认 cond | 说明 |
|
|
64
|
+
|---|---|---|---|
|
|
65
|
+
| 姓名 `name` | `field_{<按 dataKey=name 解析的字段id>}` | `like` | 模糊;精确用 `eq` |
|
|
66
|
+
| 手机号 `telephone` | `field_{<按 dataKey=telephone 解析的字段id>}` | `like` | 系统唯一主键 |
|
|
67
|
+
| 邮箱 `email` | `field_{<按 dataKey=email 解析的字段id>}` | `like` | |
|
|
68
|
+
| 招聘状态 `recruit_status` | `field_{<按 dataKey=recruit_status 解析的字段id>}` | `like` | 传状态值/id |
|
|
69
|
+
| 简历来源 `channel` | `field_{<按 dataKey=channel 解析的字段id>}` | `like` | |
|
|
70
|
+
| 部门 `department` | `field_{<按 dataKey=department 解析的字段id>}` | `like`/`eq` | 若人才表单含部门字段,可据此按部门筛选;字段 id 经 `ds/fields` 解析,不写死 |
|
|
71
|
+
| 创建人 `creator` | `field_{<按 dataKey=creator 解析的字段id>}`(member 字段,值 `[{id,name,...}]`) | — | 先解析为 ID |
|
|
72
|
+
| 创建时间 `create_time` | `field_{<按 dataKey=create_time 解析的字段id>}` | `between` | 值 `[from, to]`,`YYYY-MM-DD[ HH:mm:ss]` |
|
|
73
|
+
|
|
74
|
+
> 字段 id 不写死:调用前经 `recruit-resolve-metadata.md` §5 的 `ds/fields` 按 `dataKey` 解析出 `fieldId`,再拼 `field_{fieldId}` 作为过滤键。
|
|
75
|
+
|
|
76
|
+
- 多条件组合:`searchParamData.type` = `and` | `or`。
|
|
77
|
+
- 分页:`current` / `pageSize`。
|
|
78
|
+
|
|
79
|
+
### 4.5 字段级过滤(groupFields,实测,任意表单字段均可过滤)
|
|
80
|
+
除 `commonSearchFields` 外,EB 列表还接受 `searchParamData.groupFields` 做字段级过滤,形态更简单,实测(需求/职位列表的筛选项即用此机制):
|
|
81
|
+
`"groupFields": { "field_<fieldId>": [<value>] }`
|
|
82
|
+
- `<value>` 形态:下拉/选项类字段传**选项 ID**(如 `840774534427852804`,从 `data-dictionary.md` 或 `ds/fields` 的选项反查);文本类传文本值;日期类传 `[from, to]`。
|
|
83
|
+
- 可过滤字段不限于上面 7 个:人才表单任何字段(含 招聘状态 `recruit_status`、简历来源 `channel`、姓名 `name`、手机号 `telephone`、邮箱 `email`、创建人 `creator`、创建时间 `create_time`)都能作为 `groupFields` 键;字段 id 同样经 `ds/fields` 解析,不写死。
|
|
84
|
+
- 组合:`commonSearchFields` 与 `groupFields` 可并存,最终按 `searchParamData.type`(and/or)合并。
|
|
85
|
+
- 用法示例:"渠道=内推的候选人" → `groupFields: { "field_<简历来源字段id>": ["<内推选项id>"] }`;"招聘状态=候选中的" → `groupFields: { "field_<招聘状态字段id>": ["<候选中选项id>"] }`。选项 ID 不确定时先查 `data-dictionary.md` 或向用户澄清选项。
|
|
86
|
+
|
|
87
|
+
## 5. 响应数据结构
|
|
88
|
+
| 字段 | 类型 | 说明 |
|
|
89
|
+
|---|---|---|
|
|
90
|
+
| `data.data` | array | 记录数组;每条含 `form_data_id`(== `id` == `rowKey` == `ebrecord_rowkey`)= 该人才的 `talentId` |
|
|
91
|
+
| `data.total` | int | 总数(部分部署返回 0 时,以 `len(data.data)` 兜底) |
|
|
92
|
+
| `data.columns` | array | 列定义 |
|
|
93
|
+
|
|
94
|
+
## 6. 请求示例
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"current": 1,
|
|
98
|
+
"pageSize": 10,
|
|
99
|
+
"tableuid": "<每请求随机生成 32 位 hex>",
|
|
100
|
+
"listId": "${TALENT_LIST_ID}",
|
|
101
|
+
"searchParamData": {
|
|
102
|
+
"searchType": "3",
|
|
103
|
+
"commonSearchFields": {
|
|
104
|
+
"field_<手机号字段id>": [
|
|
105
|
+
{ "field_<手机号字段id>": "13800000000", "field_<手机号字段id>_condition_type": "like" }
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"type": "and"
|
|
109
|
+
},
|
|
110
|
+
"terminal": "PC", "browser": "Chrome",
|
|
111
|
+
"requiredMatch": 1, "mapResult": 1, "recheckQuery": 1,
|
|
112
|
+
"isFollow": 0, "isShareToMe": 0, "filterCondition": {},
|
|
113
|
+
"selectedId": "${TALENT_SELECTED_ID}", "cusMenuId": "${TALENT_MENU_ID}",
|
|
114
|
+
"urlPageTitle": "人才库", "menuName": "人才库"
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## 7. 响应示例
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"code": 200, "status": true,
|
|
122
|
+
"data": {
|
|
123
|
+
"total": 1,
|
|
124
|
+
"data": [ { "form_data_id": "1276382457065553922", "talent": "张三", "telephone": "13800000000" } ],
|
|
125
|
+
"columns": [ { "field": "talent", "title": "姓名" } ]
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## 8. 错误码
|
|
131
|
+
| 错误码 | 含义 | AI 处理建议 |
|
|
132
|
+
|---|---|---|
|
|
133
|
+
| 来源文档未提供接口特有错误码 | — | 非 200 / `code!=200` / 重定向 → 提示 认证可能过期(`weaver-work-cli auth status`),引导走 `weaver-work-cli auth login` |
|
|
134
|
+
|
|
135
|
+
## 9. 调用参考
|
|
136
|
+
- 用户场景:直接表达"搜/找/查 某条件候选人"。
|
|
137
|
+
- 创建人名称需先经 recruit-resolve-creator.md 解析为 ID,再作为 `field_{<创建人字段id>}` 条件(创建人字段 id 经 `ds/fields` 解析,见 `recruit-resolve-metadata.md` §5)。
|
|
138
|
+
- 命中多条时展示列表,每条附 EB 详情链接(拼装规则见 SKILL.md 链接拼装,依赖登录态)。
|
|
139
|
+
|
|
140
|
+
## 10. 注意事项
|
|
141
|
+
- `tableuid` **必须每请求随机生成**(32 位 hex),不可写死,否则后端返回旧缓存/忽略条件。
|
|
142
|
+
- `total` 可能为 0 但 `data.data` 非空,以记录数兜底。
|
|
143
|
+
- **分页与总量展示**:搜索 pageSize 默认 10。返回行数 <10 → 全部展示;返回行数 =10(可能还有更多)→ 调计数接口 `getListDataCount`(复用相同请求体、去掉 `current`/`pageSize`,返回 `data.total`)取真实总量;`total >10` 时展示前 10 条并在底部提示「共 N 条,已展示前 10 条,还有 N-10 条未展示,可补充手机号/邮箱等条件精确匹配或说"下一页/看更多"继续」。**列表响应的 `data.total` 恒为 0 时不可作为总量依据**(实测),一律以计数接口为准。
|
|
144
|
+
- 列表 `listId`(视图 id)无 tag 反查接口,按租户写死于配置(已知缺口)。
|
|
145
|
+
- 列表查询必带上下文参数(`searchType`/`requiredMatch`/`mapResult`/`recheckQuery`/`isFollow`/`isShareToMe`/`filterCondition`/`selectedId`/`cusMenuId`/`urlPageTitle`/`menuName`)见 `recruit-resolve-metadata.md` §7;缺任一项会返回 `total=0` 假空,**勿据此判「人才库为空」**。
|
|
146
|
+
- 渠道/创建人返回裸 ID,需映射/反查后才可读(见 SKILL.md)。
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: recruit-urge-feedback
|
|
3
|
+
description: 发送消息通知催促面试官填写面试评价(runEsb 动作流)
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 催促面试评价
|
|
7
|
+
> 本文档中的 `${...}` 形参(表单 objId / 列表 listId / EB 页面 viewId·pageId / 应用 appId / 动作流 id)为**租户相关值**:表单 objId 经 `recruit-resolve-metadata.md` 的 tag 链运行时解析;其余由部署参数提供(**可经 `allMenus` 菜单树自动发现**,见 `recruit-resolve-metadata.md` §3.1);字段 ID(field_937…)依当前租户表单而定,详见 `data-dictionary.md`。
|
|
8
|
+
|
|
9
|
+
## 1. 基础信息
|
|
10
|
+
- 接口名称:催促面试评价(触发动作流 runEsb)
|
|
11
|
+
- 请求方式:`POST`
|
|
12
|
+
- 去域名路径:`/api/ebuilder/form/esb/runEsb`
|
|
13
|
+
- 所属模块:招聘管理(recruit)
|
|
14
|
+
- 所属分组:面试 / 写操作(外部通知)
|
|
15
|
+
|
|
16
|
+
## 2. 业务用途
|
|
17
|
+
用户说"催一下面试官填评价""提醒面试官给反馈""催促面试评价"时调用。通过动作流(`runEsb`)向面试官发送系统通知,催促其填写面试反馈。属 **L3 外部通知**,**默认不触发**,需用户明确确认且显式开启(如 `--notify`)后才发送,避免打扰真人。
|
|
18
|
+
|
|
19
|
+
## 3. 前置条件
|
|
20
|
+
- 已安装招聘服务(第 0 步闸门通过)。
|
|
21
|
+
- **定位前置(必做)**:催评前必须先按手机号(叠加姓名)搜索定位候选人(`recruit-search-candidate`)拿到 `talentId`,再从其人才详情的面试卡片取目标面试记录:命中 0 条→提示未找到、不臆测;命中多条→列出候选清单(姓名/手机/渠道/状态/创建时间/`talentId`)请用户确认,**绝不自动取第一条**(催错人打扰面试官)。消歧规则见 SKILL.md「自然语言 → 参数映射」。
|
|
22
|
+
- 目标面试记录(来自人才详情的面试卡片,取 `interviewFeedBack` 关联的反馈记录 id,作为 `runEsb.dataIds`;动作流 id 见下方 §4 运行时解析,不从卡片取)。
|
|
23
|
+
|
|
24
|
+
## 4. 请求参数
|
|
25
|
+
| 字段 | 位置 | 类型 | 必填 | 业务说明 |
|
|
26
|
+
|---|---|---|---|---|
|
|
27
|
+
| `objId` | body | string | 是 | 面试反馈列表的 `passid`(=objId,来自 面试列表 allMenus 或列表查询响应);与下方 `getListButtons` 的 `passid` 同值 |
|
|
28
|
+
| `esbActionIds` | body | string | 是 | 催评动作流 id(见 recruit-resolve-metadata.md §4,运行时按钮配置解析,不写死) |
|
|
29
|
+
| `dataIds` | body | string | 是 | 目标面试反馈记录 id(来自人才详情面试卡片 `interviewFeedBack` 关联记录);动作流要通知的具体数据,缺失会 405 / 不触发 |
|
|
30
|
+
|
|
31
|
+
> 注:正式版**不写死** `esbActionIds`;运行时对**面试反馈列表**调 `GET /api/ebuilder/form/list/getListButtons/{listId}?passid={列表passid}`,取 `buttons[].actions[]` 中 `actionType=esb` 且名称含「面试安排催评」(排除「批量催评」)的按钮 `id` 作为 `esbActionIds`(详见 `recruit-resolve-metadata.md` §4),天然跨环境,不依赖部署参数。
|
|
32
|
+
|
|
33
|
+
## 5. 响应数据结构
|
|
34
|
+
| 字段 | 类型 | 说明 |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| `code` | int | 200 成功 |
|
|
37
|
+
| `status` | boolean | `true` 正常 |
|
|
38
|
+
| `data` | object | 动作流执行结果 |
|
|
39
|
+
|
|
40
|
+
## 6. 请求示例
|
|
41
|
+
```json
|
|
42
|
+
POST /api/ebuilder/form/esb/runEsb
|
|
43
|
+
{ "objId": "<面试反馈列表 passid(=objId)>", "dataIds": "<面试反馈记录 id,来自人才详情面试卡片>", "esbActionIds": "<解析:面试反馈列表 getListButtons → 名称含「面试安排催评」的 esb 按钮 id>" }
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 7. 响应示例
|
|
47
|
+
```json
|
|
48
|
+
{ "code": 200, "status": true, "data": { "success": true } }
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 8. 错误码
|
|
52
|
+
| 错误码 | 含义 | AI 处理建议 |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| 非 200 | 认证/动作流错误 | 提示检查认证(`weaver-work-cli auth status`) / `esbActionIds` |
|
|
55
|
+
|
|
56
|
+
## 9. 调用参考
|
|
57
|
+
- 用户场景:"催一下面试官填评价"。
|
|
58
|
+
- **交互语义(关键)**:用户只说「催评 / 提醒面试官填评价」= 定位候选人 + 展示下方确认摘要并说明「将发送系统通知」,**不实际调用**。必须用户明确说「确认催 / 现在发 / 开启通知」才调用 `runEsb`;用户未明确确认前,回复保持在本摘要,不静默触发,也不提示「已发送」。
|
|
59
|
+
- **确认摘要模板(触发前必展示,必须带出定位键)**:
|
|
60
|
+
> 即将向 **姓名(手机:XXX | `talentId=XXX`)** 的面试官发送「请填写面试评价」系统通知:
|
|
61
|
+
> - 面试主题:XXX | 面试官:XXX
|
|
62
|
+
> 这是外部通知,请确认对象无误——回复「确认催」后我才实际发送。
|
|
63
|
+
- **姓名来源(script 实测防坑)**:确认摘要中「姓名」取人才详情 BaseInfo `talent.hrm.name`(最准),不取面试主题 `subject` 前缀——新建未挂职位的候选人 subject 可能为 `undefined-…`/`null-…`,取前缀会得「undefined」。若 BaseInfo 取不到再回退 subject 前缀并清洗 `^(undefined|null)\s*-`。
|
|
64
|
+
|
|
65
|
+
## 10. 注意事项
|
|
66
|
+
- **外部通知,默认不触发,且交互上明示**:用户一句话「催评」只到定位+确认摘要;除非用户明确说「确认催/现在发」,否则只说明「可催评」,不实际调用,也不谎报已发。
|
|
67
|
+
- **定位前置**:催评前必须先定位到唯一候选人(见 §3),命中多条先消歧,绝不自动取第一条。
|
|
68
|
+
- 动作流 `esbActionIds` 跨环境会变(迁入/升级后失效),正式版走 §4 按钮配置解析(getListButtons 取 esb 按钮 id),不写死、不依赖部署参数。
|
|
69
|
+
- **L3 不得因超时盲目重试**:若首次 `runEsb` 疑似超时,须先查询该面试评价的反馈状态确认未发送,再决定是否补发;严禁直接重试导致对面试官重复发送通知。
|
|
@@ -76,7 +76,7 @@ Token、Cookie、ETEAMSID 和业务凭证**只能由 `weaver-work-cli` 内部读
|
|
|
76
76
|
2. 不得因为本地存在旧 profile、`auth profile current` 指向旧环境,或 `auth profile list` 里只有旧环境,就跳过 XiaoE 统一登录;也不得先要求用户选择旧 profile 或输入域名。
|
|
77
77
|
3. XiaoE 统一登录由 CLI 按序取凭证:① 平台注入的 `XIAOE_USER_TOKEN` + `XIAOE_DOMAIN`,先走 Node 换票,再由 CLI npm 包自带的标准库 `xiaoe_env.py` 作兼容回退;② 宿主 `xiaoeUserData/tokens.py`(仅桌面宿主,CLI 在 macOS/Windows 都会先自动发现 XiaoE 客户端内置 Python,再回退到系统 Python);③ 内置原生实现读取桌面 XiaoE 客户端会话换取 `eteamId`,依次查找 `XIAOE_USER_SETTINGS_PATH`、`XIAOE_ROBOT_DATA_ROOT` / `XIAOE_ROBOT_ROOT` 和默认 `XiaoE/Robots/<id>/user_settings.json`,因此会话有效时不要求存在 `tokens.py`;④ `WEAVER_XIAOE_*` 环境映射。宿主只注入 `XIAOE_DOMAIN`、`XIAOE_USER_TOKEN` 等平台变量,不会注入 ETEAMSID 环境变量,CLI 也不读取 `XIAOE_ETEAMSID`。Agent 不要打印、转述、索取或要求用户手动设置这些凭证,也不要直接执行任一脚本或因为脚本报缺依赖就让用户安装 Python 包——凭据链内部的兼容回退由 CLI 完成。
|
|
78
78
|
4. `auth xiaoe` 是 XiaoE 认证方式的显式入口:CLI 不再判断当前宿主,只检查并消费可用凭据源。E10 目标地址按「显式 `--base-url` → 专用 `WEAVER_XIAOE_*` E10 配置/映射 → 当前 profile → CLI 内置默认值」解析,绝不能把 `XIAOE_DOMAIN` 当作 E10 地址。Token、Cookie、ETEAMSID 仍属于凭证,禁止在回复中展示。
|
|
79
|
-
5. XiaoE 统一登录走不通时,无论 macOS、Windows、Linux 或 Web,CLI 都返回 `authentication/xiaoe_credential_unavailable`,绝不自动打开浏览器或降级到 `auth login`;本任务必须停止,不得另行调用其他登录 Skill
|
|
79
|
+
5. XiaoE 统一登录走不通时,无论 macOS、Windows、Linux 或 Web,CLI 都返回 `authentication/xiaoe_credential_unavailable`,绝不自动打开浏览器或降级到 `auth login`;本任务必须停止,不得另行调用其他登录 Skill 或登录命令。网页端若带 `details.reason=host_credential_not_injected`,只反馈「网页技能沙箱未获得宿主登录凭据」,该问题由宿主/沙箱启动层修复,不要让用户重新登录或手动提供凭据。若失败全程都是网络错误(连不上 E10,登录态根本没被验证过),子类型是 `authentication/xiaoe_network_unavailable`、`retryable: true`,文案为「暂时无法连接 E10,请稍后重试」——此时只反馈并建议稍后重试,不要引导用户重新登录。
|
|
80
80
|
6. `auth status --no-check` 不会触发 XiaoE 统一登录;业务命令加载到 `agentType=XiaoE` 或 `loginSource=xiaoe-unified` 的会话并被 E10 明确拒绝为失效时,即使没有 `XIAOE_*` 或 `--runtime-agent xiaoe`,也会静默触发一次统一登录并重放该请求一次。无可读取的本地会话时,则需要当前 `XIAOE_*` 或 `--runtime-agent xiaoe` 等宿主标记才能自动获取;显式 `--auth` 不触发自动替换。具体读取 [`e10-auth-and-session.md`](references/e10-auth-and-session.md)。
|
|
81
81
|
|
|
82
82
|
### 认证错误只报告状态,不指定登录命令
|
|
@@ -29,7 +29,13 @@ weaver-work-cli auth whoami
|
|
|
29
29
|
- 业务命令失败,stderr JSON 中 `error.type === "authentication"`(如 `E10 auth not found`)
|
|
30
30
|
- 业务命令返回 `error.subtype === "session_expired"`(E10 登录态 401/302 失效)
|
|
31
31
|
|
|
32
|
-
CLI 的认证错误只是状态信号,不是登录命令。已有 XiaoE 会话达到换票结果的 `expiryTimes` 时,CLI 会在业务请求发出前静默换票;被接口判定过期时,公共请求层会根据持久化会话的 `agentType` / `loginSource` 自动恢复,不依赖 `XIAOE_*`、`--runtime-agent xiaoe`、shared Skill 或 Agent。业务命令无可读取的本地会话时,若当前 `XIAOE_*`、`--runtime-agent xiaoe` 等标记已识别为 XiaoE,公共会话加载层也会先静默获取登录信息。失败时返回 `xiaoe_credential_unavailable`,提示已尝试自动获取,Agent
|
|
32
|
+
CLI 的认证错误只是状态信号,不是登录命令。已有 XiaoE 会话达到换票结果的 `expiryTimes` 时,CLI 会在业务请求发出前静默换票;被接口判定过期时,公共请求层会根据持久化会话的 `agentType` / `loginSource` 自动恢复,不依赖 `XIAOE_*`、`--runtime-agent xiaoe`、shared Skill 或 Agent。业务命令无可读取的本地会话时,若当前 `XIAOE_*`、`--runtime-agent xiaoe` 等标记已识别为 XiaoE,公共会话加载层也会先静默获取登录信息。失败时返回 `xiaoe_credential_unavailable`,提示已尝试自动获取,Agent 只反馈并停止;不要再次登录或重跑。该错误的 `details` 会带 `attemptedSteps`(按序评估过的凭证通道及结果,如 `platform_token:missing`、`e10_session:failed`)、`lastError`(最后一条真实原因)与 `baseUrl`,另有 `failures` 记录每一次失败的阶段(`platform_token` / `bundled_env_script` / `token_script` / `client_session` / `teams_check` / `e10_session`)、类别(`network` / `http` / `credential`)以及网络错误的 `causeCode`(如 `ECONNREFUSED`、`ETIMEDOUT`)和 HTTP 的 `httpStatus`,原样转述给用户即可说明卡在哪一步;需要过程日志时由用户在业务命令上加 `--verbose`。失败全程都是网络错误时,子类型改为 `xiaoe_network_unavailable`、`retryable: true`,文案为「暂时无法连接 E10,请稍后重试」:这不是凭据问题,只提示稍后重试,不要让用户去重新登录。需要在业务命令之前主动建立会话时,可按下述流程显式登录。
|
|
33
|
+
|
|
34
|
+
显式 `auth xiaoe` 或静默重新获取登录信息失败时,CLI 会把脱敏诊断持久化到固定的
|
|
35
|
+
XiaoE 认证错误日志;日志不包含 Cookie、ETEAMSID、Token 或原始服务端详情。需要排查时
|
|
36
|
+
运行 `weaver-work-cli auth logs`(默认最近 50 条)或
|
|
37
|
+
`weaver-work-cli auth logs show --limit 100`;用 `weaver-work-cli auth logs path` 查看文件位置,
|
|
38
|
+
用 `weaver-work-cli auth logs clear` 清理。Agent 不得绕过这些命令直接读取认证日志文件。
|
|
33
39
|
|
|
34
40
|
此时**禁止**:
|
|
35
41
|
|
|
@@ -69,7 +75,7 @@ CLI 的认证错误只是状态信号,不是登录命令。已有 XiaoE 会话
|
|
|
69
75
|
|
|
70
76
|
`auth login` 会在本机 `127.0.0.1:19800` 监听浏览器回调,最长等待 5 分钟。Agent 沙箱/托管环境中的外部浏览器无法回调容器内地址。`auth xiaoe` 不会进入这条浏览器流程。执行规则:
|
|
71
77
|
|
|
72
|
-
1. 任意系统运行 `auth xiaoe` 时,收到 `xiaoe_credential_unavailable` 即反馈并停止;不要自动改跑 `auth login
|
|
78
|
+
1. 任意系统运行 `auth xiaoe` 时,收到 `xiaoe_credential_unavailable` 即反馈并停止;不要自动改跑 `auth login`。收到 `xiaoe_network_unavailable` 同样是停止,但按「暂时无法连接 E10」反馈并建议稍后重试。
|
|
73
79
|
2. 仅非 XiaoE 环境在用户确认真实 E10 域名且确认 CLI 与浏览器同机后执行 `auth login`;仍须限时等待,超时未完成即终止并反馈。
|
|
74
80
|
3. 仅非 XiaoE 环境在用户无法完成浏览器登录、且明确要求并同意人工录入时,才可使用保底方式 `weaver-work-cli auth set --eteamsid "<ETEAMSID>" --base-url "<用户确认的登录域名>"`;它不是业务认证错误的默认恢复路径。ETEAMSID 由用户从已登录浏览器主动提供,Agent 不得索取、展示或转述该值。
|
|
75
81
|
4. 严禁不加限制地前台运行 `auth xiaoe` / `auth login` 并等待 OAuth 回调。
|
|
@@ -139,6 +145,8 @@ weaver-work-cli --profile PROFILE_NAME auth status --no-check
|
|
|
139
145
|
|
|
140
146
|
宿主不会注入 ETEAMSID 环境变量,CLI 也不读取 `XIAOE_ETEAMSID`;ETEAMSID 一律由登录链路换取。CLI 支持两类宿主格式:平台注入的 `XIAOE_DOMAIN` + `XIAOE_USER_TOKEN`,以及 `WEAVER_XIAOE_*` 域名映射。这些格式属于宿主集成细节,不作为用户操作步骤;Agent 不要打印、转述、要求用户手动填写或将其导出到当前 shell。
|
|
141
147
|
|
|
148
|
+
小 e 网页端若返回 `details.reason=host_credential_not_injected`,表示当前沙箱仅保留了网页端运行时标记,宿主平台凭据未透传给 CLI。Agent 只反馈“网页技能沙箱未获得宿主登录凭据”并停止;不要要求用户手动提供环境变量、Token 或 ETEAMSID,也不要改走浏览器 OAuth。该问题必须由宿主/沙箱启动层保留原有凭据注入来修复;隔离认证目录时只覆盖 `WEAVER_WORK_CLI_AUTH_ROOT`,不得清空整个进程环境。
|
|
149
|
+
|
|
142
150
|
## XiaoE 凭据由 CLI 独占处理
|
|
143
151
|
|
|
144
152
|
运行 `auth xiaoe`,或已登录的 XiaoE 业务请求被 E10 明确拒绝为会话失效时,CLI 按以下顺序自行取凭据,Agent **不参与、也不得复现**。后者全程静默、合并同一 profile 的并发恢复,并最多重放原请求 1 次;流式请求、网络错误、`partial` / `write_uncertain` 均不触发重放:
|
|
@@ -5,7 +5,7 @@ display_name: 泛微E10事井然项目管理
|
|
|
5
5
|
display_name_en: Weaver E10 Shijingran Project Management
|
|
6
6
|
description_zh: 泛微E10事井然项目管理助手,封装项目和任务的创建、查询、修改、删除操作,并提供项目/任务类型、紧急程度、状态等字典查询能力。适用于在对话中通过 Agent 创建、查询、修改、删除项目或任务等场景。
|
|
7
7
|
description_en: Weaver E10 Shijingran project management assistant. Covers CRUD operations for projects and tasks, and provides dictionary queries for project/task types, priorities, and statuses. Used when an Agent needs to create, query, modify, or delete projects or tasks in conversation.
|
|
8
|
-
version: 1.0.
|
|
8
|
+
version: 1.0.10
|
|
9
9
|
author: 泛微网络科技股份有限公司
|
|
10
10
|
agent_created: true
|
|
11
11
|
requires:
|
|
@@ -25,14 +25,14 @@ cliHelp: "weaver-work-cli project --help"
|
|
|
25
25
|
|
|
26
26
|
## CRITICAL:共享规则
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
**`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见
|
|
28
|
+
先加载依赖技能 `weaver-e10-shared`(frontmatter 的 `dependencies` 已声明)。若该技能不可用、共享规则读取不到、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须调用宿主提供的提问/确认弹框,向用户说明必须补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行)及补齐计划,并把下面两条待执行命令原样完整展示在确认信息中;Agent 不能在未确认时自行安装。用户明确确认后,Agent 必须直接代为按顺序执行且每条仅执行一次,不得要求或引导用户手动执行:① 缺 CLI 时执行 `npm install -g weaver-work-cli`;② 再执行 `weaver-work-cli skills install shared --target-dir <SKILLS_ROOT>` 装回共享 skill,`<SKILLS_ROOT>` 取本 SKILL.md 所在目录的上一级绝对目录(即与本技能同级的 skills 根目录),不要省略 `--target-dir`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。
|
|
29
|
+
**`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 `weaver-e10-shared` 技能的共享规则。
|
|
30
30
|
|
|
31
31
|
### 登录与请求头凭证契约
|
|
32
32
|
|
|
33
33
|
本 Skill 是 CLI 型技能,不自行发起 HTTP 请求:认证与会话**统一由 `weaver-e10-shared` 共享规则和 `weaver-work-cli auth ...` 命令体系托管**,禁止自建或绕过登录流程。
|
|
34
34
|
|
|
35
|
-
所有 E10 请求由 `weaver-work-cli` 统一注入以下三项请求头,缺一不可(唯一权威声明见
|
|
35
|
+
所有 E10 请求由 `weaver-work-cli` 统一注入以下三项请求头,缺一不可(唯一权威声明见 `weaver-e10-shared` 的「请求头契约」章节,本技能只做指针引用,不复制其代码块):
|
|
36
36
|
|
|
37
37
|
| 请求头 | 取值 | 约束 |
|
|
38
38
|
| --- | --- | --- |
|
|
@@ -79,7 +79,7 @@ Agent 不得自行拼接、改写或向用户索取上述凭证(禁止要求
|
|
|
79
79
|
1. 判断用户目标对象和最小必要条件,按路由读取最小必要 reference;已知出厂字段直接使用 `operations.md` 的字段 quick reference。
|
|
80
80
|
2. 名称条件先解析为 ID;0 个匹配要告知,多个匹配必须让用户选择,不得猜。
|
|
81
81
|
3. 查询默认第 1 页 10 条;返回条数等于 pageSize 时提示可能还有更多,等待用户要求再翻页。
|
|
82
|
-
4.
|
|
82
|
+
4. 列表、详情和新建结果的记录名称都不要单独输出 `detail_url` / `detail_urls` 列;将 `task_name` / `proj_name` 渲染为 Markdown 链接(方括号内为记录名称,圆括号内为链接取值:列表/详情取 `detail_url`,新建取 `detail_urls[i]`)。链接不可用时名称保持纯文本并如实说明,不得编造 URL。
|
|
83
83
|
5. 写操作先 `prepare`,向用户摘要目标、差异、风险、默认值和不可逆性;用户明确确认后才 `apply`。
|
|
84
84
|
6. `partial/write_uncertain`、登录失效、回查失败或网络中断时停止写流程,不自动重试。
|
|
85
85
|
|
|
@@ -88,6 +88,7 @@ Agent 不得自行拼接、改写或向用户索取上述凭证(禁止要求
|
|
|
88
88
|
- 列表和详情默认只给摘要:记录数 + 下方固定展示列,不粘贴完整 JSON,不罗列全部原始字段;完整响应过长时先落本地 UTF-8 文件再给摘要与路径。
|
|
89
89
|
- 默认展示列以 [`operations.md`](references/operations.md) 的「输出处理」为准:任务列表 `task_name / task_type / plan_start_time / plan_finish_time / manager / task_status / progress / create_time`;项目列表把 `task_*` 换成 `proj_*`;详情在此基础上补 `project`/`priority` 与描述、创建时间。用户明确指定字段时以用户为准。
|
|
90
90
|
- 记录名称列(`task_name` / `proj_name`)渲染为 Markdown 链接 `[名称](detail_url)`,**不单独输出 `detail_url` 列**;`detail_url_warning` 时名称保持纯文本并如实说明,不得编造 URL。
|
|
91
|
+
- 新建成功(`project.task.create.apply` / `project.project.create.apply`)的返回默认带 `data.detail_urls`,与 `data.dataIds` 同序;用 `detail_urls[i]` 把第 i 条记录的 `task_name` / `proj_name` 渲染为 `[名称](url)`,不得只回复一串 ID 或一句"创建成功"。
|
|
91
92
|
- 关联字段(`manager`、`participant(s)`、`task_type`、`proj_status` 等)只展示 `name`,不展示内部 ID;字典 ID、对象 ID、`groupId` 只用于入参。
|
|
92
93
|
- 未指定状态时先说明默认口径「只查未开始 + 进行中」(默认系统状态口径见 [`operations.md`](references/operations.md));返回条数等于 `pageSize` 时提示可能还有下一页。
|
|
93
94
|
|
|
@@ -110,7 +111,7 @@ Agent 不得自行拼接、改写或向用户索取上述凭证(禁止要求
|
|
|
110
111
|
|
|
111
112
|
## 常用命令示例
|
|
112
113
|
|
|
113
|
-
以下示例只示意参数形态;执行前必须先按
|
|
114
|
+
以下示例只示意参数形态;执行前必须先按 `weaver-e10-shared` 的共享规则判定是否补 `--is-connector true`,命中时本任务内每条命令都要带。
|
|
114
115
|
|
|
115
116
|
Windows PowerShell:
|
|
116
117
|
|
|
@@ -93,7 +93,8 @@ weaver-work-cli --json project run project.task.list --input-json '{"pageNo":1,"
|
|
|
93
93
|
- `project.task.list`、`project.project.list`、`project.task.detail`、`project.project.detail` 默认为有记录 ID 的业务数据补充 `detail_url`;传 `fields` 且不包含 `detail_url` 时,CLI 不生成链接,也不调用对象 ID 接口。
|
|
94
94
|
- 任务列表用 `data.datas[].mainTable[].detail_url` 把 `task_name` 渲染为 `[名称](detail_url)`;项目列表用同一位置渲染 `proj_name`。
|
|
95
95
|
- 任务详情用 `data.datas[0].mainTable.detail_url` 把 `task_name` 渲染为 `[名称](detail_url)`;项目详情用同一位置渲染 `proj_name`。
|
|
96
|
-
-
|
|
96
|
+
- **新建成功后的返回值同样带链接**:`project.task.create.apply` / `project.project.create.apply` 默认在 `data.detail_urls` 返回详情页地址,与 `data.dataIds` **一一对应且同序**。展示新建结果时用 `detail_urls[i]` 把第 i 条记录的 `task_name` / `proj_name` 渲染为 `[名称](url)`,只报 ID 不算完成任务。
|
|
97
|
+
- 若返回 `detail_url_warning`,说明主查询或写入已成功但链接暂不可用;如实提示,不重试主操作,不编造 URL。
|
|
97
98
|
- 需要最高执行效率时(只做摘要、计数、筛选或名称转 ID),传 `withDetailUrl:false`,或在 `fields` 中不包含 `detail_url`;仅当用户会点开详情或明确要链接时保留默认的详情链接。
|
|
98
99
|
|
|
99
100
|
## 字典查询
|
|
@@ -143,6 +144,7 @@ weaver-work-cli --json project run project.form.fields --input-json '{"table":"t
|
|
|
143
144
|
- 任务详情必须且仅默认展示 `task_name`、`task_type`、`project`、`manager`、`task_status`、`progress`、`plan_start_time`、`plan_finish_time`、`task_desc`、`create_time`;`task_name` 渲染为 `[名称](detail_url)`,不单独输出 `detail_url` 列。
|
|
144
145
|
- 项目列表必须且仅默认展示 `proj_name`、`proj_type`、`plan_start_time`、`plan_finish_time`、`manager`、`proj_status`、`progress`、`create_time`;`proj_name` 渲染为 `[名称](detail_url)`,不单独输出 `detail_url` 列。
|
|
145
146
|
- 项目详情必须且仅默认展示 `proj_name`、`proj_type`、`priority`、`manager`、`proj_status`、`progress`、`plan_start_time`、`plan_finish_time`、`proj_desc`、`create_time`;`proj_name` 渲染为 `[名称](detail_url)`,不单独输出 `detail_url` 列。
|
|
147
|
+
- 新建成功(`project.task.create.apply` / `project.project.create.apply`)必须给出记录名称并渲染为 `[名称](detail_urls[i])`:第 i 条取 `data.detail_urls[i]`,与 `data.dataIds[i]` 同序对应;不得只回复一串 ID 或一句"创建成功"。
|
|
146
148
|
- 用户明确指定展示字段时,以用户指定为准,但仍不要罗列全部原始字段。
|
|
147
149
|
- 关联字段返回 `[{name,id}]` 时展示 `name`,不展示内部 ID。
|
|
148
150
|
- 明确说明默认状态口径;返回条数等于 `pageSize` 时提示可能有下一页。
|
|
@@ -1241,13 +1241,13 @@
|
|
|
1241
1241
|
}
|
|
1242
1242
|
},
|
|
1243
1243
|
"artifactBaseline": {
|
|
1244
|
-
"aggregateSha256": "
|
|
1244
|
+
"aggregateSha256": "15781e7e938c2a10ffa0e99428a9964deb05baa67bf79c981080c5ba309a1434",
|
|
1245
1245
|
"files": [
|
|
1246
1246
|
{
|
|
1247
1247
|
"path": "docs/_catalog.md",
|
|
1248
1248
|
"role": "generated-doc",
|
|
1249
|
-
"size":
|
|
1250
|
-
"sha256": "
|
|
1249
|
+
"size": 6236,
|
|
1250
|
+
"sha256": "3ffe3896fbecc4586aac19ebb7fa6e11ab6ad1090a78fbfe4f1313614ce034cb"
|
|
1251
1251
|
},
|
|
1252
1252
|
{
|
|
1253
1253
|
"path": "docs/project.md",
|
|
@@ -1258,8 +1258,8 @@
|
|
|
1258
1258
|
{
|
|
1259
1259
|
"path": "skill-template/business-info.json",
|
|
1260
1260
|
"role": "generated-template",
|
|
1261
|
-
"size":
|
|
1262
|
-
"sha256": "
|
|
1261
|
+
"size": 10383,
|
|
1262
|
+
"sha256": "a7f3fbedf68c9ec9f460c917ff2870da64540030eea3529c905792ca15bd4758"
|
|
1263
1263
|
},
|
|
1264
1264
|
{
|
|
1265
1265
|
"path": "skill-template/domains/shijingran.md",
|
|
@@ -1276,32 +1276,32 @@
|
|
|
1276
1276
|
{
|
|
1277
1277
|
"path": "skills/weaver-e10-shijingran/references/operations.md",
|
|
1278
1278
|
"role": "generated-reference",
|
|
1279
|
-
"size":
|
|
1280
|
-
"sha256": "
|
|
1279
|
+
"size": 11933,
|
|
1280
|
+
"sha256": "05cc6fb5059261757d65c47d043f4aee16a4b28e5676f1c13f9e36da4743ed78"
|
|
1281
1281
|
},
|
|
1282
1282
|
{
|
|
1283
1283
|
"path": "skills/weaver-e10-shijingran/references/write-operations.md",
|
|
1284
1284
|
"role": "generated-reference",
|
|
1285
|
-
"size":
|
|
1286
|
-
"sha256": "
|
|
1285
|
+
"size": 4216,
|
|
1286
|
+
"sha256": "6d9c6dece8de31dcea481bff38b41ddf3bc2b9f80f3511c4db4a6e68917ae066"
|
|
1287
1287
|
},
|
|
1288
1288
|
{
|
|
1289
1289
|
"path": "skills/weaver-e10-shijingran/SKILL.md",
|
|
1290
1290
|
"role": "generated-skill-entry",
|
|
1291
|
-
"size":
|
|
1292
|
-
"sha256": "
|
|
1291
|
+
"size": 14799,
|
|
1292
|
+
"sha256": "f0f4506d70bdd8dd0489cf8105b79b740f0db708fb6db1a72cf0d7933145824e"
|
|
1293
1293
|
},
|
|
1294
1294
|
{
|
|
1295
1295
|
"path": "src/shortcuts/index.ts",
|
|
1296
1296
|
"role": "generated-cli",
|
|
1297
|
-
"size":
|
|
1298
|
-
"sha256": "
|
|
1297
|
+
"size": 8426,
|
|
1298
|
+
"sha256": "d1b5fe76045aa2532c859f20ceeb7a5c415cc34b7a36bda0a2699c1cac34eee3"
|
|
1299
1299
|
},
|
|
1300
1300
|
{
|
|
1301
1301
|
"path": "src/shortcuts/project/continuation.ts",
|
|
1302
1302
|
"role": "generated-cli",
|
|
1303
|
-
"size":
|
|
1304
|
-
"sha256": "
|
|
1303
|
+
"size": 3368,
|
|
1304
|
+
"sha256": "99157b185a60e1a301a0c5705bbfdf6cde20816cfa2baa76d8171c0af8fdccff"
|
|
1305
1305
|
},
|
|
1306
1306
|
{
|
|
1307
1307
|
"path": "src/shortcuts/project/errors.ts",
|
|
@@ -1312,14 +1312,14 @@
|
|
|
1312
1312
|
{
|
|
1313
1313
|
"path": "src/shortcuts/project/host.ts",
|
|
1314
1314
|
"role": "generated-cli",
|
|
1315
|
-
"size":
|
|
1316
|
-
"sha256": "
|
|
1315
|
+
"size": 7267,
|
|
1316
|
+
"sha256": "5a15e8b0c187c26c6cfc7cc1e50d31fafefa5169ba74220e723406939368b58b"
|
|
1317
1317
|
},
|
|
1318
1318
|
{
|
|
1319
1319
|
"path": "src/shortcuts/project/index.ts",
|
|
1320
1320
|
"role": "generated-cli",
|
|
1321
|
-
"size":
|
|
1322
|
-
"sha256": "
|
|
1321
|
+
"size": 4493,
|
|
1322
|
+
"sha256": "dd8084e58007649ff5b2e25b23ea8dd77e1c215aaed5da7bf50fc7208faa92f3"
|
|
1323
1323
|
},
|
|
1324
1324
|
{
|
|
1325
1325
|
"path": "src/shortcuts/project/manifest.ts",
|
|
@@ -1336,8 +1336,8 @@
|
|
|
1336
1336
|
{
|
|
1337
1337
|
"path": "src/shortcuts/project/operations/read.ts",
|
|
1338
1338
|
"role": "generated-cli",
|
|
1339
|
-
"size":
|
|
1340
|
-
"sha256": "
|
|
1339
|
+
"size": 23906,
|
|
1340
|
+
"sha256": "a1da21e8baaf822885441e369bb2cabaa78173069ee482a0bb77d752945aa615"
|
|
1341
1341
|
},
|
|
1342
1342
|
{
|
|
1343
1343
|
"path": "src/shortcuts/project/operations/registry.ts",
|
|
@@ -1348,8 +1348,8 @@
|
|
|
1348
1348
|
{
|
|
1349
1349
|
"path": "src/shortcuts/project/operations/shared.ts",
|
|
1350
1350
|
"role": "generated-cli",
|
|
1351
|
-
"size":
|
|
1352
|
-
"sha256": "
|
|
1351
|
+
"size": 4151,
|
|
1352
|
+
"sha256": "8c67c9802f2a8126e8568547ded11b1fafae9f5c755b36608d049e017ea97be9"
|
|
1353
1353
|
},
|
|
1354
1354
|
{
|
|
1355
1355
|
"path": "src/shortcuts/project/operations/types.ts",
|
|
@@ -1360,14 +1360,14 @@
|
|
|
1360
1360
|
{
|
|
1361
1361
|
"path": "src/shortcuts/project/operations/write.ts",
|
|
1362
1362
|
"role": "generated-cli",
|
|
1363
|
-
"size":
|
|
1364
|
-
"sha256": "
|
|
1363
|
+
"size": 14171,
|
|
1364
|
+
"sha256": "5ff2081e6ecde1557312b729fbdddb61fa60474f4ab90b10e749cce054580f18"
|
|
1365
1365
|
},
|
|
1366
1366
|
{
|
|
1367
1367
|
"path": "test/business/project-operations.test.ts",
|
|
1368
1368
|
"role": "generated-test",
|
|
1369
|
-
"size":
|
|
1370
|
-
"sha256": "
|
|
1369
|
+
"size": 18330,
|
|
1370
|
+
"sha256": "98121e9d8968af7ef5178749e7de041b8d29abb1217d8e4d8acc2e04d7822b77"
|
|
1371
1371
|
},
|
|
1372
1372
|
{
|
|
1373
1373
|
"path": "skills/weaver-e10-shijingran/references/disabled-capabilities.md",
|
|
@@ -1383,6 +1383,8 @@
|
|
|
1383
1383
|
"源资料版本为 1.0.4,覆盖 25 个接口文档、1 个目录文档和 1 个字段解析流程指引。",
|
|
1384
1384
|
"project.attachment.upload 与 project.field.auto-resolve 因源资料缺少安全实现契约而保留为 withheldOperations。",
|
|
1385
1385
|
"2026-09-24:刷新本技能包内产物指纹(SKILL.md / references),新增 references/disabled-capabilities.md;行尾统一为 LF。",
|
|
1386
|
-
"2026-10-08:SKILL.md 的「登录与请求头凭证契约」改为请求头声明表格(Cookie / eteamsid / User-Agent),刷新本包产物指纹。"
|
|
1386
|
+
"2026-10-08:SKILL.md 的「登录与请求头凭证契约」改为请求头声明表格(Cookie / eteamsid / User-Agent),刷新本包产物指纹。",
|
|
1387
|
+
"2026-11-04:新建项目/任务后的返回值补充 detail_urls(详情链接),写入文档与展示契约同步;整体重建产物基线指纹。",
|
|
1388
|
+
"2026-11-05:移除正文中的跨技能路径引用(改为按技能名指代),版本 1.0.10。"
|
|
1387
1389
|
]
|
|
1388
1390
|
}
|
|
@@ -50,6 +50,8 @@ weaver-work-cli --json project run project.task.create.prepare --input-json '{"r
|
|
|
50
50
|
{"continuation":"PREPARE_CONTINUATION","confirm":true}
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
apply 成功后,`data.dataIds` 是新记录 ID 列表,`data.detail_urls` 是对应的详情页地址(与 `dataIds` 同序)。展示新建结果时按索引把记录名称渲染为 `[名称](detail_urls[i])`,不要只给 ID;若返回 `detail_url_warning`,说明写入已成功但链接暂不可用,如实说明即可,不要重试 apply。
|
|
54
|
+
|
|
53
55
|
## 修改
|
|
54
56
|
|
|
55
57
|
- `project.task.update.prepare` / `project.project.update.prepare` 输入 `id` 和 `fields`。
|
|
@@ -218,6 +218,8 @@ E10 业务模块必须复用 `src/internal/e10` 的 session、profile 和 reques
|
|
|
218
218
|
1. `prepare` 做只读回查、输入归一化、差异摘要和 continuation 签发,不真实写入。
|
|
219
219
|
2. Agent 把目标、差异、风险和确认条件摘要给用户。
|
|
220
220
|
3. 用户明确确认后,`apply` 必须要求 `confirm: true` 和有效 continuation。
|
|
221
|
+
- 票据 TTL **不要写死**:统一从 `src/core/continuation-ttl.ts` 取 `CONTINUATION_TTL_MS` / `CONTINUATION_TTL_SECONDS`(当前 24 小时),回显的 `expiresInSeconds` 必须由同一常量推导,不能与 TTL 脱节。
|
|
222
|
+
- 票据过期(`continuation_expired` / `continuation_invalid`)**与登录态无关**:登录失效是 `authentication`(exitCode 3)。Skill 文案禁止把票据过期写成「登录失效」,否则用户会去重新登录,而不是重新 prepare。
|
|
221
223
|
4. `apply` 校验 session、目标 ID、文件 sha256 或业务对象指纹没有变化。
|
|
222
224
|
5. 写请求已发送后,如遇网络中断、部分成功或回查失败,返回 `partial/write_uncertain`,禁止自动重复提交。
|
|
223
225
|
|
|
@@ -341,7 +341,7 @@
|
|
|
341
341
|
}
|
|
342
342
|
},
|
|
343
343
|
"artifactBaseline": {
|
|
344
|
-
"aggregateSha256": "
|
|
344
|
+
"aggregateSha256": "24cbcff562b03ba9b49228109191b63196654c2c6ecdcfb33ddbf1ea76a43d3d",
|
|
345
345
|
"files": [
|
|
346
346
|
{
|
|
347
347
|
"path": "docs/wenshuding.md",
|
|
@@ -430,8 +430,8 @@
|
|
|
430
430
|
},
|
|
431
431
|
{
|
|
432
432
|
"path": "src/shortcuts/archive/index.ts",
|
|
433
|
-
"size":
|
|
434
|
-
"sha256": "
|
|
433
|
+
"size": 17097,
|
|
434
|
+
"sha256": "b5357ca809f41bb2491817bf2ca394a8cb99af18ef9d40ccb8b3f2963272f204"
|
|
435
435
|
},
|
|
436
436
|
{
|
|
437
437
|
"path": "src/shortcuts/archive/manifest.ts",
|
|
@@ -101,8 +101,10 @@ cliHelp: "weaver-work-cli workflow --help"
|
|
|
101
101
|
- 三类词**都没有**(只是"有哪些待办 / 列出来 / 多少条")→ `workflow.search`,不要调 `workflow.todoStat`。
|
|
102
102
|
- **例外**:「批量处理待办」后面跟了明确写动作(提交 / 置已读 / 催办 / 共享 / 转发 / 退回)时,仍走 `workflow.batch*`,不要因为出现"批量处理"就转成汇总。
|
|
103
103
|
- **汇总范围的小分类(2026-11-02)**:用户原话出现小分类词(待处理 / 待阅 / 超时 / 未读 / 被退回 / 草稿 / 抄送 / 转发…)时,`prep`/`run` 要传 `--sub-category <词>`(或 `--tabid <tabid>`,显式 tabid 优先;todo 词表:待处理=7、待阅=5、超时=6、被退回=8、草稿=14、全部=0),否则「汇总下我的待处理」会静默取回全部(tabid=0)。未表达小分类时不传。仅影响汇总取数,`workflow.search` 不受影响。
|
|
104
|
-
-
|
|
104
|
+
- **参与身份默认口径(2026-11-03,generalRules)**:汇总取数是否默认排除/包含抄送类身份,以 `default.json` 的 `generalRules` **现行内容为准**(该文件用户可直接编辑,配置可能随时调整),取数 warning 会提示实际生效口径。**用户提示词显式提到抄送/包含抄送/只要抄送/指定身份时,必须显式传 `--isremarks` 覆盖默认值**(全量=全部 23 个身份码;只要抄送=`30,31,33,70,71`)。
|
|
105
|
+
- **缓存与规则口径的纪律(2026-11-03 用户定稿)**:①汇总缓存文件缺失、被清理或条目 miss ⇒ 一律按「冷缓存、从未生成过」处理,直接走待写摘要流程,**不追溯原因、不从备份恢复、不当异常上报**;②`aigroup/default.json` 是用户本机可编辑的规则文件,改动是常态,**只管读并按现行内容执行**——不与仓库版本比对、不覆盖恢复、不探究谁改的。
|
|
105
106
|
- **不要**为了"先看一眼有哪些"去调 `workflow.todoStat` / `workflow.search` 再回头走汇总链路——那会多花一轮,且交付形态会被带偏。
|
|
107
|
+
- **禁止复用上一轮快照(2026-11-04 用户定稿,2026-11-04 复盘踩坑)**:汇总请求(原话含「汇总待办」/「摘要」等归拢说法)一律**重新执行 `run`(collect 取数)**,**禁止**因为"数据刚取过 / 快照没过期 / 省一轮调用"而复用上一轮的快照 URL 或原样重发旧 `<browsertool>` 块。理由:汇总输出不只取决于待办数据,还取决于**本地规则文件**(`aigroup/default.json`、用户意图)——数据没变 ≠ 输入口径没变,规则改动(如 `needSummary`、`requestSummaryPrompt`)必须靠重新取数才会生效;本地 serve 的快照本身不校验规则新鲜度,复用它等于静默输出旧口径。仅当用户明确说"把刚才的链接再发一次"才允许原样重发。`finish` 的 `ruleFp` 拦截只在真正走到导出时生效,**不能**作为跳过取数的借口。
|
|
106
108
|
|
|
107
109
|
|
|
108
110
|
### 用户意图 → JSON(2026-10-28 新增,模型负责理解、CLI 负责落盘)
|
|
@@ -125,7 +127,7 @@ weaver-work-cli --json workflow aigroup set --input-json '{"workflowName":["费
|
|
|
125
127
|
| 名词 | 含义 |
|
|
126
128
|
| --- | --- |
|
|
127
129
|
| `workflowName` | 工作流名称。**第一次分组 = 按 `workflowName` 分组**,得到的每组叫「工作流分组」 |
|
|
128
|
-
| **ai二次分组** |
|
|
130
|
+
| **ai二次分组** | 在组内再切子组的过程。**只有这一步需要 AI 计划(`aiGroups`)**;**排在单条摘要之后**(2026-11-03:分组与摘要不耦合,摘要阶段不再被 `aiGroups` 阻塞) |
|
|
129
131
|
| **原始列表数据** | `/getTodoListData` 返回的待办条目集合,整条链路的唯一数据源 |
|
|
130
132
|
| **流程标题** | 条目字段 `requestNameTitle`;没有流程详情数据时 AI 只能靠它判断语义 |
|
|
131
133
|
| **流程详情数据** | `/getWorkflowRequest` 返回的表单字段 + 基础信息(分组素材 / 摘要素材 / 阈值指标都取它) |
|
|
@@ -27,10 +27,13 @@
|
|
|
27
27
|
"客户问题支持"
|
|
28
28
|
],
|
|
29
29
|
"weight": 100,
|
|
30
|
-
"requestSummaryPrompt": "根据以下模板进行摘要:{总结问题描述} 【{完结状态}
|
|
30
|
+
"requestSummaryPrompt": "根据以下模板进行摘要:{总结问题描述} 【{完结状态}】最晚解决时间:{最晚解决时间}【{客户名称}】",
|
|
31
31
|
"excludeOriginFormDataFields": [
|
|
32
32
|
"备案环境",
|
|
33
|
-
"推荐答案"
|
|
33
|
+
"推荐答案",
|
|
34
|
+
"小E回复结果",
|
|
35
|
+
"解决方案",
|
|
36
|
+
"问题相关日志(ecology/emobile及resin日志)"
|
|
34
37
|
],
|
|
35
38
|
"aiGroup": {
|
|
36
39
|
"groupSummary": {
|
|
@@ -50,11 +53,7 @@
|
|
|
50
53
|
],
|
|
51
54
|
"groupTitle": "已过期及今天即将过期的流程"
|
|
52
55
|
}
|
|
53
|
-
}
|
|
54
|
-
"summaryRequiredFields": [
|
|
55
|
-
"【",
|
|
56
|
-
"】"
|
|
57
|
-
]
|
|
56
|
+
}
|
|
58
57
|
},
|
|
59
58
|
{
|
|
60
59
|
"workflowName": [
|
|
@@ -75,7 +74,8 @@
|
|
|
75
74
|
"意见建议"
|
|
76
75
|
],
|
|
77
76
|
"weight": 300,
|
|
78
|
-
|
|
77
|
+
|
|
78
|
+
"needSummary": false,
|
|
79
79
|
"aiGroup": {
|
|
80
80
|
"groupSummary": {
|
|
81
81
|
"needAI": true,
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"公休"
|
|
107
107
|
],
|
|
108
108
|
"weight": 400,
|
|
109
|
-
"requestSummaryPrompt": "根据以下模板进行摘要:{
|
|
109
|
+
"requestSummaryPrompt": "根据以下模板进行摘要:{起始时间}开始,请假:{请假天数}天,请假事由:{对:【请假原因】进行总结} ",
|
|
110
110
|
"excludeOriginFormDataFields": [
|
|
111
111
|
"契约锁人员所有上级",
|
|
112
112
|
"所有上级",
|
|
@@ -204,6 +204,8 @@
|
|
|
204
204
|
"安全问题处理工单"
|
|
205
205
|
],
|
|
206
206
|
"weight": 700,
|
|
207
|
+
|
|
208
|
+
"needSummary": true,
|
|
207
209
|
"requestSummaryPrompt": "根据以下模板进行摘要:漏洞文件:{漏洞地址的文件(完整的文件,不能去掉数据库方言)及行号,行号是指地址最后的L{数字}-L{数字}} 漏洞类型:{漏洞类型} 最晚完成时间:{最晚完成日期}",
|
|
208
210
|
"excludeOriginFormDataFields": [
|
|
209
211
|
"修复方案"
|