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.
Files changed (318) hide show
  1. package/README.md +17 -0
  2. package/dist/chunks/{archive-J4I6MCKF.js → archive-P6TBQGKL.js} +13 -5
  3. package/dist/chunks/{archive-oa-BRZKKTO4.js → archive-oa-7TQ2NXOH.js} +12 -5
  4. package/dist/chunks/{asset-L7D4FAOZ.js → asset-3ELRG37G.js} +11 -4
  5. package/dist/chunks/{asset-idle-DADLLV75.js → asset-idle-WIGMUFMD.js} +7 -3
  6. package/dist/chunks/{attachment-content-K4C7VLWQ.js → attachment-content-E3276UOV.js} +5 -4
  7. package/dist/chunks/{blog-BVGQ7NZL.js → blog-C5NMZAAC.js} +11 -4
  8. package/dist/chunks/{caizhilian-SAADNFD6.js → caizhilian-5XSM2DFP.js} +13 -6
  9. package/dist/chunks/{calendar-Q7NQY5Z2.js → calendar-FI2WNSBO.js} +12 -5
  10. package/dist/chunks/{chunk-YRSZQUD2.js → chunk-3YBDYOC4.js} +3 -3
  11. package/dist/chunks/{chunk-OOUTBLZ4.js → chunk-56EZERK4.js} +1 -1
  12. package/dist/chunks/chunk-6N4JPNFL.js +76 -0
  13. package/dist/chunks/{chunk-ZUX3P6BQ.js → chunk-727FH2NI.js} +1 -1
  14. package/dist/chunks/chunk-7BDPM5ST.js +11 -0
  15. package/dist/chunks/{chunk-EKWAQSLU.js → chunk-BCVYBYYT.js} +432 -2248
  16. package/dist/chunks/{chunk-W7BEHOSR.js → chunk-CWYGFU5B.js} +2 -2
  17. package/dist/chunks/{chunk-NOODWMCL.js → chunk-D4ADSZ7H.js} +1 -1
  18. package/dist/chunks/{chunk-SA6VBIHY.js → chunk-ETNJSKMM.js} +214 -16
  19. package/dist/chunks/{chunk-BBKDXQEC.js → chunk-F4E4EM35.js} +3 -3
  20. package/dist/chunks/{chunk-IZ7S7QUS.js → chunk-FAZTGX7S.js} +6 -6
  21. package/dist/chunks/{chunk-NKZRQXST.js → chunk-FRZKBMSW.js} +52 -36
  22. package/dist/chunks/{chunk-BYBSCN4X.js → chunk-G7PQWD4L.js} +6 -3
  23. package/dist/chunks/{chunk-GEWYMQME.js → chunk-GAMZLAG2.js} +1 -1
  24. package/dist/chunks/{chunk-R4CHUSKC.js → chunk-GM6J7Q4B.js} +4 -4
  25. package/dist/chunks/{chunk-APVFJUQH.js → chunk-GRDRG6HP.js} +3 -3
  26. package/dist/chunks/{chunk-LDZQPUIA.js → chunk-HIT4Y6OI.js} +1 -1
  27. package/dist/chunks/{chunk-EZALDOQH.js → chunk-HP7JIYMT.js} +5 -2
  28. package/dist/chunks/{chunk-LADPYOWC.js → chunk-IAZ3UPY6.js} +3 -3
  29. package/dist/chunks/{chunk-ZEDWSH32.js → chunk-IC62NFM5.js} +1 -1
  30. package/dist/chunks/{chunk-P26ZWSKU.js → chunk-KIHNAS25.js} +5 -2
  31. package/dist/chunks/{chunk-BIPYLLVS.js → chunk-N4M2DDFE.js} +15 -15
  32. package/dist/chunks/{chunk-QKNKR4RH.js → chunk-OF4S23UB.js} +4 -4
  33. package/dist/chunks/{chunk-JPRO6ER2.js → chunk-PC7VKEB5.js} +57 -60
  34. package/dist/chunks/{chunk-4PD5NWAX.js → chunk-PUQS5MWL.js} +2 -2
  35. package/dist/chunks/{chunk-2LV74IWP.js → chunk-Q4OYAQYH.js} +1 -1
  36. package/dist/chunks/{chunk-72CKAUAG.js → chunk-QVSWRLLU.js} +7 -5
  37. package/dist/chunks/{chunk-4RAE6JXP.js → chunk-TA7FXXJD.js} +6 -3
  38. package/dist/chunks/{chunk-GPMFD4RD.js → chunk-TXUG266F.js} +1 -1
  39. package/dist/chunks/{chunk-FOAA27U5.js → chunk-UFIT2UU3.js} +16 -4
  40. package/dist/chunks/{chunk-LUSPKZKY.js → chunk-UG5G54VL.js} +1 -0
  41. package/dist/chunks/{chunk-NIAJ5ZCG.js → chunk-UL5XUQ25.js} +5 -2
  42. package/dist/chunks/{chunk-FMPJJYYI.js → chunk-WRXSAVKO.js} +1 -1
  43. package/dist/chunks/{chunk-G4UR6NXN.js → chunk-WSF4NNMR.js} +3 -3
  44. package/dist/chunks/chunk-XHK4MDR5.js +2497 -0
  45. package/dist/chunks/{chunk-3KTFS4IA.js → chunk-XNIK66I4.js} +19 -9
  46. package/dist/chunks/{chunk-3SO6QL6U.js → chunk-YWX377BY.js} +5 -2
  47. package/dist/chunks/{chunk-BYATLLEF.js → chunk-Z3GDFVJR.js} +1 -1
  48. package/dist/chunks/{chunk-GHXCDPTM.js → chunk-Z7VYWPZV.js} +1 -1
  49. package/dist/chunks/{conflict-F2OMZRTO.js → conflict-ARLSZJ6V.js} +4 -3
  50. package/dist/chunks/{continuation-2CKSBLA6.js → continuation-3S37AUSH.js} +4 -3
  51. package/dist/chunks/{continuation-RN6PZN2M.js → continuation-3XLYYTKV.js} +4 -3
  52. package/dist/chunks/{continuation-HZIZRZBX.js → continuation-HFW2YT5S.js} +4 -3
  53. package/dist/chunks/{continuation-NLECEJPX.js → continuation-KI7DRRZN.js} +4 -3
  54. package/dist/chunks/{contract-5BETHRSG.js → contract-DNIIW5VJ.js} +13 -5
  55. package/dist/chunks/{cowork-3MN6EQQO.js → cowork-GMLRGVIW.js} +11 -4
  56. package/dist/chunks/{create-flow-5FQNNMVO.js → create-flow-J22BO65E.js} +8 -7
  57. package/dist/chunks/{ebuilder-form-SBHOYBUD.js → ebuilder-form-ANV2FHYV.js} +12 -7
  58. package/dist/chunks/{ehr-KMOJULKG.js → ehr-GSTGAIY3.js} +266 -24
  59. package/dist/chunks/{employee-SAK2QYXX.js → employee-22BGJ3QS.js} +3 -3
  60. package/dist/chunks/{env-LB7NBL2O.js → env-BX3VRFS7.js} +4 -3
  61. package/dist/chunks/{esb-W2PJCFCX.js → esb-ATAIASX2.js} +12 -7
  62. package/dist/chunks/{factory-6ZFQXQ46.js → factory-PETTFME6.js} +3 -2
  63. package/dist/chunks/{fna-ZQPCUV4R.js → fna-YEKBSFSX.js} +14 -8
  64. package/dist/chunks/{group-chat-2HHAJN46.js → group-chat-BFVXAYFX.js} +5 -4
  65. package/dist/chunks/{host-ATKVNZAT.js → host-HRBXEPDQ.js} +5 -5
  66. package/dist/chunks/{host-BQH22NTQ.js → host-LR55CTHP.js} +5 -5
  67. package/dist/chunks/{host-X2CSLFM6.js → host-SUOY6VYQ.js} +5 -5
  68. package/dist/chunks/{host-4CBHGOHT.js → host-SZGV4UNT.js} +5 -5
  69. package/dist/chunks/{host-YTODKMSL.js → host-WIKN2EJ5.js} +5 -5
  70. package/dist/chunks/{hrm-FFM4UJFS.js → hrm-NRDO4W5G.js} +11 -7
  71. package/dist/chunks/{im-VEHKDQPB.js → im-IQ2HN23S.js} +8 -7
  72. package/dist/chunks/{invoice-LVIKSIIF.js → invoice-MNRW76PP.js} +636 -1768
  73. package/dist/chunks/{jiuchuanhui-X6DINO5P.js → jiuchuanhui-DTRBAX4N.js} +14 -6
  74. package/dist/chunks/{lazy-dispatch-KSWTN5L6.js → lazy-dispatch-ZVWAI25B.js} +7 -6
  75. package/dist/chunks/{mail-VDKRGUD3.js → mail-ZVAUXOJA.js} +16 -14
  76. package/dist/chunks/{meeting-CLC6HP3Z.js → meeting-FEVPZ67S.js} +21 -14
  77. package/dist/chunks/{okr-CHG4OO3U.js → okr-SDH3E5RA.js} +12 -5
  78. package/dist/chunks/{operations-5QL3AECO.js → operations-62N6EP3C.js} +4 -3
  79. package/dist/chunks/{plan-XWR75667.js → plan-E35JFDI7.js} +12 -5
  80. package/dist/chunks/{project-5BXOOKMG.js → project-73QXBAB2.js} +11 -4
  81. package/dist/chunks/reception-UWZVACBN.js +1899 -0
  82. package/dist/chunks/{recruit-stage-DGMFNNDE.js → recruit-stage-4MAOCKFY.js} +320 -57
  83. package/dist/chunks/registry-IM5G23LS.js +24 -0
  84. package/dist/chunks/{registry-RHMW6ANW.js → registry-JDUS4E7D.js} +7 -6
  85. package/dist/chunks/{registry-7FFOXIAW.js → registry-KNKSCJNT.js} +7 -6
  86. package/dist/chunks/{registry-Z43434VG.js → registry-PO7SI256.js} +4 -4
  87. package/dist/chunks/{registry-OZSMDVPP.js → registry-PVUZQDDQ.js} +3 -3
  88. package/dist/chunks/{room-recommend-62H7ZQQ6.js → room-recommend-H7KLXA5R.js} +6 -5
  89. package/dist/chunks/{schedule-FNXKH3DQ.js → schedule-ESZIBAUO.js} +6 -5
  90. package/dist/chunks/{workflow-ADHKCAJK.js → workflow-CWJFJLQU.js} +13 -8
  91. package/dist/cmd/action.js +6 -0
  92. package/dist/cmd/identity/index.js +45 -0
  93. package/dist/cmd/index.js +2 -0
  94. package/dist/core/continuation-ttl.js +18 -0
  95. package/dist/core/error-codes.js +85 -0
  96. package/dist/core/logger.js +11 -0
  97. package/dist/index.js +37 -31
  98. package/dist/internal/e10/auth/commands.js +163 -8
  99. package/dist/internal/e10/auth/error-log.js +182 -0
  100. package/dist/internal/e10/auth/session.js +17 -3
  101. package/dist/internal/e10/auth-recovery.js +39 -12
  102. package/dist/internal/e10/context.js +17 -2
  103. package/dist/internal/skills/install.js +9 -1
  104. package/dist/shortcuts/archive/continuation.js +2 -1
  105. package/dist/shortcuts/archive/index.js +3 -0
  106. package/dist/shortcuts/archive/operations/confirm.js +2 -1
  107. package/dist/shortcuts/archive-oa/continuation.js +2 -1
  108. package/dist/shortcuts/archive-oa/index.js +2 -0
  109. package/dist/shortcuts/archive-oa/operations/confirm.js +2 -1
  110. package/dist/shortcuts/asset/continuation.js +2 -1
  111. package/dist/shortcuts/asset/index.js +2 -0
  112. package/dist/shortcuts/asset-idle/index.js +2 -0
  113. package/dist/shortcuts/blog/continuation.js +2 -1
  114. package/dist/shortcuts/blog/index.js +2 -0
  115. package/dist/shortcuts/caizhilian/continuation.js +2 -1
  116. package/dist/shortcuts/caizhilian/index.js +2 -0
  117. package/dist/shortcuts/caizhilian/operations/confirm.js +3 -2
  118. package/dist/shortcuts/calendar/continuation.js +2 -1
  119. package/dist/shortcuts/calendar/index.js +2 -0
  120. package/dist/shortcuts/calendar/operations/write.js +1 -1
  121. package/dist/shortcuts/contract/continuation.js +2 -1
  122. package/dist/shortcuts/contract/index.js +2 -0
  123. package/dist/shortcuts/contract/operations/write.js +2 -1
  124. package/dist/shortcuts/cowork/continuation.js +2 -1
  125. package/dist/shortcuts/cowork/index.js +2 -0
  126. package/dist/shortcuts/ebuilder-form/continuation.js +2 -1
  127. package/dist/shortcuts/ebuilder-form/index.js +2 -0
  128. package/dist/shortcuts/ebuilder-form/operations/write.js +3 -2
  129. package/dist/shortcuts/ehr/continuation.js +2 -1
  130. package/dist/shortcuts/ehr/index.js +2 -0
  131. package/dist/shortcuts/ehr/operations/attend-write.js +1 -1
  132. package/dist/shortcuts/ehr/operations/recruit-candidate-import.js +182 -3
  133. package/dist/shortcuts/ehr/operations/recruit-position.js +134 -2
  134. package/dist/shortcuts/ehr/operations/recruit-write.js +1 -1
  135. package/dist/shortcuts/esb/continuation.js +2 -1
  136. package/dist/shortcuts/esb/index.js +2 -0
  137. package/dist/shortcuts/esb/operations/trigger.js +2 -1
  138. package/dist/shortcuts/fna/continuation.js +2 -1
  139. package/dist/shortcuts/fna/index.js +2 -0
  140. package/dist/shortcuts/fna/operations/invoice-writeoff.js +1 -1
  141. package/dist/shortcuts/fna/operations/loan.js +1 -1
  142. package/dist/shortcuts/hrm/index.js +2 -0
  143. package/dist/shortcuts/im/continuation.js +2 -1
  144. package/dist/shortcuts/index.js +5 -0
  145. package/dist/shortcuts/invoice/continuation.js +2 -1
  146. package/dist/shortcuts/invoice/index.js +14 -15
  147. package/dist/shortcuts/invoice/invoice-record.js +93 -0
  148. package/dist/shortcuts/invoice/manifest.js +190 -393
  149. package/dist/shortcuts/invoice/operations/add.js +2 -1
  150. package/dist/shortcuts/invoice/operations/delete.js +2 -1
  151. package/dist/shortcuts/invoice/operations/import.js +2 -1
  152. package/dist/shortcuts/invoice/operations/issuing-contract-detail.js +86 -0
  153. package/dist/shortcuts/invoice/operations/issuing-contracts.js +210 -0
  154. package/dist/shortcuts/invoice/operations/registry.js +17 -17
  155. package/dist/shortcuts/invoice/operations/reim-auto.js +4 -569
  156. package/dist/shortcuts/invoice/operations/reim.js +52 -341
  157. package/dist/shortcuts/invoice/operations/shared.js +21 -4
  158. package/dist/shortcuts/invoice/operations/update.js +2 -1
  159. package/dist/shortcuts/invoice/projection.js +10 -62
  160. package/dist/shortcuts/jiuchuanhui/continuation.js +2 -1
  161. package/dist/shortcuts/jiuchuanhui/index.js +2 -0
  162. package/dist/shortcuts/jiuchuanhui/operations/datajson.js +2 -1
  163. package/dist/shortcuts/jiuchuanhui/operations/esb.js +2 -1
  164. package/dist/shortcuts/mail/continuation.js +2 -1
  165. package/dist/shortcuts/mail/index.js +2 -0
  166. package/dist/shortcuts/mail/operations/mail-blacklist.js +1 -1
  167. package/dist/shortcuts/mail/operations/mail-contacts.js +1 -1
  168. package/dist/shortcuts/mail/operations/mail-send.js +1 -1
  169. package/dist/shortcuts/mail/operations/mail-sign.js +1 -1
  170. package/dist/shortcuts/mail/operations/mail-template.js +1 -1
  171. package/dist/shortcuts/meeting/continuation.js +2 -1
  172. package/dist/shortcuts/meeting/index.js +2 -0
  173. package/dist/shortcuts/meeting/operations/change.js +1 -1
  174. package/dist/shortcuts/meeting/operations/create.js +1 -1
  175. package/dist/shortcuts/meeting/operations/eb/create-flow.js +16 -7
  176. package/dist/shortcuts/meeting/operations/eb/decision.js +1 -1
  177. package/dist/shortcuts/meeting/operations/eb/factory.js +1 -1
  178. package/dist/shortcuts/meeting/operations/lifecycle.js +1 -1
  179. package/dist/shortcuts/meeting/operations/receipts.js +1 -1
  180. package/dist/shortcuts/meeting/operations/signs.js +1 -1
  181. package/dist/shortcuts/okr/continuation.js +2 -1
  182. package/dist/shortcuts/okr/index.js +2 -0
  183. package/dist/shortcuts/okr/operations/write.js +1 -1
  184. package/dist/shortcuts/plan/continuation.js +2 -1
  185. package/dist/shortcuts/plan/index.js +2 -0
  186. package/dist/shortcuts/plan/operations/write.js +1 -1
  187. package/dist/shortcuts/project/continuation.js +2 -1
  188. package/dist/shortcuts/project/index.js +2 -0
  189. package/dist/shortcuts/reception/constants.js +53 -0
  190. package/dist/shortcuts/reception/errors.js +54 -0
  191. package/dist/shortcuts/reception/host.js +125 -0
  192. package/dist/shortcuts/reception/index.js +198 -0
  193. package/dist/shortcuts/reception/manifest.js +177 -0
  194. package/dist/shortcuts/reception/operations/ask.js +71 -0
  195. package/dist/shortcuts/reception/operations/browsertool.js +58 -0
  196. package/dist/shortcuts/reception/operations/compose.js +129 -0
  197. package/dist/shortcuts/reception/operations/customparams.js +74 -0
  198. package/dist/shortcuts/reception/operations/doc.js +238 -0
  199. package/dist/shortcuts/reception/operations/docrender.js +36 -0
  200. package/dist/shortcuts/reception/operations/panels.js +179 -0
  201. package/dist/shortcuts/reception/operations/registry.js +26 -0
  202. package/dist/shortcuts/reception/operations/render-assets.js +184 -0
  203. package/dist/shortcuts/reception/operations/render.js +123 -0
  204. package/dist/shortcuts/reception/operations/runs.js +38 -0
  205. package/dist/shortcuts/reception/operations/schedule.js +127 -0
  206. package/dist/shortcuts/reception/operations/shared.js +196 -0
  207. package/dist/shortcuts/reception/operations/snapshot.js +68 -0
  208. package/dist/shortcuts/reception/operations/types.js +1 -0
  209. package/dist/shortcuts/reception/operations.js +33 -0
  210. package/dist/shortcuts/reception/upload.js +218 -0
  211. package/dist/shortcuts/recruit-stage/context.js +145 -33
  212. package/dist/shortcuts/recruit-stage/continuation.js +2 -1
  213. package/dist/shortcuts/recruit-stage/operations/jd-create.js +106 -17
  214. package/dist/shortcuts/recruit-stage/operations/resume-import.js +166 -10
  215. package/dist/shortcuts/workflow/continuation.js +2 -1
  216. package/dist/shortcuts/workflow/index.js +2 -0
  217. package/dist/shortcuts/workflow/operations/form.js +32 -8
  218. package/dist/shortcuts/workflow/operations/write.js +1 -1
  219. package/docs/_catalog.md +3 -0
  220. package/docs/agent-invoice.md +1 -1
  221. package/docs/archive-oa.md +1 -1
  222. package/docs/caizhilian.md +1 -1
  223. package/docs/calendar.md +1 -1
  224. package/docs/contract.md +1 -1
  225. package/docs/e10-auth.md +16 -0
  226. package/docs/ehr.md +2 -2
  227. package/docs/esb.md +1 -1
  228. package/docs/im.md +1 -1
  229. package/docs/invoice.md +8 -12
  230. package/docs/okr.md +1 -1
  231. package/docs/reception.md +119 -0
  232. package/package.json +1 -1
  233. package/scripts/clean.mjs +43 -2
  234. package/skill-template/business-info.json +18 -2
  235. package/skill-template/domains/caizhilian.md +1 -1
  236. package/skill-template/domains/reception-flow.md +18 -0
  237. package/skill-template/domains/yepiaotong.md +4 -7
  238. package/skills/weaver-e10-archive-oa/references/source-manifest.json +14 -14
  239. package/skills/weaver-e10-blog/references/blog-publish.md +1 -1
  240. package/skills/weaver-e10-blog/references/source-manifest.json +7 -7
  241. package/skills/weaver-e10-caizhilian/references/source-manifest.json +21 -21
  242. package/skills/weaver-e10-caizhilian/references/write-protocol.md +2 -2
  243. package/skills/weaver-e10-calendar/references/calendar-write.md +1 -1
  244. package/skills/weaver-e10-cowork/SKILL.md +1 -1
  245. package/skills/weaver-e10-ebuilder-form/SKILL.md +1 -1
  246. package/skills/weaver-e10-ebuilder-form/references/custom-api.md +1 -1
  247. package/skills/weaver-e10-ebuilder-form/references/openapi-write.md +1 -1
  248. package/skills/weaver-e10-esb/SKILL.md +2 -2
  249. package/skills/weaver-e10-esb/references/source-manifest.json +22 -22
  250. package/skills/weaver-e10-esb/references/trigger.md +2 -2
  251. package/skills/weaver-e10-jinchengda/references/contract-clause-library-crud.md +1 -1
  252. package/skills/weaver-e10-jinchengda/references/contract-clause-reference-save.md +1 -1
  253. package/skills/weaver-e10-jinchengda/references/contract-request-write.md +1 -1
  254. package/skills/weaver-e10-jinchengda/references/source-manifest.json +29 -29
  255. package/skills/weaver-e10-jucailin/SKILL.md +1 -1
  256. package/skills/weaver-e10-jucailin/references/attend-write.md +2 -2
  257. package/skills/weaver-e10-jucailin/references/recruit-create.md +12 -3
  258. package/skills/weaver-e10-jucailin/references/recruit-write.md +1 -1
  259. package/skills/weaver-e10-meeting/SKILL.md +8 -6
  260. package/skills/weaver-e10-meeting/references/meeting-change.md +1 -1
  261. package/skills/weaver-e10-meeting/references/meeting-create.md +1 -1
  262. package/skills/weaver-e10-meeting/references/meeting-lifecycle.md +1 -1
  263. package/skills/weaver-e10-meeting/references/meeting-verification.md +1 -1
  264. package/skills/weaver-e10-okr/references/okr-align.md +1 -1
  265. package/skills/weaver-e10-okr/references/okr-keyresult.md +1 -1
  266. package/skills/weaver-e10-okr/references/okr-write.md +1 -1
  267. package/skills/weaver-e10-okr/references/source-manifest.json +8 -8
  268. package/skills/weaver-e10-plan/references/plan-report-write.md +1 -1
  269. package/skills/weaver-e10-plan/references/source-manifest.json +20 -20
  270. package/skills/weaver-e10-qiyecheng/references/loan-management.md +1 -1
  271. package/skills/weaver-e10-qiyecheng/references/source-manifest.json +18 -18
  272. package/skills/weaver-e10-reception-flow/SKILL.md +173 -0
  273. 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
  274. package/skills/weaver-e10-reception-flow/data/fields-snapshot.json +213 -0
  275. package/skills/weaver-e10-reception-flow/references/browsertool.md +68 -0
  276. package/skills/weaver-e10-reception-flow/references/env-pitfalls.md +51 -0
  277. package/skills/weaver-e10-reception-flow/references/fields-snapshot.md +227 -0
  278. package/skills/weaver-e10-reception-flow/references/guide.md +179 -0
  279. package/skills/weaver-e10-reception-flow/scripts/locate.sh +14 -0
  280. package/skills/weaver-e10-reception-flow/scripts/render.py +724 -0
  281. package/skills/weaver-e10-recruit-stage/SKILL.md +9 -5
  282. package/skills/weaver-e10-recruit-stage/lib/recruit-xiaoe-file.mjs +1 -1
  283. package/skills/weaver-e10-recruit-stage/lib/xiaoe-session.mjs +66 -0
  284. package/skills/weaver-e10-recruit-stage/references/position-templates.md +202 -0
  285. package/skills/weaver-e10-recruit-stage/references/recruit-jd-create.md +22 -0
  286. package/skills/weaver-e10-recruit-stage/references/recruit-resume-import.md +14 -1
  287. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +6 -0
  288. package/skills/weaver-e10-shijingran/SKILL.md +5 -5
  289. package/skills/weaver-e10-shijingran/references/source-manifest.json +37 -36
  290. package/skills/weaver-e10-skill-maker/references/module-cli-generation.md +2 -0
  291. package/skills/weaver-e10-wenshuding/references/source-manifest.json +3 -3
  292. package/skills/weaver-e10-workflow/references/source-manifest.json +32 -32
  293. package/skills/weaver-e10-yepiaotong/SKILL.md +19 -26
  294. package/skills/weaver-e10-yepiaotong/references/invoice-detail.md +13 -10
  295. package/skills/weaver-e10-yepiaotong/references/invoice-enterprise-list.md +2 -0
  296. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-workflow.md +194 -155
  297. package/skills/weaver-e10-yepiaotong/references/invoice-output-view.md +28 -32
  298. package/skills/weaver-e10-yepiaotong/references/invoice-personal-list.md +5 -1
  299. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +8 -10
  300. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +211 -616
  301. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +149 -117
  302. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +17 -20
  303. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +20 -39
  304. package/skills/weaver-e10-yepiaotong/references/reim-matching-rules.md +55 -22
  305. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +7 -17
  306. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +88 -92
  307. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +144 -354
  308. package/skills/weaver-e10-yimiaoban/SKILL.md +1 -1
  309. package/skills/weaver-e10-yimiaoban/references/msg-write.md +1 -1
  310. package/skills/weaver-e10-yimiaoban/references/safety-boundaries.md +1 -1
  311. package/skills/weaver-e10-yimiaoban/references/source-manifest.json +7 -7
  312. package/dist/chunks/chunk-TTPJJJC4.js +0 -465
  313. package/dist/chunks/registry-BKBZPBAJ.js +0 -23
  314. package/dist/shortcuts/invoice/markdown.js +0 -172
  315. package/dist/shortcuts/invoice/operations/issuing-qys.js +0 -424
  316. package/skills/weaver-e10-meeting.zip +0 -0
  317. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +0 -131
  318. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-form-fill-rules.md +0 -179
