weaver-e10-builder 1.5.11 → 1.5.13

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 (212) hide show
  1. package/README.md +212 -189
  2. package/assets/image-style-observation.schema.json +1355 -0
  3. package/assets/layout-spec.schema.json +52 -0
  4. package/dist/commands/designer-common.d.ts.map +1 -1
  5. package/dist/commands/designer-common.js +91 -0
  6. package/dist/commands/designer-common.js.map +1 -1
  7. package/dist/commands/form-add-detail-table.d.ts.map +1 -1
  8. package/dist/commands/form-add-detail-table.js +97 -1
  9. package/dist/commands/form-add-detail-table.js.map +1 -1
  10. package/dist/commands/form-field-linkage.d.ts +55 -0
  11. package/dist/commands/form-field-linkage.d.ts.map +1 -1
  12. package/dist/commands/form-field-linkage.js +1026 -12
  13. package/dist/commands/form-field-linkage.js.map +1 -1
  14. package/dist/commands/form-formula-linkage.d.ts +36 -0
  15. package/dist/commands/form-formula-linkage.d.ts.map +1 -1
  16. package/dist/commands/form-formula-linkage.js +107 -7
  17. package/dist/commands/form-formula-linkage.js.map +1 -1
  18. package/dist/commands/form-formula.d.ts.map +1 -1
  19. package/dist/commands/form-formula.js +21 -4
  20. package/dist/commands/form-formula.js.map +1 -1
  21. package/dist/commands/form-layout-restore.d.ts +3 -0
  22. package/dist/commands/form-layout-restore.d.ts.map +1 -0
  23. package/dist/commands/form-layout-restore.js +217 -0
  24. package/dist/commands/form-layout-restore.js.map +1 -0
  25. package/dist/commands/form-layout.d.ts.map +1 -1
  26. package/dist/commands/form-layout.js +11 -1
  27. package/dist/commands/form-layout.js.map +1 -1
  28. package/dist/commands/form-obj-meta.d.ts +12 -0
  29. package/dist/commands/form-obj-meta.d.ts.map +1 -0
  30. package/dist/commands/form-obj-meta.js +116 -0
  31. package/dist/commands/form-obj-meta.js.map +1 -0
  32. package/dist/commands/form-validate.d.ts.map +1 -1
  33. package/dist/commands/form-validate.js +167 -35
  34. package/dist/commands/form-validate.js.map +1 -1
  35. package/dist/commands/form.d.ts.map +1 -1
  36. package/dist/commands/form.js +359 -27
  37. package/dist/commands/form.js.map +1 -1
  38. package/dist/commands/menu.d.ts.map +1 -1
  39. package/dist/commands/menu.js +5 -3
  40. package/dist/commands/menu.js.map +1 -1
  41. package/dist/commands/wf-form.d.ts.map +1 -1
  42. package/dist/commands/wf-form.js +215 -13
  43. package/dist/commands/wf-form.js.map +1 -1
  44. package/dist/commands/workflow.d.ts.map +1 -1
  45. package/dist/commands/workflow.js +18 -4
  46. package/dist/commands/workflow.js.map +1 -1
  47. package/dist/core/client.d.ts +2 -1
  48. package/dist/core/client.d.ts.map +1 -1
  49. package/dist/core/client.js +4 -2
  50. package/dist/core/client.js.map +1 -1
  51. package/dist/index.js +2 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/services/actionflow/calendar_mapper.d.ts.map +1 -1
  54. package/dist/services/actionflow/calendar_mapper.js +34 -14
  55. package/dist/services/actionflow/calendar_mapper.js.map +1 -1
  56. package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
  57. package/dist/services/actionflow/components/document_actions.js +113 -4
  58. package/dist/services/actionflow/components/document_actions.js.map +1 -1
  59. package/dist/services/actionflow/components/eb_get_data_by_id.d.ts.map +1 -1
  60. package/dist/services/actionflow/components/eb_get_data_by_id.js +18 -1
  61. package/dist/services/actionflow/components/eb_get_data_by_id.js.map +1 -1
  62. package/dist/services/actionflow/components/index.d.ts.map +1 -1
  63. package/dist/services/actionflow/components/index.js +2 -1
  64. package/dist/services/actionflow/components/index.js.map +1 -1
  65. package/dist/services/actionflow/components/schedule_create.d.ts.map +1 -1
  66. package/dist/services/actionflow/components/schedule_create.js +22 -6
  67. package/dist/services/actionflow/components/schedule_create.js.map +1 -1
  68. package/dist/services/actionflow/components/workflow_actions.d.ts +1 -0
  69. package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
  70. package/dist/services/actionflow/components/workflow_actions.js +31 -6
  71. package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
  72. package/dist/services/actionflow/context_preflight.d.ts +5 -0
  73. package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
  74. package/dist/services/actionflow/context_preflight.js +88 -34
  75. package/dist/services/actionflow/context_preflight.js.map +1 -1
  76. package/dist/services/actionflow/document_source.d.ts +5 -0
  77. package/dist/services/actionflow/document_source.d.ts.map +1 -1
  78. package/dist/services/actionflow/document_source.js +16 -0
  79. package/dist/services/actionflow/document_source.js.map +1 -1
  80. package/dist/services/actionflow/filter_rules.d.ts.map +1 -1
  81. package/dist/services/actionflow/filter_rules.js +9 -8
  82. package/dist/services/actionflow/filter_rules.js.map +1 -1
  83. package/dist/services/actionflow/formula_service.d.ts +2 -1
  84. package/dist/services/actionflow/formula_service.d.ts.map +1 -1
  85. package/dist/services/actionflow/formula_service.js +52 -22
  86. package/dist/services/actionflow/formula_service.js.map +1 -1
  87. package/dist/services/actionflow/preflight_service.d.ts +5 -0
  88. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  89. package/dist/services/actionflow/preflight_service.js +128 -3
  90. package/dist/services/actionflow/preflight_service.js.map +1 -1
  91. package/dist/services/actionflow/save_workflow_draft.d.ts +7 -0
  92. package/dist/services/actionflow/save_workflow_draft.d.ts.map +1 -1
  93. package/dist/services/actionflow/save_workflow_draft.js +1 -1
  94. package/dist/services/actionflow/save_workflow_draft.js.map +1 -1
  95. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  96. package/dist/services/actionflow/workflow_compiler.js +51 -13
  97. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  98. package/dist/services/form-formula-linkage.d.ts +4 -0
  99. package/dist/services/form-formula-linkage.d.ts.map +1 -1
  100. package/dist/services/form-formula-linkage.js +3 -1
  101. package/dist/services/form-formula-linkage.js.map +1 -1
  102. package/dist/services/form-layout-io.d.ts +18 -0
  103. package/dist/services/form-layout-io.d.ts.map +1 -0
  104. package/dist/services/form-layout-io.js +89 -0
  105. package/dist/services/form-layout-io.js.map +1 -0
  106. package/dist/services/form-layout-source/artifact.d.ts +8 -0
  107. package/dist/services/form-layout-source/artifact.d.ts.map +1 -0
  108. package/dist/services/form-layout-source/artifact.js +52 -0
  109. package/dist/services/form-layout-source/artifact.js.map +1 -0
  110. package/dist/services/form-layout-source/binding.d.ts +10 -0
  111. package/dist/services/form-layout-source/binding.d.ts.map +1 -0
  112. package/dist/services/form-layout-source/binding.js +43 -0
  113. package/dist/services/form-layout-source/binding.js.map +1 -0
  114. package/dist/services/form-layout-source/compile.d.ts +7 -0
  115. package/dist/services/form-layout-source/compile.d.ts.map +1 -0
  116. package/dist/services/form-layout-source/compile.js +262 -0
  117. package/dist/services/form-layout-source/compile.js.map +1 -0
  118. package/dist/services/form-layout-source/creation.d.ts +18 -0
  119. package/dist/services/form-layout-source/creation.d.ts.map +1 -0
  120. package/dist/services/form-layout-source/creation.js +42 -0
  121. package/dist/services/form-layout-source/creation.js.map +1 -0
  122. package/dist/services/form-layout-source/excel-extractor.d.ts +7 -0
  123. package/dist/services/form-layout-source/excel-extractor.d.ts.map +1 -0
  124. package/dist/services/form-layout-source/excel-extractor.js +342 -0
  125. package/dist/services/form-layout-source/excel-extractor.js.map +1 -0
  126. package/dist/services/form-layout-source/image-border.d.ts +9 -0
  127. package/dist/services/form-layout-source/image-border.d.ts.map +1 -0
  128. package/dist/services/form-layout-source/image-border.js +128 -0
  129. package/dist/services/form-layout-source/image-border.js.map +1 -0
  130. package/dist/services/form-layout-source/image-observation.d.ts +14 -0
  131. package/dist/services/form-layout-source/image-observation.d.ts.map +1 -0
  132. package/dist/services/form-layout-source/image-observation.js +90 -0
  133. package/dist/services/form-layout-source/image-observation.js.map +1 -0
  134. package/dist/services/form-layout-source/image-review.d.ts +32 -0
  135. package/dist/services/form-layout-source/image-review.d.ts.map +1 -0
  136. package/dist/services/form-layout-source/image-review.js +266 -0
  137. package/dist/services/form-layout-source/image-review.js.map +1 -0
  138. package/dist/services/form-layout-source/image-style.d.ts +16 -0
  139. package/dist/services/form-layout-source/image-style.d.ts.map +1 -0
  140. package/dist/services/form-layout-source/image-style.js +539 -0
  141. package/dist/services/form-layout-source/image-style.js.map +1 -0
  142. package/dist/services/form-layout-source/json.d.ts +3 -0
  143. package/dist/services/form-layout-source/json.d.ts.map +1 -0
  144. package/dist/services/form-layout-source/json.js +33 -0
  145. package/dist/services/form-layout-source/json.js.map +1 -0
  146. package/dist/services/form-layout-source/presentation.d.ts +23 -0
  147. package/dist/services/form-layout-source/presentation.d.ts.map +1 -0
  148. package/dist/services/form-layout-source/presentation.js +174 -0
  149. package/dist/services/form-layout-source/presentation.js.map +1 -0
  150. package/dist/services/form-layout-source/preview.d.ts +4 -0
  151. package/dist/services/form-layout-source/preview.d.ts.map +1 -0
  152. package/dist/services/form-layout-source/preview.js +49 -0
  153. package/dist/services/form-layout-source/preview.js.map +1 -0
  154. package/dist/services/form-layout-source/schema.d.ts +20 -0
  155. package/dist/services/form-layout-source/schema.d.ts.map +1 -0
  156. package/dist/services/form-layout-source/schema.js +149 -0
  157. package/dist/services/form-layout-source/schema.js.map +1 -0
  158. package/dist/services/form-layout-source/source-grid.d.ts +8 -0
  159. package/dist/services/form-layout-source/source-grid.d.ts.map +1 -0
  160. package/dist/services/form-layout-source/source-grid.js +61 -0
  161. package/dist/services/form-layout-source/source-grid.js.map +1 -0
  162. package/dist/services/form-layout-source/types.d.ts +242 -0
  163. package/dist/services/form-layout-source/types.d.ts.map +1 -0
  164. package/dist/services/form-layout-source/types.js +2 -0
  165. package/dist/services/form-layout-source/types.js.map +1 -0
  166. package/dist/services/form-layout-source/verify.d.ts +14 -0
  167. package/dist/services/form-layout-source/verify.d.ts.map +1 -0
  168. package/dist/services/form-layout-source/verify.js +226 -0
  169. package/dist/services/form-layout-source/verify.js.map +1 -0
  170. package/dist/services/form-linkage-condition.d.ts +15 -0
  171. package/dist/services/form-linkage-condition.d.ts.map +1 -1
  172. package/dist/services/form-linkage-condition.js +19 -10
  173. package/dist/services/form-linkage-condition.js.map +1 -1
  174. package/dist/services/form-obj-meta.d.ts +72 -0
  175. package/dist/services/form-obj-meta.d.ts.map +1 -0
  176. package/dist/services/form-obj-meta.js +103 -0
  177. package/dist/services/form-obj-meta.js.map +1 -0
  178. package/dist/services/form-sub-detail.d.ts +25 -0
  179. package/dist/services/form-sub-detail.d.ts.map +1 -1
  180. package/dist/services/form-sub-detail.js +64 -0
  181. package/dist/services/form-sub-detail.js.map +1 -1
  182. package/dist/services/validate-help.d.ts +25 -0
  183. package/dist/services/validate-help.d.ts.map +1 -0
  184. package/dist/services/validate-help.js +29 -0
  185. package/dist/services/validate-help.js.map +1 -0
  186. package/dist/services/workflow-operator.d.ts +12 -5
  187. package/dist/services/workflow-operator.d.ts.map +1 -1
  188. package/dist/services/workflow-operator.js +41 -16
  189. package/dist/services/workflow-operator.js.map +1 -1
  190. package/package.json +3 -1
  191. package/skill-docs/SKILL.md +38 -165
  192. package/skill-docs/_catalog.md +4 -1
  193. package/skill-docs/actionflows/references/components/document/DocumentSave.md +17 -17
  194. package/skill-docs/actionflows/references/components/workflow/ApproveCompletelyDelete.md +29 -0
  195. package/skill-docs/actionflows/references/components/workflow/ApproveDelete.md +1 -1
  196. package/skill-docs/assets/schemas/image-style-observation.schema.json +1355 -0
  197. package/skill-docs/references/coding/guide-page-code.md +2 -0
  198. package/skill-docs/references/coding/ref-compile-rules.md +2 -0
  199. package/skill-docs/references/common/capability-boundaries.md +15 -0
  200. package/skill-docs/references/common/guide-install.md +44 -0
  201. package/skill-docs/references/common/guide-plan-template.md +167 -164
  202. package/skill-docs/references/common/map.md +9 -0
  203. package/skill-docs/references/common/ref-cli-commands.md +650 -635
  204. package/skill-docs/references/form/guide-create-form.md +2 -0
  205. package/skill-docs/references/form/guide-field-linkage.md +185 -58
  206. package/skill-docs/references/form/guide-form-formula-functions.md +354 -343
  207. package/skill-docs/references/form/guide-form-layout-planning.md +6 -0
  208. package/skill-docs/references/form/guide-form-layout-source.md +366 -0
  209. package/skill-docs/references/form/guide-form-linkage.md +56 -66
  210. package/skill-docs/references/form/guide-form-view.md +1 -1
  211. package/skill-docs/references/form/guide-formula-linkage.md +44 -1
  212. package/skill-docs/references/workflow/guide-workflow.md +1 -1
