weaver-work-cli 0.1.25 → 0.1.26

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 (81) hide show
  1. package/README.md +30 -30
  2. package/dist/cmd/root.js +1 -0
  3. package/dist/core/runtime-agent.js +19 -0
  4. package/dist/internal/e10/auth/commands.js +47 -27
  5. package/dist/internal/e10/auth/xiaoe.js +62 -43
  6. package/dist/internal/e10/context.js +5 -27
  7. package/dist/shortcuts/archive-oa/constants.js +66 -0
  8. package/dist/shortcuts/archive-oa/continuation.js +70 -0
  9. package/dist/shortcuts/archive-oa/errors.js +53 -0
  10. package/dist/shortcuts/archive-oa/host.js +157 -0
  11. package/dist/shortcuts/archive-oa/index.js +225 -0
  12. package/dist/shortcuts/archive-oa/manifest.js +62 -0
  13. package/dist/shortcuts/archive-oa/operations/borrow-car.js +159 -0
  14. package/dist/shortcuts/archive-oa/operations/borrow-url.js +108 -0
  15. package/dist/shortcuts/archive-oa/operations/confirm.js +48 -0
  16. package/dist/shortcuts/archive-oa/operations/contract.js +120 -0
  17. package/dist/shortcuts/archive-oa/operations/locate.js +50 -0
  18. package/dist/shortcuts/archive-oa/operations/registry.js +40 -0
  19. package/dist/shortcuts/archive-oa/operations/shared.js +181 -0
  20. package/dist/shortcuts/archive-oa/operations/types.js +45 -0
  21. package/dist/shortcuts/archive-oa/operations.js +13 -0
  22. package/dist/shortcuts/index.js +2 -0
  23. package/dist/shortcuts/invoice/host.js +2 -1
  24. package/dist/shortcuts/invoice/manifest.js +111 -0
  25. package/dist/shortcuts/invoice/operations/issuing-qys.js +361 -0
  26. package/dist/shortcuts/invoice/operations/issuing.js +5 -5
  27. package/dist/shortcuts/invoice/operations/registry.js +4 -0
  28. package/dist/shortcuts/workflow/endpoints.js +11 -0
  29. package/dist/shortcuts/workflow/host.js +2 -2
  30. package/dist/shortcuts/workflow/index.js +6 -36
  31. package/dist/shortcuts/workflow/operations/chatscene.js +270 -0
  32. package/dist/shortcuts/workflow/operations/form.js +899 -158
  33. package/dist/shortcuts/workflow/operations/read.js +111 -6
  34. package/dist/shortcuts/workflow/operations/sign-input.js +106 -0
  35. package/dist/shortcuts/workflow/operations/write.js +9 -1
  36. package/dist/shortcuts/workflow/stdout-compact.js +9 -1
  37. package/docs/archive-oa.md +79 -0
  38. package/docs/e10-auth.md +7 -6
  39. package/package.json +1 -1
  40. package/skill-template/business-info.json +16 -0
  41. package/skill-template/domains/archive-oa.md +19 -0
  42. package/skill-template/domains/yepiaotong.md +2 -2
  43. package/skills/weaver-e10-archive-oa/SKILL.md +159 -0
  44. package/skills/weaver-e10-archive-oa/references/archive-locate.md +49 -0
  45. package/skills/weaver-e10-archive-oa/references/borrow-car.md +76 -0
  46. package/skills/weaver-e10-archive-oa/references/borrow-flow.md +53 -0
  47. package/skills/weaver-e10-archive-oa/references/contract-search.md +63 -0
  48. package/skills/weaver-e10-archive-oa/references/disabled-capabilities.md +29 -0
  49. package/skills/weaver-e10-archive-oa/references/qys-contract-search.md +47 -0
  50. package/skills/weaver-e10-archive-oa/references/source-manifest.json +400 -0
  51. package/skills/weaver-e10-builder/SKILL.md +22 -0
  52. package/skills/weaver-e10-caizhilian/SKILL.md +37 -15
  53. package/skills/weaver-e10-caizhilian/references/agent-entry.md +7 -3
  54. package/skills/weaver-e10-caizhilian/references/collaboration.md +5 -3
  55. package/skills/weaver-e10-caizhilian/references/document.md +33 -11
  56. package/skills/weaver-e10-caizhilian/references/file-collection.md +4 -3
  57. package/skills/weaver-e10-caizhilian/references/file-upload.md +2 -3
  58. package/skills/weaver-e10-caizhilian/references/files.md +9 -3
  59. package/skills/weaver-e10-caizhilian/references/folder.md +48 -16
  60. package/skills/weaver-e10-caizhilian/references/setting-attach.md +13 -39
  61. package/skills/weaver-e10-caizhilian/references/setting-backup.md +13 -51
  62. package/skills/weaver-e10-caizhilian/references/setting-encrypt.md +20 -51
  63. package/skills/weaver-e10-caizhilian/references/setting-storage.md +82 -147
  64. package/skills/weaver-e10-caizhilian/references/withheld.md +20 -44
  65. package/skills/weaver-e10-shared/SKILL.md +22 -20
  66. package/skills/weaver-e10-shared/references/e10-auth-and-session.md +14 -15
  67. package/skills/weaver-e10-shared/references/non-interactive-environment.md +10 -10
  68. package/skills/weaver-e10-workflow/references/source-manifest.json +32 -22
  69. package/skills/weaver-e10-workflow/references/workflow-create.md +68 -28
  70. package/skills/weaver-e10-yepiaotong/SKILL.md +10 -7
  71. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-examples.md +49 -1
  72. package/skills/weaver-e10-yepiaotong/references/invoice-issuing-qys-ledger.md +66 -0
  73. package/skills/weaver-e10-yepiaotong/references/invoice-reim.md +59 -36
  74. package/skills/weaver-e10-yepiaotong/references/reim-api-reference.md +54 -509
  75. package/skills/weaver-e10-yepiaotong/references/reim-examples.md +182 -345
  76. package/skills/weaver-e10-yepiaotong/references/reim-expense-subject-rules.md +4 -5
  77. package/skills/weaver-e10-yepiaotong/references/reim-form-fill-rules.md +153 -345
  78. package/skills/weaver-e10-yepiaotong/references/reim-phone-subsidy-rules.md +5 -5
  79. package/skills/weaver-e10-yepiaotong/references/reim-workflow.md +182 -154
  80. package/skills/weaver-e10-yepiaotong/references/source-manifest.json +96 -0
  81. package/skills/weaver-e10-yepiaotong/references/reim-fast-path.md +0 -119
