weaver-e10-builder 1.5.6 → 1.5.7

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 (68) hide show
  1. package/dist/commands/actionflow.d.ts.map +1 -1
  2. package/dist/commands/actionflow.js +6 -0
  3. package/dist/commands/actionflow.js.map +1 -1
  4. package/dist/commands/form.js +1 -1
  5. package/dist/commands/form.js.map +1 -1
  6. package/dist/commands/workflow-node-validate.d.ts.map +1 -1
  7. package/dist/commands/workflow-node-validate.js +159 -15
  8. package/dist/commands/workflow-node-validate.js.map +1 -1
  9. package/dist/core/crypto.d.ts +19 -0
  10. package/dist/core/crypto.d.ts.map +1 -1
  11. package/dist/core/crypto.js +70 -35
  12. package/dist/core/crypto.js.map +1 -1
  13. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  14. package/dist/services/actionflow/components/action_eb_update_compiler.js +3 -1
  15. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  16. package/dist/services/actionflow/components/custom_trigger.d.ts.map +1 -1
  17. package/dist/services/actionflow/components/custom_trigger.js +2 -0
  18. package/dist/services/actionflow/components/custom_trigger.js.map +1 -1
  19. package/dist/services/actionflow/components/event_button.d.ts.map +1 -1
  20. package/dist/services/actionflow/components/event_button.js +2 -0
  21. package/dist/services/actionflow/components/event_button.js.map +1 -1
  22. package/dist/services/actionflow/components/event_form_data.d.ts.map +1 -1
  23. package/dist/services/actionflow/components/event_form_data.js +2 -0
  24. package/dist/services/actionflow/components/event_form_data.js.map +1 -1
  25. package/dist/services/actionflow/components/form_data_builder.d.ts +23 -0
  26. package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -0
  27. package/dist/services/actionflow/components/form_data_builder.js +106 -0
  28. package/dist/services/actionflow/components/form_data_builder.js.map +1 -0
  29. package/dist/services/actionflow/components/hrm_actions.d.ts +1 -0
  30. package/dist/services/actionflow/components/hrm_actions.d.ts.map +1 -1
  31. package/dist/services/actionflow/components/hrm_actions.js +136 -44
  32. package/dist/services/actionflow/components/hrm_actions.js.map +1 -1
  33. package/dist/services/actionflow/components/inner_mq_listener.d.ts.map +1 -1
  34. package/dist/services/actionflow/components/inner_mq_listener.js +2 -0
  35. package/dist/services/actionflow/components/inner_mq_listener.js.map +1 -1
  36. package/dist/services/actionflow/components/webhook_trigger.d.ts.map +1 -1
  37. package/dist/services/actionflow/components/webhook_trigger.js +6 -5
  38. package/dist/services/actionflow/components/webhook_trigger.js.map +1 -1
  39. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
  40. package/dist/services/actionflow/components/workflow_actions.js +6 -3
  41. package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
  42. package/dist/services/actionflow/formula_service.d.ts +1 -1
  43. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  44. package/dist/services/actionflow/formula_service.js +14 -7
  45. package/dist/services/actionflow/formula_service.js.map +1 -1
  46. package/dist/services/actionflow/hrm_source.d.ts +2 -0
  47. package/dist/services/actionflow/hrm_source.d.ts.map +1 -1
  48. package/dist/services/actionflow/hrm_source.js +4 -0
  49. package/dist/services/actionflow/hrm_source.js.map +1 -1
  50. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  51. package/dist/services/actionflow/preflight_service.js +62 -0
  52. package/dist/services/actionflow/preflight_service.js.map +1 -1
  53. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  54. package/dist/services/actionflow/workflow_compiler.js +19 -22
  55. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  56. package/dist/services/form-layout-insert.js +1 -1
  57. package/dist/services/form-layout-insert.js.map +1 -1
  58. package/package.json +1 -1
  59. package/skill-docs/SKILL.md +278 -282
  60. package/skill-docs/_catalog.md +87 -86
  61. package/skill-docs/actionflows/references/components/personnel/HrmEmployeeUpdate.md +3 -1
  62. package/skill-docs/actionflows/references/components/personnel/PersonnelAlterType.md +38 -0
  63. package/skill-docs/actionflows/references/components/personnel/PersonnelOnboarding.md +36 -34
  64. package/skill-docs/actionflows/references/components/trigger/WebHookTrigger.md +4 -2
  65. package/skill-docs/references/common/guide-plan-template.md +12 -4
  66. package/skill-docs/references/common/map.md +152 -0
  67. package/skill-docs/references/common/ref-cli-commands.md +1 -0
  68. package/skill-docs/references/workflow/guide-workflow.md +20 -2
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-node-validate.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-node-validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oCAAoC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA+RxF"}
1
+ {"version":3,"file":"workflow-node-validate.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-node-validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oCAAoC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgYxF"}
@@ -1,5 +1,22 @@
1
1
  import { AuthSession } from '../core/auth.js';
