weaver-e10-builder 1.1.6 → 1.1.8

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 (193) hide show
  1. package/dist/commands/actionflow.d.ts.map +1 -1
  2. package/dist/commands/actionflow.js +93 -10
  3. package/dist/commands/actionflow.js.map +1 -1
  4. package/dist/commands/designer-common.d.ts +12 -2
  5. package/dist/commands/designer-common.d.ts.map +1 -1
  6. package/dist/commands/designer-common.js +89 -22
  7. package/dist/commands/designer-common.js.map +1 -1
  8. package/dist/commands/designer.d.ts.map +1 -1
  9. package/dist/commands/designer.js +7 -2
  10. package/dist/commands/designer.js.map +1 -1
  11. package/dist/commands/form-association-manage.js +1 -1
  12. package/dist/commands/form-association-manage.js.map +1 -1
  13. package/dist/commands/form-association.d.ts.map +1 -1
  14. package/dist/commands/form-association.js +1 -6
  15. package/dist/commands/form-association.js.map +1 -1
  16. package/dist/commands/form-field-lang.d.ts +3 -0
  17. package/dist/commands/form-field-lang.d.ts.map +1 -0
  18. package/dist/commands/form-field-lang.js +148 -0
  19. package/dist/commands/form-field-lang.js.map +1 -0
  20. package/dist/commands/form-table-view.d.ts.map +1 -1
  21. package/dist/commands/form-table-view.js +28 -9
  22. package/dist/commands/form-table-view.js.map +1 -1
  23. package/dist/commands/form.d.ts.map +1 -1
  24. package/dist/commands/form.js +10 -4
  25. package/dist/commands/form.js.map +1 -1
  26. package/dist/commands/interface.d.ts.map +1 -1
  27. package/dist/commands/interface.js +7 -3
  28. package/dist/commands/interface.js.map +1 -1
  29. package/dist/commands/matrix.d.ts.map +1 -1
  30. package/dist/commands/matrix.js +78 -16
  31. package/dist/commands/matrix.js.map +1 -1
  32. package/dist/commands/skill.d.ts.map +1 -1
  33. package/dist/commands/skill.js +4 -2
  34. package/dist/commands/skill.js.map +1 -1
  35. package/dist/commands/workflow-create-workflow.d.ts.map +1 -1
  36. package/dist/commands/workflow-create-workflow.js +20 -5
  37. package/dist/commands/workflow-create-workflow.js.map +1 -1
  38. package/dist/commands/workflow-odoc.d.ts +3 -0
  39. package/dist/commands/workflow-odoc.d.ts.map +1 -0
  40. package/dist/commands/workflow-odoc.js +288 -0
  41. package/dist/commands/workflow-odoc.js.map +1 -0
  42. package/dist/index.js +4 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/services/actionflow/build_workflow_draft.d.ts.map +1 -1
  45. package/dist/services/actionflow/build_workflow_draft.js +17 -7
  46. package/dist/services/actionflow/build_workflow_draft.js.map +1 -1
  47. package/dist/services/actionflow/command_output.d.ts +4 -0
  48. package/dist/services/actionflow/command_output.d.ts.map +1 -1
  49. package/dist/services/actionflow/command_output.js +92 -1
  50. package/dist/services/actionflow/command_output.js.map +1 -1
  51. package/dist/services/actionflow/component_registry.d.ts.map +1 -1
  52. package/dist/services/actionflow/component_registry.js +11 -2
  53. package/dist/services/actionflow/component_registry.js.map +1 -1
  54. package/dist/services/actionflow/components/action_eb_add.js +1 -1
  55. package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
  56. package/dist/services/actionflow/components/action_eb_update.js +1 -1
  57. package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
  58. package/dist/services/actionflow/components/dml_execute.d.ts +11 -0
  59. package/dist/services/actionflow/components/dml_execute.d.ts.map +1 -0
  60. package/dist/services/actionflow/components/dml_execute.js +172 -0
  61. package/dist/services/actionflow/components/dml_execute.js.map +1 -0
  62. package/dist/services/actionflow/components/enquiry_form.d.ts +7 -0
  63. package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -1
  64. package/dist/services/actionflow/components/enquiry_form.js +57 -7
  65. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  66. package/dist/services/actionflow/components/http.d.ts +12 -0
  67. package/dist/services/actionflow/components/http.d.ts.map +1 -0
  68. package/dist/services/actionflow/components/http.js +216 -0
  69. package/dist/services/actionflow/components/http.js.map +1 -0
  70. package/dist/services/actionflow/components/index.d.ts.map +1 -1
  71. package/dist/services/actionflow/components/index.js +7 -0
  72. package/dist/services/actionflow/components/index.js.map +1 -1
  73. package/dist/services/actionflow/components/send_message.d.ts.map +1 -1
  74. package/dist/services/actionflow/components/send_message.js +9 -1
  75. package/dist/services/actionflow/components/send_message.js.map +1 -1
  76. package/dist/services/actionflow/context_preflight.d.ts +2 -0
  77. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  78. package/dist/services/actionflow/context_preflight.js +127 -16
  79. package/dist/services/actionflow/context_preflight.js.map +1 -1
  80. package/dist/services/actionflow/datasource_source.d.ts +18 -0
  81. package/dist/services/actionflow/datasource_source.d.ts.map +1 -0
  82. package/dist/services/actionflow/datasource_source.js +19 -0
  83. package/dist/services/actionflow/datasource_source.js.map +1 -0
  84. package/dist/services/actionflow/design_client.d.ts +0 -2
  85. package/dist/services/actionflow/design_client.d.ts.map +1 -1
  86. package/dist/services/actionflow/design_client.js +0 -19
  87. package/dist/services/actionflow/design_client.js.map +1 -1
  88. package/dist/services/actionflow/dynamic_resources.d.ts +69 -0
  89. package/dist/services/actionflow/dynamic_resources.d.ts.map +1 -0
  90. package/dist/services/actionflow/dynamic_resources.js +259 -0
  91. package/dist/services/actionflow/dynamic_resources.js.map +1 -0
  92. package/dist/services/actionflow/form_source.d.ts +6 -0
  93. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  94. package/dist/services/actionflow/form_source.js +16 -0
  95. package/dist/services/actionflow/form_source.js.map +1 -1
  96. package/dist/services/actionflow/formula_service.d.ts +2 -0
  97. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  98. package/dist/services/actionflow/formula_service.js +126 -6
  99. package/dist/services/actionflow/formula_service.js.map +1 -1
  100. package/dist/services/actionflow/generation_service.d.ts +17 -1
  101. package/dist/services/actionflow/generation_service.d.ts.map +1 -1
  102. package/dist/services/actionflow/generation_service.js +105 -8
  103. package/dist/services/actionflow/generation_service.js.map +1 -1
  104. package/dist/services/actionflow/http_input_params.d.ts +17 -0
  105. package/dist/services/actionflow/http_input_params.d.ts.map +1 -0
  106. package/dist/services/actionflow/http_input_params.js +98 -0
  107. package/dist/services/actionflow/http_input_params.js.map +1 -0
  108. package/dist/services/actionflow/http_source.d.ts +41 -0
  109. package/dist/services/actionflow/http_source.d.ts.map +1 -0
  110. package/dist/services/actionflow/http_source.js +261 -0
  111. package/dist/services/actionflow/http_source.js.map +1 -0
  112. package/dist/services/actionflow/plan_constraints.d.ts.map +1 -1
  113. package/dist/services/actionflow/plan_constraints.js +4 -2
  114. package/dist/services/actionflow/plan_constraints.js.map +1 -1
  115. package/dist/services/actionflow/preflight_service.d.ts +8 -0
  116. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  117. package/dist/services/actionflow/preflight_service.js +105 -27
  118. package/dist/services/actionflow/preflight_service.js.map +1 -1
  119. package/dist/services/actionflow/readback_verifier.d.ts.map +1 -1
  120. package/dist/services/actionflow/readback_verifier.js +34 -1
  121. package/dist/services/actionflow/readback_verifier.js.map +1 -1
  122. package/dist/services/actionflow/save_workflow_draft.d.ts +1 -0
  123. package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
  124. package/dist/services/actionflow/save_workflow_draft.js +61 -16
  125. package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
  126. package/dist/services/actionflow/step_branches.d.ts +18 -0
  127. package/dist/services/actionflow/step_branches.d.ts.map +1 -0
  128. package/dist/services/actionflow/step_branches.js +26 -0
  129. package/dist/services/actionflow/step_branches.js.map +1 -0
  130. package/dist/services/actionflow/update_service.d.ts.map +1 -1
  131. package/dist/services/actionflow/update_service.js +24 -53
  132. package/dist/services/actionflow/update_service.js.map +1 -1
  133. package/dist/services/actionflow/workflow_compiler.d.ts +1 -1
  134. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  135. package/dist/services/actionflow/workflow_compiler.js +47 -11
  136. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  137. package/dist/services/esb-interface/document-parser.d.ts.map +1 -1
  138. package/dist/services/esb-interface/document-parser.js +17 -1
  139. package/dist/services/esb-interface/document-parser.js.map +1 -1
  140. package/dist/services/esb-interface/importer.d.ts +4 -1
  141. package/dist/services/esb-interface/importer.d.ts.map +1 -1
  142. package/dist/services/esb-interface/importer.js +10 -4
  143. package/dist/services/esb-interface/importer.js.map +1 -1
  144. package/dist/services/esb-interface/postman-collection.d.ts +6 -0
  145. package/dist/services/esb-interface/postman-collection.d.ts.map +1 -1
  146. package/dist/services/esb-interface/postman-collection.js +12 -1
  147. package/dist/services/esb-interface/postman-collection.js.map +1 -1
  148. package/dist/services/esb-interface/types.d.ts +1 -0
  149. package/dist/services/esb-interface/types.d.ts.map +1 -1
  150. package/dist/services/form-association.d.ts +1 -0
  151. package/dist/services/form-association.d.ts.map +1 -1
  152. package/dist/services/form-association.js +28 -4
  153. package/dist/services/form-association.js.map +1 -1
  154. package/dist/services/form-table-view.d.ts +24 -4
  155. package/dist/services/form-table-view.d.ts.map +1 -1
  156. package/dist/services/form-table-view.js +144 -133
  157. package/dist/services/form-table-view.js.map +1 -1
  158. package/dist/services/rich-types.d.ts.map +1 -1
  159. package/dist/services/rich-types.js +149 -9
  160. package/dist/services/rich-types.js.map +1 -1
  161. package/dist/services/skill-provision.d.ts +9 -3
  162. package/dist/services/skill-provision.d.ts.map +1 -1
  163. package/dist/services/skill-provision.js +36 -7
  164. package/dist/services/skill-provision.js.map +1 -1
  165. package/package.json +3 -2
  166. package/skill-docs/SKILL.md +261 -252
  167. package/skill-docs/_catalog.md +66 -0
  168. package/skill-docs/actionflows/CONTEXT.md +71 -0
  169. package/skill-docs/actionflows/SKILL.md +159 -0
  170. package/skill-docs/actionflows/references/components/database/DMLExecute.md +38 -0
  171. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +2 -0
  172. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +2 -0
  173. package/skill-docs/actionflows/references/components/ebuilder/EnquiryForm.md +2 -2
  174. package/skill-docs/actionflows/references/components/http/Http.md +77 -0
  175. package/skill-docs/actionflows/references/components/message/SendMessage.md +14 -1
  176. package/skill-docs/actionflows/references/condition_rules.md +1 -0
  177. package/skill-docs/actionflows/references/dynamic_resources.md +41 -0
  178. package/skill-docs/actionflows/references/function_rules.md +15 -13
  179. package/skill-docs/references/common/guide-plan-template.md +21 -7
  180. package/skill-docs/references/common/ref-cli-commands.md +13 -6
  181. package/skill-docs/references/esb-interface/guide-import.md +31 -0
  182. package/skill-docs/references/form/guide-create-form.md +126 -376
  183. package/skill-docs/references/form/guide-form-association.md +6 -3
  184. package/skill-docs/references/form/guide-form-layout-planning.md +68 -0
  185. package/skill-docs/references/form/guide-form-serial-mark.md +47 -0
  186. package/skill-docs/references/form/guide-form-view.md +22 -3
  187. package/skill-docs/references/form/ref-form-fields.md +147 -0
  188. package/skill-docs/references/hrm/guide-matrix.md +54 -3
  189. package/skill-docs/references/workflow/guide-workflow-action.md +2 -0
  190. package/skill-docs/references/workflow/guide-workflow-condition.md +48 -6
  191. package/skill-docs/references/workflow/guide-workflow-odoc.md +76 -0
  192. package/skill-docs/references/workflow/guide-workflow.md +467 -461
  193. package/skill-docs/references/workflow/operator-matrix.md +2 -0
