weaver-work-cli 0.1.8 → 0.1.20

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 (263) hide show
  1. package/README.md +11 -11
  2. package/dist/cmd/action.js +76 -0
  3. package/dist/cmd/index.js +2 -0
  4. package/dist/cmd/refs/index.js +103 -0
  5. package/dist/cmd/register.js +31 -0
  6. package/dist/cmd/root.js +1 -0
  7. package/dist/cmd/setup/index.js +25 -5
  8. package/dist/cmd/skills/index.js +37 -5
  9. package/dist/core/connector.js +54 -0
  10. package/dist/core/context.js +2 -1
  11. package/dist/core/input.js +48 -0
  12. package/dist/core/output.js +298 -3
  13. package/dist/core/refs.js +432 -0
  14. package/dist/core/state.js +26 -0
  15. package/dist/internal/e10/auth/commands.js +2 -2
  16. package/dist/internal/e10/auth/session.js +14 -0
  17. package/dist/internal/e10/auth/xiaoe.js +116 -51
  18. package/dist/internal/e10/request-runtime.js +5 -0
  19. package/dist/internal/skills/install.js +148 -28
  20. package/dist/internal/skills/reader.js +12 -9
  21. package/dist/shortcuts/blog/continuation.js +74 -0
  22. package/dist/shortcuts/blog/errors.js +60 -0
  23. package/dist/shortcuts/blog/host.js +175 -0
  24. package/dist/shortcuts/blog/index.js +324 -0
  25. package/dist/shortcuts/blog/manifest.js +415 -0
  26. package/dist/shortcuts/blog/operations/comment.js +125 -0
  27. package/dist/shortcuts/blog/operations/comments.js +31 -0
  28. package/dist/shortcuts/blog/operations/edit.js +131 -0
  29. package/dist/shortcuts/blog/operations/export.js +46 -0
  30. package/dist/shortcuts/blog/operations/like.js +80 -0
  31. package/dist/shortcuts/blog/operations/publish.js +157 -0
  32. package/dist/shortcuts/blog/operations/query-user.js +58 -0
  33. package/dist/shortcuts/blog/operations/query.js +96 -0
  34. package/dist/shortcuts/blog/operations/registry.js +54 -0
  35. package/dist/shortcuts/blog/operations/remind.js +176 -0
  36. package/dist/shortcuts/blog/operations/shared.js +330 -0
  37. package/dist/shortcuts/blog/operations/types.js +16 -0
  38. package/dist/shortcuts/blog/operations.js +9 -0
  39. package/dist/shortcuts/caizhilian/continuation.js +70 -0
  40. package/dist/shortcuts/caizhilian/errors.js +53 -0
  41. package/dist/shortcuts/caizhilian/host.js +190 -0
  42. package/dist/shortcuts/caizhilian/index.js +186 -0
  43. package/dist/shortcuts/caizhilian/manifest.js +42 -0
  44. package/dist/shortcuts/caizhilian/operations/api.js +801 -0
  45. package/dist/shortcuts/caizhilian/operations/confirm.js +75 -0
  46. package/dist/shortcuts/caizhilian/operations/files.js +306 -0
  47. package/dist/shortcuts/caizhilian/operations/form.js +170 -0
  48. package/dist/shortcuts/caizhilian/operations/handlers/collab.js +611 -0
  49. package/dist/shortcuts/caizhilian/operations/handlers/document.js +890 -0
  50. package/dist/shortcuts/caizhilian/operations/handlers/file-collection.js +346 -0
  51. package/dist/shortcuts/caizhilian/operations/handlers/file-upload.js +192 -0
  52. package/dist/shortcuts/caizhilian/operations/handlers/fileops.js +570 -0
  53. package/dist/shortcuts/caizhilian/operations/handlers/folder.js +969 -0
  54. package/dist/shortcuts/caizhilian/operations/handlers/search.js +318 -0
  55. package/dist/shortcuts/caizhilian/operations/handlers/setting-attach.js +294 -0
  56. package/dist/shortcuts/caizhilian/operations/handlers/setting-backup.js +423 -0
  57. package/dist/shortcuts/caizhilian/operations/handlers/setting-encrypt.js +238 -0
  58. package/dist/shortcuts/caizhilian/operations/handlers/setting-storage.js +364 -0
  59. package/dist/shortcuts/caizhilian/operations/handlers/system.js +106 -0
  60. package/dist/shortcuts/caizhilian/operations/registry.js +151 -0
  61. package/dist/shortcuts/caizhilian/operations/shared.js +408 -0
  62. package/dist/shortcuts/caizhilian/operations/specs.js +623 -0
  63. package/dist/shortcuts/caizhilian/operations/types.js +57 -0
  64. package/dist/shortcuts/caizhilian/operations.js +21 -0
  65. package/dist/shortcuts/contract/continuation.js +70 -0
  66. package/dist/shortcuts/contract/errors.js +62 -0
  67. package/dist/shortcuts/contract/host.js +205 -0
  68. package/dist/shortcuts/contract/index.js +318 -0
  69. package/dist/shortcuts/contract/manifest.js +596 -0
  70. package/dist/shortcuts/contract/operations/clause-reference.js +78 -0
  71. package/dist/shortcuts/contract/operations/form-info.js +371 -0
  72. package/dist/shortcuts/contract/operations/read.js +118 -0
  73. package/dist/shortcuts/contract/operations/registry.js +43 -0
  74. package/dist/shortcuts/contract/operations/request.js +300 -0
  75. package/dist/shortcuts/contract/operations/shared.js +133 -0
  76. package/dist/shortcuts/contract/operations/subject.js +157 -0
  77. package/dist/shortcuts/contract/operations/template.js +81 -0
  78. package/dist/shortcuts/contract/operations/types.js +7 -0
  79. package/dist/shortcuts/contract/operations/workflow.js +52 -0
  80. package/dist/shortcuts/contract/operations/write.js +131 -0
  81. package/dist/shortcuts/contract/operations.js +8 -0
  82. package/dist/shortcuts/hrm/index.js +83 -2
  83. package/dist/shortcuts/hrm/operations/employee.js +160 -30
  84. package/dist/shortcuts/hrm/operations/org.js +17 -3
  85. package/dist/shortcuts/hrm/operations/position.js +18 -2
  86. package/dist/shortcuts/index.js +5 -1
  87. package/dist/shortcuts/invoice/index.js +74 -36
  88. package/dist/shortcuts/invoice/manifest.js +674 -4
  89. package/dist/shortcuts/invoice/markdown.js +172 -0
  90. package/dist/shortcuts/invoice/operations/add.js +3 -3
  91. package/dist/shortcuts/invoice/operations/delete.js +2 -2
  92. package/dist/shortcuts/invoice/operations/get.js +10 -2
  93. package/dist/shortcuts/invoice/operations/import.js +2 -2
  94. package/dist/shortcuts/invoice/operations/registry.js +8 -1
  95. package/dist/shortcuts/invoice/operations/reim-auto.js +719 -0
  96. package/dist/shortcuts/invoice/operations/reim.js +85 -2
  97. package/dist/shortcuts/invoice/operations/shared.js +75 -8
  98. package/dist/shortcuts/invoice/operations/update.js +2 -2
  99. package/dist/shortcuts/invoice/operations/upload-and-validate.js +93 -0
  100. package/dist/shortcuts/invoice/operations/validate-preview.js +2 -1
  101. package/dist/shortcuts/invoice/projection.js +328 -0
  102. package/dist/shortcuts/meeting/host.js +18 -1
  103. package/dist/shortcuts/meeting/manifest.js +30 -18
  104. package/dist/shortcuts/meeting/operations/eb/catalog.js +390 -0
  105. package/dist/shortcuts/meeting/operations/eb/conflict.js +389 -0
  106. package/dist/shortcuts/meeting/operations/eb/factory.js +389 -0
  107. package/dist/shortcuts/meeting/operations/eb/index.js +22 -0
  108. package/dist/shortcuts/meeting/operations/env.js +8 -1
  109. package/dist/shortcuts/meeting/operations/registry.js +2 -0
  110. package/dist/shortcuts/meeting/operations/signs.js +216 -2
  111. package/dist/shortcuts/workflow/endpoints.js +2 -1
  112. package/dist/shortcuts/workflow/errors.js +8 -2
  113. package/dist/shortcuts/workflow/host.js +6 -3
  114. package/dist/shortcuts/workflow/operations/form.js +931 -589
  115. package/dist/shortcuts/workflow/operations/read.js +128 -205
  116. package/dist/shortcuts/workflow/operations/shared.js +21 -0
  117. package/dist/shortcuts/workflow/operations/write.js +750 -52
  118. package/dist/shortcuts/workflow/operations.js +36 -10
  119. package/docs/_catalog.md +6 -0
  120. package/docs/agent-invoice.md +5 -1
  121. package/docs/agent-io-channel-design.md +468 -0
  122. package/docs/agent-skill-install.md +9 -4
  123. package/docs/blog.md +123 -0
  124. package/docs/caizhilian.md +304 -0
  125. package/docs/contract.md +91 -0
  126. package/docs/e10-auth.md +2 -2
  127. package/docs/hrm.md +19 -9
  128. package/docs/invoice.md +5 -1
  129. package/docs/meeting.md +1 -1
  130. package/docs/operation-manual.md +15 -3
  131. package/docs/skill-review-2026-09-19.md +2 -2
  132. package/package.json +2 -2
  133. package/scripts/package-skill.mjs +32 -20
  134. package/skill-template/business-info.json +113 -14
  135. package/skill-template/domains/blog.md +24 -0
  136. package/skill-template/domains/caizhilian.md +22 -0
  137. package/skill-template/domains/jinchengda.md +23 -0
  138. package/skill-template/domains/meeting.md +1 -1
  139. package/skill-template/domains/workflow.md +1 -1
  140. package/skill-template/skill-template.md +1 -1
  141. package/skills/weaver-e10-blog/SKILL.md +111 -0
  142. package/skills/weaver-e10-blog/references/blog-comment.md +51 -0
  143. package/skills/weaver-e10-blog/references/blog-comments.md +39 -0
  144. package/skills/weaver-e10-blog/references/blog-default-permission.md +38 -0
  145. package/skills/weaver-e10-blog/references/blog-disabled-capabilities.md +11 -0
  146. package/skills/weaver-e10-blog/references/blog-edit.md +51 -0
  147. package/skills/weaver-e10-blog/references/blog-export.md +42 -0
  148. package/skills/weaver-e10-blog/references/blog-like.md +50 -0
  149. package/skills/weaver-e10-blog/references/blog-publish.md +52 -0
  150. package/skills/weaver-e10-blog/references/blog-query-user.md +45 -0
  151. package/skills/weaver-e10-blog/references/blog-query.md +49 -0
  152. package/skills/weaver-e10-blog/references/blog-remind.md +51 -0
  153. package/skills/weaver-e10-blog/references/blog-resolve-users.md +38 -0
  154. package/skills/weaver-e10-blog/references/source-manifest.json +1540 -0
  155. package/skills/weaver-e10-caizhilian/SKILL.md +216 -0
  156. package/skills/weaver-e10-caizhilian/references/agent-entry.md +106 -0
  157. package/skills/weaver-e10-caizhilian/references/collaboration.md +112 -0
  158. package/skills/weaver-e10-caizhilian/references/document.md +111 -0
  159. package/skills/weaver-e10-caizhilian/references/file-collection.md +136 -0
  160. package/skills/weaver-e10-caizhilian/references/file-upload.md +309 -0
  161. package/skills/weaver-e10-caizhilian/references/files.md +120 -0
  162. package/skills/weaver-e10-caizhilian/references/folder.md +118 -0
  163. package/skills/weaver-e10-caizhilian/references/org-browser.md +104 -0
  164. package/skills/weaver-e10-caizhilian/references/setting-attach.md +410 -0
  165. package/skills/weaver-e10-caizhilian/references/setting-backup.md +372 -0
  166. package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +399 -0
  167. package/skills/weaver-e10-caizhilian/references/setting-storage.md +603 -0
  168. package/skills/weaver-e10-caizhilian/references/source-manifest.json +5079 -0
  169. package/skills/weaver-e10-caizhilian/references/withheld.md +93 -0
  170. package/skills/weaver-e10-caizhilian/references/write-protocol.md +120 -0
  171. package/skills/weaver-e10-calendar/SKILL.md +4 -3
  172. package/skills/weaver-e10-ebuilder-form/SKILL.md +4 -9
  173. package/skills/weaver-e10-ebuilder-form/references/context-routing.md +0 -9
  174. package/skills/weaver-e10-ebuilder-form/references/custom-api.md +1 -5
  175. package/skills/weaver-e10-ebuilder-form/references/fields-browser.md +1 -5
  176. package/skills/weaver-e10-ebuilder-form/references/list-nlist.md +1 -5
  177. package/skills/weaver-e10-ebuilder-form/references/openapi-read.md +1 -5
  178. package/skills/weaver-e10-ebuilder-form/references/openapi-write.md +1 -5
  179. package/skills/weaver-e10-esb/SKILL.md +2 -2
  180. package/skills/weaver-e10-esb/references/source-manifest.json +9 -9
  181. package/skills/weaver-e10-hrm/SKILL.md +54 -6
  182. package/skills/weaver-e10-hrm/references/employee.md +89 -15
  183. package/skills/weaver-e10-hrm/references/org.md +7 -4
  184. package/skills/weaver-e10-hrm/references/position.md +14 -7
  185. package/skills/weaver-e10-hrm/references/source-manifest.json +1 -1
  186. package/skills/weaver-e10-jinchengda/SKILL.md +166 -0
  187. package/skills/weaver-e10-jinchengda/references/contract-agent-entry.md +82 -0
  188. package/skills/weaver-e10-jinchengda/references/contract-clause-recommender.md +69 -0
  189. package/skills/weaver-e10-jinchengda/references/contract-clause-reference-save.md +78 -0
  190. package/skills/weaver-e10-jinchengda/references/contract-disabled-capabilities.md +27 -0
  191. package/skills/weaver-e10-jinchengda/references/contract-request-status.md +71 -0
  192. package/skills/weaver-e10-jinchengda/references/contract-request-write.md +94 -0
  193. package/skills/weaver-e10-jinchengda/references/contract-signing-subjects.md +89 -0
  194. package/skills/weaver-e10-jinchengda/references/contract-subject-create.md +77 -0
  195. package/skills/weaver-e10-jinchengda/references/contract-template-selector.md +66 -0
  196. package/skills/weaver-e10-jinchengda/references/contract-workflow-discovery.md +94 -0
  197. package/skills/weaver-e10-jinchengda/references/source-manifest.json +259 -0
  198. package/skills/weaver-e10-jiuchuanhui/SKILL.md +5 -11
  199. package/skills/weaver-e10-jucailin/SKILL.md +4 -3
  200. package/skills/weaver-e10-mail/SKILL.md +4 -11
  201. package/skills/weaver-e10-meeting/SKILL.md +66 -32
  202. package/skills/weaver-e10-meeting/references/meeting-change.md +5 -2
  203. package/skills/weaver-e10-meeting/references/meeting-create.md +2 -1
  204. package/skills/weaver-e10-meeting/references/meeting-eb.md +114 -0
  205. package/skills/weaver-e10-meeting/references/meeting-lifecycle.md +9 -8
  206. package/skills/weaver-e10-meeting/references/meeting-receipts-signs.md +35 -7
  207. package/skills/weaver-e10-meeting/references/meeting-update.md +1 -1
  208. package/skills/weaver-e10-okr/SKILL.md +6 -11
  209. package/skills/weaver-e10-okr/references/source-manifest.json +3 -3
  210. package/skills/weaver-e10-plan/SKILL.md +3 -3
  211. package/skills/weaver-e10-plan/references/plan-collect-and-compose.md +1 -1
  212. package/skills/weaver-e10-plan/references/plan-overview-and-routing.md +1 -1
  213. package/skills/weaver-e10-plan/references/source-manifest.json +13 -13
  214. package/skills/weaver-e10-qiyecheng/SKILL.md +4 -10
  215. package/skills/weaver-e10-qiyecheng/references/source-manifest.json +9 -9
  216. package/skills/weaver-e10-shared/SKILL.md +36 -25
  217. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +10 -31
  218. package/skills/weaver-e10-shared/references/json-output-contract.md +20 -11
  219. package/skills/weaver-e10-shijingran/SKILL.md +2 -1
  220. package/skills/weaver-e10-shijingran/references/source-manifest.json +9 -9
  221. package/skills/weaver-e10-skill-maker/SKILL.md +4 -10
  222. package/skills/weaver-e10-skill-maker/references/business-skill-generation.md +5 -3
  223. package/skills/weaver-e10-skill-maker/references/module-cli-generation.md +12 -27
  224. package/skills/weaver-e10-skill-maker/references/module-gap-audit-and-repair.md +17 -5
  225. package/skills/weaver-e10-skill-maker/references/source-update-detection.md +4 -27
  226. package/skills/weaver-e10-wenshuding/SKILL.md +5 -16
  227. package/skills/weaver-e10-wenshuding/references/source-manifest.json +7 -7
  228. package/skills/weaver-e10-workflow/SKILL.md +32 -37
  229. package/skills/weaver-e10-workflow/references/source-manifest.json +39 -75
  230. package/skills/weaver-e10-workflow/references/workflow-batch.md +90 -29
  231. package/skills/weaver-e10-workflow/references/workflow-create.md +79 -109
  232. package/skills/weaver-e10-workflow/references/workflow-memory.md +19 -9
  233. package/skills/weaver-e10-workflow/references/workflow-operate.md +2 -2
  234. package/skills/weaver-e10-workflow/references/workflow-query.md +38 -20
  235. package/skills/weaver-e10-workflow/references/workflow-share.md +18 -2
  236. package/skills/weaver-e10-workflow/references/workflow-view.md +3 -4
  237. package/skills/weaver-e10-yepiaotong/SKILL.md +75 -39
  238. package/skills/weaver-e10-yepiaotong/references/invoice-detail.md +22 -1
  239. package/skills/weaver-e10-yepiaotong/references/invoice-enterprise-list.md +3 -1
  240. package/skills/weaver-e10-yepiaotong/references/invoice-output-view.md +135 -0
  241. package/skills/weaver-e10-yepiaotong/references/invoice-personal-list.md +15 -3
  242. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +1 -1
  243. package/skills/weaver-e10-yepiaotong/references/invoice-summarize.py +217 -0
  244. package/skills/weaver-e10-yepiaotong/references/invoice-upload-and-validate.md +88 -0
  245. package/skills/weaver-e10-yepiaotong/references/invoice-validation-preview.md +7 -2
  246. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +89 -9
  247. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +1 -0
  248. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +70 -49
  249. package/skills/weaver-e10-yepiaotong/references/reim-fast-path.md +119 -0
  250. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +55 -36
  251. package/skills/weaver-e10-yepiaotong/references/reim-matching-rules.md +4 -0
  252. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +149 -0
  253. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +125 -5
  254. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +430 -63
  255. package/skills/weaver-e10-yimiaoban/SKILL.md +4 -12
  256. package/skills/weaver-e10-yimiaoban/references/source-manifest.json +3 -3
  257. package/skills/weaver-e10-ziguanjia/SKILL.md +2 -1
  258. package/skills/weaver-e10-ziguanjia/references/ziguanjia-agent-entry.md +3 -3
  259. package/tools/weaver-skill-detector-1.0.13/SKILL.md +9 -9
  260. package/tools/weaver-skill-detector-1.0.13/references/checklist.md +3 -3
  261. package/tools/weaver-skill-detector-1.0.13/scripts/__pycache__/validate_skill.cpython-313.pyc +0 -0
  262. package/tools/weaver-skill-detector-1.0.13/scripts/validate_skill.py +98 -91
  263. package/scripts/sync-connector-skills.mjs +0 -172