2
2
  import { ApiClient } from '../core/client.js';
3
+ import { readFileSync } from 'node:fs';
4
+ import { SYSTEM_FIELDS } from '../services/condition-rules.js';
5
+ function parseRuleTree(input) {
6
+ const raw = input.startsWith('@') ? readFileSync(input.slice(1), 'utf8') : input;
7
+ const tree = JSON.parse(raw);
8
+ const check = (node) => {
9
+ if ('rules' in node) {
10
+ if (!['AND', 'OR'].includes(node.relation) || !Array.isArray(node.rules) || !node.rules.length)
11
+ throw new Error('组合条件需有 relation=AND|OR 和非空 rules');
12
+ node.rules.forEach(check);
13
+ }
14
+ else if (!node.field || !node.op)
15
+ throw new Error('条件需有 field 和 op');
16
+ };
17
+ check(tree);
18
+ return tree;
19
+ }
3
20
  /**
4
21
  * workflow node validate — 节点提交校验(智能审批规则 / 节点字段校验)。
5
22
  *
@@ -29,6 +46,13 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
29
46
  .option('--name <name>', '规则名称(默认 "节点校验")', '节点校验')
30
47
  .option('--rule <rule...>', '校验条件(可多个,AND 关系):\"主题字段 操作 值字段或字面值\",如 "付款信息.付款金额(合计) 等于 项目金额" "付款信息.付款比例(合计) 等于 100"。**操作符支持 大于/大于等于/小于/小于等于/等于/不等于/为空/不为空**(为空、不为空 无需值)。**明细字段可加量词**:主题末尾写 \":任一\"(任一行,缺省)或 \":所有\"(所有行),如 "货品明细.货品名称:所有 不为空"。缺省替换本节点已有规则(幂等),--append 才保留旧规则')
31
48
  .option('--append', '与 --rule 同用:保留节点已有规则,新规则追加(旧行为,会累积)')
49
+ .option('--rules-json <jsonOrFile>', '组合条件 JSON 或 @文件;组用 relation=AND|OR、rules,叶子用 source/field/op/value/detail/upperOp/upperValue')
50
+ .option('--pass-tip <text>', '合规提示语(可含平台字段标签/值占位符)')
51
+ .option('--fail-tip <text>', '不合规提示语')
52
+ .option('--on-fail <mode>', '不合规处理:禁止提交 或 仅做提醒')
53
+ .option('--relation <mode>', '节点多条规则关系:AND 或 OR')
54
+ .option('--pass-popup <mode>', '校验通过时显示结果:on/off')
55
+ .option('--fail-popup <mode>', '不合规仅提醒时显示结果:on/off')
32
56
  .option('--disable', '关闭节点校验(openNodeCheck=0)')
33
57
  .option('--view', '查看当前校验配置与规则列表(表达式/启用状态)')
34
58
  .option('--delete <nameOrId>', '删除指定规则(按规则名称或规则行 id)')
@@ -49,6 +73,21 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
49
73
  const cfg = cfgRes?.data || {};
50
74
  const existingId = String(cfg.conformanceId || '0');
51
75
  const openNodeCheck = cfg?.formData?.data?.openNodeCheck;
76
+ const boolMode = (value, fallback) => {
77
+ if (value === undefined)
78
+ return fallback;
79
+ if (value === 'on')
80
+ return 1;
81
+ if (value === 'off')
82
+ return 0;
83
+ throw new Error('显示开关只能是 on 或 off');
84
+ };
85
+ const relation = cmdOpts.relation === undefined ? Number(cfg.ruleRelation ?? 0) : cmdOpts.relation === 'AND' ? 0 : cmdOpts.relation === 'OR' ? 1 : NaN;
86
+ if (!Number.isFinite(relation))
87
+ throw new Error('--relation 只能是 AND 或 OR');
88
+ const processType = cmdOpts.onFail === undefined ? undefined : { '禁止提交': '1', '仅做提醒': '2' }[cmdOpts.onFail];
89
+ if (cmdOpts.onFail !== undefined && !processType)
90
+ throw new Error('--on-fail 只能是 禁止提交 或 仅做提醒');
52
91
  // 规则列表 / 删除(浏览器抓包 2026-09:list → data.data 行;delete 只需规则行 id)
53
92
  const listRules = async () => {
54
93
  const res = await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeConformance/getConformanceSetListConfigInfo`, {
@@ -78,6 +117,7 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
78
117
  }
79
118
  for (const r of rows) {
80
119
  console.log(` [${r.open ? '启用' : '停用'}] ${r.ruleName || '(未命名)'}: ${r.conditionKey || ''} (id=${r.id})`);
120
+ console.log(` 合规: ${r.rulePassTipCn || r.rulePassTip || '未设置'};不合规: ${r.ruleNoPassTipCn || r.ruleNoPassTip || '未设置'};处理: ${Number(r.processTypeId) === 1 ? '禁止提交' : Number(r.processTypeId) === 2 ? '仅做提醒' : (r.processType || '未设置')}`);
81
121
  }
82
122
  return;
83
123
  }
@@ -109,7 +149,7 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
109
149
  const baseBody = {
110
150
  workflowId, nodeId, showAddChoseSmart: false, choseUserId: '',
111
151
  workflowName: cfg.workflowName || '',
112
- ruleRelation: 0,
152
+ ruleRelation: relation,
113
153
  remarkAndTitle: '节点字段规则校验结果如下(需全部校验通过)',
114
154
  remarkOrTitle: '节点字段规则校验结果如下(有一个规则通过即可)',
115
155
  remarkShowTitle: '节点字段规则校验结果如下',
@@ -123,7 +163,7 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
123
163
  if (cmdOpts.disable) {
124
164
  const off = await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeConformance/saveConformance`, {
125
165
  ...baseBody, conformanceId: existingId, saveType: 'base', openNodeCheck: 0, openNodeCheckRemark: 0,
126
- passPopUpPrompt: 1, noPassPrompt: 1, ruleRelation: 0, data: [],
166
+ passPopUpPrompt: boolMode(cmdOpts.passPopup, Number(cfg?.formData?.data?.passPopUpPrompt ?? 1)), noPassPrompt: boolMode(cmdOpts.failPopup, Number(cfg?.formData?.data?.noPassPrompt ?? 1)), ruleRelation: relation, data: [],
127
167
  });
128
168
  if (off?.code === 200 && off?.status) {
129
169
  console.log(`已关闭节点 ${nodeId} 提交校验`);
@@ -134,10 +174,12 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
134
174
  }
135
175
  return;
136
176
  }
137
- if (!cmdOpts.rule || cmdOpts.rule.length === 0) {
138
- console.error('需要 --rule "主题字段 操作 值字段"(可多个 AND),或 --view / --disable');
177
+ if ((!cmdOpts.rule || cmdOpts.rule.length === 0) && !cmdOpts.rulesJson) {
178
+ console.error('需要 --rule、--rules-json,或 --view / --disable');
139
179
  process.exit(1);
140
180
  }
181
+ if (cmdOpts.rule?.length && cmdOpts.rulesJson)
182
+ throw new Error('--rule 与 --rules-json 只能选一种');
141
183
  // 解析规则(可多个 AND):每条 "主题字段 操作 值字段或字面值"
142
184
  // 与 workflow-condition(出口条件)**同一套算子码**:5=等于 6=不等于 13=为空 14=不为空。
143
185
  const OP = {
@@ -214,7 +256,8 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
214
256
  const ft = String(subjectField.fieldType || subjectField.componentKey || '');
215
257
  const isNumber = /Number|Money|Float|Integer/i.test(ft);
216
258
  const isDate = /Date|Time/i.test(ft) && !isNumber;
217
- const prefix = isNumber ? 'Number' : isDate ? 'Date' : 'String';
259
+ const isBrowser = /Employee|Department|Subcompany|Role|Browser|Select|RadioBox|CheckBox|Ebuilder|Flow/i.test(ft);
260
+ const prefix = isNumber ? 'Number' : isDate ? 'Date' : isBrowser ? 'Browser' : 'String';
218
261
  // 平台自己的客户端在 Number 系 leaf 上发的是**数字**(NumberCompareOptionLeft: 1),
219
262
  // String 系才是字符串(StringCompareOptionLeft: "5")。此前一律发字符串。
220
263
  const cmp = prefix === 'Number' ? Number(OP[opName]) : OP[opName];
@@ -252,16 +295,83 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
252
295
  leaf.typeHrm = '16'; // 日期类需 typeHrm;String/Number 不需要
253
296
  return leaf;
254
297
  };
255
- const childrens = cmdOpts.rule.map(buildLeaf);
256
- // 默认替换:先清掉节点已有规则再建(saveCondition 的 mapBaseId 总是新建 condition,
257
- // 直接重跑会把规则越堆越多——浏览器编辑同样是先删旧再建新)。--append 保留旧行为。
298
+ const buildSpecLeaf = async (spec) => {
299
+ const source = spec.source || 'form';
300
+ if (source === 'form' && !['属于', '不属于'].includes(spec.op) && typeof spec.value !== 'object') {
301
+ const subject = `${spec.field}${spec.detail ? ':' + spec.detail : ''}`;
302
+ const leaf = buildLeaf(`${subject} ${spec.op}${spec.value === undefined ? '' : ' ' + spec.value}`);
303
+ if (spec.upperOp) {
304
+ if (!['小于', '小于等于'].includes(spec.upperOp) || spec.upperValue === undefined || !('NumberCompareOptionLeft' in leaf))
305
+ throw new Error('upperOp 仅支持数值字段的小于/小于等于,且需 upperValue');
306
+ leaf.NumberCompareOptionRight = Number(OP[spec.upperOp]);
307
+ leaf.NumberValueOptionRight = 1;
308
+ leaf.NumberTextValueRight1 = Number(spec.upperValue);
309
+ }
310
+ return leaf;
311
+ }
312
+ const sf = source === 'system' ? SYSTEM_FIELDS[spec.field] : undefined;
313
+ const ff = source === 'form' ? resolveField(spec.field) : undefined;
314
+ if (source === 'system' && (!sf || sf.family !== 'Browser'))
315
+ throw new Error(`系统字段 ${spec.field} 尚不支持此节点校验条件`);
316
+ if (source === 'form' && !ff)
317
+ throw new Error(`找不到表单字段: ${spec.field}`);
318
+ if (!['属于', '不属于', '为空', '不为空'].includes(spec.op))
319
+ throw new Error(`浏览字段 ${spec.field} 不支持 ${spec.op}`);
320
+ const leaf = { selectType: source === 'system' ? '3' : '4', BrowserCompareOptionLeft: OP[spec.op] || (spec.op === '属于' ? '9' : '10'), elementValue1Id: '', elementValue2Id: '', expressionBaseId: '', dataValueId: '' };
321
+ if (sf)
322
+ leaf.systemVariable = sf.id;
323
+ if (ff) {
324
+ leaf.formField = [ff];
325
+ if (ff.detail)
326
+ leaf.detailOption = spec.detail === '所有' ? '2' : '1';
327
+ }
328
+ if (spec.op === '为空' || spec.op === '不为空')
329
+ return leaf;
330
+ if (spec.value === undefined)
331
+ throw new Error(`${spec.field} ${spec.op} 需要 value`);
332
+ let value;
333
+ if (typeof spec.value === 'object')
334
+ value = spec.value;
335
+ else if (['发起人分部', '发起人部门'].includes(spec.field)) {
336
+ const browser = spec.field === '发起人分部' ? 'subcompany' : 'department';
337
+ const res = await client.post(`${baseUrl}/api/workflow/pathdef/common/browser/data/${browser}`, { browserMultiple: true, virtualType: 'ALL', cmd: 'tree', pageSize: 100, current: 1, searchValue: String(spec.value) });
338
+ const flatten = (items) => items.flatMap((x) => [x, ...flatten(x.children || [])]);
339
+ const matches = flatten(res?.data?.data || []).filter((x) => x.content === String(spec.value));
340
+ if (matches.length !== 1)
341
+ throw new Error(`${spec.field}「${spec.value}」匹配 ${matches.length} 项,请用 value:{id,content} 明确指定`);
342
+ value = matches[0];
343
+ }
344
+ else if (['发起人', '当前操作人'].includes(spec.field) || /Employee/i.test(String(ff?.fieldType || ''))) {
345
+ const res = await client.post(`${baseUrl}/api/hrm/common/browser/data/resource`, { browserMultiple: true, cmd: 'recently', pageSize: 100, current: 1, searchValue: String(spec.value) });
346
+ const matches = (res?.data?.data || []).filter((x) => x.content === String(spec.value) || x.name === String(spec.value));
347
+ if (matches.length !== 1)
348
+ throw new Error(`人员「${spec.value}」匹配 ${matches.length} 项,请用 value:{id,content} 明确指定`);
349
+ value = matches[0];
350
+ }
351
+ else
352
+ throw new Error(`浏览值「${spec.value}」需要用 value:{id,content} 明确指定`);
353
+ leaf.BrowserValueOptionLeft = '1';
354
+ leaf.BrowserTextValueLeft1 = [value];
355
+ leaf.containType = '1';
356
+ if (['发起人', '当前操作人'].includes(spec.field) || /Employee/i.test(String(ff?.fieldType || '')))
357
+ leaf.typeHrm = '1';
358
+ return leaf;
359
+ };
360
+ const buildTree = async (tree) => {
361
+ if ('rules' in tree)
362
+ return { relation: tree.relation === 'AND' ? 1 : 2, childrens: await Promise.all(tree.rules.map(buildTree)) };
363
+ return buildSpecLeaf(tree);
364
+ };
365
+ const parsedTree = cmdOpts.rulesJson ? parseRuleTree(cmdOpts.rulesJson) : undefined;
366
+ const childrens = parsedTree ? ('rules' in parsedTree && parsedTree.relation === 'AND' ? await Promise.all(parsedTree.rules.map(buildTree)) : [await buildTree(parsedTree)]) : cmdOpts.rule.map(buildLeaf);
367
+ // 同名替换只影响目标规则;其余规则留在节点上。
258
368
  if (!cmdOpts.append) {
259
369
  const { rows } = await listRules();
260
- if (rows.length) {
261
- const ok = await deleteRules(rows);
262
- console.error(` 已清理原有 ${ok}/${rows.length} 条校验规则(--append 可保留追加)`);
263
- if (ok !== rows.length)
264
- console.error(' ⚠ 部分旧规则清理失败,将与新规则并存');
370
+ const sameName = rows.filter((r) => r.ruleName === cmdOpts.name);
371
+ if (sameName.length) {
372
+ const ok = await deleteRules(sameName);
373
+ if (ok !== sameName.length)
374
+ throw new Error(`同名规则清理失败: ${ok}/${sameName.length}`);
265
375
  }
266
376
  }
267
377
  // mapBaseId 必须后台生成(19 位雪花),不能 tid() 造假——eteams 新版平台校验 id,
@@ -302,15 +412,49 @@ export function registerWorkflowNodeValidateCommands(wf, program) {
302
412
  // step1 返回 conformanceSetId(condition 在节点校验集里的记录 id),step2 必须带 data:[{id,open:true}]
303
413
  // 才真正启用该校验条件(data:[] 空会导致「规则加了但没启用」——抓包确认)。
304
414
  const conformanceSetId = step1?.data?.conformanceSetId || reverseSetId;
415
+ if (cmdOpts.passTip !== undefined || cmdOpts.failTip !== undefined) {
416
+ const tips = await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeConformance/saveConformance`, {
417
+ ...baseBody, conformanceId, saveType: 'set', conformanceSetId, reverseConformanceSetId: conformanceSetId,
418
+ currentSteps: 2, orderId: 2, srcType: 1, showAddConformanceSet: 1, hasEditWorkflowPath: 0,
419
+ rulePassTip: cmdOpts.passTip || '', ruleNoPassTip: cmdOpts.failTip || '',
420
+ });
421
+ if (tips?.code !== 200 || !tips?.status)
422
+ throw new Error(`保存校验提示语失败: ${tips?.msg || '未知错误'}`);
423
+ for (const [field, value] of [['rulePassTip', cmdOpts.passTip], ['ruleNoPassTip', cmdOpts.failTip]]) {
424
+ if (value === undefined)
425
+ continue;
426
+ const tablefield = `wfp_cpt_set.${field}`;
427
+ const read = await client.post(`${baseUrl}/api/bs/workflow/pathdef/multilang/getMultilangData`, { tablefield, targetId: conformanceSetId, otherParams: {}, versionEnable: false });
428
+ if (read?.code !== 200 || !read?.status)
429
+ throw new Error(`读取 ${field} 多语言记录失败`);
430
+ const tableData = (read?.data?.usernamePerLangs || []).map((r) => ({ id: r.id, langid: r.langid, langtype: r.langtype, langName: r.langName, value: r.langtype === 'zh_CN' ? value : (r.value || ''), content: r.langName }));
431
+ const saved = await client.post(`${baseUrl}/api/bs/workflow/pathdef/multilang/saveMultilangDataSensitive`, { tableData, targetId: conformanceSetId, tablefield, otherParams: {} });
432
+ if (saved?.code !== 200 || !saved?.status)
433
+ throw new Error(`保存 ${field} 多语言记录失败`);
434
+ }
435
+ }
436
+ const handling = await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeConformance/saveConformance`, {
437
+ ...baseBody, conformanceId, saveType: 'set', conformanceSetId, reverseConformanceSetId: conformanceSetId,
438
+ currentSteps: 3, orderId: 2, srcType: 1, showAddConformanceSet: 1, hasEditWorkflowPath: 0,
439
+ processType: processType || '1',
440
+ });
441
+ if (handling?.code !== 200 || !handling?.status)
442
+ throw new Error(`保存不合规处理方式失败: ${handling?.msg || '未知错误'}`);
443
+ const remaining = await listRules();
444
+ const enabled = remaining.rows.filter((r) => r.open && String(r.id) !== String(conformanceSetId))
445
+ .map((r) => ({ id: String(r.id), open: true }));
446
+ enabled.push({ id: String(conformanceSetId), open: true });
305
447
  const step2 = await client.post(`${baseUrl}/api/bs/workflow/pathdef/nodeConformance/saveConformance`, {
306
448
  ...baseBody, conformanceId, saveType: 'base', openNodeCheck: 1, openNodeCheckRemark: 0,
307
- passPopUpPrompt: 1, noPassPrompt: 1, ruleRelation: 0, data: [{ id: conformanceSetId, open: true }],
449
+ passPopUpPrompt: boolMode(cmdOpts.passPopup, Number(cfg?.formData?.data?.passPopUpPrompt ?? 1)),
450
+ noPassPrompt: boolMode(cmdOpts.failPopup, Number(cfg?.formData?.data?.noPassPrompt ?? 1)),
451
+ ruleRelation: relation, data: enabled,
308
452
  });
309
453
  if (step0?.code !== 200 || step1?.code !== 200 || step2?.code !== 200 || !step2?.status) {
310
454
  console.error(`保存校验规则失败: step0=${step0?.code} step1=${step1?.code} step2=${step2?.code} (${step2?.msg || ''})`);
311
455
  process.exit(1);
312
456
  }
313
- console.log(`节点校验已启用: ${cmdOpts.rule.map((r) => `「${r}」`).join(' AND ')} (conformanceId=${conformanceId})`);
457
+ console.log(`节点校验已启用: ${cmdOpts.rulesJson ? '组合条件' : cmdOpts.rule.map((r) => `「${r}」`).join(' AND ')} (conformanceId=${conformanceId})`);
314
458
  });
315
459
  }
316
460
  //# sourceMappingURL=workflow-node-validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-node-validate.js","sourceRoot":"","sources":["../../src/commands/workflow-node-validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-node-validate.js","sourceRoot":"","sources":["../../src/commands/workflow-node-validate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,23 @@
1
1
  import type { AuthData } from '../types.js';
2
+ /** 密钥的四条存取路径。抽出来是为了能单测「生成时两边都写」这条保证。 */
3
+ export interface EncKeyStores {
4
+ /** 读 OS keychain。**抛异常**=keychain 不可用(headless 无后端等)。 */
5
+ readKeychain(): Buffer | null;
6
+ /** 读本机 0600 `.key` 文件;不存在或读不出可用值返回 null。 */
7
+ readFile(): Buffer | null;
8
+ writeFile(key: Buffer): void;
9
+ /** 写 OS keychain;写不进去可以抛(调用方吞掉)。 */
10
+ writeKeychain(key: Buffer): void;
11
+ }
12
+ /**
13
+ * 取密钥的**决策 + 落库**:keychain 优先(共享的那份说了算)→ `.key` → 生成,生成时两边都写。
14
+ *
15
+ * ⚠ 别改成「只在 keychain 里生成后返回」:部分无头/受限环境下 `setPassword` 看着成功却不落盘,
16
+ * 下一个进程读不到值会另生成一把 → 自己解不开自己写的 auth 文件。
17
+ * ⚠ 也别改成「不写 keychain」:e10-login 只认 keychain,且**只有它抛异常才回退 `.key`**,
18
+ * 少写这一份会让两边各自生成、互相解不开(本次互通破损就是这么来的)。
19
+ */
20
+ export declare function resolveEncKey(stores: EncKeyStores): Buffer;
2
21
  export interface EncryptedWrapper {
3
22
  enc: boolean;
4
23
  v: number;
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/core/crypto.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA8C5C,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAOnE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAaxE;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAa1D"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/core/crypto.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAa5C,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oCAAoC;IACpC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAkB1D;AAmCD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAOnE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAaxE;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAa1D"}
@@ -1,8 +1,13 @@
1
1
  /**
2
2
  * Auth file encryption — AES-256-GCM
3
3
  *
4
- * 加密密钥用 OS keychain 动态存(每机一把,源码不含密钥),headless(无 keychain 后端)回退 0600 .key 文件。
5
- * 与 e10-login 共用同一 keychain 条目(service=e10-cli / account=auth-key)与同一 .key 回退路径,
4
+ * 加密密钥的取用顺序:**先读 OS keychain(与 e10-login 共享的那一份)→ 再读本机 0600 `.key` 文件
5
+ * → 都没有才生成新密钥;生成时 `.key` 与 keychain 两边都写**。源码不含密钥。
6
+ * - 写 `.key`:唯一能保证**跨进程持久**的那份。部分无头/受限环境下 `setPassword` 看着成功却不落盘,
7
+ * 只写 keychain 会让下一个进程读不到值、另生成一把,自己解不开自己写的 auth 文件。
8
+ * - 写 keychain:e10-login 是 keychain 优先、**且只有 keychain 抛异常才回退 `.key`**;
9
+ * 少写这一份,两边会各自生成一把,互相解不开。
10
+ * 与 e10-login 共用同一 keychain 条目(service=e10-cli / account=auth-key)与同一 `.key` 路径,
6
11
  * 故 auth 文件在 e10-cli / e10-cli-server / e10-login 三者间互通。
7
12
  */
