@rytass/bpm-core-shared 0.13.5 → 0.15.0

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NOTIFY_WEBHOOK_CONTEXT_PATHS = exports.NOTIFY_WEBHOOK_ENDPOINT_VERSION_MAX = exports.NOTIFY_WEBHOOK_TARGET_LIMIT = exports.CONDITION_OPERATORS_REQUIRING_VALUE = exports.DEFAULT_QUORUM_THRESHOLD = exports.DEFAULT_SLA_CONFIG = exports.SLA_TIMEOUT_ACTION_OPTIONS = exports.SLA_CALENDAR_MODE_OPTIONS = exports.SLA_DURATION_UNIT_OPTIONS = exports.CONDITION_OPERATOR_OPTIONS = exports.WORKFLOW_NODE_TYPE_LABELS = exports.WORKFLOW_OUTPUT_HANDLE_ID = exports.WORKFLOW_INPUT_HANDLE_ID = void 0;
3
+ exports.NOTIFY_WEBHOOK_CONTEXT_PATHS = exports.NOTIFY_WEBHOOK_ENDPOINT_VERSION_MAX = exports.NOTIFY_WEBHOOK_TARGET_LIMIT = exports.DEFAULT_MANAGER_RESOLVER = exports.CONDITION_OPERATORS_REQUIRING_VALUE = exports.DEFAULT_QUORUM_THRESHOLD = exports.DEFAULT_SLA_CONFIG = exports.SLA_TIMEOUT_ACTION_OPTIONS = exports.SLA_CALENDAR_MODE_OPTIONS = exports.SLA_DURATION_UNIT_OPTIONS = exports.CONDITION_OPERATOR_OPTIONS = exports.WORKFLOW_NODE_TYPE_LABELS = exports.WORKFLOW_OUTPUT_HANDLE_ID = exports.WORKFLOW_INPUT_HANDLE_ID = exports.EXCLUDE_INITIATOR_WHEN_EMPTY_VALUES = void 0;
4
4
  exports.composeSlaDuration = composeSlaDuration;
5
5
  exports.composeQuorumThreshold = composeQuorumThreshold;
6
6
  exports.readDesignTimeApproverCount = readDesignTimeApproverCount;
@@ -32,6 +32,8 @@ exports.isParallelGatewaySourceEdge = isParallelGatewaySourceEdge;
32
32
  exports.toggleSelectedEdgeId = toggleSelectedEdgeId;
33
33
  exports.readWorkflowDefinitionIssue = readWorkflowDefinitionIssue;
34
34
  exports.readNotifyServiceTaskIssue = readNotifyServiceTaskIssue;
35
+ exports.readExcludeInitiatorIssue = readExcludeInitiatorIssue;
36
+ exports.isOrgManagerChainDecisionPolicyInvalid = isOrgManagerChainDecisionPolicyInvalid;
35
37
  exports.readApproverResolverIssue = readApproverResolverIssue;
36
38
  exports.hasConfiguredConditionEdges = hasConfiguredConditionEdges;
37
39
  exports.readServiceTaskMemberIds = readServiceTaskMemberIds;
@@ -62,6 +64,7 @@ exports.readFormFieldReference = readFormFieldReference;
62
64
  exports.readConditionExpressionOperator = readConditionExpressionOperator;
63
65
  exports.readConditionExpressionValue = readConditionExpressionValue;
64
66
  const form_1 = require("./form");
67
+ exports.EXCLUDE_INITIATOR_WHEN_EMPTY_VALUES = ['FAIL', 'INITIATOR_MANAGER', 'SKIP_NODE'];
65
68
  exports.WORKFLOW_INPUT_HANDLE_ID = 'input';
66
69
  exports.WORKFLOW_OUTPUT_HANDLE_ID = 'output';