@@ -0,0 +1,259 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "module": "contract",
4
+ "skill": "weaver-e10-jinchengda",
5
+ "generatedAt": "2026-09-20T09:52:00.000Z",
6
+ "sourceSet": {
7
+ "aggregateSha256": "84b6cd88057c3a82e42069c09265ba00313078bc8566169a9bc2c3985ec34381",
8
+ "sourceRoots": [
9
+ "<user-provided>/泛微E10今承达合同管理"
10
+ ]
11
+ },
12
+ "generatedTargets": {
13
+ "cli": [
14
+ "src/shortcuts/contract",
15
+ "src/shortcuts/index.ts"
16
+ ],
17
+ "skill": [
18
+ "skills/weaver-e10-jinchengda"
19
+ ],
20
+ "tests": [
21
+ "test/business/contract-host.test.ts",
22
+ "test/business/contract-operations.test.ts"
23
+ ],
24
+ "docs": [
25
+ "docs/contract.md",
26
+ "skill-template/domains/jinchengda.md"
27
+ ]
28
+ },
29
+ "sources": [
30
+ {
31
+ "path": "SKILL.md",
32
+ "role": "skill-doc",
33
+ "size": 7538,
34
+ "sha256": "f7612cb9539ac963c5590d60b8f2c9b67433d785a3ec6ecf58fa0114fa7ba04e"
35
+ },
36
+ {
37
+ "path": "feature-map.json",
38
+ "role": "feature-map",
39
+ "size": 1773,
40
+ "sha256": "17ee22bd43e8bb7ad8f9be626fec9b89ddb5270bafb012b6deb106ae782acb1e"
41
+ },
42
+ {
43
+ "path": "references/api-contract-type-tree.md",
44
+ "role": "api-doc",
45
+ "size": 3546,
46
+ "sha256": "ff19b867c7482df50d74e8e5ddb7b8b18b1be71b1bca4a55c68a7cf317524e08"
47
+ },
48
+ {
49
+ "path": "references/approval-workflows/api-active-wf-id.md",
50
+ "role": "api-doc",
51
+ "size": 1712,
52
+ "sha256": "18598eee4d582ac29454c5cf52132ebd7809c6744076f3a1a4d3e4e7d4e4747c"
53
+ },
54
+ {
55
+ "path": "references/approval-workflows/api-create-request.md",
56
+ "role": "api-doc",
57
+ "size": 3809,
58
+ "sha256": "792cefd71aa31692f0d326710753a5fc3a1d39957de1a0514a65b693d3dfe212"
59
+ },
60
+ {
61
+ "path": "references/approval-workflows/api-create-workflow-list.md",
62
+ "role": "api-doc",
63
+ "size": 2046,
64
+ "sha256": "8414a892d42f6c6e5214be21add5ef9a92d8409eecb8fa5b3ffb61c9a95461c0"
65
+ },
66
+ {
67
+ "path": "references/approval-workflows/api-ebuilder-get-all-data.md",
68
+ "role": "api-doc",
69
+ "size": 3694,
70
+ "sha256": "8a545f91eb510828652d90d7619cf9c6ee0e976c36efef78d54205884ecf2c08"
71
+ },
72
+ {
73
+ "path": "references/approval-workflows/api-ebuilder-get-objs-by-tag.md",
74
+ "role": "api-doc",
75
+ "size": 2739,
76
+ "sha256": "a0154375d343618a7090b448a47c68ee7c405d538dddaa793130406808965bfa"
77
+ },
78
+ {
79
+ "path": "references/approval-workflows/api-field-option.md",
80
+ "role": "api-doc",
81
+ "size": 2996,
82
+ "sha256": "91d75013150878c56343941bf5bb4e18eea799f6e21098957bc2c74dd67173fe"
83
+ },
84
+ {
85
+ "path": "references/approval-workflows/api-form-info.md",
86
+ "role": "api-doc",
87
+ "size": 3849,
88
+ "sha256": "cc6f15bee3505d45bd7095a8cf724caa648b321204732abefea8cfb7ecfae058"
89
+ },
90
+ {
91
+ "path": "references/approval-workflows/api-request-log.md",
92
+ "role": "api-doc",
93
+ "size": 1914,
94
+ "sha256": "a0a4d938792f8fb5e23a500dec819443dc2e8032eb2120a4bd58cfaa06436538"
95
+ },
96
+ {
97
+ "path": "references/approval-workflows/api-request-status.md",
98
+ "role": "api-doc",
99
+ "size": 2867,
100
+ "sha256": "05d3300beef33f904c7e7b730b00e11098083a904e3424333828df57c9a68882"
101
+ },
102
+ {
103
+ "path": "references/approval-workflows/api-request-supervise.md",
104
+ "role": "api-doc",
105
+ "size": 2673,
106
+ "sha256": "bcdddf7e04d0b3e96aa5fb4e10325f7df773e7d6c0aa5baeb0800d27b675c213"
107
+ },
108
+ {
109
+ "path": "references/approval-workflows/api-save-form-data.md",
110
+ "role": "api-doc",
111
+ "size": 4675,
112
+ "sha256": "f77ed8d2b4820b93e7c9c7321bbecca2b99c6b6eea9fe023698360daa1ff95db"
113
+ },
114
+ {
115
+ "path": "references/approval-workflows/api-submit-request.md",
116
+ "role": "api-doc",
117
+ "size": 4056,
118
+ "sha256": "fa65f21289327428bd0fc5832792aa479e2573653d601e5e9d474514b8b06047"
119
+ },
120
+ {
121
+ "path": "references/approval-workflows/api-workflow-query.md",
122
+ "role": "api-doc",
123
+ "size": 3642,
124
+ "sha256": "e72576f81cff821b74103b5c774bf9d0e48ee8fbe3e19f4269b5bfaf313eaef4"
125
+ },
126
+ {
127
+ "path": "references/approval-workflows/catalog.md",
128
+ "role": "api-doc",
129
+ "size": 2961,
130
+ "sha256": "daaf69eab644481919e84850ac631bc25a1f9a9a294d74b29d28654d4a39bc38"
131
+ },
132
+ {
133
+ "path": "references/catalog.md",
134
+ "role": "catalog",
135
+ "size": 3023,
136
+ "sha256": "322f204d03e87463b5b3846f813d27f52726a048c5122957933dccdf64de313d"
137
+ },
138
+ {
139
+ "path": "references/clause-recommender/api-clause-group-list.md",
140
+ "role": "api-doc",
141
+ "size": 3174,
142
+ "sha256": "0a3e9b20a9bb7194c6bf56a7674514176ee0c8b1f09969597a167554b3e159bb"
143
+ },
144
+ {
145
+ "path": "references/clause-recommender/api-clause-list.md",
146
+ "role": "api-doc",
147
+ "size": 3807,
148
+ "sha256": "f48e04fc7e79aedda99e4396b4cdb68c9c1d0d581cd25c0a9d84de10abe29cf0"
149
+ },
150
+ {
151
+ "path": "references/clause-recommender/api-clause-reference-query.md",
152
+ "role": "api-doc",
153
+ "size": 3740,
154
+ "sha256": "be7c8b59bc3545129b8e4ac2b899244b43c9903efa97ef09256384cc92563999"
155
+ },
156
+ {
157
+ "path": "references/clause-recommender/api-clause-reference-save.md",
158
+ "role": "api-doc",
159
+ "size": 2524,
160
+ "sha256": "174e01c49bf8035ea622a301ad4d95d975a00403b8b929490fc5364b0c50c1bb"
161
+ },
162
+ {
163
+ "path": "references/clause-recommender/api-clause-search.md",
164
+ "role": "api-doc",
165
+ "size": 5389,
166
+ "sha256": "4fffb766e0077b493044505d6b6f21b71381bf8aa4160ecc9f691ef49bad6fda"
167
+ },
168
+ {
169
+ "path": "references/clause-recommender/api-clause-tags.md",
170
+ "role": "api-doc",
171
+ "size": 2850,
172
+ "sha256": "a2024388d2a02ecd32623d01d599e0133d8145247533d9027242d48d62448ae2"
173
+ },
174
+ {
175
+ "path": "references/clause-recommender/api-clause-tree-list.md",
176
+ "role": "api-doc",
177
+ "size": 2726,
178
+ "sha256": "8223c5e6515e2cf3afa17dbeebbaed2f86593d3541b688818d914533e956a110"
179
+ },
180
+ {
181
+ "path": "references/enterprise-credit/api-enterprise-credit.md",
182
+ "role": "api-doc",
183
+ "size": 383,
184
+ "sha256": "d12be1646e2ae497d36246639d33fc97313631eb5aae097d106ea2da92a8fc1d"
185
+ },
186
+ {
187
+ "path": "references/signing-subjects/api-form-create.md",
188
+ "role": "api-doc",
189
+ "size": 2474,
190
+ "sha256": "2f0fa557be0353ed89e00f772f042efc3def6c246ba51b53c1402daca2333a8a"
191
+ },
192
+ {
193
+ "path": "references/signing-subjects/api-form-fields.md",
194
+ "role": "api-doc",
195
+ "size": 2885,
196
+ "sha256": "ca64934b0f3bee7f2c959f034fe55c163931bffe0635657047c02e4de4c3ec0a"
197
+ },
198
+ {
199
+ "path": "references/signing-subjects/api-form-options.md",
200
+ "role": "api-doc",
201
+ "size": 1651,
202
+ "sha256": "16f09be5b67a788f92cb1d8cad2a1cce59ed5481d1c31aa5e11085ab6778cffe"
203
+ },
204
+ {
205
+ "path": "references/signing-subjects/api-form-query.md",
206
+ "role": "api-doc",
207
+ "size": 2399,
208
+ "sha256": "12fd401ba8fb62aec209869a903b81e6539b6ae2c00d0775f20f6465369b0ae8"
209
+ },
210
+ {
211
+ "path": "references/signing-subjects/api-tag-app.md",
212
+ "role": "api-doc",
213
+ "size": 1507,
214
+ "sha256": "e24752e664d5d81eae1b3300ff91212ddc8a41930ed1a7486fde8b1b7f572568"
215
+ },
216
+ {
217
+ "path": "references/signing-subjects/api-tag-form.md",
218
+ "role": "api-doc",
219
+ "size": 2381,
220
+ "sha256": "0aebbcf8699bd80548860d304aa7f14a6230132007c664c317044f83071dbb80"
221
+ },
222
+ {
223
+ "path": "references/template-selector/api-contract-type-tree.md",
224
+ "role": "api-doc",
225
+ "size": 3144,
226
+ "sha256": "8302cdc48d914ffe894dfd3e297085155b9a8bbace4a1c13a9ba318d412e6e71"
227
+ },
228
+ {
229
+ "path": "references/template-selector/api-template-detail.md",
230
+ "role": "api-doc",
231
+ "size": 4220,
232
+ "sha256": "ce87bf4f033f1f61ac71e9dcc25d993d62fc9b26fea7857e51675bbf5b0ab252"
233
+ },
234
+ {
235
+ "path": "references/template-selector/api-template-list.md",
236
+ "role": "api-doc",
237
+ "size": 5063,
238
+ "sha256": "213e147e8cf8047998b35547d569257476d68f9dc6a9d3b6139f358607e9f853"
239
+ },
240
+ {
241
+ "path": "references/template-selector/api-template-tree-list.md",
242
+ "role": "api-doc",
243
+ "size": 2990,
244
+ "sha256": "4346009b9afa272ab014958af17d7c8ac2b3be8b1eb6b4034059d8fc2c51bb90"
245
+ },
246
+ {
247
+ "path": "tests/test-plan.md",
248
+ "role": "test-plan",
249
+ "size": 1856,
250
+ "sha256": "a641aac5dc7610b8137604abbf6a4c1ea15a6928f0c133799c37ba533566d992"
251
+ }
252
+ ],
253
+ "notes": [
254
+ "只记录源资料指纹和转换摘要,不保存 Cookie、Token 或大段源正文。",
255
+ "源资料内部存在状态冲突:SKILL.md 标注 CM-005~CM-015 多数可用,feature-map.json 将 CM-005~CM-015 列入 not_released;实现以接口文档完整可读为准。",
256
+ "企业资信 CM-018 的三个子文档(api-credit-info.md、api-enterprise-change.md、api-monitor-config.md)在源资料中不存在,对应能力已列入 withheldOperations。",
257
+ "撤回/退回接口源资料只提及、未给出路径与参数,已列入 withheldOperations。"
258
+ ]
259
+ }
@@ -11,13 +11,14 @@ agent_created: true
11
11
  requires:
12
12
  bins: ["weaver-work-cli"]
13
13
  dependencies:
14
- - weaver-e10-login
14
+ - weaver-e10-shared
15
15
  cliHelp: "weaver-work-cli jiuchuanhui --help"
16
16
  ---
17
17
 
18
- **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若不存在则必须先执行 `weaver-work-cli skills install shared --target-dir <当前Agent的Skills目录>`,若 CLI 未安装则先执行 `npm install -g weaver-work-cli`,安装或读取失败时必须停止执行。**
18
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须先提示用户先补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行),并把下面两条待执行命令原样完整展示给用户;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`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
19
+ **`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
19
20
 
20
- 认证和登录态只能按共享规则通过 `weaver-work-cli auth ...` 命令判断;CLI 会自动携带完整 Cookie、`eteamsid` 与 `User-Agent: AgentType=<agentType>,IsAgent=true`,业务调用方不得覆盖这三条 header,也不得在业务 JSON 中传入这些 key。禁止直接读取、列出、打印或解析用户主目录下的 `.e10-cli`、auth、config 或 Keychain 数据。
21
+ 认证和登录态只能按共享规则通过 `weaver-work-cli auth ...` 命令判断;请求头三件套由 CLI 统一注入(唯一权威声明见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md) 的「请求头契约」章节),业务调用方不得覆盖,也不得在业务 JSON 中传入凭证类字段。禁止直接读取、列出、打印或解析用户主目录下的 `.e10-cli`、auth、config 或 Keychain 数据。
21
22
  所有命令通过 `weaver-work-cli --json jiuchuanhui run <operation>` 执行:简单 JSON 传 `--input-json '<json>'`,复杂或多行 JSON 先写入 UTF-8 文件再传 `--input <path>`,只有确认当前 shell 能稳定传管道时才使用 `--input -`。调用前先按需读取 references 下对应的文件,查参数结构,不要猜字段;**references 是第一信息源**,`weaver-work-cli jiuchuanhui schema` 是 operation、字段和风险等级的合约来源。