@@ -37,7 +37,7 @@
37
37
 
38
38
  #### ▼ 表单:<表单名A> | objId: 待创建
39
39
 
40
- ##### 3.1 字段定义(建表时一次性,`form create --fields` --layout FLOW|EXCEL)
40
+ ##### 3.1 字段定义(按[新建 EBuilder 表单](../form/guide-create-form.md)整理,建表时通过 `form create --fields` 一次创建)
41
41
  - [ ] <表单名> | ID: 待创建
42
42
  布局: FLOW(流式)/ EXCEL(表格,缺省)
43
43
  字段:
@@ -51,11 +51,13 @@
51
51
  8. 关联流程(Flow, sformId=<流程绑定的表单objId>) ← sformId 指向哪个流程表单,浏览时就只选该表单绑定的流程数据,创建时自动绑定
52
52
  - 选项/编号/默认值/精度/百分比/maxLen 建表时写全;单位无独立属性,**写进字段名**如 `工时单价(元)`
53
53
  - **布局与显示属性**:方案文档明确要求的必填(`required`)、只读(`readOnly`)、隐藏(`hidden`)、独占一行(`singleRow`)、分组(`group`)、字段顺序——全部标在字段清单里,建表时 fields.json 一并带上,勿留建后补。方案未提到的用默认(EXCEL 两列、不分组、不必填)