@@ -13,7 +13,7 @@ metadata:
13
13
 
14
14
  # weaver-setting-encrypt
15
15
 
16
- > 版本 1.1.9:修正第三方软件名称到后端编码的转换,亿赛通提交为 `est`;同时兼容旧版本查询接口。
16
+ > 说明:第三方软件名称提交前会转换为后端编码,亿赛通提交为 `est`;同时兼容旧版本查询接口。
17
17
 
18
18
  让"文件设置 → 加解密设置"页面**用对话就能改**。背后调两条 HTTP 接口:
19
19
  - `GET /api/file/thirdPlugEncDec/config`(新版本专用端点,读完整 `EncryptionSettings`)
@@ -28,7 +28,7 @@ metadata:
28
28
 
29
29
  ### 认证前置(必须)
30
30
 
31
- 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见共享规则 [`../../weaver-e10-shared/SKILL.md`](../../weaver-e10-shared/SKILL.md),不依赖手动配置文件,Agent 不得自己读取或输出凭证。
31
+ 本模块通过 CLI 托管的认证获取凭证(base_url + Cookie + eteamsid + User-Agent),凭证契约见同级 `weaver-e10-shared` 技能的共享规则,不依赖手动配置文件,Agent 不得自己读取或输出凭证。
32
32
 
33
33
  **使用前必须确保**:
34
34
  1. CLI 已安装:`weaver-work-cli --version` 能正常输出版本号