22
23
  命令示例、提示词和临时说明必须同时兼容 Windows 和 macOS/Linux;涉及 JSON 输入、用户目录、路径分隔符、Python 启动器、文件删除、目录查看或文件比对时,同时给 Windows PowerShell 与 macOS/Linux(bash/zsh)两套示例。Agent 先根据当前系统和 shell 选择对应示例,不确定时用 `node -p "process.platform"` 判断。Windows/PowerShell 下不要使用 `printf`、`$HOME/...`、`~/...`、bash 反斜杠续行、`rm/ls/diff/python3` 等 Unix-only 写法。
23
24
  涉及附件、图片、本地文件、远程 URL 文件或文件解析的操作,执行前必须提醒用户:文件内容可能被上传到 E10 九氚汇、文件服务或解析服务,并可能进入当前大模型上下文用于理解和处理;必须等待用户明确确认后才继续。
@@ -26,15 +27,8 @@ cliHelp: "weaver-work-cli jiuchuanhui --help"
26
27
 
27
28
  ## 认证与请求头契约
28
29
 
29
- 登录与会话由 E10 登录能力统一提供:文档型约定为 `weaver-e10-login` 技能,本 CLI 场景下等价入口是 `weaver-work-cli auth ...` 命令体系。业务 Skill 不自建登录流程,不索取、打印或转存任何凭证。
30
+ 登录与会话由 `weaver-e10-shared` 共享规则和 `weaver-work-cli auth ...` 命令体系统一托管。业务 Skill 不自建登录流程,不索取、打印或转存任何凭证。
30
31
 