54
+ - **日期区间**:字段本身包含起止含义时优先规划为 `DateRange`;明确分列或需独立参与公式、联动时再拆成两个日期字段
55
+ - **字段多语言**:需求写成 `中文/English` 时,字段清单保留两种名称并注明“多语言”;创建时字段名只用中文,建成取得 fieldId 后执行 `form field-lang set --zh <中文> --en <English>`,不可把斜杠名称原样落库
54
56
  - 公式/值带出可 inline:`formula` / `relateFrom`
55
57
  - **Flow 字段**:`sformId` 是流程表单 objId(不是 workflowId),建表时写进 fields.json 即自动绑定——关联到哪个流程表单就只能选该范围的流程数据,无需单独配数据范围
56
58
  > 不要先建空表再 add-field——add-field/edit-field 只是**罕见补救手段**
57
59
 
58
- ##### 3.1.1 表单布局蓝图(需求提供完整布局样表时必填;否则标“— 未提供,使用默认布局”)
60
+ ##### 3.1.1 表单布局蓝图(按[表单布局规划](../form/guide-form-layout-planning.md)识别;需求提供完整布局样表时必填,否则标“— 未提供,使用默认布局”)
59
61
  - [ ] 布局类型:EXCEL / FLOW
60
62
  - [ ] 来源:<需求文档章节或表格标题>
61
63
  - [ ] 物理列结构:<如 4 列:标签|字段|标签|字段>
@@ -67,11 +69,12 @@
67
69
  | 3 | 分组 | <分组名> | — | 跨全部列 | |
68
70
  | 4 | 字段 | <标签> → [<字段名>] | <标签> → [<字段名>] | 双字段 | 必填;只读 |
69
71
 
70
- > 逐行保留标题、分组、字段同排关系、字段先后、空白占位和可确认的跨列信息。`group`、`singleRow`、字段数组顺序不能替代此蓝图。Markdown 无法确认合并范围时写“待确认”,不要猜测。
71
- > 蓝图中的必填/只读/公式/校验/联动还必须同步进入字段定义或 3.2 表单级配置,不能只留在布局表中。
72
- > 本蓝图仅用于保存需求和指导执行,不单独提交人工审核,也不增加确认步骤;它不是 CLI JSON 入参。执行时据此组织 `fields.json` 并用现有 EXCEL 初始化创建,创建后仅在实际需要时按当前布局逐项调整。
72
+ > 逐行记录标题、分组、字段同排关系、字段先后、空白占位和可确认的跨列信息;合并范围暂时无法确认时标为“待确认”。
73
+ > 将蓝图中的必填、只读、公式、校验和联动同步写入字段定义或 3.2 表单级配置。
74
+ > 执行时根据蓝图组织 `fields.json`,使用 EXCEL 布局完成创建和初始化;创建后读取实际布局并按需求调整局部位置或显示属性。
73
75
 
