@rytass/bpm-core-nestjs-module 0.17.5 โ†’ 0.17.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 (28) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/package.json +2 -2
  3. package/src/lib/form/form-table-reference.d.ts +1 -0
  4. package/src/lib/form/form-table-reference.js +4 -0
  5. package/src/lib/form/form-table-reference.js.map +1 -1
  6. package/src/lib/notification/notification.service.js +2 -0
  7. package/src/lib/notification/notification.service.js.map +1 -1
  8. package/src/lib/template/template.service.js +160 -44
  9. package/src/lib/template/template.service.js.map +1 -1
  10. package/src/lib/template/workflow-definition.validator.js +4 -17
  11. package/src/lib/template/workflow-definition.validator.js.map +1 -1
  12. package/src/lib/workflow-engine/approval-instance.entity.d.ts +7 -0
  13. package/src/lib/workflow-engine/approval-instance.entity.js +15 -0
  14. package/src/lib/workflow-engine/approval-instance.entity.js.map +1 -1
  15. package/src/lib/workflow-engine/dto/decide-task.input.d.ts +2 -0
  16. package/src/lib/workflow-engine/dto/decide-task.input.js +21 -0
  17. package/src/lib/workflow-engine/dto/decide-task.input.js.map +1 -1
  18. package/src/lib/workflow-engine/form-data-fingerprint.d.ts +11 -0
  19. package/src/lib/workflow-engine/form-data-fingerprint.js +36 -0
  20. package/src/lib/workflow-engine/form-data-fingerprint.js.map +1 -0
  21. package/src/lib/workflow-engine/task.entity.d.ts +8 -0
  22. package/src/lib/workflow-engine/task.entity.js +12 -0
  23. package/src/lib/workflow-engine/task.entity.js.map +1 -1
  24. package/src/lib/workflow-engine/workflow-engine.mutations.js +15 -0
  25. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -1
  26. package/src/lib/workflow-engine/workflow-engine.service.d.ts +15 -3
  27. package/src/lib/workflow-engine/workflow-engine.service.js +206 -53
  28. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
