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
@@ -6,8 +6,9 @@
6
6
  import { genSfId, normalizeNumericFrontId } from './id_generator.js';
7
7
  import fs from 'node:fs';
8
8
  import { get, getCompiler, getNodePost } from './components/index.js';
9
+ import { buildEsbFormDataDto, buildEsbFormField } from './components/form_data_builder.js';
9
10
  import { findInMetadata, getTargetFormFields, getWorkflowDetailNames, getTargetDetailFields, getWorkflowDetailFields, getWorkflowFieldIds, workflowFieldId, getWorkflowContextFields, getWorkflowContextFieldsByKey } from './runtime_metadata.js';
10
- import { buildPersonFormula, buildSettingEntry, buildAssignBean, attachEsbAssign, resolveEnumConstant, resolveParamKey, resolveSourceFieldLabel, resolveSourceFieldType, normalizeConstantAssignment, lookupTargetFieldMeta, formulaFixedForAssignSwitch, formulaSystemVar, formulaContext, assignFlatContextDirect, getFormulaFn, formulaFunction, contextRootForComponent, contextTableNameForRoot, normalizeContextParamKey, } from './formula_service.js';
11
+ import { buildPersonFormula, buildAssignBean, attachEsbAssign, resolveEnumConstant, resolveParamKey, resolveSourceFieldLabel, resolveSourceFieldType, normalizeConstantAssignment, lookupTargetFieldMeta, formulaFixedForAssignSwitch, formulaSystemVar, formulaContext, assignFlatContextDirect, getFormulaFn, formulaFunction, contextRootForComponent, contextTableNameForRoot, normalizeContextParamKey, } from './formula_service.js';
11
12
  import { buildFormulaReference, buildUpdateFieldCondition } from './components/action_eb_update_compiler.js';
12
13
  import { resolveCustomTriggerDtoId } from './custom_trigger_context.js';
13
14
  import { resolveSystemParameter, isDateSystemParameter } from './system_params.js';
@@ -443,7 +444,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
443
444
  const sourceType = field.type ?? '';
444
445
  fieldType = { String: 'Text', string: 'Text', Number: 'NumberComponent', number: 'NumberComponent' }[sourceType] ?? (sourceType || 'Text');
445
446
  }
446
- main[String(fid)] = buildSettingEntry(String(fid), u, fieldType, meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
447
+ main[String(fid)] = buildEsbFormField(String(fid), u, fieldType, meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
447
448
  }
448
449
  }
449
450
  if (mapping && typeof mapping === 'object' && !Array.isArray(mapping)) {
@@ -456,7 +457,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
456
457
  const tfid = String(targetFieldId.target || '');
457
458
  if (!tfid)
458
459
  throw new Error(`mapping 系统变量值缺少目标字段 id: 应传 {'target':'<目标字段id>', 'systemValue':'currentUser'}`);
459
- main[tfid] = buildSettingEntry(tfid, { kind: 'system_variable', key: svKey }, 'Text', meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
460
+ main[tfid] = buildEsbFormField(tfid, { kind: 'system_variable', key: svKey }, 'Text', meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
460
461
  continue;
461
462
  }
462
463
  const declaredKind = String(targetFieldId.kind || targetFieldId.assignmentKind || 'context');
@@ -512,7 +513,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
512
513
  const srcFt = resolveSourceFieldType(srcParamKey, meta);
513
514
  const targetMeta = lookupTargetFieldMeta(raw, result);
514
515
  const targetFt = String(targetMeta?.componentKey || targetMeta?.type || srcFt || 'Text');
515
- main[raw] = buildSettingEntry(raw, assignment, targetFt, meta, appId, String(eventId), operate, componentType, false, assignmentMode);
516
+ main[raw] = buildEsbFormField(raw, assignment, targetFt, meta, appId, String(eventId), operate, componentType, false, assignmentMode);
516
517
  }
517
518
  else {
518
519
  let raw = String(targetFieldId);
@@ -530,7 +531,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
530
531
  const srcFt = resolveSourceFieldType(refKey, meta);
531
532
  const targetMeta = lookupTargetFieldMeta(raw, result);
532
533
  const targetFt = String(targetMeta?.componentKey || targetMeta?.type || srcFt || 'Text');
533
- main[raw] = buildSettingEntry(raw, assignment, targetFt, meta, appId, String(eventId), operate, componentType, false, assignmentMode);
534
+ main[raw] = buildEsbFormField(raw, assignment, targetFt, meta, appId, String(eventId), operate, componentType, false, assignmentMode);
534
535
  }
535
536
  }
536
537
  }
@@ -549,7 +550,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
549
550
  // 固定枚举值的外层 fieldType 必须是目标组件类型(例如 Select),
550
551
  // 与手工保存 JSON 一致;使用默认 Text 会导致设计器下拉回显为空。