74
76
  ##### 3.2 表单级配置(来源: 本表单 <表单名A>;建表后逐项配齐,缺一项这张表不算完成)
77
+ - [ ] 字段名称多语言 | `form field-lang set <objId> <appId> <fieldId> --zh <中文> --en <English>`(仅需求明确提供多语言名称时列出;先建中文字段再设置)
75
78
  - [ ] 复杂编号 | `form serial-mark set <objId> <appId> <fieldId> --segments @json`(纯建模表:fixed/year/serial/field/system/date+代字;⚠ 绑流程表无效→走 `workflow numbering`)
76
79
  - [ ] 值带出(关联表) | `form relate <appId> <objId> <目标字段> --from <Employee/Department源字段>`(换申请人→填邮箱/工号/部门;HRM属性带出,简单单源)
77
80
  - [ ] 值带出(跨表/多跳) | `form field-linkage add <appId> <objId> --trigger <触发字段> --target <目标字段> --hops "<源表objId:带出字段,源表objId:带出字段,...>"`(跨表查询带出,支持多跳链式中转;Text 字段必须多跳到名称表取名称不能直接赋 ID)
@@ -116,8 +119,14 @@
116
119
 
117
120
  #### ▼ 流程:<流程名A> | workflowId: 待创建
118
121
 
122
+ - 流程体系:EB / 原生工作流程
123
+ - 原生类型:普通 / 公文(EB 流程填“—”)
124
+ - 流转模式:固定 / 自由
125
+ - 表单来源:EB 表单 / 自建原生表单 / 已有原生 formId
126
+
119
127
  ##### 4.1 创建
120
128
  - [ ] 创建 | `workflow create <appId> <formObjId> <名>`(默认不加菜单;确认需要发起入口时 `--menu` 加)
129
+ > 原生工作流程改用 `workflow create-workflow`;公文类型增加 `--odoc`。布局类型在表单来源后注明。
121
130
  > ⚠️ **流程级必做**:① 流程编号(`workflow numbering`);② 出口名称(`workflow link-rename`,改业务人话);③ 出口条件清单(见 4.3,先列全表再逐条创建,勿凭印象跳步)
122
131
 
123
132
  ##### 4.2 节点与连线(来源: 本流程 <流程名A>;每节点一行)
@@ -154,6 +163,7 @@
154
163
  - [ ] 字段权限 | `workflow node field-permission set <wf> <node> --hide <字段...>`
155
164
 
156
165
  ##### 4.5 流程级设置(来源: 本流程 <流程名A>)
166
+ - [ ] 公文设置 | 公文类型、正文、节点、附件、归档、签章、编号及 AI 等配置 | `workflow odoc setting set`(原生类型为公文时按实际需求填写)
157
167
  - [ ] 流程编号 | `workflow numbering set <wf> --prefix LC --serial 4 --no-year`(REQUEST_NO,绑流程表必走)
158
168
  - [ ] 流程标题 | `workflow setting title <wf> --rule "发起人|提交日期|客户名称"`(标题=流程名+系统字段则跳过)
159
169
  - [ ] 提交确认 | `workflow setting submit <wf>`
@@ -190,7 +200,11 @@
190
200
  - [ ] <矩阵名> | `matrix create` + `config-edit` + `enable` + `data`(来源: 被 <流程名> 的 `set-operator --type matrix` 引用)
191
201
 
192
202
  ## 执行分段(最多三段,每段完成停下来让用户确认,确认后才进下一段)
193
- - 段① 应用+角色+全部表单(建表 + 3.2 表内项配齐,**缺一项这张表不算完成**)→ 确认字段设计 → 段② 流程(先列出口条件清单→逐条 `condition add`→`condition list` 回读核对)→ 确认流程 → 段③ 菜单+页面
203
+ 以确认后的 `plan.md` 为执行清单,按资源依赖顺序逐项读取相关指南并完成配置;完成并核验一项,就立即勾选对应项并回填实际 ID 或结果。每段结束前检查本段应完成项是否全部销号,依赖后续资源的项目保留 `[ ]` 并注明依赖,不得提前勾选。
204
+
205
+ - **段①:应用、角色、表单与视图。** 完成应用、角色、全部表单和表单布局,并配齐字段属性、关联、公式、联动、校验、权限、默认台账、新增视图、显示列、搜索排序、筛选统计、分组、上下级、按钮和关联页签等表单及视图相关配置。依赖流程 ID 的配置在 plan 中列明,待段②创建流程后回填。
206
+ - **段②:流程与自动化。** 完成流程创建、节点连线、操作者、出口条件、节点配置、流程级设置、矩阵和动作流,并回填段①中依赖流程 ID 的表单字段、表单按钮和视图按钮。完成后确认流程结构及关键条件。
207
+ - **段③:菜单与页面。** 完成台账、流程发起和自定义菜单,配置菜单权限,并按需求创建配置式页面或定制页面,绑定真实资源 ID 后完成保存、发布和整体收尾。
194
208
  - 简单单步需求(改字段、查数据)不分段,直接执行
195
209
  > **表单是流程的地基**:流程绑定表单、条件/动作流/操作者都引用字段,字段设计错了流程全返工——表单段必须确认后再进流程
196
210
 
@@ -200,7 +214,7 @@
200
214
  - 应用数量:默认全需求只建 1 个应用,不按功能点拆;确需多应用先跟用户确认