@@ -2,33 +2,33 @@ import { createRequire as __esbuildCreateRequire } from 'node:module';
2
2
  const require = __esbuildCreateRequire(import.meta.url);
3
3
  import {
4
4
  meetingEbGroupChatOperations
5
- } from "./chunk-BIPYLLVS.js";
5
+ } from "./chunk-N4M2DDFE.js";
6
6
  import {
7
7
  meetingEbCreateFlowOperations
8
- } from "./chunk-NKZRQXST.js";
8
+ } from "./chunk-FRZKBMSW.js";
9
9
  import {
10
10
  ebRoomRecommendOperation,
11
11
  recommendRooms,
12
12
  rememberFrequentRoom
13
- } from "./chunk-R4CHUSKC.js";
13
+ } from "./chunk-GM6J7Q4B.js";
14
14
  import {
15
15
  meetingEbScheduleOperations
16
- } from "./chunk-IZ7S7QUS.js";
16
+ } from "./chunk-FAZTGX7S.js";
17
17
  import {
18
18
  ebMeetingWritePreflight,
19
19
  meetingEbConflictOperations
20
- } from "./chunk-QKNKR4RH.js";
20
+ } from "./chunk-OF4S23UB.js";
21
21
  import {
22
22
  PENDING_MARK,
23
23
  listMeetingAttachments,
24
24
  meetingAttachmentContentOperations,
25
25
  renderDocx
26
- } from "./chunk-W7BEHOSR.js";
26
+ } from "./chunk-CWYGFU5B.js";
27
27
  import {
28
28
  meetingEnvOperations,
29
29
  meetingStateDir,
30
30
  resolveMeetingEnvMode
31
- } from "./chunk-GEWYMQME.js";
31
+ } from "./chunk-GAMZLAG2.js";
32
32
  import {
33
33
  EB_BASE,
34
34
  EB_ENDPOINTS,
@@ -60,7 +60,10 @@ import {
60
60
  toIdString,
61
61
  verifyLease,
62
62
  writeBody
63
- } from "./chunk-72CKAUAG.js";
63
+ } from "./chunk-QVSWRLLU.js";
64
+ import {
65
+ CONTINUATION_TTL_SECONDS
66
+ } from "./chunk-7BDPM5ST.js";
64
67
 