31
- CLI 发往 E10 的每个请求都自动携带以下三项用户信息参数,**缺一不可**(业务入参里不要传这些字段,也不要手工拼装请求头):
32
-
33
- ```text
34
- Cookie: <登录返回的完整原始 Cookie 串,原样透传,禁止裁剪/去重/改写>
35
- eteamsid: <登录返回的 ETEAMSID>
36
- User-Agent: AgentType=<agentType>,IsAgent=true
37
- ```
38
32
 
39
33
  ## 启动与缓存(MUST)
40
34
 
@@ -15,8 +15,8 @@ cliHelp: "weaver-work-cli ehr --help"
15
15
 
16
16
  # 泛微聚才林人事云
17
17
 
18
- **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若不存在则必须先执行 `weaver-work-cli skills install shared --target-dir <当前Agent的Skills目录>`,若 CLI 未安装则先执行 `npm install -g weaver-work-cli`,安装或读取失败时必须停止执行。**
19
-
18
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须先提示用户先补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行),并把下面两条待执行命令原样完整展示给用户;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`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
19
+ **`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
20
20
 
21
21
  本技能覆盖聚才林业务域:**人事档案(hr)**、**出勤管理(attend)**、**薪酬管理(salary)**、**招聘(recruit,读 + 写)**。招聘写操作走 prepare→apply 确认协议;撤销类写操作不实现,原因见 [`references/safety-boundaries.md`](references/safety-boundaries.md)。
22
22
 
@@ -96,7 +96,8 @@ weaver-work-cli --json ehr run ehr.attend.summary.get --input-json '{"beginDate"
96
96
  macOS/Linux(bash/zsh):
97
97
 
98
98
  ```bash
99
- printf '%s\n' '{"beginDate":"2026-03-01","endDate":"2026-03-31"}' | weaver-work-cli --json ehr run ehr.attend.summary.get --input -
99
+ printf '%s
100
+ ' '{"beginDate":"2026-03-01","endDate":"2026-03-31"}' | weaver-work-cli --json ehr run ehr.attend.summary.get --input -
100
101
  ```
101
102
 
102
103
  复杂 JSON 建议保存为 UTF-8 文件后按平台传给 `--input <file>`。
@@ -11,11 +11,12 @@ agent_created: true
11
11
  requires:
12
12
  bins: ["weaver-work-cli"]
13
13
  dependencies:
14
- - weaver-e10-login
14
+ - weaver-e10-shared
15
15
  cliHelp: "weaver-work-cli mail --help"
16
16
  ---
17
17
 
18
- **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若不存在则必须先执行 `weaver-work-cli skills install shared --target-dir <当前Agent的Skills目录>`,若 CLI 未安装则先执行 `npm install -g weaver-work-cli`,安装或读取失败时必须停止执行。**
18
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须先提示用户先补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行),并把下面两条待执行命令原样完整展示给用户;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`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
19
+ **`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
19
20
 
20
21
  认证和登录态只能按共享规则通过 `weaver-work-cli auth ...` 命令判断;禁止直接读取、列出、打印或解析用户主目录下的旧 `.e10-cli`、auth、config 或 Keychain 数据。
21
22
  所有命令通过 `weaver-work-cli --json mail run <operation>` 执行:简单 JSON 优先传 `--input-json '<json>'`,复杂或多行 JSON 先写入 UTF-8 文件再传 `--input <path>`,只有确认当前 shell 能稳定传管道时才使用 `--input -`。调用前先按需读取 references 下对应的文件,查参数结构,不要猜字段;**references 是第一信息源**,`weaver-work-cli mail schema` 是 operation、字段和风险等级的合约来源。
@@ -26,15 +27,7 @@ cliHelp: "weaver-work-cli mail --help"
26
27
 
27
28
  ## 认证与请求头契约
28
29
 
29
- 登录与会话由 E10 登录能力统一提供:文档型约定为 `weaver-e10-login` 技能,本 CLI 场景下等价入口是 `weaver-work-cli auth ...` 命令体系。业务 Skill 不自建登录流程,不索取、打印或转存任何凭证。
30
-
31
- CLI 发往 E10 的每个请求都自动携带以下三项用户信息参数,**缺一不可**(业务入参里不要传这些字段,也不要手工拼装请求头):
32
-
33
- ```text
34
- Cookie: <登录返回的完整原始 Cookie 串,原样透传,禁止裁剪/去重/改写>
35
- eteamsid: <登录返回的 ETEAMSID>
36
- User-Agent: AgentType=<agentType>,IsAgent=true
37
- ```
30
+ 登录与会话由 `weaver-e10-shared` 共享规则和 `weaver-work-cli auth ...` 命令体系统一托管。业务 Skill 不自建登录流程,不索取、打印或转存任何凭证。
38
31
 
39
32
  ## 路由优先级(先判断是不是 E10 邮件,再选 operation)
40
33
 
@@ -1,52 +1,53 @@
1
1
  ---
2
2
  name: weaver-e10-meeting
3
- display_name: 泛微会议管理
4
- display_name_en: Weaver Meeting Management
5
- description: "泛微 E10 会议管理(标准版):环境模式探测、会议列表、会议室与占用、会议类型、强制冲突检测、预约会议(prepare/apply 确认链)、回执与签到查询。"
6
- description_zh: "泛微 E10 会议管理(标准版):模式探测、会议/会议室/类型查询、冲突检测、预约会议确认链、回执更新确认链与签到统计。"
7
- description_en: "Weaver E10 meeting management (standard edition): environment detection, meeting/room/type queries, conflict checks, booking with prepare/apply confirmation chain, receipt updates and sign-in summary."
8
- version: 1.0.0
3
+ display_name: 泛微E10会议管理
4
+ display_name_en: Weaver E10 Meeting Management
5
+ description: "泛微 E10 会议管理,帮您处理会议日常事务:[会议]-查询今天/本周/我的会议与会议详情,预约建会(自动做会议室与参会人冲突检测),会议改期/换地点/改参会人、取消、删除;[会议室]-查询会议室与占用/空闲情况;[参会与回执]-查参会人名单、填写/更新会议回执;[签到]-查签到与签退情况、补签、补签退、清除签到记录;[会议资料]-会议议题(查看/更新/删除)、议题类型、会议纪要查询、会议类型与应用设置。认证与会话由 weaver-e10-shared 提供。"
6
+ description_zh: "泛微 E10 会议管理,帮您处理会议日常事务:[会议]-查询今天/本周/我的会议与会议详情,预约建会(自动做会议室与参会人冲突检测),会议改期/换地点/改参会人、取消、删除;[会议室]-查询会议室与占用/空闲情况;[参会与回执]-查参会人名单、填写/更新会议回执;[签到]-查签到与签退情况、补签、补签退、清除签到记录;[会议资料]-会议议题(查看/更新/删除)、议题类型、会议纪要查询、会议类型与应用设置。认证与会话由 weaver-e10-shared 提供。"
7
+ description_en: "Weaver E10 meeting management for daily meeting tasks: [Meetings] query today's / this week's / my meetings and meeting details, book meetings with automatic room & attendee conflict checks, reschedule / change location / change attendees, cancel, delete; [Rooms] query meeting rooms and occupancy / availability; [Attendees & receipts] view attendee lists, fill in / update meeting receipts; [Sign-in] view sign-in / sign-out status, manual sign-in, manual sign-out, clear sign-in records; [Meeting content] meeting agenda (view / update / delete), agenda types, minutes query, meeting types and application settings. Auth and session are provided by weaver-e10-shared."
8
+ version: 2.6.0
9
9
  author: 泛微网络科技股份有限公司
10
10
  agent_created: true
11
11
  requires:
12
12
  bins: ["weaver-work-cli"]
13
13
  dependencies:
14
- - weaver-e10-login
14
+ - weaver-e10-shared
15
15
  cliHelp: "weaver-work-cli meeting --help"
16
16
  ---
17
17
 
18
- # 泛微 E10 会议管理 Skill(标准版)
18
+ # 泛微 E10 会议管理 Skill(双模式:标准版 + EB 版)
19
19
 