67
70
  exports.WORKFLOW_NODE_TYPE_LABELS = {
@@ -262,6 +265,20 @@ function normalizeSingleIncomingTriggerModes(definition) {
262
265
  return hasNodeChanges ? Object.assign(Object.assign({}, definition), { nodes }) : definition;
263
266
  }
264
267
  // ── Node / edge factories ──────────────────────────────────────────────────
268
+ /**
269
+ * The always-valid default approver: the initiator's direct manager (one level
270
+ * up). Needs no member/org id, so a node built purely from this passes
271
+ * validation. New nodes start from it instead of a placeholder member id that
272
+ * would be stored forever if the designer never removed it.
273
+ *
274
+ * Every new node shares this one object, so it is frozen: an in-place edit
275
+ * that slips past the readonly types throws instead of changing them all.
276
+ */
277
+ exports.DEFAULT_MANAGER_RESOLVER = Object.freeze({
278
+ baseFromInitiator: true,
279
+ levelsUp: 1,
280
+ type: 'ORG_MANAGER',
281
+ });
265
282
  function createWorkflowNode(type, index) {
266
283
  const id = `${type}_${index}`;
267
284
  const base = {
@@ -273,7 +290,7 @@ function createWorkflowNode(type, index) {
273
290
  allowAddSigner: false,
274
291
  allowReject: true,
275
292
  allowTransfer: true,
276
- approverResolver: { memberIds: ['member-001'], type: 'DIRECT' },
293
+ approverResolver: exports.DEFAULT_MANAGER_RESOLVER,
277
294
  decisionPolicy: { type: 'SINGLE' },
278
295
  label: `簽核節點 ${index}`,
279
296
  returnBehavior: {
@@ -289,7 +306,7 @@ function createWorkflowNode(type, index) {
289
306
  return Object.assign(Object.assign({}, base), { data: {
290
307
  action: {
291
308
  channels: ['IN_APP'],
292
- recipients: { memberIds: ['member-001'], type: 'DIRECT' },
309
+ recipients: exports.DEFAULT_MANAGER_RESOLVER,
293
310
  type: 'NOTIFY',
294
311
  },
295
312
  label: `知會節點 ${index}`,
@@ -495,6 +512,8 @@ function readWorkflowDefinitionIssue(definition) {
495
512
  Boolean(readApproverResolverIssue(node.data.approverResolver)));
496
513
  const unsatisfiableQuorumNode = definition.nodes.find((node) => node.type === 'userTask' &&
497
514
  isDecisionPolicyUnsatisfiable(node.data.decisionPolicy, node.data.approverResolver));
515
+ const excludeInitiatorNode = definition.nodes.find((node) => node.type === 'userTask' &&
516
+ Boolean(readExcludeInitiatorIssue(node.data.excludeInitiator)));
498
517
  const notifyNodeIssue = (_a = definition.nodes
499
518
  .map((node) => readNotifyServiceTaskIssue(node))
500
519
  .find((issue) => issue !== null)) !== null && _a !== void 0 ? _a : null;
@@ -513,6 +532,11 @@ function readWorkflowDefinitionIssue(definition) {
513
532
  if (incompleteUserTaskNode && incompleteUserTaskNode.type === 'userTask') {
514
533
  return readApproverResolverIssue(incompleteUserTaskNode.data.approverResolver);
515
534
  }
535
+ const chainPolicyNode = definition.nodes.find((node) => node.type === 'userTask' &&
536
+ isOrgManagerChainDecisionPolicyInvalid(node.data.approverResolver, node.data.decisionPolicy));
537
+ if (chainPolicyNode && chainPolicyNode.type === 'userTask') {
538
+ return `簽核節點「${chainPolicyNode.data.label}」使用「沿主管鏈簽核」時,決策方式必須是「依序簽核或全部同意」,否則任一位主管簽完就會結案。`;
539
+ }
516
540
  if (unsatisfiableQuorumNode &&
517
541
  unsatisfiableQuorumNode.type === 'userTask' &&
518
542
  ((_b = unsatisfiableQuorumNode.data.decisionPolicy) === null || _b === void 0 ? void 0 : _b.type) === 'QUORUM') {
@@ -521,6 +545,9 @@ function readWorkflowDefinitionIssue(definition) {
521
545
  `但只指定了 ${readDesignTimeApproverCount(unsatisfiableQuorumNode.data.approverResolver)} 位簽核者,` +
522
546
  '這一關將永遠無法通過。請降低門檻人數或增加簽核者。');
523
547
  }
548
+ if (excludeInitiatorNode && excludeInitiatorNode.type === 'userTask') {
549
+ return readExcludeInitiatorIssue(excludeInitiatorNode.data.excludeInitiator);
550
+ }
524
551
  if (notifyNodeIssue) {
525
552
  return notifyNodeIssue;
526
553
  }
@@ -560,6 +587,33 @@ function readNotifyServiceTaskIssue(node) {
560
587
  }
561
588
  return readNotifyRecipientsIssue(action.recipients);
562
589
  }
590
+ /**
591
+ * The designer-facing issue for a node's `excludeInitiator` setting, or `null`
592
+ * when it is absent or well-formed.
593
+ */
594
+ function readExcludeInitiatorIssue(config) {
595
+ if (config === undefined) {
596
+ return null;
597
+ }
598
+ return exports.EXCLUDE_INITIATOR_WHEN_EMPTY_VALUES.includes(config === null || config === void 0 ? void 0 : config.whenEmpty)
599
+ ? null
600
+ : '簽核節點的「申請人不可簽核自己的單」需要指定沒有其他簽核人時的處理方式。';
601
+ }
602
+ /**
603
+ * `true` when an `ORG_MANAGER_CHAIN` node uses a decision policy that lets one
604
+ * manager close the node (`SINGLE`, `PARALLEL_ANY`, `QUORUM`) or has none at
605
+ * all. A chain only makes sense when every manager on it has to sign, so the
606
+ * node must wait for all candidates (`SEQUENTIAL` or `PARALLEL_ALL`).
607
+ *
608
+ * Only applies to user-task approver resolvers: a NOTIFY recipient chain
609
+ * notifies everyone and has no decision policy.
610
+ */
611
+ function isOrgManagerChainDecisionPolicyInvalid(resolver, decisionPolicy) {
612
+ // `resolver` can be missing on raw JSON that has not been linted yet.
613
+ return ((resolver === null || resolver === void 0 ? void 0 : resolver.type) === 'ORG_MANAGER_CHAIN' &&
614
+ (decisionPolicy === null || decisionPolicy === void 0 ? void 0 : decisionPolicy.type) !== 'SEQUENTIAL' &&
615
+ (decisionPolicy === null || decisionPolicy === void 0 ? void 0 : decisionPolicy.type) !== 'PARALLEL_ALL');
616
+ }
563
617
  function readApproverResolverIssue(resolver) {
564
618
  var _a;
565
619
  if (resolver.type === 'DIRECT' && resolver.memberIds.length === 0) {
@@ -578,7 +632,13 @@ function readApproverResolverIssue(resolver) {
578
632
  (!resolver.orgUnitId.trim() || !resolver.positionId.trim())) {
579
633
  return '簽核節點需要指定組織與職位。';
580
634
  }
581
- if ((resolver.type === 'ORG_MANAGER' || resolver.type === 'ORG_UNIT_MANAGER') &&
635
+ if (resolver.type === 'ORG_MANAGER_CHAIN' &&
636
+ !Number.isInteger(resolver.minPositionLevel)) {
637
+ return '簽核節點需要指定有效的職等門檻。';
638
+ }
639
+ if ((resolver.type === 'ORG_MANAGER' ||
640
+ resolver.type === 'ORG_UNIT_MANAGER' ||
641
+ resolver.type === 'ORG_MANAGER_CHAIN') &&
582
642
  ((_a = resolver.fallback) === null || _a === void 0 ? void 0 : _a.type) === 'DIRECT' &&
583
643
  !resolver.fallback.memberId.trim()) {
584
644
  return '簽核節點需要指定改派固定人。';
@@ -586,6 +646,9 @@ function readApproverResolverIssue(resolver) {
586
646
  if (resolver.type === 'POSITION' && !resolver.positionId.trim()) {
587
647
  return '簽核節點需要指定職位。';
588
648
  }
649
+ if (resolver.type === 'DYNAMIC_FORM' && !resolver.formPath.trim()) {
650
+ return '簽核節點需要指定表單欄位。';
651
+ }
589
652
  return null;
590
653
  }
591
654
  function hasConfiguredConditionEdges(definition) {
@@ -706,9 +769,11 @@ function isFormFieldCompatibleWithWebhookParameter(field, type) {
706
769
  ? (0, form_1.readFormFieldSelectionMode)(field)
707
770
  : null;
708
771
  if (type === 'stringArray') {
709
- return selectionMode === 'multiple';
772
+ return (selectionMode === 'multiple' ||
773
+ (field.type === 'member' && field.multiple === true));
710
774
  }
711
- return (field.type === 'text' ||
775
+ return ((field.type === 'member' && field.multiple !== true) ||
776
+ field.type === 'text' ||
712
777
  field.type === 'textarea' ||
713
778
  field.type === 'date' ||
714
779
  field.type === 'datetime' ||
@@ -1016,7 +1081,11 @@ function readConditionOperator(value) {
1016
1081
  : null;
1017
1082
  }
1018
1083
  function readConditionOperatorIds(field) {
1019
- if (field.type === 'file_upload' || field.type === 'table') {
1084
+ // A member id is an opaque directory key: nobody can type the right one into
1085
+ // a condition, so only "was someone picked" is offered.
1086
+ if (field.type === 'file_upload' ||
1087
+ field.type === 'member' ||
1088
+ field.type === 'table') {
1020
1089
  return ['IS_FILLED', 'IS_EMPTY'];
1021
1090
  }
1022
1091
  if (field.type === 'boolean') {
@@ -1116,6 +1185,19 @@ function readConditionExpression(field, operator, value) {
1116
1185
  return undefined;
1117
1186
  }
1118
1187
  const fieldReference = readFormFieldReference(field.fieldKey);
1188
+ if (field.type === 'member') {
1189
+ // The value is a string (single) or a list (multiple), so the flat `== ""`
1190
+ // test alone would call the list `[]` filled, and `size()` would throw on
1191
+ // an explicit `null` (it does not short-circuit behind `== null ||`).
1192
+ // Comparing against `[]` as well is null-safe for both shapes.
1193
+ if (operator === 'IS_FILLED') {
1194
+ return `${fieldReference} != null && ${fieldReference} != "" && ${fieldReference} != []`;
1195
+ }
1196
+ if (operator === 'IS_EMPTY') {
1197
+ return `${fieldReference} == null || ${fieldReference} == "" || ${fieldReference} == []`;
1198
+ }
1199
+ return undefined;
1200
+ }
1119
1201
  if (field.type === 'table') {
1120
1202
  // A table value is a list, so emptiness means row count, not `== ""`.
1121
1203
  // cel-js supports the global `size()` macro but not a `.size()` method,
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-graph.js","sourceRoot":"","sources":["../../../../../libs/shared/src/lib/workflow-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-graph.js","sourceRoot":"","sources":["../../../../../libs/shared/src/lib/workflow-graph.ts"],"names":[],"mappings":"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"}
@@ -26,22 +26,22 @@ const SLA_TIMEOUT_ACTION_ENUM = [
26
26
  ];
27
27
  const SLA_DURATION_UNIT_ENUM = ['DAY', 'HOUR'];
28
28
  /**
29
- * Mirrors `DECISION_POLICY_OPTIONS` in the designer's property form rather
30
- * than the full {@link DecisionPolicy} union: `SEQUENTIAL` is a valid engine
31
- * policy but the form deliberately does not offer it, and this toolset's
32
- * contract is parity with what a user can do on that form — no more.
29
+ * Mirrors `DECISION_POLICY_OPTIONS` in the designer's property form: this
30
+ * toolset's contract is parity with what a user can do on that form.
33
31
  */
34
32
  const DECISION_POLICY_TYPE_ENUM = [
35
33
  'SINGLE',
36
34
  'PARALLEL_ANY',
37
35
  'PARALLEL_ALL',
36
+ 'SEQUENTIAL',
38
37
  'QUORUM',
39
38
  ];
40
39
  const QUORUM_THRESHOLD_TYPE_ENUM = ['COUNT', 'PERCENTAGE'];
41
40
  const APPROVER_RESOLVER_SCHEMA = {
42
41
  description: '簽核人員解析策略,以 type 區分。DIRECT: { type, memberIds[] };POSITION: { type, positionId };' +
43
42
  'ORG_UNIT_MEMBER: { type, orgUnitId, includeDescendants? };ORG_UNIT_POSITION: { type, orgUnitId, positionId, includeDescendants? };' +
44
- 'ORG_MANAGER: { type, baseFromInitiator, levelsUp, fallback? };ORG_UNIT_MANAGER: { type, orgUnitId, fallback? };' +
43
+ 'ORG_MANAGER: { type, baseFromInitiator, levelsUp, fallback? };' +
44
+ 'ORG_MANAGER_CHAIN: { type, minPositionLevel, fallback? }(沿發起人的主管鏈往上簽到職等 minPositionLevel 為止,需全部同意;決策方式請用 SEQUENTIAL 由近到遠依序簽,或 PARALLEL_ALL 同時簽);ORG_UNIT_MANAGER: { type, orgUnitId, fallback? };' +
45
45
  'DYNAMIC_FORM: { type, formPath };EXPRESSION: { type, expression }。',
46
46
  properties: {
47
47
  type: {
@@ -51,6 +51,7 @@ const APPROVER_RESOLVER_SCHEMA = {
51
51
  'ORG_UNIT_MEMBER',
52
52
  'ORG_UNIT_POSITION',
53
53
  'ORG_MANAGER',
54
+ 'ORG_MANAGER_CHAIN',
54
55
  'ORG_UNIT_MANAGER',
55
56
  'DYNAMIC_FORM',
56
57
  'EXPRESSION',
@@ -118,7 +119,8 @@ exports.WORKFLOW_TOOLSET = [
118
119
  {
119
120
  name: 'set_user_task_decision_policy',
120
121
  description: '設定簽核節點的決策政策,也就是這一關解析出來的簽核者要有幾個人同意才算通過。' +
121
- 'SINGLE=單人簽核;PARALLEL_ANY=任一人同意即通過;PARALLEL_ALL=全部同意才通過;' +
122
+ 'SINGLE=單人簽核;PARALLEL_ANY=任一人同意即通過;PARALLEL_ALL=全部同意才通過(所有人同時收到待辦);' +
123
+ 'SEQUENTIAL=依序簽核,依候選簽核人的順序一次只開放一位,前一位核准後才輪到下一位,全部核准才通過;' +
122
124
  'QUORUM=達到指定門檻,此時需一併提供 threshold 與 thresholdType。' +
123
125
  'thresholdType=COUNT 時 threshold 是同意人數;=PERCENTAGE 時是佔簽核者總數的百分比(換算人數無條件進位,上限 100)。' +
124
126
  '門檻若超過該節點實際簽核者人數,這一關將永遠無法通過 —— 設定 COUNT 門檻前請先確認簽核人員數量。',
@@ -180,6 +182,20 @@ exports.WORKFLOW_TOOLSET = [
180
182
  }, ['nodeId']),
181
183
  kind: 'mutation',
182
184
  },
185
+ {
186
+ name: 'set_user_task_exclude_initiator',
187
+ description: '設定簽核節點的「申請人不可簽核自己的單」(職責分離)。enabled=true 時,申請人本人(含其代理人)不會成為此關的簽核人,也不能被轉簽或加簽到此關;enabled=false 會移除此設定。' +
188
+ 'whenEmpty 為排除後沒有任何簽核人時的處理:INITIATOR_MANAGER=改由申請人的直屬主管簽核(預設);SKIP_NODE=跳過此關;FAIL=停止流程並提示。',
189
+ inputSchema: objectSchema({
190
+ nodeId: { type: 'string' },
191
+ enabled: { type: 'boolean' },
192
+ whenEmpty: {
193
+ enum: [...workflow_graph_1.EXCLUDE_INITIATOR_WHEN_EMPTY_VALUES],
194
+ type: 'string',
195
+ },
196
+ }, ['nodeId', 'enabled']),
197
+ kind: 'mutation',
198
+ },
183
199
  {
184
200
  name: 'set_service_action',
185
201
  description: '設定系統節點的動作(NOTIFY 知會 / WEBHOOK / SET_FORM_FIELD)。',
@@ -343,7 +359,12 @@ function readNodeSummary(node) {
343
359
  if (node.type === 'userTask') {
344
360
  return (`簽核人=${node.data.approverResolver.type}` +
345
361
  `;決策=${readDecisionPolicySummary(node.data.decisionPolicy)}` +
346
- `;觸發=${(_a = node.data.triggerMode) !== null && _a !== void 0 ? _a : 'AND'}`);
362
+ `;觸發=${(_a = node.data.triggerMode) !== null && _a !== void 0 ? _a : 'AND'}` +
363
+ // Only reported when set, so the assistant can read back what
364
+ // set_user_task_exclude_initiator wrote; absent means "not excluded".
365
+ (node.data.excludeInitiator
366
+ ? `;申請人不可簽核自己的單=${node.data.excludeInitiator.whenEmpty}`
367
+ : ''));
347
368
  }
348
369
  if (node.type === 'serviceTask') {
349
370
  return `動作=${node.data.action.type}`;
@@ -515,6 +536,12 @@ function buildPrimitiveCommand(toolName, input) {
515
536
  sla: parseSlaConfig(input),
516
537
  type: 'setUserTaskSla',
517
538
  };
539
+ case 'set_user_task_exclude_initiator':
540
+ return {
541
+ excludeInitiator: parseExcludeInitiator(input),
542
+ nodeId: readString(input, 'nodeId'),
543
+ type: 'setUserTaskExcludeInitiator',
544
+ };
518
545
  case 'set_service_action':
519
546
  return {
520
547
  action: parseServiceAction(input['action']),
@@ -575,7 +602,7 @@ function readNodeTypeCatalog() {
575
602
  nodeTypes: [
576
603
  {
577
604
  dataShape: 'label, approverResolver, decisionPolicy, returnBehavior(allowReturn, allowedTargets, requireComment?, resubmitStrategy?), ' +
578
- 'allowReject, allowTransfer, allowAddSigner, triggerMode, ' +
605
+ 'allowReject, allowTransfer, allowAddSigner, excludeInitiator?(whenEmpty), triggerMode, ' +
579
606
  'sla?(duration, calendar?, onTimeout, escalateLevelsUp?, warningAt?), notification?',
580
607
  label: workflow_graph_1.WORKFLOW_NODE_TYPE_LABELS.userTask,
581
608
  type: 'userTask',
@@ -686,19 +713,9 @@ function readAnchor(input) {
686
713
  edgeId: readNullableString(input, 'anchorEdgeId'),
687
714
  };
688
715
  }
689
- /**
690
- * The always-valid default approver: the initiator's direct manager (one level
691
- * up). Needs no member/org id, so a draft built purely from this passes
692
- * validation — letting the assistant draw a flow from one sentence.
693
- */
694
- const DEFAULT_MANAGER_RESOLVER = {
695
- baseFromInitiator: true,
696
- levelsUp: 1,
697
- type: 'ORG_MANAGER',
698
- };
699
716
  const DEFAULT_NOTIFY_ACTION = {
700
717
  channels: ['IN_APP'],
701
- recipients: DEFAULT_MANAGER_RESOLVER,
718
+ recipients: workflow_graph_1.DEFAULT_MANAGER_RESOLVER,
702
719
  type: 'NOTIFY',
703
720
  };
704
721
  /**
@@ -709,32 +726,32 @@ const DEFAULT_NOTIFY_ACTION = {
709
726
  */
710
727
  function parseApproverResolver(value) {
711
728
  if (!isRecord(value)) {
712
- return DEFAULT_MANAGER_RESOLVER;
729
+ return workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
713
730
  }
714
731
  switch (value['type']) {
715
732
  case 'DIRECT': {
716
733
  const memberIds = readStringArray(value['memberIds']);
717
734
  return memberIds.length > 0
718
735
  ? { memberIds, type: 'DIRECT' }
719
- : DEFAULT_MANAGER_RESOLVER;
736
+ : workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
720
737
  }
721
738
  case 'POSITION': {
722
739
  const positionId = readNonEmptyString(value['positionId']);
723
740
  return positionId
724
741
  ? { positionId, type: 'POSITION' }
725
- : DEFAULT_MANAGER_RESOLVER;
742
+ : workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
726
743
  }
727
744
  case 'ORG_UNIT_MEMBER': {
728
745
  const orgUnitId = readNonEmptyString(value['orgUnitId']);
729
746
  return orgUnitId
730
- ? Object.assign({ orgUnitId, type: 'ORG_UNIT_MEMBER' }, readOptionalBoolean(value, 'includeDescendants', 'includeDescendants')) : DEFAULT_MANAGER_RESOLVER;
747
+ ? Object.assign({ orgUnitId, type: 'ORG_UNIT_MEMBER' }, readOptionalBoolean(value, 'includeDescendants', 'includeDescendants')) : workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
731
748
  }
732
749
  case 'ORG_UNIT_POSITION': {
733
750
  const orgUnitId = readNonEmptyString(value['orgUnitId']);
734
751
  const positionId = readNonEmptyString(value['positionId']);
735
752
  return orgUnitId && positionId
736
753
  ? Object.assign({ orgUnitId,
737
- positionId, type: 'ORG_UNIT_POSITION' }, readOptionalBoolean(value, 'includeDescendants', 'includeDescendants')) : DEFAULT_MANAGER_RESOLVER;
754
+ positionId, type: 'ORG_UNIT_POSITION' }, readOptionalBoolean(value, 'includeDescendants', 'includeDescendants')) : workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
738
755
  }
739
756
  case 'ORG_MANAGER':
740
757
  return {
@@ -743,6 +760,13 @@ function parseApproverResolver(value) {
743
760
  preferClosestOrgUnit: value['preferClosestOrgUnit'] === true,
744
761
  type: 'ORG_MANAGER',
745
762
  };
763
+ case 'ORG_MANAGER_CHAIN': {
764
+ const minPositionLevel = value['minPositionLevel'];
765
+ const fallback = parseApproverResolverFallback(value['fallback']);
766
+ return typeof minPositionLevel === 'number' &&
767
+ Number.isInteger(minPositionLevel)
768
+ ? Object.assign({ minPositionLevel, type: 'ORG_MANAGER_CHAIN' }, (fallback ? { fallback } : {})) : workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
769
+ }
746
770
  case 'ORG_UNIT_MANAGER': {
747
771
  const orgUnitId = readNonEmptyString(value['orgUnitId']);
748
772
  return orgUnitId
@@ -751,24 +775,37 @@ function parseApproverResolver(value) {
751
775
  preferClosestOrgUnit: value['preferClosestOrgUnit'] === true,
752
776
  type: 'ORG_UNIT_MANAGER',
753
777
  }
754
- : DEFAULT_MANAGER_RESOLVER;
778
+ : workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
755
779
  }
756
780
  case 'DYNAMIC_FORM': {
757
781
  const formPath = readNonEmptyString(value['formPath']);
758
782
  return formPath
759
783
  ? { formPath, type: 'DYNAMIC_FORM' }
760
- : DEFAULT_MANAGER_RESOLVER;
784
+ : workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
761
785
  }
762
786
  case 'EXPRESSION': {
763
787
  const expression = readNonEmptyString(value['expression']);
764
788
  return expression
765
789
  ? { expression, type: 'EXPRESSION' }
766
- : DEFAULT_MANAGER_RESOLVER;
790
+ : workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
767
791
  }
768
792
  default:
769
- return DEFAULT_MANAGER_RESOLVER;
793
+ return workflow_graph_1.DEFAULT_MANAGER_RESOLVER;
770
794
  }
771
795
  }
796
+ /**
797
+ * Builds the node's `excludeInitiator` setting from the flat tool input,
798
+ * **never throwing**. `enabled: false` removes it (`null`). When enabled, an
799
+ * absent or unrecognised `whenEmpty` falls back to the same default the
800
+ * designer seeds, so a malformed value can never silently drop the protection.
801
+ */
802
+ function parseExcludeInitiator(input) {
803
+ if (input['enabled'] === false) {
804
+ return null;
805
+ }
806
+ const whenEmpty = workflow_graph_1.EXCLUDE_INITIATOR_WHEN_EMPTY_VALUES.find((candidate) => candidate === input['whenEmpty']);
807
+ return { whenEmpty: whenEmpty !== null && whenEmpty !== void 0 ? whenEmpty : 'INITIATOR_MANAGER' };
808
+ }
772
809
  /** Coerce an LLM-supplied service action, **never throwing** (defaults to NOTIFY). */
773
810
  /**
774
811
  * Builds an {@link SlaConfig} from the flat tool input. Authoring goes through
@@ -864,6 +901,30 @@ function readStringArray(value) {
864
901
  ? value.filter((item) => typeof item === 'string' && item.length > 0)
865
902
  : [];
866
903
  }
904
+ /**
905
+ * A malformed fallback is dropped (the resolver then stops the flow when the
906
+ * chain ends early) rather than failing the whole tool call, in line with
907
+ * {@link parseApproverResolver}'s never-throw rule.
908
+ */
909
+ function parseApproverResolverFallback(value) {
910
+ if (!isRecord(value)) {
911
+ return null;
912
+ }
913
+ if (value['type'] === 'NONE') {
914
+ return { type: 'NONE' };
915
+ }
916
+ const memberId = readNonEmptyString(value['memberId']);
917
+ const allowInitiatorSelfApproval = value['allowInitiatorSelfApproval'];
918
+ if (value['type'] !== 'DIRECT' ||
919
+ !memberId ||
920
+ (allowInitiatorSelfApproval !== undefined &&
921
+ typeof allowInitiatorSelfApproval !== 'boolean')) {
922
+ return null;
923
+ }
924
+ return Object.assign({ memberId, type: 'DIRECT' }, (allowInitiatorSelfApproval === undefined
925
+ ? {}
926
+ : { allowInitiatorSelfApproval }));
927
+ }
867
928
  function readNonEmptyString(value) {
868
929
  return typeof value === 'string' && value.trim().length > 0 ? value : null;
869
930
  }