@@ -65,6 +65,14 @@ export function contextTableNameForRoot(root) {
65
65
  : root && isComponentContextRoot(root) ? root
66
66
  : '表单数据';
67
67
  }
68
+ function requireResolvedContextRoot(meta, componentType, paramKey) {
69
+ const root = String(meta?._context_table_primary_key || '').trim();
70
+ if (root)
71
+ return root;
72
+ if (componentType === 'CustomTrigger')
73
+ return 'SelectParams';
74
+ throw new Error(`[context] 字段 '${paramKey}' 缺少 getComponentContext 返回的 tablePrimaryKey,拒绝猜测上下文根`);
75
+ }
68
76
  /**
69
77
  * 自定义触发的来源 key 只保存业务路径,不能把公式根节点混进 paramKey。
70
78
  * 主表与明细表必须共用同一个主表路径,例如:
@@ -227,7 +235,7 @@ function resolveFormSettingSubKey(paramKey, meta) {
227
235
  */
228
236
  function resolveBasisSubKey(paramKey, basisParamKey, basisType, meta, resolved) {
229
237
  const kind = String(basisType || '').toLowerCase();
230
- const root = resolvedContextRoot(resolved, String(resolved.componentType || meta?._context_component_type || ''), '');
238
+ const root = resolvedContextRoot(resolved, String(resolved.componentType || meta?._context_component_type || ''));
231
239
  const selected = protocolParamKey(String(paramKey || ''), root, String(resolved.componentType || meta?._context_component_type || ''));
232
240
  const basis = protocolParamKey(String(basisParamKey || ''), root, String(resolved.componentType || meta?._context_component_type || ''));
233
241
  if (!basis || selected === basis)
@@ -287,7 +295,7 @@ export function contextMetaForReference(meta, reference, componentType = '') {
287
295
  : normalizeContextParamKey(selectedRaw, type);
288
296
  return projected;
289
297
  }
290
- export function resolvedContextRoot(resolved, componentType, fallback = '') {
298
+ export function resolvedContextRoot(resolved, componentType) {
291
299
  const supplied = String(resolved.tablePrimaryKey || '').trim();
292
300
  if (supplied)
293
301
  return supplied;
@@ -301,7 +309,9 @@ export function resolvedContextRoot(resolved, componentType, fallback = '') {
301
309
  if (SERVERLESS_CONTEXT_TABLES.has(key))
302
310
  return key;
303
311
  }
304
- return fallback || contextRootForComponent(componentType);
312
+ if (componentType === 'CustomTrigger')
313
+ return 'SelectParams';
314
+ throw new Error(`[context] ${String(resolved.paramKey || resolved.key || '上下文字段')} 缺少 getComponentContext 返回的 tablePrimaryKey,拒绝按 ${componentType || '未知组件'} 猜测上下文根`);
305
315
  }
306
316
  export function protocolParamKey(paramKey, root, componentType) {
307
317
  const raw = String(paramKey || '');
@@ -572,7 +582,11 @@ export function formulaContext(sourceComponentId, fieldKey, opts = {}) {
572
582
  const fieldName = String(opts.name || fieldKey);
573
583
  const componentType = opts.componentType || 'ApproveTrigger';
574
584
  const fieldType = opts.fieldType || 'string';
575
- const contextRoot = contextRootForComponent(componentType);
585
+ const resolvedRoot = String(opts.meta?._context_table_primary_key || '').trim();
586
+ if (opts.requireResolvedRoot && !resolvedRoot && componentType !== 'CustomTrigger') {
587
+ throw new Error(`[context] 字段 '${fieldKey}' 缺少 getComponentContext 返回的 tablePrimaryKey,拒绝猜测上下文根`);
588
+ }
589
+ const contextRoot = resolvedRoot || (componentType === 'CustomTrigger' ? 'SelectParams' : contextRootForComponent(componentType));
576
590
  const tableName = contextTableNameForRoot(contextRoot);
577
591
  const parentName = alignContextParentName(fieldKey, opts.parentName || fieldName, fieldName, opts.meta || null, { componentType });
578
592
  return {
@@ -873,11 +887,20 @@ export function buildPersonFormula(personRef, meta, appId = '', forSendMessage =
873
887
  return formulaFixed(pid || personRef.name || '');
874
888
  }
875
889
  if (directPerson) {
876
- if (ptype === 'context')
890
+ if (ptype === 'context') {
891
+ const componentType = String(personRef._resolvedContext?.componentType || personRef.componentType || meta?._context_component_type || 'ApproveTrigger');
892
+ const contextRoot = String(personRef._resolvedContext?.tablePrimaryKey || meta?._context_table_primary_key || '').trim();
893
+ if (!contextRoot && componentType !== 'CustomTrigger') {
894
+ throw new Error(`[context] 人员字段 '${pid}' 缺少 getComponentContext 返回的 tablePrimaryKey,拒绝猜测上下文根`);
895
+ }
877
896
  return formulaContext('', pid, {
878
897
  name: String(personRef.name || personRef.label || pid),
879
898
  frontId: personRef.frontId || personRef.fieldId || personRef._resolvedContext?.fieldId,
899
+ componentType,
900
+ meta: contextRoot ? { ...meta, _context_table_primary_key: contextRoot } : meta,
901
+ requireResolvedRoot: true,
880
902
  });
903
+ }
881
904
  const pname = String(personRef.name || personRef.label || '');
882
905
  if (pid && pname && pid !== '{userid}' && pid !== 'currentUser') {
883
906
  const personObj = buildPersonObject(pid, pname);
@@ -1525,7 +1548,7 @@ export function assignFlatContext(paramKey, fieldLabel, sourceId, appId, fieldTy
1525
1548
  const fid = genSfId();
1526
1549
  const src = String(sourceId) || '0';
1527
1550
  const componentType = String(meta?._context_component_type || meta?._upstream_component_type || '');
1528
- const contextRoot = contextRootForComponent(componentType);
1551
+ const contextRoot = requireResolvedContextRoot(meta, componentType, paramKey);
1529
1552
  const tableName = contextTableNameForRoot(contextRoot);
1530
1553
  const val = valueFull
1531
1554
  ? String(valueFull).replace(/^(?:FormData|ApprovalData|SelectParams)\./, `${contextRoot}.`)
@@ -1603,7 +1626,8 @@ export function assignFlatContextDirect(paramKey, fieldLabel, sourceId, appId, f
1603
1626
  return assignFlatHttpContext(httpMatch[2], fieldLabel, src, appId, fieldType, parentName, httpMatch[1], meta);
1604
1627
  }
1605
1628
  const componentType = String(meta?._context_component_type || meta?._upstream_component_type || '');
1606
- const contextRoot = String(meta?._context_table_primary_key || contextRootForComponent(componentType));
1629
+ const explicitContextRoot = String(meta?._context_table_primary_key || '').trim();
1630
+ const contextRoot = explicitContextRoot || requireResolvedContextRoot(meta, componentType, requestedPkey);
1607
1631
  const parameterContext = isParameterContext(componentType, requestedPkey, contextRoot);
1608
1632
  const parameterTable = parameterContext
1609
1633
  ? contextRoot
@@ -1644,7 +1668,13 @@ export function assignFlatContextDirect(paramKey, fieldLabel, sourceId, appId, f
1644
1668
  // 没有真实来源类型时才按旧规则把裸字段视为流程上下文。动作组件输出
1645
1669
  // (例如 GetDocumentInfo.documentInfo.name)同样可以是裸字段,不能因此被
1646
1670
  // 序列化成 ApprovalData/ApproveTrigger。
1647
- let isApproval = plainApprovalShape && !ctxComponentKey && resolvedSourceComponent === 'ApproveTrigger';
1671
+ // getComponentContext 返回的分组根是权威值。即使来源组件是 ApproveTrigger,
1672
+ // 业务表单字段也可能来自 FormData;只有完全没有真实分组根时才允许兼容旧的
1673
+ // “裸字段默认 ApprovalData” 规则,避免把业务字段凭空提升到 ApprovalData。
1674
+ let isApproval = !explicitContextRoot
1675
+ && plainApprovalShape
1676
+ && !ctxComponentKey
1677
+ && resolvedSourceComponent === 'ApproveTrigger';
1648
1678
  if (pkey.startsWith('dataResponse.') && String(meta?._upstream_component_type || '') === 'DateTrigger')
1649
1679
  isApproval = false;
1650
1680
  if (isApproval && meta && typeof meta === 'object') {
@@ -1697,17 +1727,21 @@ export function assignFlatContextDirect(paramKey, fieldLabel, sourceId, appId, f
1697
1727
  return result;
1698
1728
  }
1699
1729
  function directContextMeta(meta, sourceComponent, sourceRef) {
1700
- if (sourceComponent !== 'CustomTrigger' && sourceComponent !== 'WebHookTrigger' && sourceComponent !== 'ServerlessAction')
1701
- return meta;
1730
+ // 所有动态上下文字段都必须携带 getComponentContext 回填的分组根。
1731
+ // 之前这里只投影 CustomTrigger/WebHook/Serverless,ApproveTrigger 的
1732
+ // FormData 字段因此在 direct mapping 分支丢失根节点,随后被旧兜底规则
1733
+ // 序列化成 ApprovalData。
1702
1734
  const resolved = sourceRef?._resolvedContext && typeof sourceRef._resolvedContext === 'object'
1703
1735
  ? sourceRef._resolvedContext : {};
1736
+ const specialSource = ['CustomTrigger', 'WebHookTrigger', 'ServerlessAction'].includes(sourceComponent);
1737
+ const hasResolvedRoot = Boolean(String(resolved.tablePrimaryKey || resolved.tableKey || '').trim());
1738
+ // 没有预检元数据时保持旧的直编兼容路径;否则普通测试/旧调用方会被
1739
+ // 人为补成 ApproveTrigger,上下文字段也会错误地进入严格 frontId 校验。
1740
+ if (!specialSource && !hasResolvedRoot)
1741
+ return meta;
1704
1742
  return {
1705
1743
  ...contextMetaForReference(meta, sourceRef, sourceComponent),
1706
1744
  _context_component_type: sourceComponent,
1707
- ...(['WebHookTrigger', 'ServerlessAction'].includes(sourceComponent) ? {
1708
- _context_table_primary_key: String(resolved.tablePrimaryKey || resolved.tableKey || meta?._context_table_primary_key || ''),
1709
- _context_table_name: String(resolved.tableName || meta?._context_table_name || ''),
1710
- } : {}),
1711
1745
  };
1712
1746
  }
1713
1747
  function assignFlatEsbChild(paramKey, fieldLabel, sourceId, appId, fieldType = 'string', detailParamKey = '', detailLabel = '', workflowName = '', componentType = 'ApproveTrigger', meta = null, resolvedContext = null, basisParamKey = '', basisType = 'formSetting') {
@@ -1717,9 +1751,7 @@ function assignFlatEsbChild(paramKey, fieldLabel, sourceId, appId, fieldType = '
1717
1751
  const sourceComponent = String(resolved.componentType || componentType || 'ApproveTrigger');
1718
1752
  // EsbFormDataDto/CustSetFormDto 的依据值下级协议使用表单设置根;
1719
1753
  // 只有 API 已回填 tablePrimaryKey 时才采用来源组件的实际参数根。
1720
- const contextRoot = resolvedContextRoot(resolved, sourceComponent, sourceComponent === 'CustomTrigger'
1721
- ? 'SelectParams'
1722
- : parameterContextRoot(paramKey, sourceComponent) || 'FormData');
1754
+ const contextRoot = resolvedContextRoot(resolved, sourceComponent);
1723
1755
  const sourceMeta = contextMetaForReference(meta, { paramKey, _resolvedContext: resolved }, sourceComponent);
1724
1756
  const rawField = resolved.rawField && typeof resolved.rawField === 'object' ? resolved.rawField : {};
1725
1757
  const rawDetailPk = detailParamKey || basisParamKey || (paramKey.includes('[]') ? paramKey.slice(0, paramKey.indexOf('[]')) + '[]' : '');
@@ -1779,9 +1811,7 @@ function assignFlatEsbChild(paramKey, fieldLabel, sourceId, appId, fieldType = '
1779
1811
  function assignBasisFormulaArgument(paramKey, fieldLabel, sourceId, appId, fieldType, basisParamKey, basisType, meta, resolvedContext = {}) {
1780
1812
  const fid = genSfId();
1781
1813
  const sourceComponent = String(resolvedContext.componentType || meta?._context_component_type || meta?._upstream_component_type || 'ApproveTrigger');
1782
- const contextRoot = resolvedContextRoot(resolvedContext, sourceComponent, sourceComponent === 'CustomTrigger'
1783
- ? 'SelectParams'
1784
- : parameterContextRoot(paramKey, sourceComponent) || 'FormData');
1814
+ const contextRoot = resolvedContextRoot(resolvedContext, sourceComponent);
1785
1815
  const selectedParamKey = protocolParamKey(String(paramKey), contextRoot, sourceComponent);
1786
1816
  const selectedBasisKey = protocolParamKey(String(basisParamKey), contextRoot, sourceComponent);
1787
1817
  const relative = selectedParamKey.startsWith(`${selectedBasisKey}.`)
@@ -1844,8 +1874,9 @@ function assignBasisFormulaArgument(paramKey, fieldLabel, sourceId, appId, field
1844
1874
  function formulaIndexedWorkflowDetailArgument(paramKey, fieldLabel, sourceId, appId, fieldType = 'string', detailLabel = '', meta = {}, resolvedFrontId = '', resolvedContext = {}) {
1845
1875
  const fid = genSfId();
1846
1876
  const sourceComponent = String(resolvedContext.componentType || meta?._context_component_type || meta?._upstream_component_type || 'ApproveTrigger');
1877
+ const contextRoot = resolvedContextRoot(resolvedContext, sourceComponent);
1847
1878
  const parameterRoot = (sourceComponent === 'WebHookTrigger' || sourceComponent === 'ServerlessAction')
1848
- ? String(resolvedContext.tablePrimaryKey || resolvedContext.tableKey || meta?._context_table_primary_key || parameterContextRoot(paramKey, sourceComponent) || '')
1879
+ ? contextRoot
1849
1880
  : '';
1850
1881
  const normalizedParamKey = parameterRoot
1851
1882
  ? protocolParamKey(String(paramKey), parameterRoot, sourceComponent)
@@ -1868,7 +1899,6 @@ function formulaIndexedWorkflowDetailArgument(paramKey, fieldLabel, sourceId, ap
1868
1899
  index.name = '0';
1869
1900
  index.position = genSfId();
1870
1901
  index.parentId = fid;
1871
- const contextRoot = parameterRoot || contextRootForComponent(sourceComponent);
1872
1902
  const tableName = parameterRoot
1873
1903
  ? String(resolvedContext.tableName || meta?._context_table_name || contextRoot)
1874
1904
  : contextTableNameForRoot(contextRoot);