8
13
  import { createCipheriv, createDecipheriv, randomBytes } from 'crypto';
@@ -18,43 +23,73 @@ const KEYCHAIN_SERVICE = 'e10-cli';
18
23
  const KEYCHAIN_ACCOUNT = 'auth-key';
19
24
  const KEY_FILE = resolve(E10_DIR, '.key'); // keychain 不可用时的回退(0600)
20
25
  let _encKey = null;
21
- /** 取加密密钥:优先 OS keychain,不可用回退 0600 .key 文件(不存在则生成) */
22
- function getEncKey() {
23
- if (_encKey)
24
- return _encKey;
25
- // 1) OS keychain(与 e10-login 同一条目,auth 文件互通)
26
+ function isValidEncKey(key) {
27
+ return !!key && key.length === 32;
28
+ }
29
+ /**
30
+ * 取密钥的**决策 + 落库**:keychain 优先(共享的那份说了算)→ `.key` → 生成,生成时两边都写。
31
+ *
32
+ * ⚠ 别改成「只在 keychain 里生成后返回」:部分无头/受限环境下 `setPassword` 看着成功却不落盘,
33
+ * 下一个进程读不到值会另生成一把 → 自己解不开自己写的 auth 文件。
34
+ * ⚠ 也别改成「不写 keychain」:e10-login 只认 keychain,且**只有它抛异常才回退 `.key`**,
35
+ * 少写这一份会让两边各自生成、互相解不开(本次互通破损就是这么来的)。
36
+ */
37
+ export function resolveEncKey(stores) {
38
+ // 1) OS keychain —— 与 e10-login 共享的那一份
26
39
  try {
27
- const entry = new KeyringEntry(KEYCHAIN_SERVICE, KEYCHAIN_ACCOUNT);
28
- const stored = entry.getPassword(); // string | null
29
- if (stored && /^[A-Za-z0-9+/=]{40,}$/.test(stored)) {
30
- const key = Buffer.from(stored, 'base64');
31
- if (key.length === 32) {
32
- _encKey = key;
33
- return _encKey;
34
- }
35
- }
36
- // 不存在或格式不符 → 生成新密钥并写入 keychain
37
- const fresh = randomBytes(32);
38
- entry.setPassword(fresh.toString('base64'));
39
- _encKey = fresh;
40
- return _encKey;
40
+ const fromKeychain = stores.readKeychain();
41
+ if (isValidEncKey(fromKeychain))
42
+ return fromKeychain;
41
43
  }
42
- catch {
43
- // 2) keychain 不可用(headless 无后端等)→ 回退 0600 .key 文件
44
+ catch { /* keychain 不可用 → 落回 .key 文件 */ }
45
+ // 2) 本机 0600 `.key` 文件 —— 跨进程持久的那份
46
+ const fromFile = stores.readFile();
47
+ if (isValidEncKey(fromFile))
48
+ return fromFile;
49
+ // 3) 两处都没有 → 生成新密钥,**两边都写**
50
+ const fresh = randomBytes(32);
51
+ stores.writeFile(fresh);
52
+ try {
53
+ stores.writeKeychain(fresh);
44
54
  }
45
- if (existsSync(KEY_FILE)) {
46
- try {
47
- const key = Buffer.from(readFileSync(KEY_FILE, 'utf-8').trim(), 'base64');
48
- if (key.length === 32) {
49
- _encKey = key;
50
- return _encKey;
55
+ catch { /* keychain 写不进去就只留 .key —— 不影响 CLI 自己跨进程读回 */ }
56
+ return fresh;
57
+ }
58
+ function realStores() {
59
+ return {
60
+ readKeychain() {
61
+ const entry = new KeyringEntry(KEYCHAIN_SERVICE, KEYCHAIN_ACCOUNT);
62
+ const stored = entry.getPassword(); // string | null
63
+ if (!stored || !/^[A-Za-z0-9+/=]{40,}$/.test(stored))
64
+ return null;
65
+ const key = Buffer.from(stored, 'base64');
66
+ return key.length === 32 ? key : null;
67
+ },
68
+ readFile() {
69
+ if (!existsSync(KEY_FILE))
70
+ return null;
71
+ try {
72
+ const key = Buffer.from(readFileSync(KEY_FILE, 'utf-8').trim(), 'base64');
73
+ return key.length === 32 ? key : null;
51
74
  }
52
- }
53
- catch { /* 重新生成 */ }
54
- }
55
- _encKey = randomBytes(32);
56
- mkdirSync(E10_DIR, { recursive: true });
57
- writeFileSync(KEY_FILE, _encKey.toString('base64'), { mode: 0o600 });
75
+ catch {
76
+ return null;
77
+ }
78
+ },
79
+ writeFile(key) {
80
+ mkdirSync(E10_DIR, { recursive: true });
81
+ writeFileSync(KEY_FILE, key.toString('base64'), { mode: 0o600 });
82
+ },
83
+ writeKeychain(key) {
84
+ new KeyringEntry(KEYCHAIN_SERVICE, KEYCHAIN_ACCOUNT).setPassword(key.toString('base64'));
85
+ },
86
+ };
87
+ }
88
+ /** 取加密密钥(进程内缓存)。规则见 resolveEncKey。 */
89
+ function getEncKey() {
90
+ if (_encKey)
91
+ return _encKey;
92
+ _encKey = resolveEncKey(realStores());
58
93
  return _encKey;
59
94
  }
60
95
  export function encryptAuthData(plaintext) {
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/core/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGzD,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,gBAAgB,GAAG,UAAU,CAAC;AACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB;AAEpE,IAAI,OAAO,GAAkB,IAAI,CAAC;AAElC,sDAAsD;AACtD,SAAS,SAAS;IAChB,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAE5B,6CAA6C;IAC7C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,gBAAgB;QACpD,IAAI,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAAC,OAAO,GAAG,GAAG,CAAC;gBAAC,OAAO,OAAO,CAAC;YAAC,CAAC;QAC3D,CAAC;QACD,+BAA+B;QAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,OAAO,GAAG,KAAK,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC1E,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBAAC,OAAO,GAAG,GAAG,CAAC;gBAAC,OAAO,OAAO,CAAC;YAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC;AACjB,CAAC;AAQD,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;IACzF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAyB;IACvD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9D,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7F,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/core/crypto.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"action_eb_update_compiler.d.ts","sourceRoot":"","sources":["../../../../src/services/actionflow/components/action_eb_update_compiler.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiPlD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAOlH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqEjL;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkFrL"}
1
+ {"version":3,"file":"action_eb_update_compiler.d.ts","sourceRoot":"","sources":["../../../../src/services/actionflow/components/action_eb_update_compiler.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAmPlD,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAOlH;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAqEjL;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAkFrL"}
@@ -1,6 +1,7 @@
1
1
  import { genSfId, normalizeNumericFrontId } from '../id_generator.js';
2
2
  import { resolveCustomTriggerDtoId } from '../custom_trigger_context.js';
3
3
  import { formulaFixed, assignFlatContextDirect, attachEsbAssign, buildAssignBean, resolveParamKey, normalizeContextParamKey } from '../formula_service.js';
4
+ import { buildEsbFormDataDto } from './form_data_builder.js';
4
5
  function hasDraftValue(value) {
5
6
  if (value === null || value === undefined || value === '')
6
7
  return false;
@@ -218,9 +219,10 @@ function validateUpdateMode(draftParams) {
218
219
  return opType;
219
220
  }
220
221
  function normalizeUpdateSetting(result, opType) {
221
- const setting = result.setting && typeof result.setting === 'object' && !Array.isArray(result.setting)
222
+ const rawSetting = result.setting && typeof result.setting === 'object' && !Array.isArray(result.setting)
222
223
  ? result.setting
223
224
  : {};
225
+ const setting = buildEsbFormDataDto(rawSetting.main || {}, rawSetting.detail || [], rawSetting);
224
226
  setting.opType = opType;
225
227
  setting.updatePolicy = String(result.updatePolicy || setting.updatePolicy || 'ALL');
226
228
  setting.dataDrWithCalc ??= false;