65
68
  // src/shortcuts/meeting/operations/meetings.ts
66
69
  function overlapsDate(beginDatetime, endDatetime, date) {
@@ -429,7 +432,6 @@ var meetingConflictOperations = [
429
432
 
430
433
  // src/shortcuts/meeting/operations/change.ts
431
434
  import { createHash } from "node:crypto";
432
- var CONTINUATION_TTL_SECONDS = 600;
433
435
  var LIST_PATH = "/api/meeting/search/getMeetingList";
434
436
  function fingerprint2(value) {
435
437
  return createHash("sha256").update(JSON.stringify(value ?? null)).digest("hex").slice(0, 32);
@@ -669,7 +671,6 @@ var meetingChangeOperations = [
669
671
 
670
672
  // src/shortcuts/meeting/operations/create.ts
671
673
  import { createHash as createHash2 } from "node:crypto";
672
- var CONTINUATION_TTL_SECONDS2 = 600;
673
674
  function fingerprint3(value) {
674
675
  return createHash2("sha256").update(JSON.stringify(value ?? null)).digest("hex").slice(0, 32);
675
676
  }
@@ -903,13 +904,13 @@ var meetingCreatePrepare = {
903
904
  payload: body,
904
905
  fingerprint: fingerprint3(body)
905
906
  },
906
- CONTINUATION_TTL_SECONDS2 * 1e3
907
+ CONTINUATION_TTL_SECONDS * 1e3
907
908
  );
908
909
  return meetingSuccess("meeting.create.prepare", {
909
910
  status: "AWAITING_CONFIRMATION",
910
911
  preview: body,
911
912
  continuation: token,
912
- expiresInSeconds: CONTINUATION_TTL_SECONDS2
913
+ expiresInSeconds: CONTINUATION_TTL_SECONDS
913
914
  }, { warnings });
914
915
  }
915
916
  };
@@ -999,7 +1000,6 @@ var meetingCreateOperations = [
999
1000
 
1000
1001
  // src/shortcuts/meeting/operations/lifecycle.ts
1001
1002
  import { createHash as createHash3 } from "node:crypto";
1002
- var CONTINUATION_TTL_SECONDS3 = 600;
1003
1003
  function fingerprint4(value) {
1004
1004
  return createHash3("sha256").update(JSON.stringify(value ?? null)).digest("hex").slice(0, 32);
1005
1005
  }
@@ -1053,13 +1053,13 @@ function lifecyclePair(spec) {
1053
1053
  payload: { id },
1054
1054
  fingerprint: fingerprint4({ id })
1055
1055
  },
1056
- CONTINUATION_TTL_SECONDS3 * 1e3
1056
+ CONTINUATION_TTL_SECONDS * 1e3
1057
1057
  );
1058
1058
  return meetingSuccess(prepareName, {
1059
1059
  status: "AWAITING_CONFIRMATION",
1060
1060
  preview: { action: spec.action, id, body: spec.bodyOf(id), note: spec.note },
1061
1061
  continuation: token,
1062
- expiresInSeconds: CONTINUATION_TTL_SECONDS3
1062
+ expiresInSeconds: CONTINUATION_TTL_SECONDS
1063
1063
  });
1064
1064
  }