551
552
  const targetFieldType = String(fieldMeta?.componentKey || fieldMeta?.type || ft);
552
- main[tfid] = buildSettingEntry(tfid, assignment, targetFieldType, meta, appId, String(eventId), operateC, componentType, false, assignmentMode);
553
+ main[tfid] = buildEsbFormField(tfid, assignment, targetFieldType, meta, appId, String(eventId), operateC, componentType, false, assignmentMode);
553
554
  }
554
555
  }
555
556
  if (formula && typeof formula === 'object' && !Array.isArray(formula)) {
@@ -560,7 +561,7 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
560
561
  if (String(fspec.kind || '') === 'function') {
561
562
  const fieldMeta = lookupTargetFieldMeta(String(targetFieldId), result);
562
563
  const targetFieldType = String(fieldMeta?.componentKey || fieldMeta?.type || fspec.resultType || 'Number');
563
- main[String(targetFieldId)] = buildSettingEntry(String(targetFieldId), fspec, targetFieldType, meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
564
+ main[String(targetFieldId)] = buildEsbFormField(String(targetFieldId), fspec, targetFieldType, meta, appId, String(eventId), 'OPERATE_EQUAL', componentType, false, assignmentMode);
564
565
  continue;
565
566
  }
566
567
  const op = fspec.op || 'add';
@@ -609,15 +610,11 @@ export function fillSetting(result, updates, mapping, constants, formula, meta,
609
610
  main[fidS] = { formFieldKey: '', value: { original: false, operate: 'OPERATE_EQUAL', fieldKey: fidS, multiSelect: false } };
610
611
  }
611
612
  }
612
- result.setting = {
613
+ result.setting = buildEsbFormDataDto(main, [], {
613
614
  opType: result.opType ?? 'insert',
614
615
  updatePolicy: result.updatePolicy ?? 'ALL',
615
- dataDrWithCalc: false,
616
- main,
617
- detail: [],
618
- deleteMainFields: [],
619
616
  updateFieldCondition: { updateField: [] },
620
- };
617
+ });
621
618
  }
622
619
  // ── filter 筛选条件树 ───────────────────────────────────────
623
620
  function isFilterGroup(value) {
@@ -1416,7 +1413,7 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
1416
1413
  assignment.detailLabel = refDetail;
1417
1414
  const targetMeta = targetDetailFields[raw] || {};
1418
1415
  const targetType = String(targetMeta.componentKey || targetMeta.type || 'Text');
1419
- eleData[raw] = buildSettingEntry(raw, assignment, targetType, meta, appId, eventId, operate, nodeType, true, '');
1416
+ eleData[raw] = buildEsbFormField(raw, assignment, targetType, meta, appId, eventId, operate, nodeType, true, '');
1420
1417
  }
1421
1418
  else {
1422
1419
  let raw = String(targetFieldId);
@@ -1431,7 +1428,7 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
1431
1428
  assignment = { kind: 'context', paramKey: String(sourceKey), label: resolveSourceFieldLabel(String(sourceKey), meta, String(sourceKey)) };
1432
1429
  const targetMeta = targetDetailFields[raw] || {};
1433
1430
  const targetType = String(targetMeta.componentKey || targetMeta.type || 'Text');
1434
- eleData[raw] = buildSettingEntry(raw, assignment, targetType, meta, appId, eventId, operate, nodeType, true, '');
1431
+ eleData[raw] = buildEsbFormField(raw, assignment, targetType, meta, appId, eventId, operate, nodeType, true, '');
1435
1432
  }
1436
1433
  }
1437
1434
  }
@@ -1442,7 +1439,7 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
1442
1439
  const value = resolveEnumConstant(valueRaw, targetMeta);
1443
1440
  const [assignment, ft] = normalizeConstantAssignment(value, 'Text');
1444
1441
  const targetType = String(targetMeta.componentKey || targetMeta.type || ft);
1445
- eleData[targetFieldId] = buildSettingEntry(targetFieldId, assignment, targetType, meta, appId, eventId, 'OPERATE_EQUAL', nodeType, true, '');
1442
+ eleData[targetFieldId] = buildEsbFormField(targetFieldId, assignment, targetType, meta, appId, eventId, 'OPERATE_EQUAL', nodeType, true, '');
1446
1443
  }
1447
1444
  }
1448
1445
  const formula = item.formula || {};
@@ -1456,7 +1453,7 @@ export function buildSettingDetail(nodeData, detailItems, meta, appId, eventId,
1456
1453
  continue;
1457
1454
  const targetMeta = targetDetailFields[String(targetFieldId)] || {};
1458
1455
  const targetType = String(targetMeta.componentKey || targetMeta.type || formulaSpec.resultType || 'Text');
1459
- eleData[String(targetFieldId)] = buildSettingEntry(String(targetFieldId), formulaSpec, targetType, meta, appId, eventId, 'OPERATE_EQUAL', nodeType, true, '');
1456
+ eleData[String(targetFieldId)] = buildEsbFormField(String(targetFieldId), formulaSpec, targetType, meta, appId, eventId, 'OPERATE_EQUAL', nodeType, true, '');
1460
1457
  }