20
- **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若不存在则必须先执行 `weaver-work-cli skills install shared --target-dir <当前Agent的Skills目录>`,若 CLI 未安装则先执行 `npm install -g weaver-work-cli`,安装或读取失败时必须停止执行。**
20
+ **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md),其中包含安装、E10 认证、JSON 输出和高风险写入规则。若共享规则不存在、CLI 未安装或读取失败,说明本技能的必需依赖缺失,必须先提示用户先补齐 `weaver-work-cli` 与共享 skill `weaver-e10-shared`(不补齐本技能无法执行),并把下面两条待执行命令原样完整展示给用户;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`——省略会装进默认目录,导致本技能依然读不到共享规则。命令均成功后重新读取共享规则;仍读不到就停止并把结果报告用户,不得凭猜测继续。**
21
+ **`--is-connector` 判据**:用户明确使用连接器、或上下文要求用连接器完成任务 → 传 `true`;本次任务或上下文直接选择单独技能 → 不传;用户没有明确说明时,按**正在运行的这份 Skill 是哪一级**定——**用户级(条目标 `(user)`)不传,连接器级(标 `(connector)`)传**(同名 Skill 只会运行用户级那一份)。传 `true` 时不要再写 `--profile` / `--base-url`。完整规则见 [`../weaver-e10-shared/SKILL.md`](../weaver-e10-shared/SKILL.md)。
21
22
 
22
23
  凭证边界:所有 E10 调用凭证一律由 `weaver-work-cli` 的登录托管凭据(`auth` 命令/profile 体系)提供,禁止硬编码任何密钥,禁止向用户索取 Cookie、ETEAMSID、Token 或密码。
23
24
 
24
25
  本 Skill 通过 `weaver-work-cli meeting` 命令调用真实 operation,不绕过 CLI 直接拼接口。
25
26
 
26
- ## 适用场景(何时使用本技能)
27
+ ## 触发场景(用户这样说时使用本 Skill)
27
28
 
28
- 用户提到会议、会议室、预约/建会、会议冲突、改期/改地点/改参会人、取消/删除会议、回执、签到、会议类型或会议室占用视图时,使用本技能。
29
-
30
- 用户要处理的是日程、审批流程或组织人员查询时,分别转 `weaver-e10-calendar` / `weaver-e10-workflow` / `weaver-e10-hrm`。
29
+ - 会议查询:「今天的会议」「我的会议」「下周有什么会」「这场会谁参加」「会议详情」
30
+ - 预约与变更:「帮我约个会」「订个会议室」「周会改到周三」「换个地点」「取消这个会」「删掉这条会议」
31
+ - 冲突与空闲:「这个时间会议室空着吗」「谁有空」「有冲突吗」
32
+ - 签到:「谁签到了」「签到率多少」「张三签到了吗」「帮他补签」「补签退」「清掉误签」
33
+ - 回执:「帮我回执不参加」「谁还没回执」「回执情况」
34
+ - 会议室/类型查询:「有哪些会议室」「会议室占用情况」「有哪些会议类型」
35
+ - EB 版独有(仅 mode=eb):「会议议题」「议题类型」「会议纪要」「上会申请」「应用设置」
36
+ - **不触发**(转对应 Skill):日程/日历类 → `weaver-e10-calendar`;审批流程发起 → `weaver-e10-workflow`;人员/部门查询 → `weaver-e10-hrm`。
31
37
 
32
38
  ## 认证与请求头契约
33
39
 
34
- 登录与会话由 E10 登录能力统一提供:文档型约定为 `weaver-e10-login` 技能,本 CLI 场景下等价入口是 `weaver-work-cli auth ...` 命令体系。业务 Skill 不自建登录流程,不索取、打印或转存任何凭证。
35
-
36
- CLI 发往 E10 的每个请求都自动携带以下三项用户信息参数,**缺一不可**(业务入参里不要传这些字段,也不要手工拼装请求头):
40
+ 登录与会话由 `weaver-e10-shared` 共享规则和 `weaver-work-cli auth ...` 命令体系统一托管。业务 Skill 不自建登录流程,不索取、打印或转存任何凭证。
37
41
 
38
- ```text
39
- Cookie: <登录返回的完整原始 Cookie 串,原样透传,禁止裁剪/去重/改写>
40
- eteamsid: <登录返回的 ETEAMSID>
41
- User-Agent: AgentType=<agentType>,IsAgent=true
42
- ```
42
+ - 本 Skill 的实际调用由 `weaver-work-cli` 托管:凭据与本地化相关请求头(含 `langType` / `timeZoneOffset`)均由 CLI 请求运行时统一携带。Agent **不得**自行拼装请求头、不得读取 `~/.e10-cli` 等凭证文件、不得向用户索取 Cookie / ETEAMSID / Token / 密码。
43
+ - 依赖缺失处理:必需依赖 `weaver-e10-shared`(共享规则:安装、E10 认证、JSON 输出与高风险写入规范)缺失时,明确告知用户缺失的 Skill 名,**就绪前不执行任何功能**;人员/部门名称 ↔ id 转换另需 `weaver-e10-hrm`(未安装时,相关字段请让用户直接提供 id)。
43
44
 
44
45
  ## 路由优先级
45
46
 
46
47
  1. 先判断用户意图是否属于会议域:会议、会议室、预约/建会、会议冲突、签到、回执、会议类型、占用视图。
47
- 2. **属于本模块 → 第一步强制跑 `meeting.env.detect` 确定环境模式**(默认按 baseUrl 读缓存;用户说"重新探测/刷新模式"时传 `refresh:true`):
48
- - `mode=standard` → 继续按「命令表」选择 operation;
49
- - `mode=eb` → **明确告知"EB 版会议链路 CLI 未实现"并停止**,禁止拿标准接口的结果冒充 EB 环境数据;
48
+ 2. **属于本模块 → 第一步强制跑 `meeting.env.detect` 确定环境模式**(默认按 baseUrl 读缓存;用户说"重新探测/刷新模式"时传 `refresh:true`)。**注意:只要结论要用于回答用户"当前走的是标准版还是 EB 版",就必须传 `refresh:true` 实探测,不能拿缓存结论作答**——缓存可能是旧环境的结论,且 EB 冒烟失败时的回退原因(`ebSmokeFailed`/`ebSmokeError`)只在实探测结果里出现:
49
+ - `mode=standard` → 使用「命令表(标准版)」的 operation;
50
+ - `mode=eb` → **改用「命令表(EB 版)」的 `meeting.eb.*` operations**;禁止在 EB 环境下调用标准版 operations(两套接口/数据互不相通,标准接口查 EB 数据只会得到空结果),也禁止拿标准接口结果冒充 EB 数据;
50
51
  - `env_unavailable` → 提示环境会议应用未安装或接口未配置完整,停止。
51
52
  3. 不确定字段先跑 `weaver-work-cli meeting schema`。
52
53
  4. 不属于本模块(日程、审批流程、组织查询)→ 转对应 Skill(calendar / workflow / hrm)。
@@ -61,9 +62,13 @@ User-Agent: AgentType=<agentType>,IsAgent=true
61
62
  - 「删除会议记录」→ `meeting.delete.prepare` → 确认后 `apply`。
62
63
  - 「提前结束会议」→ **CLI 不支持**(服务端 `overMeeting` 为空实现,调用会假成功但不生效),如实告知用户并建议在系统页面操作。
63
64
  - 「回执为否 / 请假」→ `meeting.receipt.update.prepare`(自动回查回执记录 id)→ 确认后 `apply`。
64
- - 「签到情况」→ `meeting.sign.list`(输出已签/未签统计)。
65
+ - 「签到情况」→ `meeting.sign.list`(输出已签/未签统计;其 `signs[].id` 是**签到记录 id**,补签/清除要用它,不是会议 id)。
66
+ - 「补签 / 帮他补上签到」→ 先 `meeting.sign.list` 定位记录 → `meeting.sign.mark.prepare` → 确认后 `apply`;「补签退」用 `meeting.sign.back.prepare`。二者会改写签到事实,必须用户明确确认。
67
+ - 「清除签到记录 / 撤销签到」→ `meeting.sign.clear.prepare` → 确认后 `apply`。
68
+ - 「我要签到 / 扫码签到」→ **CLI 不支持**(依赖现场二维码票据 qrticket 与设备 IP),引导用户现场扫码或走 H5 签到;**绝不代签**。
69
+ - **EB 模式(mode=eb)下,同一意图改用 EB operations**(见「命令表(EB 版)」):今天的会议 → `meeting.eb.meeting.list`(先 count 再 list);建会 → 先读 `meeting.eb.baseSet.get` 判断是否需走流程,再 `meeting.eb.meeting.create.prepare`(**prepare 内部自动执行会议室/参会人冲突检测**:命中禁止提交 → `conflict_rejected` 直接停止;仅提醒 → 只写入 `warnings`,建议换时间/换地点,不提供绕过选项);变更/取消 → `meeting.eb.meeting.change.prepare`(取消用 `operate_type=CANCEL`、`mt_status=4`);签到 → `meeting.eb.sign.list`;回执 → `meeting.eb.receipt.list`;纪要 → `meeting.eb.minute.list`;议题 → `meeting.eb.topic.list`。
65
70
 
66
- ## 命令表
71
+ ## 命令表(标准版,仅 mode=standard 使用)
67
72
 
68
73
  | 用户意图 | CLI operation | Reference |
69
74
  | --- | --- | --- |
@@ -82,13 +87,38 @@ User-Agent: AgentType=<agentType>,IsAgent=true
82
87
  | 回执列表 | `meeting.receipt.list` | [meeting-receipts-signs.md](references/meeting-receipts-signs.md) |
83
88
  | 更新回执 | `meeting.receipt.update.prepare` → `apply` | [meeting-receipts-signs.md](references/meeting-receipts-signs.md) |
84
89
  | 签到记录与统计 | `meeting.sign.list` | [meeting-receipts-signs.md](references/meeting-receipts-signs.md) |
90
+ | 补签 / 补签退 | `meeting.sign.mark.prepare` → `apply` / `meeting.sign.back.prepare` → `apply` | [meeting-receipts-signs.md](references/meeting-receipts-signs.md) |
91
+ | 清除签到记录 | `meeting.sign.clear.prepare` → `apply` | [meeting-receipts-signs.md](references/meeting-receipts-signs.md) |
92
+
93
+ ## 命令表(EB 版,仅 mode=eb 使用)
94
+
95
+ > 全部 EB operation 的实现契约(interfacePk、URL query 参数、写操作 body 结构)见 [meeting-eb.md](references/meeting-eb.md)。
96
+
97
+ | 用户意图 | CLI operation | Reference |
98
+ | --- | --- | --- |
99
+ | EB 会议列表 / 详情 | `meeting.eb.meeting.list` / `meeting.eb.meeting.detail` | [meeting-eb.md](references/meeting-eb.md) |
100
+ | EB 建会 / 变更 / 删除 | `meeting.eb.meeting.create.prepare`→`apply` / `meeting.eb.meeting.change.prepare`→`apply` / `meeting.eb.meeting.delete.prepare`→`apply` | [meeting-eb.md](references/meeting-eb.md) |
101
+ | EB 会议室列表 / 详情 | `meeting.eb.room.list` / `meeting.eb.room.detail` | [meeting-eb.md](references/meeting-eb.md) |
102
+ | EB 会议室新建 / 更新 / 删除 | `meeting.eb.room.create` / `.update` / `.delete`(各 prepare→apply) | [meeting-eb.md](references/meeting-eb.md) |
103
+ | EB 会议室占用列表 / 详情 | `meeting.eb.roomUsage.list` / `.detail` | [meeting-eb.md](references/meeting-eb.md) |
104
+ | EB 占用新建 / 删除 | `meeting.eb.roomUsage.create` / `.delete`(prepare→apply) | [meeting-eb.md](references/meeting-eb.md) |
105
+ | EB 签到列表 / 详情 | `meeting.eb.sign.list` / `.detail` | [meeting-eb.md](references/meeting-eb.md) |
106
+ | EB 签到新建 / 更新 | `meeting.eb.sign.create` / `.update`(prepare→apply) | [meeting-eb.md](references/meeting-eb.md) |
107
+ | EB 回执列表 / 详情 | `meeting.eb.receipt.list` / `.detail` | [meeting-eb.md](references/meeting-eb.md) |
108
+ | EB 回执新建 / 更新 | `meeting.eb.receipt.create` / `.update`(prepare→apply) | [meeting-eb.md](references/meeting-eb.md) |
109
+ | EB 纪要列表(纪要创建未实现) | `meeting.eb.minute.list` | [meeting-eb.md](references/meeting-eb.md) |
110
+ | EB 会议类型列表 / 新建 / 删除 | `meeting.eb.type.list` / `.create` / `.delete` | [meeting-eb.md](references/meeting-eb.md) |
111
+ | EB 议题类型列表 / 详情 / 更新 / 删除 | `meeting.eb.topicType.list` / `.detail` / `.update` / `.delete` | [meeting-eb.md](references/meeting-eb.md) |
112
+ | EB 会议议题列表 / 详情 / 更新 / 删除 | `meeting.eb.topic.list` / `.detail` / `.update` / `.delete` | [meeting-eb.md](references/meeting-eb.md) |
113
+ | EB 应用设置(判断审批/流程建会) | `meeting.eb.baseSet.get` | [meeting-eb.md](references/meeting-eb.md) |
114
+ | EB 会议室 / 参会人冲突检测(只查不建) | `meeting.eb.conflict.room` / `.member` | [meeting-eb.md](references/meeting-eb.md) |
85
115
 
86
116
  ## 处理链:预约会议(高风险写,强制确认链)
87
117
 
88
- 1. **环境模式确定(强制第一步)**:跑 `meeting.env.detect`(默认读缓存,`refresh:true` 强制刷新);`mode=eb` → 提示 EB 未实现并停止;`env_unavailable` → 提示并停止。
118
+ 1. **环境模式确定(强制第一步)**:跑 `meeting.env.detect`(默认读缓存,`refresh:true` 强制刷新);`mode=eb` → 本处理链改用 EB operations:先 `meeting.eb.baseSet.get` 读 `only_flow_create`/`open_mt_approve` 判断是否需走流程(需走 → 提示走 workflow,CLI 不直接建会),再 `meeting.eb.meeting.create.prepare`;`env_unavailable` → 提示并停止。
89
119
  2. 解析意图:名称 / 时间(`yyyy-MM-dd HH:mm`)/ 会议室 / 参会人 / 类型;缺失字段先向用户确认,**禁止字段未确认直接建会**。
90
120
  3. `meeting.room.list`(带时间范围)推荐空闲会议室、`meeting.type.list` 推荐类型,交用户点选。
91
- 3. `meeting.create.prepare`:自动执行建会路径检查(`onlyFlowCreate=1` 或周期工作流 → 拒绝并提示走流程)与**强制冲突检测**(接口失败视为冲突;`cansub=false` 直接拒绝;`cansub=true` 有冲突描述 → warnings 提醒并建议换时间/地点,**绝不提供"强制新建"选项**)。
121
+ 3. `meeting.create.prepare`:自动执行建会路径检查(`onlyFlowCreate=1` 或周期工作流 → 拒绝并提示走流程)与**强制冲突检测**(接口失败视为冲突;`cansub=false` 直接拒绝;`cansub=true` 有冲突描述 → warnings 如实告知并建议换时间/地点,**但不阻止提交**:用户了解冲突后仍要求新建时可继续 `apply`)。
92
122
  4. 向用户摘要 preview(含 caller/contacter 默认当前用户、周期 `repeatDesc` 自动拼接)。
93
123
  5. 用户明确确认 → `meeting.create.apply`(`confirm: true` + continuation,**10 分钟内有效,过期重新 prepare**)。
94
124
  6. 结果回读用 `meeting.list`,会议链接由 Agent 按 `{baseUrl}/sp/meeting/meetingSingle?meetingId={id}` 内联输出。
@@ -97,7 +127,7 @@ User-Agent: AgentType=<agentType>,IsAgent=true
97
127
 
98
128
  1. 先用 `meeting.list`(或用户给出的会议 id)定位目标会议,必要时把 `[名称]({baseUrl}/sp/meeting/meetingSingle?meetingId={id})` 给用户核对。
99
129
  2. `meeting.change.prepare`(变更)/ `meeting.cancel.prepare` / `meeting.delete.prepare`(入参 `id`):CLI 先**回查会议存在性**;`change` 还会按会议状态自动决定 `operateType`(草稿=UPDATE、正常=CHANGE)。**权限判定交给服务端**,CLI 不做权限预判。成功返回 `preview` + `continuation`(10 分钟有效)。
100
- 3. 向用户摘要动作与不可逆性(变更=覆盖所提交字段、当前状态与分流类型;取消=会议进入取消状态、占用/回执/签到失效;删除=彻底移除记录),**取得明确确认**。变更只提交 preview 中列出的字段。
130
+ 3. 向用户摘要动作与后果(变更=覆盖所提交字段、当前状态与分流类型;取消=会议进入取消状态、占用/回执/签到失效;删除=**移入回收站**、不再出现在正常列表),**取得明确确认**。变更只提交 preview 中列出的字段。
101
131
  4. 用户确认 → `meeting.*.apply`(`confirm: true` + continuation)。
102
132
  5. 结果回读:`meeting.list` 确认状态(取消/删除后该会议不应再出现在正常列表)。
103
133
  6. **禁止**跳过 prepare 直接 apply;**禁止**在未确认目标存在时执行写操作。
@@ -121,7 +151,11 @@ User-Agent: AgentType=<agentType>,IsAgent=true
121
151
  - 禁止绕过 CLI 直接 `curl`/`fetch` E10 接口;禁止读取认证目录与 Cookie。
122
152
  - **历史变更**:旧 `meeting.update.*` 已下线(它固定发送 `operateType=UPDATE`,与业务语义不符),改由 `meeting.change.*` 按会议状态自动分流;迁移说明见 [meeting-update.md](references/meeting-update.md)。
123
153
  - **提前结束会议(meeting.over)不提供**:服务端接口为空实现(源码中 service 调用被注释、直接返回成功),调用只会得到"假成功";请引导用户在系统页面操作,禁止绕过 CLI 自行拼接口。
124
- - EB 版业务链路(`query_mtDetail_list`、`create_meeting`、占用/回执/签到三件套、议题、纪要、报表)未随 v1 实现,见 manifest `withheldOperations`。
154
+ - **EB 版已实现**(`meeting.eb.*`,覆盖会议/会议室/占用/签到/回执/纪要/会议类型/议题类型/会议议题/应用设置的全部 interfacePk):`mode=eb` 时必须使用它们,**不要**再回答"EB 版未实现"。注意**标准版会议本身没有议题/纪要能力**(EB 版才有)——若当前是 standard 模式而用户问议题/纪要,如实说明属 EB 版能力(EB 环境下才可查)。
155
+ - EB 版纪要**创建**未实现(该功能走 OpenAPI、无自定义 interfacePk),仅支持 `meeting.eb.minute.list` 查询。
125
156
  - 周期会议走工作流(`repeatWorkFlowBaseIds` 非空)与 `onlyFlowCreate=1` 的流程建会需要工作流集成,CLI 会主动拒绝。
126
- - 签到二维码、签到写操作、会议室/类型的增删改管理未实现(查询与占用可用,见命令表)。
127
- - 会议变更(`meeting.change.*`)与取消(`meeting.cancel.*`)**已实现**,按上文「处理链:变更 / 取消 / 删除会议」执行;只有「提前结束会议」不支持,见上一条。
157
+ - **冲突处置严格按应用设置,CLI 不额外加码**:`=1`「禁止提交」→ 怎么都不允许提交(抛 `conflict_rejected`,不询问、不新建);`=0`「仅提醒」→ 如实告知冲突并建议换时间/换地点,**但不阻止提交** —— 用户了解冲突后仍要求新建时,可继续 `apply` 完成建会。**检测失败 → `conflict_check_failed` 拒绝**(策略无法判定时保守处理)。
158
+ - **签到**:查询统计(`meeting.sign.list`)与写操作(补签 `meeting.sign.mark`、补签退 `meeting.sign.back`、清除签到 `meeting.sign.clear`)**已实现**;**本人扫码签到(`signMeeting`)不提供**——它依赖现场二维码票据(qrticket)与设备 IP,由 AI 代签会破坏签到真实性,请引导用户现场扫码或走 H5 签到;签到二维码与大屏签到未实现。
159
+ - **删除是软删**:`meeting.delete` 走 `update mt_detail set delete_type = 2`,会议**进入回收站、可以还原**;CLI 暂无还原能力,需要恢复时请引导用户到**会议回收站页面**操作。**不要**再对用户说"彻底删除、不可逆"。
160
+ - **标准版**会议室管理(`addMeetingRoom`/`updateMeetingRoom`/`deleteMeetingRoom`/`lockMeetingRoom`)与会议类型管理接口未实现;EB 版请用 `meeting.eb.room.*` / `meeting.eb.type.*`。
161
+ - **会议变更 / 取消 / 删除已实现**(`meeting.change.*` / `meeting.cancel.*` / `meeting.delete.*`,见「命令表」与「处理链」),不要因为本节的旧描述而把用户推去页面手改。当前唯一"未实现"的会议生命周期动作是**提前结束会议**(`meeting.over`,服务端空实现,调用只会假成功)。
@@ -15,6 +15,7 @@
15
15
  - 必填 `id`,再给出**至少一个**要修改的字段(否则报 `no_changes`)。
16
16
  - 可改字段:`name` / `beginDatetime` / `endDatetime` / `address` / `customizeAddress` / `mtType` / `hrmMembers` / `orgMembers` / `otherMembers` / `crmMembers` / `totalMember` / `caller` / `contacter`。
17
17
  - 时间格式 `yyyy-MM-dd HH:mm`;长 id 用字符串;人员/部门/客户字段用逗号分隔 id 串。
18
+ - **人员 id 口径**:`hrmMembers`/`orgMembers`/`caller`/`contacter` 一律用 `weaver-work-cli hrm run hrm.employee.query` 返回的 **`id`**,不是 `userid`、不是 `cid`——填错口径服务端**不报错**,只是参会人加不上。不确定先用 `hrm.employee.batch --input-json '{"ids":["<候选id>"]}'` 反查(能返回姓名才对)。加人属于会影响真人的字段,改前必须让用户核对名单。
18
19
  - **只提交显式给出的字段**:`preview.changedFields` 列出本次将提交的字段;未列出的主表字段是否保持原值由服务端决定(源码只确认提醒/议题/服务会按 id 回填)。若担心覆盖,请把需要保持不变的主表字段一并显式传入。
19
20
 
20
21
  ## 命令
@@ -22,9 +23,9 @@
22
23
  Windows PowerShell:
23
24
 
24
25
  ```powershell
