weaver-work-cli 0.1.42 → 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-J4I6MCKF.js → archive-P6TBQGKL.js} +13 -5
- package/dist/chunks/{archive-oa-BRZKKTO4.js → archive-oa-7TQ2NXOH.js} +12 -5
- package/dist/chunks/{asset-L7D4FAOZ.js → asset-3ELRG37G.js} +11 -4
- package/dist/chunks/{asset-idle-DADLLV75.js → asset-idle-WIGMUFMD.js} +7 -3
- package/dist/chunks/{attachment-content-K4C7VLWQ.js → attachment-content-E3276UOV.js} +5 -4
- package/dist/chunks/{blog-BVGQ7NZL.js → blog-C5NMZAAC.js} +11 -4
- package/dist/chunks/{caizhilian-SAADNFD6.js → caizhilian-5XSM2DFP.js} +13 -6
- package/dist/chunks/{calendar-Q7NQY5Z2.js → calendar-FI2WNSBO.js} +12 -5
- package/dist/chunks/{chunk-YRSZQUD2.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-EKWAQSLU.js → chunk-BCVYBYYT.js} +432 -2248
- package/dist/chunks/{chunk-W7BEHOSR.js → chunk-CWYGFU5B.js} +2 -2
- package/dist/chunks/{chunk-NOODWMCL.js → chunk-D4ADSZ7H.js} +1 -1
- package/dist/chunks/{chunk-SA6VBIHY.js → chunk-ETNJSKMM.js} +214 -16
- package/dist/chunks/{chunk-BBKDXQEC.js → chunk-F4E4EM35.js} +3 -3
- package/dist/chunks/{chunk-IZ7S7QUS.js → chunk-FAZTGX7S.js} +6 -6
- package/dist/chunks/{chunk-NKZRQXST.js → chunk-FRZKBMSW.js} +52 -36
- package/dist/chunks/{chunk-BYBSCN4X.js → chunk-G7PQWD4L.js} +6 -3
- package/dist/chunks/{chunk-GEWYMQME.js → chunk-GAMZLAG2.js} +1 -1
- package/dist/chunks/{chunk-R4CHUSKC.js → chunk-GM6J7Q4B.js} +4 -4
- package/dist/chunks/{chunk-APVFJUQH.js → chunk-GRDRG6HP.js} +3 -3
- package/dist/chunks/{chunk-LDZQPUIA.js → chunk-HIT4Y6OI.js} +1 -1
- package/dist/chunks/{chunk-EZALDOQH.js → chunk-HP7JIYMT.js} +5 -2
- package/dist/chunks/{chunk-LADPYOWC.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-BIPYLLVS.js → chunk-N4M2DDFE.js} +15 -15
- package/dist/chunks/{chunk-QKNKR4RH.js → chunk-OF4S23UB.js} +4 -4
- package/dist/chunks/{chunk-JPRO6ER2.js → chunk-PC7VKEB5.js} +57 -60
- package/dist/chunks/{chunk-4PD5NWAX.js → chunk-PUQS5MWL.js} +2 -2
- package/dist/chunks/{chunk-2LV74IWP.js → chunk-Q4OYAQYH.js} +1 -1
- package/dist/chunks/{chunk-72CKAUAG.js → chunk-QVSWRLLU.js} +7 -5
- package/dist/chunks/{chunk-4RAE6JXP.js → chunk-TA7FXXJD.js} +6 -3
- package/dist/chunks/{chunk-GPMFD4RD.js → chunk-TXUG266F.js} +1 -1
- package/dist/chunks/{chunk-FOAA27U5.js → chunk-UFIT2UU3.js} +16 -4
- 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-G4UR6NXN.js → chunk-WSF4NNMR.js} +3 -3
- package/dist/chunks/chunk-XHK4MDR5.js +2497 -0
- package/dist/chunks/{chunk-3KTFS4IA.js → chunk-XNIK66I4.js} +19 -9
- 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-GHXCDPTM.js → chunk-Z7VYWPZV.js} +1 -1
- package/dist/chunks/{conflict-F2OMZRTO.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-5BETHRSG.js → contract-DNIIW5VJ.js} +13 -5
- package/dist/chunks/{cowork-3MN6EQQO.js → cowork-GMLRGVIW.js} +11 -4
- package/dist/chunks/{create-flow-5FQNNMVO.js → create-flow-J22BO65E.js} +8 -7
- package/dist/chunks/{ebuilder-form-SBHOYBUD.js → ebuilder-form-ANV2FHYV.js} +12 -7
- package/dist/chunks/{ehr-KMOJULKG.js → ehr-GSTGAIY3.js} +266 -24
- package/dist/chunks/{employee-SAK2QYXX.js → employee-22BGJ3QS.js} +3 -3
- package/dist/chunks/{env-LB7NBL2O.js → env-BX3VRFS7.js} +4 -3
- package/dist/chunks/{esb-W2PJCFCX.js → esb-ATAIASX2.js} +12 -7
- package/dist/chunks/{factory-6ZFQXQ46.js → factory-PETTFME6.js} +3 -2
- package/dist/chunks/{fna-ZQPCUV4R.js → fna-YEKBSFSX.js} +14 -8
- package/dist/chunks/{group-chat-2HHAJN46.js → group-chat-BFVXAYFX.js} +5 -4
- package/dist/chunks/{host-ATKVNZAT.js → host-HRBXEPDQ.js} +5 -5
- package/dist/chunks/{host-BQH22NTQ.js → host-LR55CTHP.js} +5 -5
- package/dist/chunks/{host-X2CSLFM6.js → host-SUOY6VYQ.js} +5 -5
- package/dist/chunks/{host-4CBHGOHT.js → host-SZGV4UNT.js} +5 -5
- package/dist/chunks/{host-YTODKMSL.js → host-WIKN2EJ5.js} +5 -5
- package/dist/chunks/{hrm-FFM4UJFS.js → hrm-NRDO4W5G.js} +11 -7
- package/dist/chunks/{im-VEHKDQPB.js → im-IQ2HN23S.js} +8 -7
- package/dist/chunks/{invoice-LVIKSIIF.js → invoice-MNRW76PP.js} +636 -1768
- package/dist/chunks/{jiuchuanhui-X6DINO5P.js → jiuchuanhui-DTRBAX4N.js} +14 -6
- package/dist/chunks/{lazy-dispatch-KSWTN5L6.js → lazy-dispatch-ZVWAI25B.js} +7 -6
- package/dist/chunks/{mail-VDKRGUD3.js → mail-ZVAUXOJA.js} +16 -14
- package/dist/chunks/{meeting-CLC6HP3Z.js → meeting-FEVPZ67S.js} +21 -14
- package/dist/chunks/{okr-CHG4OO3U.js → okr-SDH3E5RA.js} +12 -5
- package/dist/chunks/{operations-5QL3AECO.js → operations-62N6EP3C.js} +4 -3
- package/dist/chunks/{plan-XWR75667.js → plan-E35JFDI7.js} +12 -5
- package/dist/chunks/{project-5BXOOKMG.js → project-73QXBAB2.js} +11 -4
- package/dist/chunks/reception-UWZVACBN.js +1899 -0
- package/dist/chunks/{recruit-stage-DGMFNNDE.js → recruit-stage-4MAOCKFY.js} +320 -57
- package/dist/chunks/registry-IM5G23LS.js +24 -0
- package/dist/chunks/{registry-RHMW6ANW.js → registry-JDUS4E7D.js} +7 -6
- package/dist/chunks/{registry-7FFOXIAW.js → registry-KNKSCJNT.js} +7 -6
- package/dist/chunks/{registry-Z43434VG.js → registry-PO7SI256.js} +4 -4
- package/dist/chunks/{registry-OZSMDVPP.js → registry-PVUZQDDQ.js} +3 -3
- package/dist/chunks/{room-recommend-62H7ZQQ6.js → room-recommend-H7KLXA5R.js} +6 -5
- package/dist/chunks/{schedule-FNXKH3DQ.js → schedule-ESZIBAUO.js} +6 -5
- package/dist/chunks/{workflow-ADHKCAJK.js → workflow-CWJFJLQU.js} +13 -8
- 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 +37 -31
- package/dist/internal/e10/auth/commands.js +163 -8
- package/dist/internal/e10/auth/error-log.js +182 -0
- package/dist/internal/e10/auth/session.js +17 -3
- package/dist/internal/e10/auth-recovery.js +39 -12
- package/dist/internal/e10/context.js +17 -2
- 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/write.js +1 -1
- 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/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 +1 -1
- package/dist/shortcuts/ehr/operations/recruit-candidate-import.js +182 -3
- package/dist/shortcuts/ehr/operations/recruit-position.js +134 -2
- package/dist/shortcuts/ehr/operations/recruit-write.js +1 -1
- 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/im/continuation.js +2 -1
- package/dist/shortcuts/index.js +5 -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/create-flow.js +16 -7
- package/dist/shortcuts/meeting/operations/eb/decision.js +1 -1
- package/dist/shortcuts/meeting/operations/eb/factory.js +1 -1
- 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/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 +145 -33
- package/dist/shortcuts/recruit-stage/continuation.js +2 -1
- package/dist/shortcuts/recruit-stage/operations/jd-create.js +106 -17
- package/dist/shortcuts/recruit-stage/operations/resume-import.js +166 -10
- 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/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 +16 -0
- 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/reception.md +119 -0
- package/package.json +1 -1
- package/scripts/clean.mjs +43 -2
- package/skill-template/business-info.json +18 -2
- package/skill-template/domains/caizhilian.md +1 -1
- package/skill-template/domains/reception-flow.md +18 -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/references/calendar-write.md +1 -1
- package/skills/weaver-e10-cowork/SKILL.md +1 -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 +2 -2
- package/skills/weaver-e10-jucailin/references/recruit-create.md +12 -3
- package/skills/weaver-e10-jucailin/references/recruit-write.md +1 -1
- package/skills/weaver-e10-meeting/SKILL.md +8 -6
- 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 +9 -5
- package/skills/weaver-e10-recruit-stage/lib/recruit-xiaoe-file.mjs +1 -1
- 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-jd-create.md +22 -0
- package/skills/weaver-e10-recruit-stage/references/recruit-resume-import.md +14 -1
- package/skills/weaver-e10-shared/references/e10-auth-and-session.md +6 -0
- package/skills/weaver-e10-shijingran/SKILL.md +5 -5
- package/skills/weaver-e10-shijingran/references/source-manifest.json +37 -36
- 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/references/source-manifest.json +32 -32
- package/skills/weaver-e10-yepiaotong/SKILL.md +19 -26
- 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-TTPJJJC4.js +0 -465
- package/dist/chunks/registry-BKBZPBAJ.js +0 -23
- 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,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: weaver-e10-reception-flow
|
|
3
|
+
display_name: 客户参观接待流程助手
|
|
4
|
+
display_name_en: E10 Customer Reception Flow Assistant
|
|
5
|
+
description: "客户来访接待 / 客户参观 / 客户到访 / 接待流程 / 客户接待行程单:泛微客户参观接待全流程助手。从原话抽取客户/人数/日期/参观类型/陪同/需求/后勤保障(接待细节),只补缺口;生成客户版《客户接待行程单》docx 与内部版《接待交流参考文档》md;打开接待流程填单页并预填字段,停在发起节点由用户提交。"
|
|
6
|
+
description_zh: "客户来访接待 / 客户参观 / 客户到访 / 接待流程全流程助手(文件传参,不踩转义):缺项才出面板(客户需求 + 接待细节,总屏数 ≤2)→ 检索同业案例与内部专家 → 生成客户版《客户接待行程单》docx 与内部版《接待交流参考文档》md,两份附件自动挂到接待流程填单页,停在发起节点由用户提交。"
|
|
7
|
+
description_en: "E10 customer reception flow assistant: extracts customer, headcount, date, visit type, escorts, requirement and logistics from the user's own words, asks only for the gaps with at most two panels, enriches the internal brief with retrieved peer cases and in-house experts, renders the customer-facing itinerary docx and the internal reference md, uploads both as attachments, and opens the pre-filled request form for the user to submit."
|
|
8
|
+
version: 6.4.0
|
|
9
|
+
author: 泛微网络科技股份有限公司
|
|
10
|
+
agent_created: true
|
|
11
|
+
requires:
|
|
12
|
+
bins: ["weaver-work-cli"]
|
|
13
|
+
cliHelp: "weaver-work-cli reception --help"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、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`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
|
|
17
|
+
**`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
|
|
18
|
+
|
|
19
|
+
> 读共享规则时,本链路**只需要**其中三块:XiaoE 登录与凭据(`references/e10-auth-and-session.md`)、JSON 输出契约(`references/json-output-contract.md`)、高风险写入(`references/high-risk-write.md`)。安装、连接器、OAuth 防挂起本次用不到,不必展开。
|
|
20
|
+
|
|
21
|
+
# 客户参观接待流程助手
|
|
22
|
+
|
|
23
|
+
**ask → 一次面板 →(案例 + 专家检索)→ doc → render**,**全程零写请求**。
|
|
24
|
+
|
|
25
|
+
## 1 · 依赖与启动
|
|
26
|
+
|
|
27
|
+
`reception` 已内置在 `weaver-work-cli` 里;本技能包只提供字段快照、`render.py`、行程单模板。
|
|
28
|
+
`$SD` = 本 SKILL.md 所在目录(部署路径带 hash,每轮重新确认,别复用旧路径)。
|
|
29
|
+
|
|
30
|
+
**技能目录就这三样,不要 `ls` 去确认结构**(列目录 + 输出被截断要花掉 8~12 秒):
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
$SD/data/fields-snapshot.json ← doc 的 --snapshot
|
|
34
|
+
$SD/scripts/render.py ← doc 自动从 --snapshot 反推,不用传
|
|
35
|
+
$SD/assets/行程单模板-泛微.docx ← 同上
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
共享规则 `../weaver-e10-shared/SKILL.md` 是**相对本 SKILL.md 所在目录**解析,不是相对当前工作目录。
|
|
39
|
+
本链路**零写请求**,shared 里真正用到的只有「E10 会话由 CLI 内部管理」和「JSON 输出契约」两条,下文已覆盖。
|
|
40
|
+
**读不到 shared 不要中断、不要换路径重试**,按本文件继续执行即可——为它反复试错只会白花时间。
|
|
41
|
+
|
|
42
|
+
**一律文件传参**:`--known-file` / `--answers-file`。内联 JSON 会被 shell 吃引号。文件带 BOM 无所谓,CLI 解析前会自动去掉。
|
|
43
|
+
|
|
44
|
+
**落文件与调用合并成一条命令**。拆成两次(先 write_file 再 terminal)会多付一次工具往返的固定开销,
|
|
45
|
+
比 CLI 本身慢一个数量级:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# macOS/Linux
|
|
49
|
+
printf '%s' '<known.json 内容>' > known.json && weaver-work-cli reception ask --known-file known.json
|
|
50
|
+
# 面板答完后:doc-render 一次完成「出件 + 传附件 + 拼填单参数」,不要拆成 doc + render 两次
|
|
51
|
+
weaver-work-cli reception doc-render --run-id <id> --answers-file answers.json \
|
|
52
|
+
--snapshot "$SD/data/fields-snapshot.json" [--cases-file cases.json]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```powershell
|
|
56
|
+
# Windows PowerShell 5.1(System32 自带版本):-Encoding UTF8 会带 BOM,CLI 会自动去掉,不需要特殊处理
|
|
57
|
+
Set-Content -Path known.json -Value '<known.json 内容>' -Encoding UTF8; weaver-work-cli reception ask --known-file known.json
|
|
58
|
+
weaver-work-cli reception doc-render --run-id <id> --answers-file answers.json --snapshot "$SD\data\fields-snapshot.json"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
> ⚠️ **不要用 `-Encoding utf8NoBOM`**:那是 PowerShell 7 的参数,5.1 不认,会直接报错、白花一轮。
|
|
62
|
+
> 也不要为了"不带 BOM"去写 `[System.IO.File]::WriteAllText` 那套 .NET 调用,没必要。
|
|
63
|
+
|
|
64
|
+
> `--snapshot` 只在 `doc` 传一次,`render` 复用 run 里的路径;只有报 `SNAPSHOT_MISSING` 才补传。
|
|
65
|
+
> **不要事先探测命令是否存在**:直接跑 `ask`。只为确认 `reception` 在不在而先跑一次
|
|
66
|
+
> `commands list` 或 `--help`,等于白花一次工具往返(实测 8~12 秒)。
|
|
67
|
+
> 真报 `command not found` 再按 CRITICAL 段处理。
|
|
68
|
+
> **`--user` 是陪同人员,不是当前操作人**。用户说的「由 XX 负责对接」要写进 `known.escorts`——
|
|
69
|
+
> `escorts` 优先级高于 `--user`,否则主联络人会被操作人顶掉。
|
|
70
|
+
|
|
71
|
+
## 2 · 主流程
|
|
72
|
+
|
|
73
|
+
1. **一条命令完成「写 `known.json` + `ask`」** → `data.panels[]` + `data.runId`。客户名、人名直接传中文,不查 ID。**不要先说「我先确认一下 CLI」**,直接调。
|
|
74
|
+
2. **`ask_user(panels)` 只调一次**。用户少答的进待办,不追问第二轮。
|
|
75
|
+
3. **案例 + 专家检索**(客户名一确定就发起,可与面板等待并行)
|
|
76
|
+
- 检索词 = 客户名 + 客户需求(取 `customer_need` 选中值;选「暂未确定」只用客户名)
|
|
77
|
+
- 两次:同业案例、内部专家,**各取 5 条**即够,不要 10 条
|
|
78
|
+
- 结果写同一个 `cases.json`:`{query, note, cases:[{title,relevance,date}], expertsQuery, expertsNote, experts:[{name,dept,relevance}]}`
|
|
79
|
+
- 仅工具缺失/报错/空结果才跳过,且要在 `--answers` 带 `"fields":{"todo":["…未命中(原因)"]}`
|
|
80
|
+
4. **写 `answers.json` → `doc-render`**(一次完成出件、传附件、拼参数)→ `data.files` + `data.attachments` + `data.browsertool`
|
|
81
|
+
- 报 `RUN_NOT_FOUND` 不要重跑 ask:带 `--known-file` 重跑本条,CLI 现场重建 run,一次搞定
|
|
82
|
+
- 报 `unknown command` 说明这台机器的 CLI 是旧版,回退 `doc` + `render` 两步,其余不变
|
|
83
|
+
5. **按末尾「交付格式」五段输出**:先贴 `data.internalDoc.content` 全文,再写流程确认与待办,最后接 `data.browsertool`
|
|
84
|
+
- 宿主若明确支持 `data.browsertoolRef`(`<browsertool-file path="…" />`),只输出那一行,省掉 2KB 生成
|
|
85
|
+
|
|
86
|
+
| 返回 | 判读 |
|
|
87
|
+
|---|---|
|
|
88
|
+
| `data.panels` | 直接作 `ask_user` 的 pickerList,不重组、不增删 |
|
|
89
|
+
| `data.known.contactFallback` | 恒为空:兜底改在 `render` 阶段做(`ask` 不出网),不必据此判断 |
|
|
90
|
+
| `data.attachments` | 两份 `[{fileid,name,kind}]`,`render` 自动拼挂载字段 |
|
|
91
|
+
| `data.todos` | 交付待办,原样透出,不二次组织 |
|
|
92
|
+
| `warnings` 含「未取得会话」(`doc` 阶段) | 附件传不上,按本地文件交付 |
|
|
93
|
+
|
|
94
|
+
## 3 · 抽取与面板
|
|
95
|
+
|
|
96
|
+
7 项由模型抽取,CLI 不重做。只取明确说出的,模糊不猜。
|
|
97
|
+
|
|
98
|
+
| # | 项 | 线索 | 不唯一时 |
|
|
99
|
+
|---|---|---|---|
|
|
100
|
+
| 1 | 客户 | 「XX 来访/到访/参观/交流」+ 主体词 | 简称也直接传,不追问全称 |
|
|
101
|
+
| 2 | 人数 | 数字 + 人/位/名 | 并入第 7 项 |
|
|
102
|
+
| 3 | 参观日期 | 今天/明天/后天/周X/X月X日 | 换算 `yyyy-MM-dd` |
|
|
103
|
+
| 4 | 参观类型 | 总部 → 参观上海总部;标杆/案例 → 参观典型客户 | 出面板 |
|
|
104
|
+
| 5 | 陪同/对接人 | 陪同/随行/**对接人是** + 姓名;顺带出现的 11 位手机号一并回填 | 对接人写 `known.escorts`、陪同写 `known.companions`,中文名直接传;未提则留空,系统用登录人兜底,**不出屏** |
|
|
105
|
+
| 6 | 客户需求 | 交流/演示/调研 + 主题 | 出面板 |
|
|
106
|
+
| 7 | 接待细节 | 人数/会议室/接送/用餐/住宿/伴手礼/接待人手机 | **1 个面板一次问全** |
|
|
107
|
+
|
|
108
|
+
**面板铁律**:`panels` 原样传 `ask_user`,**不生成、不改写、不拆屏**;屏数 = `panels.length`,**≤2**(客户需求 + 接待细节,手机号并入不单独出屏)。
|
|
109
|
+
`title` 严格单行、超长必被截断,不得改写或追加说明;`placeholder` 是固定字段清单,不得改写;接待细节**不给选项、一律手输**。
|
|
110
|
+
取值口径(会议室/接送/用餐/住宿/伴手礼枚举)与引导话术见 `references/guide.md`。
|
|
111
|
+
|
|
112
|
+
## 4 · 数据与建单口径
|
|
113
|
+
|
|
114
|
+
**议程**:公司参观 09:30-10:15 / 方案介绍 10:15-11:30 / 讨论交流 11:30-12:00,`agendaStart` 可改起点。用餐、接送、住宿、返程**不进时间表**。
|
|
115
|
+
**联系方式**:只写 11 位手机号,来源仅限用户手填;未填只写姓名。
|
|
116
|
+
**会议室**:只有总部 129/130/131,禁止「总部会议室」这类笼统说法。
|
|
117
|
+
**必填不追问**:客户性质/项目金额/带队人与名单/是否高层,没说的一律进待办。
|
|
118
|
+
|
|
119
|
+
建单(BROWSER_FILL)——**零写请求**:`doc` 只上传附件,**不落库、不提交**,页面由宿主打开、用户自己点提交。
|
|
120
|
+
|
|
121
|
+
- 客户名传中文原名,参与人员传中文姓名(`,` 分隔);没填陪同人时 CLI 用登录人 employeeid 兜底,**不要自己编 ID**。
|
|
122
|
+
- 空值字段整个省略,不补空串;`fieldAssignKeys` 必须与 `customParams` 同源,**不手改**。
|
|
123
|
+
- 明细 7 列由 CLI 按快照列序拼 `;`,**不手拼、不换分隔符**。
|
|
124
|
+
- 附件两份(docx + md)由 `render` 拼进挂载字段;拿不到 fileid 就留空,不编造。
|
|
125
|
+
|
|
126
|
+
## 5 · 约束与红线
|
|
127
|
+
|
|
128
|
+
**必须做**
|
|
129
|
+
|
|
130
|
+
1. `panels` 只能原样来自 `ask` 回包,`ask_user` 只调一次。
|
|
131
|
+
2. 填单指令:默认整段输出 `data.browsertool`,不包代码块、不改写、不解析;宿主明确支持文件引用时改输出 `data.browsertoolRef` 一行。
|
|
132
|
+
3. 案例与专家只进内部 md,**绝不进对外行程单**;`doc` 之前必须完成检索。
|
|
133
|
+
4. `ask` 之后立刻记住 `--known` 与 `answers`,`RUN_NOT_FOUND` 靠它们免重跑。
|
|
134
|
+
5. 附件 fileid 只能来自 `doc` 回包。
|
|
135
|
+
|
|
136
|
+
**禁止做**
|
|
137
|
+
|
|
138
|
+
6. 自拼 `customParams` / `fieldAssignKeys` / 明细分隔符。
|
|
139
|
+
7. 调 `createForm` / `createRequest`,或代用户点提交。
|
|
140
|
+
8. 用 `workflow` 顶替不可用的 `reception`(那条路会真写库并提交)。
|
|
141
|
+
9. 编造人员、场地、车牌、价格、房间、金额、案例。
|
|
142
|
+
10. 用人员/联系方式接口去取手机号——只能来自用户手填。
|
|
143
|
+
11. 二轮追问、「确认一下」式复述、面板超过 2 屏。
|
|
144
|
+
12. 在对外行程单里出现用餐、接送、住宿、返程。
|
|
145
|
+
13. 内部参考文档正文**只从 `internalDoc.content` 取**,不要 `cat`/`read` 产物文件——md 那份读一遍等于白多一次工具往返,docx 是二进制更读不出东西。
|
|
146
|
+
|
|
147
|
+
## 6 · 失败与恢复
|
|
148
|
+
|
|
149
|
+
| 现象 | 动作 |
|
|
150
|
+
|---|---|
|
|
151
|
+
| `*_INVALID` | JSON 非法:看 `error.details.preview` / `hasBom`,修 JSON 本身,**不换传参方式** |
|
|
152
|
+
| `*_REQUIRED` | 确实没传:改用 `--xxx-file` |
|
|
153
|
+
| `*_FILE_UNREADABLE` | 路径错或无权限:看 `error.details.path` |
|
|
154
|
+
| `SNAPSHOT_MISSING` | `doc` 补 `--snapshot`;`render` 也报就同样补(run 被重建过才会缺) |
|
|
155
|
+
| `RENDER_PY_MISSING` / `NO_PYTHON_DOCX` | 前者 `--snapshot` 没给对;后者 `pip install python-docx`,离线只交付 md |
|
|
156
|
+
| `RUN_NOT_FOUND` | 带 `--known-file` 重跑 `doc`,用回包新 `runId` 继续 `render`,**不重跑 ask** |
|
|
157
|
+
| 附件上传失败 | 看 `data.uploadDiagnostics` 的 `error`:`upload_auth_expired` = 会话过期(响应片段会写「token 为空或失效」);`upload_response_html` = 返回了登录页;`upload_identity_mismatch` = 会话用户与服务端认到的不一致;`upload_business_failed` = 服务端明确拒绝(消息在 `error` 里)。**都不重跑 `doc`**,按本地文件交付、页面手动加 |
|
|
158
|
+
| `detailRowCount: 0` | 传 `schedule` 或 `visitDate`,不带空明细 |
|
|
159
|
+
| browsertool 没弹页面 | 宿主不支持该形态,如实告知用户,**不换链路** |
|
|
160
|
+
| 宿主不认 `browsertoolRef` | 回退整段输出 `data.browsertool`(回包里一定有),**不重跑** `doc-render` |
|
|
161
|
+
| `warnings` 含「未取得会话」 | 附件不上传,按本地文件交付并说明 |
|
|
162
|
+
| 用户没填手机号 | 不是故障:只写姓名 |
|
|
163
|
+
|
|
164
|
+
> run 落在 `<CLI state>/reception/runs/`,正常持久;只有整目录被沙箱清掉才会 `RUN_NOT_FOUND`。
|
|
165
|
+
> **交付格式(五段,一次成稿,段间不插解释)**:
|
|
166
|
+
> 1. **内部参考文档全文**:把 `data.internalDoc.content` **逐字原样**贴出——Markdown 原样、不加代码块围栏、不改写、不摘要、不合并章节、不省略表格;贴完加一行 `---` 与下文分隔。`internalDoc` 为 `null` 才跳过本段。
|
|
167
|
+
> 2. **流程已就绪**:固定一句「接待流程已准备好,填单页已预填,停在发起节点等您确认提交。」
|
|
168
|
+
> 3. **本次已确认**:只列用户确认过的值,逐条一行,不解释。
|
|
169
|
+
> 4. **待办清单**:直接透出 `data.todos`,一次性列全,此后不再追问。
|
|
170
|
+
> 5. **交付物 + 填单页**:docx 在前、md 在后,注明「两份已挂到附件字段、已预填、未提交,请在页面确认后提交」,随后接 `browsertool` 整段。
|
|
171
|
+
> **按需查阅**:`references/guide.md`(抽取线索、检索口径、面板取值)、`references/browsertool.md`(结构排障)、`references/fields-snapshot.md`(字段对照)、`references/env-pitfalls.md`(环境踩坑)。
|
|
172
|
+
|
|
173
|
+
> 维护注记:文档与示例禁止写真实客户名称、真实员工姓名,一律用占位名。
|
|
Binary file
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "reception-fields-snapshot",
|
|
4
|
+
"capturedAt": "2026-10-28T14:26:00+08:00",
|
|
5
|
+
"source": "e10.mjs formctx 真实返回 + SCHEDULE_DETAIL 规格",
|
|
6
|
+
"env": {
|
|
7
|
+
"baseUrl": "https://www.e-cology.com.cn",
|
|
8
|
+
"host": "www.e-cology.com.cn",
|
|
9
|
+
"profile": "e-cology"
|
|
10
|
+
},
|
|
11
|
+
"workflow": {
|
|
12
|
+
"name": "泛微客户参观接待流程",
|
|
13
|
+
"workflowId": "100003460000000737",
|
|
14
|
+
"formId": "100003669000000023",
|
|
15
|
+
"category": "销售管理"
|
|
16
|
+
},
|
|
17
|
+
"mainFieldCount": 10,
|
|
18
|
+
"fields": [
|
|
19
|
+
{
|
|
20
|
+
"id": "100003720000001122",
|
|
21
|
+
"name": "参观访问类型",
|
|
22
|
+
"componentKey": "Select",
|
|
23
|
+
"required": true,
|
|
24
|
+
"valueFormat": "option-name",
|
|
25
|
+
"options": [
|
|
26
|
+
"参观上海总部",
|
|
27
|
+
"参观典型客户",
|
|
28
|
+
"参观上海总部及典型客户"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "100003720000001124",
|
|
33
|
+
"name": "来访客户名称",
|
|
34
|
+
"componentKey": "Ebuilder",
|
|
35
|
+
"required": true,
|
|
36
|
+
"isBrowser": true,
|
|
37
|
+
"isMultiple": false,
|
|
38
|
+
"valueFormat": "{id,name}",
|
|
39
|
+
"note": "必须传对象,禁止 String() 强转;客户 id 需实时查询,不可硬编码"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "100003720000001125",
|
|
43
|
+
"name": "客户到达日期",
|
|
44
|
+
"componentKey": "DateComponent",
|
|
45
|
+
"required": true,
|
|
46
|
+
"valueFormat": "yyyy-MM-dd"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "100003720000001126",
|
|
50
|
+
"name": "客户参观日期",
|
|
51
|
+
"componentKey": "DateComponent",
|
|
52
|
+
"required": true,
|
|
53
|
+
"valueFormat": "yyyy-MM-dd"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "100003720000001127",
|
|
57
|
+
"name": "客户性质",
|
|
58
|
+
"componentKey": "Select",
|
|
59
|
+
"required": true,
|
|
60
|
+
"valueFormat": "option-name",
|
|
61
|
+
"options": [
|
|
62
|
+
"国企",
|
|
63
|
+
"民企",
|
|
64
|
+
"外企",
|
|
65
|
+
"台企",
|
|
66
|
+
"政府事业单位"
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "100003720000001128",
|
|
71
|
+
"name": "客户需求",
|
|
72
|
+
"componentKey": "TextArea",
|
|
73
|
+
"required": true,
|
|
74
|
+
"valueFormat": "text"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "100003720000001129",
|
|
78
|
+
"name": "项目金额(万元)",
|
|
79
|
+
"componentKey": "NumberComponent",
|
|
80
|
+
"required": true,
|
|
81
|
+
"valueFormat": "number",
|
|
82
|
+
"note": "未给留空,禁止估算;单位标记「万元」是字段名的一部分"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "100003720000001130",
|
|
86
|
+
"name": "泛微分支机构参与人员(主联络人,此人必须陪客户一同参观)",
|
|
87
|
+
"componentKey": "Employee",
|
|
88
|
+
"required": true,
|
|
89
|
+
"isBrowser": true,
|
|
90
|
+
"isMultiple": true,
|
|
91
|
+
"valueFormat": "employee-id-array",
|
|
92
|
+
"note": "传人员 id 数组,不是 userid / cid"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "100003720000001131",
|
|
96
|
+
"name": "是否需要高层参与",
|
|
97
|
+
"componentKey": "Select",
|
|
98
|
+
"required": true,
|
|
99
|
+
"valueFormat": "option-name",
|
|
100
|
+
"options": [
|
|
101
|
+
"是",
|
|
102
|
+
"否"
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "100003720000001132",
|
|
107
|
+
"name": "客户参观接待行程单(由行政经理汇总后反馈)",
|
|
108
|
+
"componentKey": "FileComponent",
|
|
109
|
+
"required": true,
|
|
110
|
+
"valueFormat": "file",
|
|
111
|
+
"doNotWrite": true,
|
|
112
|
+
"note": "表单上的文件字段,建单时不写;行程单统一挂到 attachmentMountField"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"details": {
|
|
116
|
+
"name": "日程明细",
|
|
117
|
+
"subFormId": "100003690000000143",
|
|
118
|
+
"dataKey": "formtable_main_23_dt2",
|
|
119
|
+
"note": "details 的键必须是 subFormId;dataKey 是库表名,不能当入参键",
|
|
120
|
+
"switch": {
|
|
121
|
+
"fieldId": "100003720000014930",
|
|
122
|
+
"on": "启用",
|
|
123
|
+
"codes": {
|
|
124
|
+
"启用": "1",
|
|
125
|
+
"关闭": "0"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"columns": {
|
|
129
|
+
"date": "100003720000014936",
|
|
130
|
+
"time": "100003720000014937",
|
|
131
|
+
"item": "100003720000014938",
|
|
132
|
+
"place": "100003720000014939",
|
|
133
|
+
"person": "100003720000014940",
|
|
134
|
+
"activity": "100003720000014941",
|
|
135
|
+
"remark": "100003720000014942"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"attachmentMountField": {
|
|
139
|
+
"fieldId": "100003720000001141",
|
|
140
|
+
"valueFormat": "{optionId,content,type}",
|
|
141
|
+
"note": "唯一允许挂附件的字段;不在 formctx 返回的 10 个字段中属正常"
|
|
142
|
+
},
|
|
143
|
+
"mustBeRealtime": [
|
|
144
|
+
"continuation",
|
|
145
|
+
"FileComponent.authSignatureStr / authStr",
|
|
146
|
+
"客户 id",
|
|
147
|
+
"人员 id",
|
|
148
|
+
"附件 fileid"
|
|
149
|
+
],
|
|
150
|
+
"invalidation": [
|
|
151
|
+
"主表字段数量 != 10",
|
|
152
|
+
"workflowId != 100003460000000737",
|
|
153
|
+
"formId != 100003669000000023",
|
|
154
|
+
"details.subFormId != 100003690000000143",
|
|
155
|
+
"details.dataKey != formtable_main_23_dt2",
|
|
156
|
+
"host != www.e-cology.com.cn",
|
|
157
|
+
"任一字段名称与快照不符",
|
|
158
|
+
"Select 选项数量与快照不符"
|
|
159
|
+
],
|
|
160
|
+
"optionCodes": {
|
|
161
|
+
"参观访问类型": {
|
|
162
|
+
"参观上海总部": "0",
|
|
163
|
+
"参观典型客户": "1",
|
|
164
|
+
"参观上海总部及典型客户": "2"
|
|
165
|
+
},
|
|
166
|
+
"客户性质": {
|
|
167
|
+
"国企": "0",
|
|
168
|
+
"民企": "1",
|
|
169
|
+
"外企": "2",
|
|
170
|
+
"台企": "3",
|
|
171
|
+
"政府事业单位": "4"
|
|
172
|
+
},
|
|
173
|
+
"是否需要高层参与": {
|
|
174
|
+
"是": "0",
|
|
175
|
+
"否": "1"
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"browsertool": {
|
|
179
|
+
"toolId": "fill_form",
|
|
180
|
+
"version": 1,
|
|
181
|
+
"callId": "call_001",
|
|
182
|
+
"type": "e10",
|
|
183
|
+
"compName": "ui.CorsComponent",
|
|
184
|
+
"routerType": "MemoryRouter",
|
|
185
|
+
"app": "@weapp/workflow",
|
|
186
|
+
"compNamePc": "Comp.WffpRoute",
|
|
187
|
+
"compNameMobile": "Comp.MWffpRoute",
|
|
188
|
+
"createPath": "/flowpage/create/{workflowId}",
|
|
189
|
+
"srcTemplate": "{base}/sp/workflow/flowpage/create/{workflowId}?workflowId={workflowId}&isCreate=1",
|
|
190
|
+
"sdkRenderType": "drawer",
|
|
191
|
+
"sdkRenderTypes": [
|
|
192
|
+
"inline",
|
|
193
|
+
"popup",
|
|
194
|
+
"drawer"
|
|
195
|
+
],
|
|
196
|
+
"sdkRenderNote": "side panel = drawer;不传则用宿主默认(实测为内嵌)"
|
|
197
|
+
},
|
|
198
|
+
"customParamsRule": {
|
|
199
|
+
"multiSeparator": ",",
|
|
200
|
+
"rowSeparator": ";",
|
|
201
|
+
"emptyValue": "省略该字段,且不出现在 fieldAssignKeys",
|
|
202
|
+
"scalarPick": [
|
|
203
|
+
"id",
|
|
204
|
+
"optionId",
|
|
205
|
+
"fileId",
|
|
206
|
+
"fileid",
|
|
207
|
+
"fid",
|
|
208
|
+
"value"
|
|
209
|
+
],
|
|
210
|
+
"detailSort": "按 dataIndex 升序",
|
|
211
|
+
"source": "weaver-work-cli release: src/shortcuts/workflow/operations/form.ts (xiaoEUrlParamValue / renderXiaoEFillFormMarkdown)"
|
|
212
|
+
}
|
|
213
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# browsertool 结构与口径
|
|
2
|
+
|
|
3
|
+
> 由 `weaver-work-cli reception render` 直接产出整段文本,**模型只负责原样输出**。本文件是排障与改动时的依据。
|
|
4
|
+
> 骨架逐字段对齐 `weaver-work-cli release: src/shortcuts/workflow/operations/form.ts`(`renderXiaoEFillFormMarkdown`),打开形态对齐小e 官方《browsertool 渲染说明》。
|
|
5
|
+
>
|
|
6
|
+
> **三种功能别混**:`fill_form` + `data` = iframe 填单;`fill_form` + `sdkOptions` = E10 组件化渲染(**本技能用这个**);`open_web` = 打开外部网页并与之通信(不走 E10 表单,也不带字段预填)。
|
|
7
|
+
|
|
8
|
+
## 一、输出形态
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
<browsertool>
|
|
12
|
+
{ ...JSON,2 空格缩进... }
|
|
13
|
+
</browsertool>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
- **不包代码块**(不要三反引号),**不加前后说明**,**不解析、不改写**。
|
|
17
|
+
- 宿主读到这段标签后打开新建页并把 `customParams` 带进去;页面由用户自己提交。
|
|
18
|
+
|
|
19
|
+
## 二、JSON 结构
|
|
20
|
+
|
|
21
|
+
| 路径 | 值 | 来源 |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| `version` | `1` | 固定 |
|
|
24
|
+
| `callId` | `call_001` | 固定 |
|
|
25
|
+
| `toolId` | `fill_form` | 固定 |
|
|
26
|
+
| `arguments.type` | `e10` | 固定 |
|
|
27
|
+
| `arguments.title` | 工作流名称 | 快照 `workflow.name` |
|
|
28
|
+
| `arguments.src` | `{base}/sp/workflow/flowpage/create/{id}?workflowId={id}&isCreate=1` | 会话 baseUrl + 快照 workflowId |
|
|
29
|
+
| `arguments.sdkRenderType` | `drawer`(默认,右侧抽屉)/ `popup` / `inline` | 快照 `browsertool.sdkRenderType`;`--sdk-render` 可覆盖 |
|
|
30
|
+
| `routerProps_pc.initialEntries` | `["/flowpage/create/{id}"]` | 快照 workflowId |
|
|
31
|
+
| `routerProps_mobile.initialEntries` | 同上 | 同上 |
|
|
32
|
+
| `params_pc` | `{app:"@weapp/workflow", compName:"Comp.WffpRoute", noMDialog:true}` | 固定 |
|
|
33
|
+
| `params_mobile` | 同上 + `noMDialog:true`,compName 为 `Comp.MWffpRoute` | 固定 |
|
|
34
|
+
| `params.customParams` | `{字段id: 值, …, fieldAssignKeys:"id1,id2,…"}` | `render` 计算 |
|
|
35
|
+
|
|
36
|
+
## 三、customParams 口径(与 CLI 源码一致)
|
|
37
|
+
|
|
38
|
+
| 规则 | 说明 |
|
|
39
|
+
|---|---|
|
|
40
|
+
| 键用**字段 id** | 不是字段名、不是数据 key |
|
|
41
|
+
| 同字段多值 | 用 `,`(如人员 `1001,1002`) |
|
|
42
|
+
| 明细多行 | 用 `;`(如 `09:30;10:15;11:30`),按行号升序 |
|
|
43
|
+
| 标量对象取值优先级 | `id > optionId > fileId > fileid > fid > value`(附件取 fileid,选项取编码) |
|
|
44
|
+
| **空值字段** | **整个省略,且不出现在 `fieldAssignKeys`**(不要补空串) |
|
|
45
|
+
| `fieldAssignKeys` | `customParams` 里所有字段 id 按首次出现顺序用 `,` 连接,必须与值同源 |
|
|
46
|
+
|
|
47
|
+
## 四、明细列顺序
|
|
48
|
+
|
|
49
|
+
| 语义 | 字段 ID |
|
|
50
|
+
|---|---|
|
|
51
|
+
| 日期 | `100003720000014936` |
|
|
52
|
+
| 时间 | `100003720000014937` |
|
|
53
|
+
| 环节 | `100003720000014938` |
|
|
54
|
+
| 地点 | `100003720000014939` |
|
|
55
|
+
| 人员 | `100003720000014940` |
|
|
56
|
+
| 活动内容 | `100003720000014941` |
|
|
57
|
+
| 备注 | `100003720000014942` |
|
|
58
|
+
|
|
59
|
+
开关 `100003720000014930` 传 `1`(启用)。备注为空时该列整个省略,属正常。
|
|
60
|
+
|
|
61
|
+
## 五、排障
|
|
62
|
+
|
|
63
|
+
| 现象 | 原因 | 处理 |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| 页面没弹出来 | 宿主不执行该标签 | 切 `prepare/build/submit` 兜底链路 |
|
|
66
|
+
| 页面开了但字段没值 | `customParams` 键/值格式不对 | 对比本文件与 `render` 输出;不要手改 |
|
|
67
|
+
| 明细错位 | 列序或分隔符被改 | 用 `render` 输出,不手拼 |
|
|
68
|
+
| 附件丢了 | fileid 未回填或字段被写成空串 | 先 `doc` 再 `render`;空值就省略 |
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# 环境踩坑与失败处理(按需读)
|
|
2
|
+
|
|
3
|
+
> 只在 **SKILL.md §8** 的清单对不上时才读本文;正常链路不需要。
|
|
4
|
+
> 本文只讲「`weaver-work-cli reception` + 本技能包资产」这套现行链路,**不含**任何独立 CLI 或旧脚本口径。
|
|
5
|
+
|
|
6
|
+
## 一、鉴权与状态
|
|
7
|
+
|
|
8
|
+
- **唯一来源是 `weaver-work-cli`**。本技能不自建登录、不读任何认证文件、不落会话缓存。
|
|
9
|
+
- **不要手动跑任何 `auth` 命令**:登录态由 CLI 统一管理,多跑一轮只是白等。
|
|
10
|
+
- 未登录不阻断:`ask` / `doc` 照常出结果,`warnings` 里会有「未取得 E10 会话」,此时附件不上传,按本地文件交付。
|
|
11
|
+
- 状态目录:`<CLI state 根>/reception/`(Windows 默认 `~/.weaver-work-cli/reception/`),
|
|
12
|
+
里面是 `runs/`(run 状态)、`python.json`(python 探测缓存)、`out/`(默认产物目录)。
|
|
13
|
+
跨 `run_command` 可能被沙箱清掉,这是 `RUN_NOT_FOUND` 的唯一来源,按 §10 现场重建即可。
|
|
14
|
+
|
|
15
|
+
## 二、退出码
|
|
16
|
+
|
|
17
|
+
| 退出码 | 含义 | 处理 |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| 0 | 成功 | — |
|
|
20
|
+
| 1 | 业务失败(渲染失败、run 丢失) | 看 `error.subtype` 与 `error.details.hint` |
|
|
21
|
+
| 2 | 参数错误(`*_REQUIRED` / `*_INVALID` / `RUN_ID_MISSING`) | 改参数重跑 |
|
|
22
|
+
| 3 | 环境缺失(未登录且必须登录、快照/渲染脚本找不到) | 按 `error.subtype` 补参数或补环境 |
|
|
23
|
+
|
|
24
|
+
## 三、已实测的坑
|
|
25
|
+
|
|
26
|
+
| 坑 | 现象 | 规避 |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| **同名技能冲突** | 按 `name` 读报 `skill_identity_conflict`,或**行为时新时旧** | 属环境问题:**交付前清理宿主里重复的同名技能**(尤其早期 2.x/4.x/5.x 副本)。文档与脚本都不做安装 ID 兜底 |
|
|
29
|
+
| `run_command` 绑定 `skill_name` 报未加载 | `skill_not_available` | 按 `name` 重读一次主文档后继续;**禁止**用 `skill_list` 兜底(上万 token 白烧),**禁止**改用安装 ID |
|
|
30
|
+
| `RENDER_PY_MISSING` | `doc` 报找不到 render.py | CLI 按 `--snapshot` 反推 `<技能目录>/scripts/render.py`。确认传了 `--snapshot "$SD/data/fields-snapshot.json"`;实在不行用 `--render-py` 直指 |
|
|
31
|
+
| 模板 444 只读位 | `shutil.copy` 后 `d.save()` 抛 `PermissionError` | `render.py` 内置 `copyfile` + `chmod 644`,不要手工渲染 |
|
|
32
|
+
| 缺 python-docx | `NO_PYTHON_DOCX` | `pip install python-docx`;离线装不上则只交付 md 并说明 |
|
|
33
|
+
| 技能部署路径带 hash | 上一轮 `/workspace/skills/att-6dae…`,下一轮变成 `att-b827…` | 每轮重新确认 `$SD`(本 SKILL.md 所在目录),不要跨轮次复用旧绝对路径 |
|
|
34
|
+
| 上传失败但文件已生成 | `attachments: []` + `warnings` 里带原因 | **不是失败**:按本地文件交付,不重跑 `doc` |
|
|
35
|
+
| 沙箱只有 0.25 核 | spawn 一次 python 约 180~600ms | 少 spawn:`ask` 一条命令做完检索;python 探测结果已按 7 天缓存 |
|
|
36
|
+
| 写盘 `Permission denied` | 目标文件 444 只读位 | 换 `--out-dir`;不要在技能目录里写产物 |
|
|
37
|
+
|
|
38
|
+
## 四、完整失败矩阵
|
|
39
|
+
|
|
40
|
+
| 依赖 | 缺失表现 | 处理 |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `weaver-work-cli` 不可用 | `command not found` / `ENOENT` | 报「流程智能助手未接入」,交付本地文件 + 说明,不硬试。注意:能回 `error.subtype` 就说明 CLI 可用 |
|
|
43
|
+
| 登录态失效 | 401 / 附件不传 | 本链路零写请求;附件传不上就按本地文件交付,`auth` 交给 CLI 自己处理 |
|
|
44
|
+
| 快照缺失 | `SNAPSHOT_MISSING` | 用 `--snapshot "$SD/data/fields-snapshot.json"` |
|
|
45
|
+
| 快照与线上表单不一致 | `snapshot.match:false` | 看 `references/fields-snapshot.md` 对照;必要时更新快照并发 CLI 技能包版本 |
|
|
46
|
+
| 内置模板缺失 | `render.py` 返回「内置模板缺失: assets/行程单模板-泛微.docx」 | 技能资源不完整,重新部署整个技能目录,不临时编版式 |
|
|
47
|
+
|
|
48
|
+
## 五、判定假阴性(防误判)
|
|
49
|
+
|
|
50
|
+
- 现象:报「`weaver-work-cli` 不可用」。
|
|
51
|
+
- 先判定为**接口 / 权限问题**,不要直接判定「CLI 未安装」:`ask` 能回 `error.subtype` 就说明 CLI 可用,只有 `command not found` 才是真缺失。
|