1065
1065
  };
@@ -1138,7 +1138,6 @@ var meetingLifecycleOperations = [
1138
1138
 
1139
1139
  // src/shortcuts/meeting/operations/receipts.ts
1140
1140
  import { createHash as createHash4 } from "node:crypto";
1141
- var CONTINUATION_TTL_SECONDS4 = 600;
1142
1141
  function fingerprint5(value) {
1143
1142
  return createHash4("sha256").update(JSON.stringify(value ?? null)).digest("hex").slice(0, 32);
1144
1143
  }
@@ -1276,13 +1275,13 @@ var meetingReceiptUpdatePrepare = {
1276
1275
  payload,
1277
1276
  fingerprint: fingerprint5(normalized)
1278
1277
  },
1279
- CONTINUATION_TTL_SECONDS4 * 1e3
1278
+ CONTINUATION_TTL_SECONDS * 1e3
1280
1279
  );
1281
1280
  return meetingSuccess("meeting.receipt.update.prepare", {
1282
1281
  status: "AWAITING_CONFIRMATION",
1283
1282
  preview: payload,
1284
1283
  continuation: token,
1285
- expiresInSeconds: CONTINUATION_TTL_SECONDS4
1284
+ expiresInSeconds: CONTINUATION_TTL_SECONDS
1286
1285
  });