201
215
  - 流程按节点逐行,操作者含签署方式/条件/动作流挂节点;**「A 或 B 审批」= 一节点多人 + 竞签/非会签,不拆节点**
202
216
  - 台账页面不用写,表单自带台账(搜索/筛选/导出/批量)
203
- - 表单字段一次性建好(`form create --fields`),singleRow/group 建表时定,勿留建后补
217
+ - 表单字段一次性建好(`form create --fields`);需求明确的 singleRow/group 建表时写入,字段参数按 `references/form/ref-form-fields.md` 确定
204
218
  - 需求提供完整布局样表时,字段清单和“表单布局蓝图”必须同时存在:前者定义字段,后者保留空间结构;字段覆盖数、同排关系、分组顺序和原文说明应逐项对应
205
219
  ```
206
220
 
@@ -9,6 +9,7 @@
9
9
  | 命令 | 说明 |
10
10
  |------|------|
11
11
  | `e10-cli docx read <文件>` | 解析 Word 文档为 markdown + 提取图片到 `_images/`。**禁止自己写 python-docx 脚本** |
12
+ | `e10-cli interface import <文件> [--system-pool-name <名称>] [--apply] [--out <文件>]` | 解析 `.docx/.pdf/.md/.txt` 为 Postman Collection;默认预览,`--apply` 才调用 ESB 创建系统接口。未传系统池名称时从文档文件名推导;完整规则见 `references/esb-interface/guide-import.md` |
12
13
 
13
14
  ---
14
15
 
@@ -49,6 +50,8 @@
49
50
  | `e10-cli form detail-table list/read <objId> <appId> [...]` | 列出明细表,或读取指定明细表的二级明细开关与配置 |
50
51
  | `e10-cli form detail-table sub-detail set <objId> <appId> <父明细表> --target <子明细表> --target-field <子字段> [--default-expand]` | 开启并设置二级明细。表和字段可写名称或 ID;默认采用平台实测的 `rowId/inside/single`,保存后自动回读。另有 `enable`、`disable`(保留配置)、`clear`(清空配置) |
51
52
  | `e10-cli form edit-field <objId> <appId> <fieldId>` | 编辑字段属性。`--title`/`--required`/`--no-required`/`--sform-id`(改EBuilder关联)/`--relate-from`(值带出)/**`--multiple`/`--no-multiple`**(人员/部门/EBuilder/Browser 多选切换) |
53
+ | `e10-cli form field-lang get <objId> <appId> <fieldId>` | 查看字段名称的中英文多语言配置;未配置时返回当前中文名称和 `configured:false` |
54
+ | `e10-cli form field-lang set <objId> <appId> <fieldId> --zh <中文> --en <English>` | 设置字段名称多语言。先保存多语言标签,再读取完整字段并回写 `labelObj.title`,不会覆盖字段其他属性 |
52
55
  | `e10-cli form serial-mark set <objId> <appId> <fieldId> --segments @<json>` | **表单编号**(纯建模表):用 JSON 数组组合任意编号规则,数组顺序即拼接顺序。段类型 `fixed`/`year`/`serial`/`field`/`system`/`date`;field 段可 inline `shortName` 代字映射。子命令组:`set`(配置,--segments) / `add-segment`(增量追加段) / `short-name`(代字 list/set) / `read`(查看) / `fields`(查可绑定字段) / `clear`(解除)。被编码字段平台自动只读。**⚠ 仅对未绑流程的纯建模表有效——eb表单绑流程后表单编号字段在流程提交时不生效,编号改走流程编号(`workflow numbering`,落到 REQUEST_NO 系统字段)** |
53
56
  | `e10-cli form field-options <objId> <appId> <fieldId> --options @<json> [--default <key>]` | 设选项/默认值。options.json: `[{"name":"选项名","valueKey":"可选"}]`;`--default` 用平台生成的长 valueKey(`form read --app-id` 获取),不是 name |
54
57
  | `e10-cli form option-template <list\|read\|create\|copy\|delete>` | **Select 选项预设模板管理**(下拉选项复用:多个表单共享一套选项,模板改了各表单跟着变)。`list [--system]` 列模板(默认自定义模板,--system 看系统内置);`read <模板ID> [--flat]` 看选项树;`create <名称> --options @<json> [--level 1] [--describe 文本]` 建模板(options.json: `[{"name":"低","valueKey":"10","children":[]}]`,**valueKey 必须数字**,children 嵌套=多级);`copy <模板ID>` 复制(系统 default 模板不可复制);`delete <模板ID>` 删模板(被引用时平台拒绝)。**字段引用模板**:`form add-field --option-template <模板ID或名>` 或 fields.json 写 `"optionTemplate":"模板名"`(Select 专有,选项不内联) |
@@ -100,7 +103,7 @@
100
103
  | `e10-cli form association views <objId> <appId> [--target-app <id>]` | 查询可绑定视图及所属表单 |
101
104
  | `e10-cli form association fields <objId> <appId> --view <viewId> [--target-app <id>]` | 查询来源表单字段和目标视图字段 |
102
105
  | `e10-cli form association create <objId> <appId> <name> --view <viewId> --permissions <json或@文件> [--layouts 显示 编辑] [--terminals PC MOBILE] [--mappings <json或@文件>]` | 创建关联页签;默认仅显示布局、PC+MOBILE、启用。权限必须显式提供,筛选映射为 [{targetField,sourceField}] |
103
- | `e10-cli form association update <objId> <appId> <associationId> [--name <名>] [--view <viewId>] [--layouts 显示 编辑] [--terminals PC MOBILE] [--enabled true/false] [--mappings <json或@文件>]` | 保留未指定配置;布局和终端为集合替换;显示=0,编辑=2,none 关闭全部布局。多动作时传 --action |
106
+ | `e10-cli form association update <objId> <appId> <associationId> [--name <名>] [--view <viewId>] [--layouts 显示 新建 编辑] [--terminals PC MOBILE] [--enabled true/false] [--mappings <json或@文件>]` | 保留未指定配置;布局和终端为集合替换;显示=0,新建=1,编辑=2,none 关闭全部布局。仅启停走独立接口并回读;多动作时传 --action |
104
107
  | `e10-cli form association set-filter <objId> <appId> <associationId> --mappings <json或@文件> [--action <id>]` | 替换目标视图动作的数据筛选字段映射,区别于权限条件 |
105
108
  | `e10-cli form association clear-filter <objId> <appId> <associationId> [--action <id>]` | 清空指定视图动作的数据筛选映射 |
106
109
  | `e10-cli form association set-condition <objId> <appId> <associationId> --perm <序号或类型> --rules <json或@文件> [--logic and/or]` | 设置页签权限条件,来源表单字段;与关联目标视图数据筛选独立 |
@@ -118,7 +121,7 @@
118
121
  | `e10-cli form field-linkage add <appId> <objId> --trigger <字段名> --target <字段名> --hops "<objId:字段名,...>"` | 新增。`--hops` 多跳链式(单跳用 `--source-form/--query-field`)。**Text 字段必须多跳取名称**。详见 `form/guide-field-linkage.md` |
119
122
 
120
123
  > **创建表单流程**:
121
- > 1. 读取 `references/form/guide-create-form.md` 了解字段类型和参数格式
124
+ > 1. 读取 `references/form/guide-create-form.md` 了解标准创建流程;确定字段类型和参数时读取 `references/form/ref-form-fields.md`
122
125
  > 2. 与用户确认所有字段名和字段类型
123
126
  > 3. 将字段定义写入临时 JSON 文件(格式:`[{"componentKey":"Text","fieldName":"姓名"},...]`)
124
127
  > 4. 执行 `e10-cli form create ... --fields @<临时文件路径>`
@@ -139,8 +142,10 @@
139
142
 
140
143
  | 命令 | 说明 |
141
144
  |------|------|
142
- | `e10-cli workflow create <appId> <formObjId> <name> [desc]` | 创建流程,自动设置所有人可发起。**默认不加菜单**,要入口传 `--menu`(发起菜单 LAYOUT,指向表单新建页 `/sp/ebdfpage/card/1/<formObjId>/0`,点开即触发流程);漏加 `e10-cli menu add-start <appId> <formObjId>` 补 |
143
- | `e10-cli workflow create-workflow <name>` | **非默认路径**。仅当用户明确强调「用流程表单 / 工作流程 / 流程中心建流程、不在应用下」时才用;默认走上一条 `workflow create`(eb 应用内)。关联流程表单:不传 `--form-id` 自建(`relateForm=0`,服务端建表回吐 `data.formId`)/ `--form-id <已有>` 绑定(`relateForm=1`)。`--workflow-type`(默认 -1=其它)、`--sub-company <机构>`(团队必传)、`--belong-type <0个人/1团队>`(默认 1)、`--table-name`、`--desc`、`--is-free`、`--layout <FLOW流式(默认)/EXCEL表格式>`(自建模式下 EXCEL 走 formmanage/saveForm 建表后绑定,对齐 eb 表 `form create --layout EXCEL`;建表后不可切换)。不带 source/messageParams |
145
+ | `e10-cli workflow create <appId> <formObjId> <name> [desc]` | 创建 EB 流程,当前命令按固定模式创建并自动设置所有人可发起。**默认不加菜单**,要入口传 `--menu`(发起菜单 LAYOUT,指向表单新建页 `/sp/ebdfpage/card/1/<formObjId>/0`,点开即触发流程);漏加 `e10-cli menu add-start <appId> <formObjId>` 补 |
146
+ | `e10-cli workflow create-workflow <name>` | **非默认路径**。仅当用户明确强调「用流程表单 / 工作流程 / 流程中心建流程、不在应用下」时才用;默认走上一条 `workflow create`(eb 应用内)。关联流程表单:不传 `--form-id` 自建(`relateForm=0`,服务端建表回吐 `data.formId`)/ `--form-id <已有>` 绑定(`relateForm=1`)。`--odoc` 创建公文流程(两种表单方式均支持,增加 `bridgeService=odoc`);`--workflow-type`(默认 -1=其它)、`--sub-company <机构>`、`--belong-type <0个人/1团队>`(默认 1)、`--table-name`、`--desc`、`--is-free`、`--layout <FLOW流式(默认)/EXCEL表格式>`(自建模式下 EXCEL 走 formmanage/saveForm 建表后绑定;建表后不可切换)。不带 source/messageParams |
147
+ | `e10-cli workflow odoc <list\|read>` | 查询公文流程列表,或读取单个公文流程及公文设置摘要。`list` 支持 `--name`、`--sub-company`、`--belong-type`、分页参数 |
148
+ | `e10-cli workflow odoc setting <get\|set> <workflowId>` | 读取或修改公文设置。`set --config @json` 读取当前配置后合并保存并回读;常用参数含 `--official-type`、`--request-title-field`、`--upload-word/pdf/ofd`、`--text-in-form`、`--column-position`、`--attach-area`、`--archive-node` |
144
149
  | `e10-cli wf-form read <formId>` | **流程表单管理(非默认路径)**。读流程表单字段(getConfig)。`<formId>` 由 `workflow create-workflow` 回吐。与 eb 表 `form read` 对齐,走 `/api/workflow/core/form/...`(module=workflow、customParam={}、无 apid) |
145
150
  | `e10-cli wf-form add-field <formId> <字段名> <类型> [标题]` | 给流程表单加字段。类型:Text/TextArea/Number/Money/Date/DateTime/Select/Employee/Department/Browser。`--sub-form-id <明细subFormId>` 明细字段;`--multiple` 多选;`--precision`/`--percent`/`--default`(Number/Money);`--format`(日期精度)。formTableId 省略 |
146
151
  | `e10-cli wf-form edit-field <formId> <fieldId> [--title <标题>] [--multiple|--single]` | 编辑已有字段(read-modify-write)。`--multiple`/`--single`:Employee/Department/Browser 切 isSingle,Select↔SelectMultiple。必填为布局级用 `wf-form layout init --required` |
@@ -198,14 +203,16 @@
198
203
  | `e10-cli workflow delete-node <wf> <nodeId>` | 删除节点(自动清理关联出口)。`--bridge` 桥接上下游 |
199
204
  | `e10-cli workflow save-layout <wf> @xmlfile` | 保存完整流程图 XML(浏览器 mxGraph 格式:数字 cell id + nodeId/linkId)。服务器只认浏览器格式,勿转 node_X。新增节点/连线会自动注入 flag="add" |
200
205
  | `e10-cli workflow auto-layout <wf>` | **节点自动排版**(分层布局,全量重排坐标)。`--direction ltr/ttb`(默认ltr)、`--gap-x/--gap-y` 间距、`--dry-run` 只算不打回、`--out` 配合 dry-run 输出新 XML。忽略退回线分层,分支自然融入 |
201
- | `e10-cli workflow condition add <wf> <sourceId> <nodeId> <name> --rule "..."` | **简化语法**添加条件。`--rule "system:流程标题:包含:关键词"` 或 `--rule "form:字段ID|字段名|dataKey:大于:1000"`(fieldId/名/dataKey 均可匹配)。按 fieldType 自动判族校验算子,`--relation AND/OR`。**增强语法**:字段vs字段 `form:字段:大于:field:值字段`(range 用 `form:字段:范围:field:左:右`);明细量词 规则末尾 `:任一`/`:所有`;多值属于 `form:字段:包含:值1,值2`;人员/部门字段 `form:人员字段:包含:张三,李四` 自动解析成对象;系统字段 `system:紧急程度:等于:紧急`;嵌套 OR 用 `\|` 分隔 `form:关联项目:不为空\|form:关联客户:不为空`。详见 `workflow/guide-workflow-condition.md` |
206
+ | `e10-cli workflow condition add <wf> <sourceId> <nodeId> <name> --rule "..."` | **简化语法**添加条件。`sourceId` 是连线 ID(linkId),`nodeId` 是该连线的来源节点 ID(srcNodeId),不是目标节点 ID;可从 `workflow nodes --json` / `link-list` 取得。`--rule "system:流程标题:包含:关键词"` 或 `--rule "form:字段ID|字段名|dataKey:大于:1000"`(fieldId/名/dataKey 均可匹配)。按 fieldType 自动判族校验算子,`--relation AND/OR`。**增强语法**:字段vs字段 `form:字段:大于:field:值字段`(range 用 `form:字段:范围:field:左:右`);明细量词 规则末尾 `:任一`/`:所有`;多值属于 `form:字段:包含:值1,值2`;人员/部门字段 `form:人员字段:包含:张三,李四` 自动解析成对象;系统字段 `system:紧急程度:等于:紧急`;嵌套 OR 用 `\|` 分隔 `form:关联项目:不为空\|form:关联客户:不为空`。详见 `workflow/guide-workflow-condition.md` |
202
207
  | `e10-cli workflow save-condition @jsonfile --app-id <appId>` | 保存条件规则(原始 JSON)。CLI 自动生成 ID 并绑定到连线 |
203
208
  | `e10-cli workflow condition list <wf>` | 列出工作流下所有连线绑定的条件(连线名 + 条件名 + 表达式 + mapId),支持 `--name` 过滤 |
204
209
  | `e10-cli workflow condition get <wf> <id>` | 查看单个条件详情。`<id>` 可用 conditionKey / mapId / conditionId |
205
210
  | `e10-cli workflow condition delete <wf> <id> [--link-id <linkId>] [--node-id <nodeId>]` | 删除条件(删定义 + 解绑连线)。`<id>` 同 get |
206
211
  | `e10-cli workflow set-link-condition-key <wf> <link> <key> <node>` | 绑定条件 Key 到连线 |
207
212
  | `e10-cli workflow save-action @jsonfile` | 加节点提交动作(常量赋值)。**只接 JSON 一个参数**,`workflowId`/`nodeId` 写在 JSON 内部(不是位置参数)。JSON 格式见 `workflow/guide-workflow-action.md` |
208
- | `e10-cli actionflow generate '{"planFile":"@plan.json","appName":"AI-名称"}'` | **动作流生成**(语义 plan → 编译 → preflight → 保存并启用 → 正式回读,返回设计器链接)。`planFile` 必须以 `@` 引用文件(`@plan.json` 或 `@绝对路径`),CLI 强制要求 `@` 前缀。event 节点 `ApproveTrigger` 自带流程节点触发绑定(`workflowPath`+`triggerTiming`+`approveNode`/`approveLink`),不走 pathdef/addaction,无需单独绑节点。默认保存并启用;`{"mode":"stash",...}` 显式暂存。组件契约/参数/映射/条件的权威是 `e10-cli actionflow component-describe <type>`,详见 `actionflows/SKILL.md`。覆盖 ActionEb 全系列/Approve/Document/Hrm/触发器(含 CustomTrigger、InnerMQListener)/消息(含 InnerMQSend)/会议日程/逻辑 20+ 组件;InnerMQListener 与 InnerMQSend 同流互斥 |
213
+ | `e10-cli actionflow generate '{"planFile":"@plan.json","appName":"AI-名称"}'` | **动作流生成**(语义 plan → 编译 → preflight → 保存并启用 → 正式回读,返回设计器链接)。`planFile` 必须以 `@` 引用文件(`@plan.json` 或 `@绝对路径`),CLI 强制要求 `@` 前缀。event 节点 `ApproveTrigger` 自带流程节点触发绑定(`workflowPath`+`triggerTiming`+`approveNode`/`approveLink`),不走 pathdef/addaction,无需单独绑节点。默认保存并启用;`{"mode":"stash",...}` 显式暂存。组件契约/参数/映射/条件的权威是 `e10-cli actionflow component-describe <type>`,详见 `actionflows/SKILL.md`。覆盖 ActionEb 全系列/Approve/Document/Hrm/Http(含 HTTPS 地址和 `inputParams`)/DML 数仓/触发器(含 CustomTrigger、InnerMQListener)/消息(含 InnerMQSend)/会议日程/逻辑 20+ 组件;Http 生成前实时校验当前租户连接器→资源→接口→详情,并按当前连接器回填标题/图标;InnerMQListener 与 InnerMQSend 同流互斥 |
214
+ | `e10-cli actionflow datasource-list '{"query":"esb"}'` | 查询当前租户数仓数据源连接;`DMLExecute.params.dataSetConn.id` 必须使用这里返回的真实 ID |
215
+ | `e10-cli actionflow http-connectors --out http-connectors.json` | 查询当前租户 HTTP 连接器;后续按 `http-resources` → `http-interfaces` → `http-interface-detail` 继续读取,HTTP 请求参数用接口详情的真实 `inputParams` 配置 |
209
216
  | `e10-cli actionflow update '@update-plan.json'` | **已有动作流保留式修改**(精确 appId → 读正式设计 → 备份 → 按原节点 ID 显式 operations → saveDesign(saveNewVersion=true) → 正式回读)。**不可改 event 触发器**(触发类型/表单/时机/参数变了就新建);未声明内容保留。触发类型含按钮触发、自定义触发、内置 MQ 监听/发送 |
210
217
  | `e10-cli workflow action list-node <wf> <nodeId> [--trigger-type all\|link]` | 列出节点绑定的动作(getAddActionDataList)。显示每条的动作类型/appId/触发时机,type0 还带字段=值 |
211
218
  | `e10-cli workflow action clear-node <wf> <nodeId> [--trigger-type all\|link]` | **清空节点所有动作绑定**(deleteAddAction + delList)。清理重复 add/已删实体残留的悬空绑定;动作流实体另用 `action delete` 清 |
@@ -0,0 +1,31 @@
1
+ # 接口文档导入 ESB 系统接口
2
+
3
+ 当用户要求“从接口文档创建系统接口”“接口文档转 Postman 并导入 ESB”时,使用 e10-cli 的原生命令:
4
+
5
+ ```bash
6
+ e10-cli interface import "<文档路径>" --out collection.json
7
+ e10-cli interface import "<文档路径>" --system-pool-name "<连接器/系统池名称>" --apply --out collection.json
8
+ ```
9
+
10
+ 支持 `.docx`、`.pdf`、`.md`、`.txt`。默认只解析预览;只有用户明确要求创建时才加 `--apply`。PDF 解析依赖当前机器可用的 `pdftotext`(Poppler)。
11
+
12
+ ## 处理规则
13
+
14
+ 1. 一份文档中的全部接口合并为一个 Postman Collection v2.1,统一调用平台的 `createSystemInterfaceByAi`。
15
+ 2. `--system-pool-name` 优先使用用户明确指定的连接器/系统池名称;未传时从本次文档文件名去扩展名、去尾部 `(1)`/`(1)` 推导。不能复用旧环境名称,也不能臆造名称。
16
+ 3. Collection 的 `info.name` 与请求体中的 `systemPoolName` 保持一致且不能为空。
17
+ 4. 每个接口必须有请求定义和至少一个 `response[]` 示例;平台输出参数来自响应示例的 `body`,不能只写到 description。
18
+ 5. 文档中的密码、token、Authorization、secret、apiKey 等敏感示例值在本地生成 Collection 时脱敏;不要把 Eteamsid 写进文件。
19
+ 6. 创建成功必须同时满足外层 `code=200` 和 `data.res=true`,并报告 `systemPk`、接口名称和接口 ID;不能只看 HTTP 200。
20
+ 7. 创建接口是新增语义,不提供更新/去重;格式校验先在本地完成,避免重复调用在线接口留下重复系统。
21
+
22
+ ## 文档提取重点
23
+
24
+ - 按“接口地址”切分接口区块,提取接口名称、请求方式、URL、请求 JSON 和返回 JSON。
25
+ - 请求字段取参数表、请求示例和示例代码中的请求体字段并集,避免漏掉只出现在示例代码中的字段。
26
+ - 返回字段取“返回结果/返回示例/响应结果”等示例,按原有嵌套结构写入 Postman `response[].body`,不得扁平化或额外编造字段。
27
+ - 解析结果有缺失时,在预览输出的 `warnings` 中明确列出;不要静默按猜测补字段。
28
+
29
+ ## 与动作流 HTTP 组件的边界
30
+
31
+ 这里的 `interface import` 是“从文档创建连接器下的系统接口”;动作流里的 `Http` 是“调用当前租户已经存在的连接器 → 连接信息 → 执行接口”。两者可以串联使用,但不能把接口导入命令当成 HTTP 动作节点配置命令。