1
+ ## 0.17.7 (2026-10-22)
2
+
3
+ ### ๐Ÿš€ Features
4
+
5
+ - **bpm-core-react:** add the field access overview to the template designer ([1de7665](https://github.com/Rytass/BPMCore/commit/1de7665))
6
+ - **shared:** add the field access matrix and its commands ([b0a9aa3](https://github.com/Rytass/BPMCore/commit/b0a9aa3))
7
+ - **bpm-core-react:** let the fill node's approver fill in fields on the case page ([9cd9eb2](https://github.com/Rytass/BPMCore/commit/9cd9eb2))
8
+ - **bpm-core:** flag tasks whose node lets the approver fill in fields ([57f1d61](https://github.com/Rytass/BPMCore/commit/57f1d61))
9
+ - **bpm-core-react:** resolve per-field access for the instance viewer ([7cd040c](https://github.com/Rytass/BPMCore/commit/7cd040c))
10
+ - **bpm-core:** adopt fieldAccess node model per ADR 20 ([b25cf71](https://github.com/Rytass/BPMCore/commit/b25cf71))
11
+ - **bpm-core-client:** send approver-filled data and keep it off launch and resubmit forms ([a33d7f9](https://github.com/Rytass/BPMCore/commit/a33d7f9))
12
+ - **bpm-core:** refuse conditions that read approver-filled fields too early ([5ad995f](https://github.com/Rytass/BPMCore/commit/5ad995f))
13
+ - **bpm-core:** refuse form rules that clash with approver-filled fields ([a55253e](https://github.com/Rytass/BPMCore/commit/a55253e))
14
+ - **bpm-core:** refuse to publish field permissions the engine cannot honour ([7361a9e](https://github.com/Rytass/BPMCore/commit/7361a9e))
15
+ - **bpm-core:** flag task notifications that need the form opened ([77fd492](https://github.com/Rytass/BPMCore/commit/77fd492))
16
+ - **bpm-core:** validate approver-filled fields whenever the filling node approves ([3d5ae3d](https://github.com/Rytass/BPMCore/commit/3d5ae3d))
17
+ - **bpm-core:** let the filling node write approver-filled fields on approval ([502500c](https://github.com/Rytass/BPMCore/commit/502500c))
18
+ - **bpm-core:** keep approver-filled fields out of end-user submissions ([51fe897](https://github.com/Rytass/BPMCore/commit/51fe897))
19
+ - **shared:** add field permission helpers for approver-filled fields ([6386b1c](https://github.com/Rytass/BPMCore/commit/6386b1c))
20
+
21
+ ### ๐Ÿฉน Fixes
22
+
23
+ - **shared:** read a SET_FORM_FIELD path the way the engine writes it ([3ba2962](https://github.com/Rytass/BPMCore/commit/3ba2962))
24
+ - **bpm-core:** order task node summary rows by snapshot position ([091d808](https://github.com/Rytass/BPMCore/commit/091d808))
25
+ - **bpm-core:** let the first snapshot node win in task node summaries ([9637f4c](https://github.com/Rytass/BPMCore/commit/9637f4c))
26
+ - **bpm-core-react:** send only the fill fields the approver changed ([1250eac](https://github.com/Rytass/BPMCore/commit/1250eac))
27
+ - **template:** stop rethrowing designer save and publish errors ([af93e67](https://github.com/Rytass/BPMCore/commit/af93e67))
28
+ - **bpm-core-client:** update launch mocks for the template version definition ([452d600](https://github.com/Rytass/BPMCore/commit/452d600))
29
+ - **bpm-core:** keep the read-early lint from crashing on malformed drafts ([2fb2c26](https://github.com/Rytass/BPMCore/commit/2fb2c26))
30
+
31
+ ### โค๏ธ Thank You
32
+
33
+ - Chia Yu Pai @fantasywind
34
+ - Kai-Chieh Yang
35
+
36
+ ## 0.17.6 (2026-10-20)
37
+
38
+ This was a version bump only for bpm-core to align it with other projects, there were no code changes.
39
+
1
40
  ## 0.17.5 (2026-10-20)
2
41
 
42
+ ### โš ๏ธ Upgrade notes
43
+
44
+ - **Migration `ActivityLogSeq0000000029000` locks `activity_logs` for its whole run.** It adds `activity_logs.seq` and backfills every existing row in one transaction, holding an ACCESS EXCLUSIVE lock from the `ADD COLUMN` through the backfill, `SET NOT NULL` and the unique index build. Nothing can read or write `activity_logs` meanwhile, and every submit, decision and history read touches it, so on a large table plan the run as downtime in a maintenance window. `lock_timeout` bounds only the wait to take the lock, not how long it is held.
45
+ - Run it inside a transaction (the default) and before serving 0.17.5.
46
+ - The backfill rewrites every row: leave free disk for roughly another copy of the table plus its WAL, and run `VACUUM (ANALYZE) activity_logs` afterwards.
47
+
3
48
  ### ๐Ÿš€ Features
4
49
 
5
50
  - **workflow-engine:** record the write order of activity logs ([d3a946a](https://github.com/Rytass/BPMCore/commit/d3a946a))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rytass/bpm-core-nestjs-module",
3
- "version": "0.17.5",
3
+ "version": "0.17.7",
4
4
  "description": "Embeddable NestJS BPM approval workflow module: workflow engine, approval templates, forms, organization/member contracts, attachments, signatures, notifications, delegation, and TypeORM migrations.",
5
5
  "keywords": [
6
6
  "bpm",
@@ -162,7 +162,7 @@
162
162
  "@nestjs/core": ">=10.0.0",
163
163
  "@nestjs/graphql": ">=12.0.0",
164
164
  "@nestjs/typeorm": ">=10.0.0",
165
- "@rytass/bpm-core-shared": "^0.17.5",
165
+ "@rytass/bpm-core-shared": "^0.17.7",
166
166
  "@rytass/secret-adapter-vault-nestjs": ">=0.4.5",
167
167
  "express": ">=4.0.0",
168
168
  "graphql": ">=16.0.0",
@@ -20,6 +20,7 @@ export declare function readTableFieldKeys(schema: FormDefinitionSchema | null |
20
20
  * IS_EMPTY operators compile to (ADR 16 ยง3.8).
21
21
  */
22
22
  export declare function referencesTableInternals(expression: string, tableKey: string): boolean;
23
+ export { referencesFormField } from '@rytass/bpm-core-shared';
23
24
  /**
24
25
  * True when a structured condition's `conditionFieldKey` names a path inside a
25
26
  * table (`items.qty`, `items[0].qty`) rather than a top-level field. V1 only
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.referencesFormField = void 0;
3
4
  exports.readTableFieldKeys = readTableFieldKeys;
4
5
  exports.referencesTableInternals = referencesTableInternals;
5
6
  exports.isTableInternalFieldKey = isTableInternalFieldKey;
@@ -39,6 +40,9 @@ function referencesTableInternals(expression, tableKey) {
39
40
  new RegExp(`form\\s*\\[\\s*["']${escapedKey}["']\\s*\\]\\s*(?:\\.|\\[)`, 'u'),
40
41
  ].some((pattern) => pattern.test(expression));
41
42
  }
43
+ // Lives in shared now: the designer's field access matrix reads it too.
44
+ var bpm_core_shared_1 = require("@rytass/bpm-core-shared");
45
+ Object.defineProperty(exports, "referencesFormField", { enumerable: true, get: function () { return bpm_core_shared_1.referencesFormField; } });
42
46
  /**
43
47
  * True when a structured condition's `conditionFieldKey` names a path inside a
44
48
  * table (`items.qty`, `items[0].qty`) rather than a top-level field. V1 only
@@ -1 +1 @@
1
- {"version":3,"file":"form-table-reference.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form/form-table-reference.ts"],"names":[],"mappings":";;AAeA,gDASC;AAQD,4DAiBC;AAOD,0DAQC;AA9DD;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAChC,MAA+C;IAE/C,OAAO,IAAI,GAAG,CACZ,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;SACnB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;SAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,UAAkB,EAClB,QAAgB;IAEhB,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEjD,0EAA0E;IAC1E,8EAA8E;IAC9E,4EAA4E;IAC5E,0EAA0E;IAC1E,OAAO;QACL,IAAI,MAAM,CAAC,kBAAkB,UAAU,iBAAiB,EAAE,GAAG,CAAC;QAC9D,IAAI,MAAM,CACR,sBAAsB,UAAU,4BAA4B,EAC5D,GAAG,CACJ;KACF,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,QAAgB,EAChB,cAAmC;IAEnC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAC7B,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"form-table-reference.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/form/form-table-reference.ts"],"names":[],"mappings":";;;AAeA,gDASC;AAQD,4DAiBC;AAUD,0DAQC;AAjED;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAChC,MAA+C;IAE/C,OAAO,IAAI,GAAG,CACZ,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;SACnB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC;SAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,UAAkB,EAClB,QAAgB;IAEhB,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEjD,0EAA0E;IAC1E,8EAA8E;IAC9E,4EAA4E;IAC5E,0EAA0E;IAC1E,OAAO;QACL,IAAI,MAAM,CAAC,kBAAkB,UAAU,iBAAiB,EAAE,GAAG,CAAC;QAC9D,IAAI,MAAM,CACR,sBAAsB,UAAU,4BAA4B,EAC5D,GAAG,CACJ;KACF,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,wEAAwE;AACxE,2DAA8D;AAArD,sHAAA,mBAAmB,OAAA;AAE5B;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,QAAgB,EAChB,cAAmC;IAEnC,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAC7B,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.NotificationService = exports.MARK_NOTIFICATIONS_READ_LIMIT = void 0;
5
5
  exports.calculateTaskSlaDueAt = calculateTaskSlaDueAt;
6
6
  const tslib_1 = require("tslib");
7
+ const bpm_core_shared_1 = require("@rytass/bpm-core-shared");
7
8
  const common_1 = require("@nestjs/common");
8
9
  const core_1 = require("@nestjs/core");
9
10
  const typeorm_1 = require("@nestjs/typeorm");
@@ -358,6 +359,7 @@ let NotificationService = NotificationService_1 = class NotificationService {
358
359
  payload: {
359
360
  assigneeMemberId: task.assigneeMemberId,
360
361
  allowReject: node.data.allowReject !== false,
362
+ hasFillableFields: !task.isAdhoc && (0, bpm_core_shared_1.readNodeFillableFieldKeys)(node).size > 0,
361
363
  instanceId: instance.id,
362
364
  instanceTitle: instance.title,
363
365
  nodeId: node.id,
@@ -1 +1 @@
1
- {"version":3,"file":"notification.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/notification/notification.service.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,9 @@ const tslib_1 = require("tslib");
6
6
  const common_1 = require("@nestjs/common");
7
7
  const core_1 = require("@nestjs/core");
8
8
  const typeorm_1 = require("@nestjs/typeorm");
9
+ const bpm_core_shared_1 = require("@rytass/bpm-core-shared");
9
10
  const form_1 = require("@rytass/bpm-core-shared/form");
11
+ const workflow_graph_1 = require("@rytass/bpm-core-shared/workflow-graph");
10
12
  const typeorm_2 = require("typeorm");
11
13
  const condition_service_1 = require("../condition/condition.service");
12
14
  const form_table_reference_1 = require("../form/form-table-reference");
@@ -579,12 +581,16 @@ let TemplateService = TemplateService_1 = class TemplateService {
579
581
  ];
580
582
  const tableReferenceErrors = lintWorkflowTableReferences(version.workflowDefinition, version.initiatorPolicyCel, formVersion.schema);
581
583
  const memberReferenceErrors = lintWorkflowMemberReferences(version.workflowDefinition, formVersion.schema);
584
+ const approverFilledFieldErrors = (0, bpm_core_shared_1.readFormFieldAccessIssues)(version.workflowDefinition, formVersion.schema).map((issue) => issue.message);
585
+ const approverFilledReadErrors = lintApproverFilledFieldReads(version.workflowDefinition);
582
586
  const webhookErrors = await this.lintWorkflowWebhooks(version.workflowDefinition, formVersion.schema);
583
587
  const errors = [
584
588
  ...workflowResult.errors,
585
589
  ...conditionErrors,
586
590
  ...tableReferenceErrors,
587
591
  ...memberReferenceErrors,
592
+ ...approverFilledFieldErrors,
593
+ ...approverFilledReadErrors,
588
594
  ...webhookErrors,
589
595
  ];
590
596
  if (errors.length) {
@@ -892,6 +898,115 @@ function lintWorkflowMemberReferences(definition, schema) {
892
898
  ];
893
899
  });
894
900
  }
901
+ /**
902
+ * A condition that reads a field an approver fills in, before that approver
903
+ * has filled it in, finds the field absent: the applicant's form is submitted
904
+ * without it. Evaluated while the previous approver's decision is being
905
+ * committed, that throws and the case can never leave the previous node; a
906
+ * structured condition compares against the absent value and routes on that.
907
+ * So it is refused at publish, from the graph alone (no CEL semantics, which
908
+ * the unit tests' cel-js shim cannot reproduce).
909
+ *
910
+ * Per approver-filled field X:
911
+ * - `G` is the nodes that fill X in and have no `entryCondition`. A filling
912
+ * node with an `entryCondition` can be skipped and then nobody fills X in
913
+ * (`skipNode` carries on regardless), so it guards nothing.
914
+ * - `R` is every node reachable from the start without entering a node of `G`:
915
+ * the nodes X may still be empty at. `F` is the filling nodes right after a
916
+ * node of `R`.
917
+ * - An edge condition or `conditionFieldKey` is evaluated while leaving its
918
+ * source, so it is early when the source is in `R`. A node expression is
919
+ * evaluated on arrival, before the task is created, so it is early when the
920
+ * node is in `R` or `F` (the filling node's own `entryCondition` and
921
+ * EXPRESSION resolver run before the fill-in).
922
+ *
923
+ * Deliberately conservative: the graph cannot tell "parallel, all branches
924
+ * run, AND join waits" from "exclusive, one branch runs", so a read after a
925
+ * join is refused when only some of the branches pass through a node of `G`.
926
+ * `has(form.x)` is not recognised as a guard either; the read belongs after
927
+ * the filling node. `initiatorPolicyCel` is not read here: its root
928
+ * identifiers cannot include `form`.
929
+ *
930
+ * The definition may hold a cycle (the cycle lint reports it in the same
931
+ * pass), which the visited set in `readReachableWorkflowNodeIds` copes with.
932
+ */
933
+ function lintApproverFilledFieldReads(definition) {
934
+ const fieldKeys = [...(0, bpm_core_shared_1.readApproverFilledFieldKeys)(definition)];
935
+ if (!fieldKeys.length) {
936
+ return [];
937
+ }
938
+ const userTasks = definition.nodes.filter((node) => node.type === 'userTask');
939
+ const startNodeIds = definition.nodes
940
+ .filter((node) => node.type === 'startEvent')
941
+ .map((node) => node.id);
942
+ const nodeSources = definition.nodes.flatMap((node) => [
943
+ ...readNodeExpressions(node),
944
+ ...readNotifyRecipientsExpressions(node),
945
+ ].map((source) => ({ ...source, nodeId: node.id })));
946
+ return fieldKeys.flatMap((fieldKey) => {
947
+ const fillingNodes = userTasks.filter((node) => (0, bpm_core_shared_1.readNodeFillableFieldKeys)(node).has(fieldKey));
948
+ const fillingNodeIds = new Set(fillingNodes.map((node) => node.id));
949
+ const guardNodeIds = new Set(fillingNodes
950
+ .filter((node) => !hasEntryCondition(node))
951
+ .map((node) => node.id));
952
+ const earlyNodeIds = (0, bpm_core_shared_1.readReachableWorkflowNodeIds)(definition.edges, startNodeIds, guardNodeIds);
953
+ const nodeIdsReadingEarly = new Set([
954
+ ...earlyNodeIds,
955
+ ...definition.edges
956
+ .filter((edge) => earlyNodeIds.has(edge.source) && fillingNodeIds.has(edge.target))
957
+ .map((edge) => edge.target),
958
+ ]);
959
+ const nodeLabels = nodeSources
960
+ .filter(({ expression, nodeId }) => nodeIdsReadingEarly.has(nodeId) &&
961
+ typeof expression === 'string' &&
962
+ (0, form_table_reference_1.referencesFormField)(expression, fieldKey))
963
+ .map(({ label }) => label);
964
+ const edgeLabels = definition.edges
965
+ .filter((edge) => earlyNodeIds.has(edge.source))
966
+ .flatMap((edge) => readEdgeFieldReadLabels(edge, fieldKey));
967
+ return [...nodeLabels, ...edgeLabels].map((label) => workflow_graph_1.WORKFLOW_LINT_MESSAGES.approverFilledFieldReadEarly(label, fieldKey));
968
+ });
969
+ }
970
+ function hasEntryCondition(node) {
971
+ const entryCondition = node.data.entryCondition;
972
+ return typeof entryCondition === 'string' && entryCondition.trim() !== '';
973
+ }
974
+ // The label of the one line an edge earns for `fieldKey`: the CEL condition
975
+ // wins over the structured condition, so an edge carrying both reads once.
976
+ function readEdgeFieldReadLabels(edge, fieldKey) {
977
+ // A draft's edge may carry no `data` at all.
978
+ const data = edge.data;
979
+ const condition = data?.condition;
980
+ const conditionFieldKey = data?.conditionFieldKey;
981
+ if (typeof condition === 'string' && (0, form_table_reference_1.referencesFormField)(condition, fieldKey)) {
982
+ return [workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.edgeCondition(edge.id)];
983
+ }
984
+ return typeof conditionFieldKey === 'string' &&
985
+ (0, bpm_core_shared_1.readTopLevelFieldKey)(conditionFieldKey) === fieldKey
986
+ ? [workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.edgeConditionFieldKey(edge.id)]
987
+ : [];
988
+ }
989
+ // A NOTIFY node resolves an EXPRESSION recipient list the moment it is reached
990
+ // (`resolveApproverResolver`), so it reads the form like any node expression.
991
+ // Kept out of `readNodeConditionExpressions` so the CEL root-identifier lint
992
+ // keeps covering exactly what it did.
993
+ function readNotifyRecipientsExpressions(node) {
994
+ // A draft is not shape-checked: the node may have no `action`, and a NOTIFY
995
+ // action may have no `recipients` (the structural lint reports that line).
996
+ const action = node.type === 'serviceTask' ? node.data?.action : undefined;
997
+ if (action?.type !== 'NOTIFY') {
998
+ return [];
999
+ }
1000
+ const recipients = action.recipients;
1001
+ return recipients?.type === 'EXPRESSION'
1002
+ ? [
1003
+ {
1004
+ expression: recipients.expression,
1005
+ label: workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.nodeActionRecipientsExpression(node.id),
1006
+ },
1007
+ ]
1008
+ : [];
1009
+ }
895
1010
  function isMemberFieldAlwaysFilled(field) {
896
1011
  return (field.required === true &&
897
1012
  field.hidden !== true &&
@@ -900,7 +1015,7 @@ function isMemberFieldAlwaysFilled(field) {
900
1015
  function readEdgeConditionExpressions(definition) {
901
1016
  return definition.edges.map((edge) => ({
902
1017
  expression: edge.data.condition,
903
- label: `workflow.edges.${edge.id}.data.condition`,
1018
+ label: workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.edgeCondition(edge.id),
904
1019
  }));
905
1020
  }
906
1021
  // Every CEL expression of a template version, edge conditions included.
@@ -914,49 +1029,50 @@ function readConditionExpressions(definition, initiatorPolicyCel) {
914
1029
  // Node-level expressions: entry conditions, EXPRESSION resolvers, webhook
915
1030
  // payloads and SET_FORM_FIELD values.
916
1031
  function readNodeConditionExpressions(definition) {
917
- return definition.nodes.flatMap((node) => {
918
- if (node.type === 'userTask') {
919
- return [
920
- {
921
- expression: node.data.entryCondition,
922
- label: `workflow.nodes.${node.id}.data.entryCondition`,
923
- },
924
- ...(node.data.approverResolver.type === 'EXPRESSION'
925
- ? [
926
- {
927
- expression: node.data.approverResolver.expression,
928
- label: `workflow.nodes.${node.id}.data.approverResolver.expression`,
929
- },
930
- ]
931
- : []),
932
- ];
933
- }
934
- if (node.type === 'serviceTask') {
935
- return [
936
- {
937
- expression: node.data.entryCondition,
938
- label: `workflow.nodes.${node.id}.data.entryCondition`,
939
- },
940
- ...(node.data.action.type === 'WEBHOOK'
941
- ? [
942
- {
943
- expression: node.data.action.payload,
944
- label: `workflow.nodes.${node.id}.data.action.payload`,
945
- },
946
- ]
947
- : []),
948
- ...(node.data.action.type === 'SET_FORM_FIELD'
949
- ? [
950
- {
951
- expression: node.data.action.value,
952
- label: `workflow.nodes.${node.id}.data.action.value`,
953
- },
954
- ]
955
- : []),
956
- ];
957
- }
958
- return [];
959
- });
1032
+ return definition.nodes.flatMap(readNodeExpressions);
1033
+ }
1034
+ function readNodeExpressions(node) {
1035
+ if (node.type === 'userTask') {
1036
+ return [
1037
+ {
1038
+ expression: node.data.entryCondition,
1039
+ label: workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.nodeEntryCondition(node.id),
1040
+ },
1041
+ ...(node.data.approverResolver.type === 'EXPRESSION'
1042
+ ? [
1043
+ {
1044
+ expression: node.data.approverResolver.expression,
1045
+ label: workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.nodeApproverResolverExpression(node.id),
1046
+ },
1047
+ ]
1048
+ : []),
1049
+ ];
1050
+ }
1051
+ if (node.type === 'serviceTask') {
1052
+ return [
1053
+ {
1054
+ expression: node.data.entryCondition,
1055
+ label: workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.nodeEntryCondition(node.id),
1056
+ },
1057
+ ...(node.data.action.type === 'WEBHOOK'
1058
+ ? [
1059
+ {
1060
+ expression: node.data.action.payload,
1061
+ label: workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.nodeActionPayload(node.id),
1062
+ },
1063
+ ]
1064
+ : []),
1065
+ ...(node.data.action.type === 'SET_FORM_FIELD'
1066
+ ? [
1067
+ {
1068
+ expression: node.data.action.value,
1069
+ label: workflow_graph_1.WORKFLOW_EXPRESSION_LABELS.nodeActionValue(node.id),
1070
+ },
1071
+ ]
1072
+ : []),
1073
+ ];
1074
+ }
1075
+ return [];
960
1076
  }
961
1077
  function isRecord(value) {
962
1078
  return typeof value === 'object' && value !== null && !Array.isArray(value);