1287
1286
  }
1288
1287
  };
@@ -1351,7 +1350,6 @@ var meetingReceiptOperations = [
1351
1350
 
1352
1351
  // src/shortcuts/meeting/operations/signs.ts
1353
1352
  import { createHash as createHash5 } from "node:crypto";
1354
- var CONTINUATION_TTL_SECONDS5 = 600;
1355
1353
  function fingerprint6(value) {
1356
1354
  return createHash5("sha256").update(JSON.stringify(value ?? null)).digest("hex").slice(0, 32);
1357
1355
  }
@@ -1505,7 +1503,7 @@ function signWritePair(spec) {
1505
1503
  payload,
1506
1504
  fingerprint: fingerprint6(payload)
1507
1505
  },
1508
- CONTINUATION_TTL_SECONDS5 * 1e3
1506
+ CONTINUATION_TTL_SECONDS * 1e3
1509
1507
  );
1510
1508
  const record = target.record;
1511
1509
  const alreadySigned = record.signtime !== void 0 && record.signtime !== null && record.signtime !== "";
@@ -1536,7 +1534,7 @@ function signWritePair(spec) {
1536
1534
  note: spec.note
1537
1535
  },
1538
1536
  continuation: token,
1539
- expiresInSeconds: CONTINUATION_TTL_SECONDS5
1537
+ expiresInSeconds: CONTINUATION_TTL_SECONDS
1540
1538
  });
1541
1539
  }
1542
1540
  };