@@ -67,8 +67,7 @@ CLI 软链名 `setting-encrypt`(用全名避开与 `weaver-setting-attach` 的
67
67
 
68
68
  ## 8 个支持字段(扁平 key)
69
69
 
70
- CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完整别名表见
71
- [setting-encrypt-field-map.md](setting-encrypt-field-map.md)。
70
+ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完整别名表见本文「字段对照表」章节。
72
71
 
73
72
  > **历史说明**:早期版本支持 13 个字段(含加密机分支:`encryptMachineType` /
74
73
  > `encryptIp` / `encryptPort` / `encryptAppID` / `encryptAppKey`)。前端下拉已移除
@@ -78,7 +77,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
78
77
  | 别名(key) | DTO 字段 | 类型 | 备注 | 依赖 |
79
78
  |---|---|---|---|---|
80
79
  | `open-encrypt` | `openEncryptFunction` | bool | 加解密功能开关 | — |
81
- | `encrypt-plugs` | `encryptPlugs` | enum | 后端编码:`est`=亿赛通、`tipray`=天锐绿盾、`vtext`=华途(对接方式/限制见 [setting-encrypt-third-party-plugins.md](setting-encrypt-third-party-plugins.md)) | — |
80
+ | `encrypt-plugs` | `encryptPlugs` | enum | 后端编码:`est`=亿赛通、`tipray`=天锐绿盾、`vtext`=华途(对接方式与限制见下方第三方软件说明) | — |
82
81
  | `encrypt-url` | `encryptUrl` | str (URL) | 软件地址 | — |
83
82
  | `encrypt-scene` | `encryptScene` | enum | 场景:`uploadAndDownloadEncrypt` / `uploadAndDownloadNotProcessed` / `custom` | — |
84
83
  | `encrypt-file-upload` | `encryptFileUpload` | enum (str) | 加密文件-上传:`0`=解密 `1`=加密 其它=不处理 | `encrypt-scene=custom` |
@@ -94,10 +93,8 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
94
93
  "改前值 / 改后影响 / 明确询问" 三步**(见对话式规则 3),得到
95
94
  "改 / 确认 / 好的" 之类回复后才调 CLI。
96
95
  2. **`prod` 必加 --yes**——生产环境操作时必须同时带 `--yes` 才会发 POST。
97
- 3. **整对象 POST,子字段 merge**——`encryptionSettings` 是 DTO 嵌套对象,后端
98
- `EncryptionSettings.java:49` 的 `updateSysFileItem` 接收**整对象**并存到 `param`
99
- 字段前 `toString()`(整对象变 JSON 串)。CLI 必须 GET 拉整对象 → 改子字段 merge
100
- 进 `current` → **整对象 toString 一起 POST**。**不能只 POST 改了的子字段**
96
+ 3. **整对象 POST,子字段 merge**——`encryptionSettings` 是嵌套对象,后端按**整对象**接收并保存。
97
+ CLI 必须 GET 拉整对象 → 改子字段 merge 进 `current` → **整对象一起 POST**。**不能只 POST 改了的子字段**
101
98
  (后端不支持增量,会覆盖整对象);也不能"只 diff 几个 key"就 POST(merge 时
102
99
  其他子字段会丢)。
103
100
  4. **保存后再次读取校验**——POST 完按同样的端点兼容逻辑重新读取并比对。
@@ -109,7 +106,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
109
106
 
110
107
  ### 后端接口执行规则
111
108
 
112
- 加解密设置必须由 `scripts/encrypt_setting.py` 调用 `encrypt_api.py` 完成,禁止通过浏览器表单或浏览器自动化写入。浏览器仅可参与 `weaver-work-cli auth login` 登录授权。
109
+ 加解密设置必须通过 CLI 的加解密设置操作完成,禁止通过浏览器表单或浏览器自动化写入。浏览器仅可参与 `weaver-work-cli auth login` 登录授权。
113
110
 
114
111
  - 查询接口优先是 `GET /api/file/thirdPlugEncDec/config`;旧版本返回 404 时,使用
115
112
  `POST /api/file/tenant/setting` 读取 `data.encryptionSettings`。保存接口是
@@ -178,8 +175,8 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
178
175
  - 华途对接出问题 → 找华途侧开发 / 客户运维
179
176
  - 亿赛通对接出问题 → 找亿赛通侧开发 / 客户运维
180
177
  - 天锐绿盾没生效 → 检查应用服务器本地是否安装(文档:见 setting-encrypt-third-party-plugins.md 一节)
181
- - 总部开发**只负责 E10 后台配置项,不管远程服务**;不要试图通过改 E10 设置来"修"
182
- - **集成官方支持之外的插件**:走 E10 二开流程(由总部开发评估接入)
178
+ - **只负责 E10 后台配置项,不管远程服务**;不要试图通过改 E10 设置来"修"
179
+ - **集成官方支持之外的插件**:走 E10 二开流程评估接入
183
180
  - **后端返回致命错误**(已知):不重试,直接告诉客户失败原因 + 正确路径
184
181
  - 话术模板:
185
182
  "这里改不了:<原因>。需要去<正确路径>那里先做<前置操作>。
@@ -188,11 +185,7 @@ CLI 接受三种写法:snake-case 别名 / 中英别名 / DTO 字段名。完
188
185
 
189
186
  ## 宿主
190
187
 
191
- CLI 入口:
192
-
193
- ```text
194
- python3 scripts/encrypt_setting.py <cmd> [args]
195
- ```
188
+ CLI 入口:`weaver-work-cli caizhilian run caizhilian.setting-encrypt.<operation>`(操作清单见 SKILL.md 路由表)。
196
189
 
197
190
 
198
191
  ## 与 weaver-setting-attach 的关系
@@ -208,20 +201,6 @@ python3 scripts/encrypt_setting.py <cmd> [args]
208
201
 
209
202
  ## 版本
210
203
 
211
- - 0.1.0(2026-08-06)首次创建。覆盖 eteams-file 截图"加解密设置" Tab 的 13 字段。
212
- - 0.2.0(2026-08-06)优化:对话式规则完整内联(去除外部仓库依赖)、字段表加"依赖"列、
213
- 软链名统一为 `setting-encrypt`、门禁 4 表述修正、删除开发内部决策泄露、版本号规则确立。
214
- - 0.2.1(2026-08-06)业务知识沉淀:新建 `setting-encrypt-third-party-plugins.md`,写入 3 个官方
215
- 插件对接步骤 / 限制 / 二开联系人;修正 `encryptPlugs` 常见值("三未信安"→"天锐绿盾 / 华途");
216
- 对话式规则 6 增加"远程服务/插件对接问题"与"集成官方支持之外插件"两类引导。
217
- - 1.0.0(2026-08-09)字段大删减:前端 UI 下拉已移除加密机(`encryptMachine`)选项,
218
- 后端 `EncryptionSettings.toString()` 也漏了 `encryptMachineType` 输出。删除 5 个
219
- 加密机专属字段(`encrypt-machine-type` / `encrypt-ip` / `encrypt-port` / `encrypt-app-id` /
220
- `encrypt-app-key`),CLI 字段表从 13 缩到 8。`encryptPlugs` 现在固定为华途 / 天锐绿盾 /
221
- 亿赛通 3 个值;3 个软件分支的配置项完全相同,不再有"加密机分支"差异。
222
- - 1.1.7(2026-09-02)明确只能通过后端接口执行加解密设置,移除浏览器写入流程,保留未保存状态判定和歧义 URL 处理。
223
- - 1.1.8(2026-09-02)兼容旧版本部署中 `thirdPlugEncDec/config` 不存在的情况:查询和保存后校验在专用接口 404 时改用 `tenant/setting` 的 `encryptionSettings`。
224
-
225
204
  版本号规则 `x.y.z`:
226
205
  - **x 升** — 大重构(GET/POST 模式变化、DTO 结构变化、字段大幅增删)
227
206
  - **y 升** — 新增字段、新增命令、新增子模块
@@ -242,7 +221,7 @@ python3 scripts/encrypt_setting.py <cmd> [args]
242
221
 
243
222
  ## EncryptionSettings 完整字段(8 子字段)
244
223
 
245
- > **v1.0.0 (2026-08-09) 字段大删减**:从 13 缩到 8。前端 UI 下拉已移除加密机
224
+ > **字段大删减**:从 13 缩到 8。前端 UI 下拉已移除加密机
246
225
  > (`encryptMachine`) 选项,因此删除 `encryptMachineType` / `encryptIp` /
247
226
  > `encryptPort` / `encryptAppID` / `encryptAppKey` 5 个加密机专属字段。
248
227
 
@@ -286,30 +265,20 @@ GET 端点返回的是**扁平 dict**(8 子字段直接平铺);POST 时整
286
265
  校验时还原为普通 URL。
287
266
  4. **license 控制**:没 `ENC_DEC` license 时 GET 返回的 `openEncryptFunction=false`,
288
267
  且整个对象字段大多为空。
289
- 5. **encryptScene 校验**:后端 `StoThirdPlugEncDecProcess.java:718-722` 对值
290
- 做 `equalsIgnoreCase` 比对;不在 enum 内的值会被忽略(不抛错)。
291
- 6. **4 个文件处理字段仅 encryptScene=custom 时生效**:其它场景下后端用预设
292
- 覆盖这 4 个字段(实际行为见 `StoThirdPlugEncDecProcess.java:755-770`)。
293
-
294
- ## 后端实现位置
295
-
296
- - Controller:`eteams-file/src/main/java/com/weaver/teams/file/e10/mvc/web/thirdplugencdec/FileThirdPlugEncDecController.java`
297
- - 设置项注册:`eteams-file/src/main/java/com/weaver/teams/file/e10/manager/set/impl/EncryptionSettings.java`
298
- - 业务逻辑:`eteams-file/src/main/java/com/weaver/teams/file/e10/manager/storage/chain/process/StoThirdPlugEncDecProcess.java`
299
- - DTO:`eteams-file/src/main/java/com/weaver/teams/file/e10/dto/BaseSetDto.java`(嵌套类 `EncryptionSettings`)
300
- - 前端 UI:`weapp-file/src/components/pc/FileSet/components/Encryption/index.tsx`
268
+ 5. **encryptScene 校验**:后端对值做忽略大小写比对;不在枚举内的值会被忽略(不抛错)。
269
+ 6. **4 个文件处理字段仅 encryptScene=custom 时生效**:其它场景下后端用预设值覆盖这 4 个字段。
270
+
301
271
  # 字段对照表(8 个子字段)
302
272
 
303
- > 对应 eteams-file 后端 `BaseSetDto.EncryptionSettings`(嵌套类)。
304
- > 整对象 toString() 存到 `FileObjTenantPermission.param` 字段。
273
+ > 对应后端「加密设置」嵌套对象,整对象序列化后保存。
305
274
  > CLI 接受 snake-case 别名 / 中文别名 / DTO 字段名(驼峰)。
306
275
 
307
276
  > **数据结构说明**:后端 GET `/api/file/thirdPlugEncDec/config` 返回的是**扁平的
308
277
  > EncryptionSettings 字典**(8 个子字段直接平铺,没有外层 `encryptionSettings` 包装)。
309
278
  > CLI 内部统一用扁平 dict;POST 时整个扁平对象作为 `encryptionSettings` 字段的值
310
- > 一起发出去(参考 [setting-encrypt-api.md](setting-encrypt-api.md))。
279
+ > 一起发出去(参考本文「接口协议」章节)。
311
280
 
312
- > **v1.0.0 (2026-08-09) 字段大删减**:从 13 缩到 8。前端 UI 下拉已移除加密机
281
+ > **字段大删减**:从 13 缩到 8。前端 UI 下拉已移除加密机
313
282
  > (`encryptMachine`) 选项,后端 `EncryptionSettings.toString()` 也漏了
314
283
  > `encryptMachineType` 输出,因此删除 5 个加密机专属字段
315
284
  > (`encrypt-machine-type` / `encrypt-ip` / `encrypt-port` / `encrypt-app-id` /
@@ -333,9 +302,9 @@ GET 端点返回的是**扁平 dict**(8 子字段直接平铺);POST 时整
333
302
  - **后端值**:`est`=亿赛通 / `tipray`=天锐绿盾 / `vtext`=华途
334
303
  - **输入别名**:CLI 也接受 `亿赛通` / `天锐绿盾` / `华途`,提交前会转换为上述编码
335
304
  - **对接/限制**:
336
- - 详细对接步骤、限制、二开联系人见 [setting-encrypt-third-party-plugins.md](setting-encrypt-third-party-plugins.md)
305
+ - 详细对接步骤与限制需走 E10 二开流程获取(联系管理员)
337
306
  - 天锐绿盾**仅支持本地安装**;远程调用方式需走 E10 二开流程
338
- - 华途/亿赛通都是远程服务,**总部开发不介入远程服务确认**,找客户/厂商侧
307
+ - 华途/亿赛通都是远程服务,远程服务的确认与联调由客户/厂商侧负责
339
308
  - **示例**:`--item encrypt-plugs=亿赛通`(实际提交 `encryptPlugs=est`)
340
309
 
341
310
  ## 3. 软件地址
@@ -354,7 +323,7 @@ GET 端点返回的是**扁平 dict**(8 子字段直接平铺);POST 时整
354
323
  - **中文**:`加解密场景` / `场景`
355
324
  - **DTO 字段**:`encryptScene`
356
325
  - **类型**:enum
357
- - **值**(前端 `Encryption/index.tsx:122-129` 实际只有 3 个):
326
+ - **值**(前端实际只有 3 个):
358
327
 
359
328
  | 英文 id | 中文 | 含义 |
360
329
  |---|---|---|