25
- weaver-work-cli --json meeting run meeting.change.prepare --input-json '{\"id\":\"1305624900858404950\",\"beginDatetime\":\"2026-09-18 15:00\",\"endDatetime\":\"2026-09-18 16:00\"}'
26
+ weaver-work-cli --json meeting run meeting.change.prepare --input-json '{"id":"1305624900858404950","beginDatetime":"2026-09-18 15:00","endDatetime":"2026-09-18 16:00"}'
26
27
  # 用户确认后(continuation 与字段都保持一致):
27
- weaver-work-cli --json meeting run meeting.change.apply --input-json '{\"confirm\":true,\"continuation\":\"<prepare返回>\",\"id\":\"1305624900858404950\",\"beginDatetime\":\"2026-09-18 15:00\",\"endDatetime\":\"2026-09-18 16:00\"}'
28
+ weaver-work-cli --json meeting run meeting.change.apply --input-json '{"confirm":true,"continuation":"<prepare返回>","id":"1305624900858404950","beginDatetime":"2026-09-18 15:00","endDatetime":"2026-09-18 16:00"}'
28
29
  ```
29
30
 
30
31
  macOS/Linux(bash/zsh):
@@ -55,6 +56,8 @@ weaver-work-cli --json meeting run meeting.change.apply --input-json '{"confirm"
55
56
  ## 注意
56
57
 
57
58
  - 变更、取消、删除都是**写操作**:`apply` 的字段必须与 `prepare` 完全一致(不一致报 `target_changed`)。
59
+ - **`apply` 不接受 `operateType`**(schema 为 `additionalProperties: false`):CLI 会在 apply 时**重新探测会议状态,并要求与 prepare 的分流一致**——一致则按探测值发送;状态已变化(如正常→草稿、已结束)则报 `target_changed`,需重新 prepare(见下一条),**不会自动切换**。因此拿 `preview.body` 拼 apply 入参时,**必须先剔除 `operateType`**,只传业务字段 + `confirm` + `continuation`。
60
+ - 长 `continuation` 建议**落盘传文件**而不是内联:`prepare` 结果写进 `.json` → 用脚本把 `continuation` 与 `preview.body`(剔掉 `operateType`)合成 apply 入参文件 → `--input <路径>`。内联 `--input-json` 长串容易被 shell 转义搞坏(Windows PowerShell 尤其明显)。
58
61
  - 会议状态在 prepare 与 apply 之间发生变化(如正常→草稿或已结束),CLI 会报 `target_changed` 并要求重新 prepare。
59
62
  - 改期不会自动做冲突检测——需要时应先跑 `meeting.conflict.room` / `meeting.conflict.member` 核对目标时间段。
60
63
  - 示例中的 id 为 `PLACEHOLDER_VALUE`。
@@ -9,6 +9,7 @@
9
9
  - 必填:`name`、`beginDatetime`、`endDatetime`(`yyyy-MM-dd HH:mm`)。
10
10
  - `caller`/`contacter` 缺省当前登录用户(后端 contacter 无兜底,CLI 已显式默认)。
11
11
  - 会议室 `address`、类型 `mtType`、参会人 `hrmMembers`/`orgMembers`(逗号分隔 id 字符串)。
12
+ - **人员 id 口径(踩过坑,务必照做)**:`hrmMembers`/`orgMembers`/`caller`/`contacter` 吃的是 **`weaver-work-cli hrm run hrm.employee.query` 返回的 `id` 字段**,多人用逗号分隔。**不要用 `userid`,也不要用 `cid`**——`userid` 填进去服务端解析不出人且**不报错**,参会人会静默丢失(召集人恰好 id == 登录 userId 时会让人误以为该用 userid 那套)。不确定就用 `hrm.employee.batch --input-json '{"ids":["<候选id>"]}'` 反查:能返回姓名才是正确口径。姓名 → id 的转换依赖 `weaver-e10-hrm`。
12
13
  - 周期会议:`repeatType`(1=每天 2=每周 4=每月 5=每年 6=自定义)+ `finishAt`(1=次数 2=日期,**禁止 0=永不**)+ `count`/`until`;`repeatDesc` 缺省按规则自动拼接(如 `每 1 周 周一 周三 周五 重复5次 非工作日正常召开`)。
13
14
 
14
15
  ## 命令
@@ -42,7 +43,7 @@ weaver-work-cli --json meeting run meeting.create.apply --input-json '{"confirm"
42
43
  ## 注意
43
44
 
44
45
  - `prepare` 内部已强制执行冲突检测(接口失败视为冲突、`cansub=false` 直接拒绝),独立冲突 operation 用于"只查不建"场景。
45
- - **命中任何冲突(含仅提醒)一律不得提示绕过冲突直接建会**;`cansub=false` 直接终止。
46
+ - 冲突**严格按应用设置**处置,CLI 不加码:`cansub=false`(禁止提交)直接终止;`cansub=true` 有冲突描述(仅提醒)只写入 `warnings`,**不阻止提交** —— 用户了解冲突后仍要求新建时,可继续确认并 `apply`。
46
47
  - `onlyFlowCreate=1` 或周期会议配置了工作流(`repeatWorkFlowBaseIds` 非空)时 `prepare` 主动拒绝(`conflict_rejected`),提示走流程建会。
47
48
 
48
49
  ## 失败处理