@@ -2226,7 +2224,7 @@ var meetingAttachmentAttach = {
2226
2224
  if (mode === "append" && existingIds.length === 0) {
2227
2225
  existingIds.push(...beforeIds);
2228
2226
  }
2229
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
2227
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
2230
2228
  const list = getMeetingOperation2("meeting.eb.meeting.list");
2231
2229
  let fileId = incomingFileId;
2232
2230
  let name = String(args.name ?? "").trim();
@@ -2314,7 +2312,7 @@ function textOf(value) {
2314
2312
  return value === void 0 || value === null ? "" : String(value);
2315
2313
  }
2316
2314
  async function readMinute(env, id) {
2317
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
2315
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
2318
2316
  const detail = getMeetingOperation2("meeting.eb.minute.detail");
2319
2317
  const result = await detail.handler({ id }, env);
2320
2318
  const row = result?.data?.data;
@@ -2393,7 +2391,7 @@ var meetingMinuteWriteContent = {
2393
2391
  } else {
2394
2392
  statusReason = "\u4EC5\u6E05\u7A7A\u5185\u5BB9\uFF0C\u672A\u6539\u72B6\u6001";
2395
2393
  }
2396
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
2394
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
2397
2395
  const prepare = getMeetingOperation2("meeting.eb.minute.update.prepare");
2398
2396
  const apply = getMeetingOperation2("meeting.eb.minute.update.apply");
2399
2397
  const prepared = await prepare.handler({ id, mt_id: mtId, ...patch }, env);
@@ -2752,7 +2750,7 @@ var meetingMinuteFromGroupChat = {
2752
2750
  const mtId = textOf2(args.mt_id).trim();
2753
2751
  if (!mtId) throw meetingValidationError("mt_id_required", "\u5FC5\u987B\u63D0\u4F9B\u4F1A\u8BAE id\uFF08mt_id\uFF09");
2754
2752
  const pipeline = ["text", "minutes", "document"].includes(args.pipeline) ? args.pipeline : "text";
2755
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
2753
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
2756
2754
  const ctx = env.ctx;
2757
2755
  let stepStart = Date.now();
2758
2756
  const listed = await getMeetingOperation2("meeting.eb.meeting.list").handler(
@@ -2776,9 +2774,9 @@ var meetingMinuteFromGroupChat = {
2776
2774
  }
2777
2775
  mark("readMeeting", stepStart);
2778
2776
  const pullStart = Date.now();
2779
- const { createImHost } = await import("./host-BQH22NTQ.js");
2780
- const { createImContinuationSigner } = await import("./continuation-2CKSBLA6.js");
2781
- const { getImOperation } = await import("./registry-OZSMDVPP.js");
2777
+ const { createImHost } = await import("./host-LR55CTHP.js");
2778
+ const { createImContinuationSigner } = await import("./continuation-3S37AUSH.js");
2779
+ const { getImOperation } = await import("./registry-PVUZQDDQ.js");
2782
2780
  const imEnv = { ctx, host: createImHost(ctx), continuation: createImContinuationSigner(ctx) };
2783
2781
  const syncOp = getImOperation("im.msg.sync.group");
2784
2782
  const chatWindow = computeChatWindow(meeting);
@@ -2846,7 +2844,7 @@ var meetingMinuteFromGroupChat = {
2846
2844
  try {
2847
2845
  const { readFile: readFile4 } = await import("node:fs/promises");
2848
2846
  const buffer = await readFile4(file);
2849
- const { extractText } = await import("./attachment-content-K4C7VLWQ.js");
2847
+ const { extractText } = await import("./attachment-content-E3276UOV.js");
2850
2848
  const extracted = extractText(buffer, file, "");
2851
2849
  if (extracted.text.trim()) {
2852
2850
  extraSections.push(`\u3010\u6750\u6599\uFF1A${file.split(/[\\/]/).pop() ?? file}\u3011
@@ -2975,9 +2973,9 @@ ${groupTranscript}` : ""
2975
2973
  if (!employeeId) {
2976
2974
  warnings.push("\u672A\u53D6\u5230 ESB \u89E6\u53D1\u4EBA id\uFF08employeeId\uFF09\uFF0C\u5DF2\u8DF3\u8FC7\u540E\u7EED ESB \u8C03\u7528");
2977
2975
  } else {
2978
- const { createEsbHost } = await import("./host-YTODKMSL.js");
2979
- const { createEsbContinuationSigner } = await import("./continuation-NLECEJPX.js");
2980
- const { getEsbOperation } = await import("./registry-7FFOXIAW.js");
2976
+ const { createEsbHost } = await import("./host-WIKN2EJ5.js");
2977
+ const { createEsbContinuationSigner } = await import("./continuation-KI7DRRZN.js");
2978
+ const { getEsbOperation } = await import("./registry-KNKSCJNT.js");
2981
2979
  const esbEnv = { ctx, host: createEsbHost(ctx), continuation: createEsbContinuationSigner(ctx) };
2982
2980
  const prepareOp = getEsbOperation("esb.trigger.prepare");
2983
2981
  const applyOp = getEsbOperation("esb.trigger.apply");
@@ -3165,7 +3163,7 @@ var meetingDecisionNotifyGroup = {
3165
3163
  const warnings = [];
3166
3164
  const mtId = textOf3(args.mt_id).trim();
3167
3165
  if (!mtId) throw meetingValidationError("mt_id_required", "\u5FC5\u987B\u63D0\u4F9B\u4F1A\u8BAE id\uFF08mt_id\uFF09");
3168
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
3166
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
3169
3167
  const ctx = env.ctx;
3170
3168
  const listed = await getMeetingOperation2("meeting.eb.meeting.list").handler(
3171
3169
  { mt_id: mtId, pageNo: 1, pageSize: 1 },
@@ -3229,7 +3227,7 @@ var meetingDecisionNotifyGroup = {
3229
3227
  charCount: formatted.text.length,
3230
3228
  text: formatted.text
3231
3229
  };
3232
- const { createImHost } = await import("./host-BQH22NTQ.js");
3230
+ const { createImHost } = await import("./host-LR55CTHP.js");
3233
3231
  const imHost = createImHost(ctx);
3234
3232
  let displayText = formatted.text;
3235
3233
  let wireText = formatted.text;
@@ -3237,7 +3235,7 @@ var meetingDecisionNotifyGroup = {
3237
3235
  const mentioned = [];
3238
3236
  if (args.mention !== false) {
3239
3237
  try {
3240
- const { getImOperation } = await import("./registry-OZSMDVPP.js");
3238
+ const { getImOperation } = await import("./registry-PVUZQDDQ.js");
3241
3239
  const membersResult = await getImOperation("im.group.users").handler(
3242
3240
  { groupId },
3243
3241
  { ctx, host: imHost }
@@ -3467,7 +3465,7 @@ var meetingPipelineRun = {
3467
3465
  const needsConfirm = level === "tasks" || level === "notify";
3468
3466
  const confirmed = args.confirm === true;
3469
3467
  const executedLevel = needsConfirm && !confirmed ? "document" : level;
3470
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
3468
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
3471
3469
  const ctx = env.ctx;
3472
3470
  let stepStart = Date.now();
3473
3471
  const reuseMinuteId = textOf4(args.minuteId).trim();
@@ -3536,8 +3534,8 @@ var meetingPipelineRun = {
3536
3534
  ]);
3537
3535
  }
3538
3536
  stepStart = Date.now();
3539
- const { createHrmHost } = await import("./host-ATKVNZAT.js");
3540
- const { getHrmOperation } = await import("./registry-Z43434VG.js");
3537
+ const { createHrmHost } = await import("./host-HRBXEPDQ.js");
3538
+ const { getHrmOperation } = await import("./registry-PO7SI256.js");
3541
3539
  const hrmEnv = { ctx, host: createHrmHost(ctx) };
3542
3540
  const queryOp = getHrmOperation("hrm.employee.query");
3543
3541
  const resolved = [];
@@ -3839,7 +3837,7 @@ function formatTimeRange(start, end) {
3839
3837
  }
3840
3838
  async function loadAgendaFromTopics(env, mtId) {
3841
3839
  try {
3842
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
3840
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
3843
3841
  const operation = getMeetingOperation2("meeting.eb.topic.list");
3844
3842
  const result = await operation.handler({ mt_id: mtId, pageNo: 1, pageSize: 200 }, env);
3845
3843
  const rows = result.data?.rows ?? [];
@@ -3919,7 +3917,7 @@ function flattenFieldValue(raw) {
3919
3917
  }
3920
3918
  async function resolveIssuerOrganization(env, creatorId) {
3921
3919
  try {
3922
- const { hrmEmployeeOperations } = await import("./employee-SAK2QYXX.js");
3920
+ const { hrmEmployeeOperations } = await import("./employee-22BGJ3QS.js");
3923
3921
  const batch = hrmEmployeeOperations.find((operation) => operation.name === "hrm.employee.batch");
3924
3922
  if (!batch) return null;
3925
3923
  const result = await batch.handler({ ids: [creatorId] }, env);
@@ -3941,7 +3939,7 @@ async function resolveSessionUserName(env) {
3941
3939
  const session = await env.host.getSession();
3942
3940
  const userId = String(session?.userId ?? "").trim();
3943
3941
  if (!userId) return "";
3944
- const { hrmEmployeeOperations } = await import("./employee-SAK2QYXX.js");
3942
+ const { hrmEmployeeOperations } = await import("./employee-22BGJ3QS.js");
3945
3943
  const batch = hrmEmployeeOperations.find((operation) => operation.name === "hrm.employee.batch");
3946
3944
  if (!batch) return "";
3947
3945
  const result = await batch.handler({ ids: [userId] }, env);
@@ -3977,7 +3975,7 @@ async function supplementRowFromDetail(row, mtId, env) {
3977
3975
  const missing = DETAIL_FALLBACK_KEYS.filter((key) => isBlank(row[key]));
3978
3976
  if (missing.length === 0) return { row, filled: [] };
3979
3977
  try {
3980
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
3978
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
3981
3979
  const detailOperation = getMeetingOperation2("meeting.eb.meeting.detail");
3982
3980
  const result = await detailOperation.handler({ id: mtId }, env);
3983
3981
  const flat = result?.data?.data ?? result?.data ?? {};
@@ -4151,7 +4149,7 @@ var meetingInvitationRender = {
4151
4149
  };
4152
4150
  dataSource = "payload";
4153
4151
  } else {
4154
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
4152
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
4155
4153
  const listOperation = getMeetingOperation2("meeting.eb.meeting.list");
4156
4154
  try {
4157
4155
  const listed = await listOperation.handler({ mt_id: mtId, pageNo: 1, pageSize: 1 }, env);
@@ -4905,7 +4903,7 @@ var meetingSummaryGet = {
4905
4903
  const mtId = textOf5(args.mt_id).trim();
4906
4904
  if (!mtId) throw meetingValidationError("mt_id_required", "\u5FC5\u987B\u63D0\u4F9B\u4F1A\u8BAE id\uFF08mt_id\uFF09");
4907
4905
  const ctx = env.ctx;
4908
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
4906
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
4909
4907
  const warnings = [];
4910
4908
  const timings = {};
4911
4909
  const include = Array.isArray(args.include) && args.include.length > 0 ? args.include.filter((item) => ALL_SECTIONS.includes(item)) : ALL_SECTIONS;
@@ -5041,9 +5039,9 @@ var meetingSummaryGet = {
5041
5039
  warnings.push("\u8BE5\u4F1A\u8BAE\u6CA1\u6709\u5173\u8054\u7FA4\u804A\uFF08imchat_groupid \u4E3A\u7A7A\uFF09\uFF0Cchat \u6BB5\u4E3A null");
5042
5040
  } else {
5043
5041
  try {
5044
- const { createImHost } = await import("./host-BQH22NTQ.js");
5045
- const { createImContinuationSigner } = await import("./continuation-2CKSBLA6.js");
5046
- const { getImOperation } = await import("./registry-OZSMDVPP.js");
5042
+ const { createImHost } = await import("./host-LR55CTHP.js");
5043
+ const { createImContinuationSigner } = await import("./continuation-3S37AUSH.js");
5044
+ const { getImOperation } = await import("./registry-PVUZQDDQ.js");
5047
5045
  const imEnv = {
5048
5046
  ctx,
5049
5047
  // 测试环境靠 env.imHost 注入假实现,否则会真的打到线上群聊
@@ -5167,9 +5165,9 @@ var meetingFormFields = {
5167
5165
  hint: "\u6CA1\u89E3\u6790\u5230\u8BE5\u8868\u7684 objId\uFF08\u53EF\u80FD\u5F53\u524D\u73AF\u5883\u6CA1\u6709\u8FD9\u5F20\u8868\uFF0C\u6216\u8D26\u53F7\u65E0\u6743\u9650\uFF09"
5168
5166
  }, { warnings: resolved.warnings });
5169
5167
  }
5170
- const { createEbuilderFormHost } = await import("./host-4CBHGOHT.js");
5171
- const { createEbuilderFormContinuationSigner } = await import("./continuation-RN6PZN2M.js");
5172
- const { executeEbuilderFormOperation } = await import("./operations-5QL3AECO.js");
5168
+ const { createEbuilderFormHost } = await import("./host-SZGV4UNT.js");
5169
+ const { createEbuilderFormContinuationSigner } = await import("./continuation-3XLYYTKV.js");
5170
+ const { executeEbuilderFormOperation } = await import("./operations-62N6EP3C.js");
5173
5171
  const formEnv = {
5174
5172
  ctx: env.ctx,
5175
5173
  host: createEbuilderFormHost(env.ctx),
@@ -5215,7 +5213,6 @@ var meetingFormFields = {
5215
5213
  var meetingFormFieldOperations = [meetingFormFields];
5216
5214
 
5217
5215
  // src/shortcuts/meeting/operations/eb/decision.ts
5218
- var CONTINUATION_TTL_SECONDS6 = 600;
5219
5216
  var DATE_PATTERN = "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}$";
5220
5217
  function formatSecondNow() {
5221
5218
  const now = /* @__PURE__ */ new Date();
@@ -5227,7 +5224,7 @@ var MT_STATUS_OVER = "8";
5227
5224
  var CANCELLED_MARK_DELAY_MS = 800;
5228
5225
  async function isCancelledMeeting(env, mtId) {
5229
5226
  try {
5230
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
5227
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
5231
5228
  const listed = await getMeetingOperation2("meeting.eb.meeting.list").handler(
5232
5229
  // withCount:false —— 这里只要一行状态,不必额外请求 count(少一次往返,也便于测试替身)
5233
5230
  { mt_id: mtId, pageNo: 1, pageSize: 1, withCount: false },
@@ -5345,7 +5342,7 @@ var decisionPublishPrepare = {
5345
5342
  payload,
5346
5343
  fingerprint: fingerprint(payload)
5347
5344
  },
5348
- CONTINUATION_TTL_SECONDS6 * 1e3
5345
+ CONTINUATION_TTL_SECONDS * 1e3
5349
5346
  );
5350
5347
  return meetingSuccess("meeting.eb.decision.publish.prepare", {
5351
5348
  status: "AWAITING_CONFIRMATION",
@@ -5367,7 +5364,7 @@ var decisionPublishPrepare = {
5367
5364
  decisionCount: (create.details.detail1 ?? []).length
5368
5365
  },
5369
5366
  continuation: token,
5370
- expiresInSeconds: CONTINUATION_TTL_SECONDS6
5367
+ expiresInSeconds: CONTINUATION_TTL_SECONDS
5371
5368
  }, {
5372
5369
  meta: {
5373
5370
  notes: [
@@ -5553,7 +5550,7 @@ var signMarkPrepare = {
5553
5550
  payload,
5554
5551
  fingerprint: fingerprint(payload)
5555
5552
  },
5556
- CONTINUATION_TTL_SECONDS6 * 1e3
5553
+ CONTINUATION_TTL_SECONDS * 1e3
5557
5554
  );
5558
5555
  return meetingSuccess("meeting.eb.sign.mark.prepare", {
5559
5556
  status: "AWAITING_CONFIRMATION",
@@ -5566,7 +5563,7 @@ var signMarkPrepare = {
5566
5563
  after: update.mainTable
5567
5564
  },
5568
5565
  continuation: token,
5569
- expiresInSeconds: CONTINUATION_TTL_SECONDS6
5566
+ expiresInSeconds: CONTINUATION_TTL_SECONDS
5570
5567
  }, {
5571
5568
  warnings,
5572
5569
  meta: {
@@ -6040,9 +6037,9 @@ async function runCrmSearchFlow(env, input) {
6040
6037
  if (!employeeId) {
6041
6038
  throw meetingValidationError("crm_employee_required", "\u53D6\u4E0D\u5230\u5F53\u524D\u767B\u5F55\u7528\u6237 id\uFF0C\u65E0\u6CD5\u89E6\u53D1 ESB \u5BA2\u6237\u67E5\u8BE2");
6042
6039
  }
6043
- const { createEsbHost } = await import("./host-YTODKMSL.js");
6044
- const { createEsbContinuationSigner } = await import("./continuation-NLECEJPX.js");
6045
- const { getEsbOperation } = await import("./registry-7FFOXIAW.js");
6040
+ const { createEsbHost } = await import("./host-WIKN2EJ5.js");
6041
+ const { createEsbContinuationSigner } = await import("./continuation-KI7DRRZN.js");
6042
+ const { getEsbOperation } = await import("./registry-KNKSCJNT.js");
6046
6043
  const esbEnv = {
6047
6044
  ctx: env.ctx,
6048
6045
  host: createEsbHost(env.ctx),
@@ -6252,7 +6249,7 @@ var ebAutoInvitationAfterWrite = async (context) => {
6252
6249
  const mtId = String(context.dataIds?.[0] ?? "").trim();
6253
6250
  if (!isCreate || !enabled || !mtId) return association;
6254
6251
  try {
6255
- const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-BKBZPBAJ.js");
6252
+ const { getMeetingOperation: getMeetingOperation2 } = await import("./registry-IM5G23LS.js");
6256
6253
  const render = getMeetingOperation2("meeting.invitation.render");
6257
6254
  const result = await render.handler({ mtId }, context.env);
6258
6255
  return { ...association ?? {}, invitation: result?.data ?? null };
@@ -14,10 +14,10 @@ import {
14
14
  toNumber,
15
15
  toPositiveInt,
16
16
  toStringIdList
17
- } from "./chunk-NOODWMCL.js";
17
+ } from "./chunk-D4ADSZ7H.js";
18
18
  import {
19
19
  hrmValidationError
20
- } from "./chunk-OOUTBLZ4.js";
20
+ } from "./chunk-56EZERK4.js";
21
21
 
22
22
  // src/shortcuts/hrm/operations/org.ts
23
23
  var ORG_TYPES = ["subcompany", "department"];
@@ -4,7 +4,7 @@ import {
4
4
  imBusinessError,
5
5
  imConfirmationError,
6
6
  imValidationError
7
- } from "./chunk-ZEDWSH32.js";
7
+ } from "./chunk-IC62NFM5.js";
8
8
  import {
9
9
  collapseNewlines,
10
10
  collectI18nIds,
@@ -1,8 +1,11 @@
1
1
  import { createRequire as __esbuildCreateRequire } from 'node:module';
2
2
  const require = __esbuildCreateRequire(import.meta.url);
3
+ import {
4
+ CONTINUATION_TTL_SECONDS
5
+ } from "./chunk-7BDPM5ST.js";
3
6
  import {
4
7
  CliError
5
- } from "./chunk-LUSPKZKY.js";
8
+ } from "./chunk-UG5G54VL.js";
6
9
 
7
10
  // src/shortcuts/meeting/operations/eb/factory.ts
8
11
  import { createHash } from "node:crypto";
@@ -1559,7 +1562,7 @@ async function buildPersonnelText(env, data) {
1559
1562
  if (ids.length === 0) return {};
1560
1563
  const names = /* @__PURE__ */ new Map();
1561
1564
  try {
1562
- const { hrmEmployeeOperations } = await import("./employee-SAK2QYXX.js");
1565
+ const { hrmEmployeeOperations } = await import("./employee-22BGJ3QS.js");
1563
1566
  const batch = hrmEmployeeOperations.find((operation) => operation.name === "hrm.employee.batch");
1564
1567
  if (batch) {
1565
1568
  const result = await batch.handler({ ids: [...new Set(ids)] }, env);
@@ -1581,7 +1584,6 @@ async function buildPersonnelText(env, data) {
1581
1584
  }
1582
1585
  return out;
1583
1586
  }
1584
- var CONTINUATION_TTL_SECONDS = 600;
1585
1587
  function ebBusinessSuccess(value) {
1586
1588
  if (!value || typeof value !== "object") return false;
1587
1589
  if (value.code !== void 0 && value.code !== null) return Number(value.code) === 200;
@@ -2174,7 +2176,7 @@ function buildWriteInputSchema(endpoint, includeConfirm) {
2174
2176
  }
2175
2177
  async function lookupEmployeeDepartmentId(env, userId) {
2176
2178
  try {
2177
- const { hrmEmployeeOperations } = await import("./employee-SAK2QYXX.js");
2179
+ const { hrmEmployeeOperations } = await import("./employee-22BGJ3QS.js");
2178
2180
  const batch = hrmEmployeeOperations.find((operation) => operation.name === "hrm.employee.batch");
2179
2181
  if (!batch) return null;
2180
2182
  const result = await batch.handler({ ids: [userId] }, env);
@@ -2283,7 +2285,7 @@ function buildWriteOperations(endpoint, preflight, afterWrite) {
2283
2285
  );
2284
2286
  }
2285
2287
  if (endpoint.interfacePk === "create_meeting") {
2286
- const { fetchEbAppSettings, assertEbCreatePathAllowed } = await import("./conflict-F2OMZRTO.js");
2288
+ const { fetchEbAppSettings, assertEbCreatePathAllowed } = await import("./conflict-ARLSZJ6V.js");
2287
2289
  assertEbCreatePathAllowed(await fetchEbAppSettings(env, applyName));
2288
2290
  }
2289
2291
  const pkQuery = writePkQuery(endpoint, payload);
@@ -2,10 +2,13 @@ import { createRequire as __esbuildCreateRequire } from 'node:module';
2
2
  const require = __esbuildCreateRequire(import.meta.url);
3
3
  import {
4
4
  isEsbFlowUnavailable
5
- } from "./chunk-BBKDXQEC.js";
5
+ } from "./chunk-F4E4EM35.js";
6
6
  import {
7
7
  esbValidationError
8
- } from "./chunk-GPMFD4RD.js";
8
+ } from "./chunk-TXUG266F.js";
9
+ import {
10
+ CONTINUATION_TTL_SECONDS
11
+ } from "./chunk-7BDPM5ST.js";
9
12
 
10
13
  // src/shortcuts/esb/manifest.ts
11
14
  var flowId = { type: "string", pattern: "^\\d+$", minLength: 1, maxLength: 32 };
@@ -308,7 +311,7 @@ var esbTriggerHandlers = {
308
311
  requestPreview: payload,
309
312
  templateFields,
310
313
  continuation: token,
311
- expiresInSeconds: 600
314
+ expiresInSeconds: CONTINUATION_TTL_SECONDS
312
315
  },
313
316
  { status: "PREPARED" },
314
317
  warnings
@@ -2,7 +2,7 @@ import { createRequire as __esbuildCreateRequire } from 'node:module';
2
2
  const require = __esbuildCreateRequire(import.meta.url);
3
3
  import {
4
4
  CliError
5
- } from "./chunk-LUSPKZKY.js";
5
+ } from "./chunk-UG5G54VL.js";
6
6
 
7
7
  // src/shortcuts/esb/errors.ts
8
8
  var EsbCliError = class extends CliError {
@@ -2,7 +2,7 @@ import { createRequire as __esbuildCreateRequire } from 'node:module';
2
2
  const require = __esbuildCreateRequire(import.meta.url);
3
3
  import {
4
4
  CliError
5
- } from "./chunk-LUSPKZKY.js";
5
+ } from "./chunk-UG5G54VL.js";
6
6
 
7
7
  // src/internal/e10/auth/session.ts
8
8
  import { constants, createDecipheriv as createDecipheriv2, createHash, publicEncrypt } from "node:crypto";
@@ -682,7 +682,14 @@ var E10AuthSession = class _E10AuthSession {
682
682
  clear();
683
683
  }
684
684
  }
685
- async checkValid() {
685
+ /**
686
+ * 三态探活:`true` 明确有效、`false` 明确失效(401/403)、`undefined` 无法判定(网络/5xx)。
687
+ *
688
+ * 为什么要和 `checkValid()` 分开:平台连接器判断"是否已登录"时,
689
+ * 把网络抖动当成"未登录"会逼用户重复登录;而把 401 当成"已登录"会让后续业务全失败。
690
+ * 未认定失效时保持乐观,明确失效才降级。
691
+ */
692
+ async probeValid() {
686
693
  const { signal, clear } = createTimeoutSignal(E10_TEAMS_CHECK_TIMEOUT_MS);
687
694
  try {
688
695
  const resp = await fetch(`${this.getBaseUrl()}/api/ecode/tree/list?parentId=0`, {
@@ -695,13 +702,18 @@ var E10AuthSession = class _E10AuthSession {
695
702
  redirect: "manual",
696
703
  signal
697
704
  });
698
- return resp.status === 200;
705
+ if (resp.status === 200) return true;
706
+ if (resp.status === 401 || resp.status === 403) return false;
707
+ return void 0;
699
708
  } catch {
700
- return false;
709
+ return void 0;
701
710
  } finally {
702
711
  clear();
703
712
  }
704
713
  }
714
+ async checkValid() {
715
+ return await this.probeValid() === true;
716
+ }
705
717
  async ensureValid() {
706
718
  if (await this.checkValid()) return true;
707
719
  const account = process.env.E10_ACCOUNT;
@@ -49,5 +49,6 @@ function toErrorEnvelope(error) {
49
49
  export {
50
50
  CliError,
51
51
  isCliError,
52
+ isStructuredError,
52
53
  toErrorEnvelope
53
54
  };
@@ -2,7 +2,10 @@ import { createRequire as __esbuildCreateRequire } from 'node:module';
2
2
  const require = __esbuildCreateRequire(import.meta.url);
3
3
  import {
4
4
  esbValidationError
5
- } from "./chunk-GPMFD4RD.js";
5
+ } from "./chunk-TXUG266F.js";
6
+ import {
7
+ CONTINUATION_TTL_MS
8
+ } from "./chunk-7BDPM5ST.js";
6
9
 
7
10
  // src/shortcuts/esb/continuation.ts
8
11
  import { createHmac, randomBytes, timingSafeEqual } from "node:crypto";
@@ -37,7 +40,7 @@ function signature(payload, key) {
37
40
  }
38
41
  function createEsbContinuationSigner(ctx) {
39
42
  return {
40
- async issue(payload, ttlMs = 10 * 6e4) {
43
+ async issue(payload, ttlMs = CONTINUATION_TTL_MS) {
41
44
  const issuedAt = Date.now();
42
45
  const body = encode({ ...payload, issuedAt, expiresAt: issuedAt + ttlMs });
43
46
  const sig = signature(body, await loadKey(ctx));
@@ -2,7 +2,7 @@ import { createRequire as __esbuildCreateRequire } from 'node:module';
2
2
  const require = __esbuildCreateRequire(import.meta.url);
3
3
  import {
4
4
  CliError
5
- } from "./chunk-LUSPKZKY.js";
5
+ } from "./chunk-UG5G54VL.js";
6
6
 
7
7
  // src/shortcuts/workflow/errors.ts
8
8
  var WorkflowCliError = class extends CliError {
@@ -5,17 +5,17 @@ import {
5
5
  imAuthError,
6
6
  imNetworkError,
7
7
  imValidationError
8
- } from "./chunk-ZEDWSH32.js";
8
+ } from "./chunk-IC62NFM5.js";
9
9
  import {
10
10
  E10ApiError,
11
11
  createE10RequestRuntime,
12
12
  isE10SessionExpiredResponse,
13
13
  requireE10Session
14
- } from "./chunk-SA6VBIHY.js";
14
+ } from "./chunk-ETNJSKMM.js";
15
15
  import {
16
16
  E10_SESSION_EXPIRED_MESSAGE,
17
17
  getActiveProfile
18
- } from "./chunk-FOAA27U5.js";
18
+ } from "./chunk-UFIT2UU3.js";
19
19
 
20
20
  // src/shortcuts/im/host.ts
21
21
  import { createHash } from "node:crypto";