1461
1458
  }
1462
1459
  // detail 自动按名补全
@@ -1512,7 +1509,7 @@ export function autoFillDetailMapping(eleData, item, targetFormId, meta, appId,
1512
1509
  const assignment = { kind: 'context', paramKey: srcPk, label: tname };
1513
1510
  if (bvLabel)
1514
1511
  assignment.detailLabel = bvLabel;
1515
- eleData[tidS] = buildSettingEntry(tidS, assignment, String(tmeta.componentKey || tmeta.type || 'Text'), meta, appId, eventId, 'OPERATE_EQUAL', nodeType, true, '');
1512
+ eleData[tidS] = buildEsbFormField(tidS, assignment, String(tmeta.componentKey || tmeta.type || 'Text'), meta, appId, eventId, 'OPERATE_EQUAL', nodeType, true, '');
1516
1513
  }
1517
1514
  }
1518
1515
  // ── convert_node ────────────────────────────────────────────
@@ -1567,7 +1564,7 @@ export function convertNode(draftAction, isEvent = false, meta = null, appId = '
1567
1564
  delete nodeData.setting;
1568
1565
  const main = (setting || {}).main || {};
1569
1566
  const detailOut = (setting || {}).detail || [];
1570
- nodeData.formData = { main, detail: detailOut, dataDrWithCalc: false, deleteMainFields: [] };
1567
+ nodeData.formData = buildEsbFormDataDto(main, detailOut);
1571
1568
  // ApproveCreateDTO 没有使用 fields;目标字段仅用于编译 mapping,不能写入保存 DTO。
1572
1569
  if (nodeType !== 'ApproveCreate') {
1573
1570
  const fieldsMetaKey = String(formDataPayload.fieldsMetaKey || '_bizFields');
@@ -1588,7 +1585,7 @@ export function convertNode(draftAction, isEvent = false, meta = null, appId = '
1588
1585
  }
1589
1586
  else if (formDataPayload && typeof formDataPayload === 'object') {
1590
1587
  // 声明 formDataPayload 的组件即使没有字段映射,也显式携带表单数据容器。
1591
- nodeData.formData ??= { main: {}, detail: [], dataDrWithCalc: false, deleteMainFields: [] };
1588
+ nodeData.formData ??= buildEsbFormDataDto();
1592
1589
  if (nodeType !== 'ApproveCreate')
1593
1590
  nodeData.fields ??= { main: [], detail: [] };
1594
1591
  nodeData.formDataId ??= genSfId();
@@ -1639,7 +1636,7 @@ export function convertNode(draftAction, isEvent = false, meta = null, appId = '
1639
1636
  continue;
1640
1637
  const targetFieldMeta = lookupTargetFieldMeta(raw, nodeData);
1641
1638
  const targetFieldType = String(targetFieldMeta?.componentKey || targetFieldMeta?.type || 'Text');
1642
- main[raw] = buildSettingEntry(raw, { kind: 'context', paramKey: String(sourceKey), label: String(sourceKey) }, targetFieldType, meta || {}, appId, eventNodeId || nidStr, operate, nodeType, false, assignmentMode);
1639
+ main[raw] = buildEsbFormField(raw, { kind: 'context', paramKey: String(sourceKey), label: String(sourceKey) }, targetFieldType, meta || {}, appId, eventNodeId || nidStr, operate, nodeType, false, assignmentMode);
1643
1640
  }
1644
1641
  }
1645
1642
  if (pendingConstants && typeof pendingConstants === 'object') {
@@ -1656,7 +1653,7 @@ export function convertNode(draftAction, isEvent = false, meta = null, appId = '
1656
1653
  rawV = resolveEnumConstant(rawV, targetFieldMeta);
1657
1654
  const [assignment, ft] = normalizeConstantAssignment(rawV, 'Text');
1658
1655
  const targetFieldType = String(targetFieldMeta?.componentKey || targetFieldMeta?.type || ft);
1659
- main[targetFieldId] = buildSettingEntry(targetFieldId, assignment, targetFieldType, meta || {}, appId, eventNodeId || nidStr, operateC, nodeType, false, assignmentMode);
1656
+ main[targetFieldId] = buildEsbFormField(targetFieldId, assignment, targetFieldType, meta || {}, appId, eventNodeId || nidStr, operateC, nodeType, false, assignmentMode);
1660
1657
  }
1661
1658
  }
1662
1659
  nodeData.setting.main = main;