@rytass/bpm-core-nestjs-module 0.18.1 → 0.20.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.
Files changed (149) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/package.json +3 -2
  3. package/src/index.d.ts +1 -0
  4. package/src/index.js +1 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/attachment/attachment.service.d.ts +23 -1
  7. package/src/lib/attachment/attachment.service.js +111 -24
  8. package/src/lib/attachment/attachment.service.js.map +1 -1
  9. package/src/lib/bpm/bpm-root-options.d.ts +13 -0
  10. package/src/lib/bpm/bpm-root-options.js.map +1 -1
  11. package/src/lib/bpm/bpm-root.module.d.ts +12 -0
  12. package/src/lib/bpm/bpm-root.module.js +5 -0
  13. package/src/lib/bpm/bpm-root.module.js.map +1 -1
  14. package/src/lib/condition/adapters/cel-legacy.adapter.d.ts +62 -0
  15. package/src/lib/condition/adapters/cel-legacy.adapter.js +141 -0
  16. package/src/lib/condition/adapters/cel-legacy.adapter.js.map +1 -0
  17. package/src/lib/condition/adapters/cel-v2.adapter.d.ts +76 -0
  18. package/src/lib/condition/adapters/cel-v2.adapter.js +371 -0
  19. package/src/lib/condition/adapters/cel-v2.adapter.js.map +1 -0
  20. package/src/lib/condition/condition.service.d.ts +90 -5
  21. package/src/lib/condition/condition.service.js +287 -71
  22. package/src/lib/condition/condition.service.js.map +1 -1
  23. package/src/lib/condition/expression-ast.d.ts +176 -0
  24. package/src/lib/condition/expression-ast.js +1254 -0
  25. package/src/lib/condition/expression-ast.js.map +1 -0
  26. package/src/lib/condition/expression-budget.d.ts +44 -0
  27. package/src/lib/condition/expression-budget.js +61 -0
  28. package/src/lib/condition/expression-budget.js.map +1 -0
  29. package/src/lib/condition/expression-dialect.d.ts +29 -0
  30. package/src/lib/condition/expression-dialect.js +44 -0
  31. package/src/lib/condition/expression-dialect.js.map +1 -0
  32. package/src/lib/condition/expression-differential.corpus.d.ts +34 -0
  33. package/src/lib/condition/expression-differential.corpus.js +995 -0
  34. package/src/lib/condition/expression-differential.corpus.js.map +1 -0
  35. package/src/lib/condition/expression-differential.d.ts +33 -0
  36. package/src/lib/condition/expression-differential.js +48 -0
  37. package/src/lib/condition/expression-differential.js.map +1 -0
  38. package/src/lib/condition/expression-engine-failure.d.ts +15 -0
  39. package/src/lib/condition/expression-engine-failure.js +22 -0
  40. package/src/lib/condition/expression-engine-failure.js.map +1 -0
  41. package/src/lib/condition/expression-errors.d.ts +40 -0
  42. package/src/lib/condition/expression-errors.js +105 -0
  43. package/src/lib/condition/expression-errors.js.map +1 -0
  44. package/src/lib/condition/expression-function-invocation.d.ts +50 -0
  45. package/src/lib/condition/expression-function-invocation.js +290 -0
  46. package/src/lib/condition/expression-function-invocation.js.map +1 -0
  47. package/src/lib/condition/expression-result.walker.d.ts +18 -0
  48. package/src/lib/condition/expression-result.walker.js +152 -0
  49. package/src/lib/condition/expression-result.walker.js.map +1 -0
  50. package/src/lib/condition/expression-runtime.d.ts +70 -0
  51. package/src/lib/condition/expression-runtime.js +134 -0
  52. package/src/lib/condition/expression-runtime.js.map +1 -0
  53. package/src/lib/condition/index.d.ts +4 -0
  54. package/src/lib/condition/index.js +8 -0
  55. package/src/lib/condition/index.js.map +1 -1
  56. package/src/lib/delegation/delegation-rule.entity.d.ts +7 -0
  57. package/src/lib/delegation/delegation-rule.entity.js +10 -0
  58. package/src/lib/delegation/delegation-rule.entity.js.map +1 -1
  59. package/src/lib/delegation/delegation.service.d.ts +7 -1
  60. package/src/lib/delegation/delegation.service.js +22 -5
  61. package/src/lib/delegation/delegation.service.js.map +1 -1
  62. package/src/lib/delegation/dto/delegation-rule.input.d.ts +2 -0
  63. package/src/lib/delegation/dto/delegation-rule.input.js +10 -0
  64. package/src/lib/delegation/dto/delegation-rule.input.js.map +1 -1
  65. package/src/lib/expression-function/expression-function.built-ins.d.ts +9 -0
  66. package/src/lib/expression-function/expression-function.built-ins.js +117 -0
  67. package/src/lib/expression-function/expression-function.built-ins.js.map +1 -0
  68. package/src/lib/expression-function/expression-function.module.d.ts +19 -0
  69. package/src/lib/expression-function/expression-function.module.js +34 -0
  70. package/src/lib/expression-function/expression-function.module.js.map +1 -0
  71. package/src/lib/expression-function/expression-function.provider.d.ts +17 -0
  72. package/src/lib/expression-function/expression-function.provider.js +39 -0
  73. package/src/lib/expression-function/expression-function.provider.js.map +1 -0
  74. package/src/lib/expression-function/expression-function.registry.d.ts +36 -0
  75. package/src/lib/expression-function/expression-function.registry.js +231 -0
  76. package/src/lib/expression-function/expression-function.registry.js.map +1 -0
  77. package/src/lib/expression-function/expression-function.types.d.ts +30 -0
  78. package/src/lib/expression-function/expression-function.types.js +8 -0
  79. package/src/lib/expression-function/expression-function.types.js.map +1 -0
  80. package/src/lib/expression-function/index.d.ts +5 -0
  81. package/src/lib/expression-function/index.js +9 -0
  82. package/src/lib/expression-function/index.js.map +1 -0
  83. package/src/lib/form/form-schema.validator.js +53 -6
  84. package/src/lib/form/form-schema.validator.js.map +1 -1
  85. package/src/lib/form-data-source/form-data-source-value-resolver.service.d.ts +12 -1
  86. package/src/lib/form-data-source/form-data-source-value-resolver.service.js +45 -26
  87. package/src/lib/form-data-source/form-data-source-value-resolver.service.js.map +1 -1
  88. package/src/lib/form-data-source/form-data-source.expression.d.ts +95 -0
  89. package/src/lib/form-data-source/form-data-source.expression.js +267 -0
  90. package/src/lib/form-data-source/form-data-source.expression.js.map +1 -0
  91. package/src/lib/form-data-source/form-data-source.module.js +4 -0
  92. package/src/lib/form-data-source/form-data-source.module.js.map +1 -1
  93. package/src/lib/form-data-source/form-data-source.service.d.ts +22 -3
  94. package/src/lib/form-data-source/form-data-source.service.js +78 -18
  95. package/src/lib/form-data-source/form-data-source.service.js.map +1 -1
  96. package/src/lib/form-data-source/form-data-source.validation.d.ts +47 -4
  97. package/src/lib/form-data-source/form-data-source.validation.js +151 -23
  98. package/src/lib/form-data-source/form-data-source.validation.js.map +1 -1
  99. package/src/lib/migrations/0000000030000-delegation-scope-condition-dialect.d.ts +22 -0
  100. package/src/lib/migrations/0000000030000-delegation-scope-condition-dialect.js +76 -0
  101. package/src/lib/migrations/0000000030000-delegation-scope-condition-dialect.js.map +1 -0
  102. package/src/lib/migrations/index.d.ts +1 -0
  103. package/src/lib/migrations/index.js +3 -0
  104. package/src/lib/migrations/index.js.map +1 -1
  105. package/src/lib/notification/notification.service.d.ts +1 -1
  106. package/src/lib/notification/notification.service.js +7 -3
  107. package/src/lib/notification/notification.service.js.map +1 -1
  108. package/src/lib/template/dto/expression-designer.dto.d.ts +107 -0
  109. package/src/lib/template/dto/expression-designer.dto.js +415 -0
  110. package/src/lib/template/dto/expression-designer.dto.js.map +1 -0
  111. package/src/lib/template/expression-designer.queries.d.ts +16 -0
  112. package/src/lib/template/expression-designer.queries.js +66 -0
  113. package/src/lib/template/expression-designer.queries.js.map +1 -0
  114. package/src/lib/template/expression-designer.service.d.ts +72 -0
  115. package/src/lib/template/expression-designer.service.js +543 -0
  116. package/src/lib/template/expression-designer.service.js.map +1 -0
  117. package/src/lib/template/index.d.ts +2 -0
  118. package/src/lib/template/index.js +2 -0
  119. package/src/lib/template/index.js.map +1 -1
  120. package/src/lib/template/template.module.js +4 -0
  121. package/src/lib/template/template.module.js.map +1 -1
  122. package/src/lib/template/template.service.d.ts +37 -1
  123. package/src/lib/template/template.service.js +317 -29
  124. package/src/lib/template/template.service.js.map +1 -1
  125. package/src/lib/template/workflow-definition.validator.d.ts +7 -0
  126. package/src/lib/template/workflow-definition.validator.js +26 -2
  127. package/src/lib/template/workflow-definition.validator.js.map +1 -1
  128. package/src/lib/workflow-engine/time-budget.d.ts +13 -0
  129. package/src/lib/workflow-engine/time-budget.js +58 -0
  130. package/src/lib/workflow-engine/time-budget.js.map +1 -0
  131. package/src/lib/workflow-engine/workflow-engine.service.d.ts +24 -0
  132. package/src/lib/workflow-engine/workflow-engine.service.js +249 -65
  133. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
  134. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +4 -0
  135. package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +1 -1
  136. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.d.ts +3 -1
  137. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.js +11 -2
  138. package/src/lib/workflow-webhook/workflow-webhook-delivery.service.js.map +1 -1
  139. package/src/lib/workflow-webhook/workflow-webhook-enqueue.d.ts +8 -1
  140. package/src/lib/workflow-webhook/workflow-webhook-enqueue.js +70 -27
  141. package/src/lib/workflow-webhook/workflow-webhook-enqueue.js.map +1 -1
  142. package/src/lib/workflow-webhook/workflow-webhook-expression.d.ts +57 -0
  143. package/src/lib/workflow-webhook/workflow-webhook-expression.js +123 -0
  144. package/src/lib/workflow-webhook/workflow-webhook-expression.js.map +1 -0
  145. package/src/lib/workflow-webhook/workflow-webhook.module.js +4 -0
  146. package/src/lib/workflow-webhook/workflow-webhook.module.js.map +1 -1
  147. package/src/lib/workflow-webhook/workflow-webhook.validator.d.ts +7 -0
  148. package/src/lib/workflow-webhook/workflow-webhook.validator.js +29 -6
  149. package/src/lib/workflow-webhook/workflow-webhook.validator.js.map +1 -1
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExpressionRuntime = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const time_budget_1 = require("../workflow-engine/time-budget");
6
+ const expression_errors_1 = require("./expression-errors");
7
+ const expression_engine_failure_1 = require("./expression-engine-failure");
8
+ const expression_result_walker_1 = require("./expression-result.walker");
9
+ const cel_legacy_adapter_1 = require("./adapters/cel-legacy.adapter");
10
+ const cel_v2_adapter_1 = require("./adapters/cel-v2.adapter");
11
+ const expression_function_registry_1 = require("../expression-function/expression-function.registry");
12
+ const expression_dialect_1 = require("./expression-dialect");
13
+ const logger = new common_1.Logger('ExpressionRuntime');
14
+ const runtimesByRegistry = new WeakMap();
15
+ /**
16
+ * The single place where an expression is compiled and evaluated (ADR 22 §3.2).
17
+ * Every caller goes through here: nothing reaches an engine directly.
18
+ *
19
+ * Order: compile (outside any budget, so an interrupt cannot land in module
20
+ * loading), check the budget, evaluate under `runWithinTimeBudget`, normalize
21
+ * the result, and map any failure to an {@link ExpressionRuntimeError}.
22
+ *
23
+ * A timeout raises `EXPRESSION_BUDGET_EXCEEDED`. It never returns `false`: an
24
+ * expression that did not finish is not the same as one that is false.
25
+ */
26
+ class ExpressionRuntime {
27
+ /**
28
+ * Without arguments the runtime calls the nine built-in functions only
29
+ * (ADR 22 §3.5); use {@link ExpressionRuntime.withFunctions} for a host's.
30
+ */
31
+ constructor(legacyAdapter = cel_legacy_adapter_1.celLegacyAdapter, v2Adapter = cel_v2_adapter_1.celV2Adapter) {
32
+ this.legacyAdapter = legacyAdapter;
33
+ this.v2Adapter = v2Adapter;
34
+ }
35
+ /**
36
+ * The runtime for a function registry: both dialects call the functions it
37
+ * lists, through the same argument, result and failure rules. One runtime
38
+ * per registry, cached, so every caller shares its compiled environments.
39
+ * The built-ins-only registry gets the default adapters.
40
+ */
41
+ static withFunctions(registry) {
42
+ if (registry === expression_function_registry_1.BUILT_IN_EXPRESSION_FUNCTION_REGISTRY) {
43
+ return new ExpressionRuntime();
44
+ }
45
+ const cached = runtimesByRegistry.get(registry);
46
+ if (cached) {
47
+ return cached;
48
+ }
49
+ const runtime = new ExpressionRuntime((0, cel_legacy_adapter_1.createCelLegacyAdapter)(registry), (0, cel_v2_adapter_1.createCelV2Adapter)(registry));
50
+ runtimesByRegistry.set(registry, runtime);
51
+ return runtime;
52
+ }
53
+ /**
54
+ * Compiles with the dialect's engine. This is also what loads that engine,
55
+ * so callers that compile before starting a budget never have an interrupt
56
+ * land inside module loading.
57
+ */
58
+ compile(expression, label, dialect = expression_dialect_1.DEFAULT_EXPRESSION_DIALECT) {
59
+ const adapter = this.readAdapter(dialect, label);
60
+ let handle;
61
+ try {
62
+ handle = adapter.compile(expression);
63
+ }
64
+ catch (error) {
65
+ // A classified failure (the function registry could not be read while
66
+ // the cel-v2 environment was built) is mapped like one at evaluation.
67
+ // Anything else — the engine failing to load — is a configuration
68
+ // error and passes through.
69
+ if (error instanceof expression_engine_failure_1.ExpressionEngineFailure) {
70
+ throw (0, expression_errors_1.toExpressionRuntimeError)(error, label, expression);
71
+ }
72
+ throw error;
73
+ }
74
+ if (handle === null) {
75
+ throw new expression_errors_1.ExpressionRuntimeError('EXPRESSION_SYNTAX_ERROR', label);
76
+ }
77
+ return handle;
78
+ }
79
+ evaluate(request) {
80
+ const dialect = request.dialect ?? expression_dialect_1.DEFAULT_EXPRESSION_DIALECT;
81
+ const adapter = this.readAdapter(dialect, request.label);
82
+ const handle = this.compile(request.expression, request.label, dialect);
83
+ const timeoutMs = request.budget.nextTimeoutMs();
84
+ // Below one whole millisecond nothing useful can run, and `vm` would reject
85
+ // the timeout as a range error rather than report an exhausted budget.
86
+ if (timeoutMs < 1) {
87
+ const exhausted = new expression_errors_1.ExpressionRuntimeError('EXPRESSION_BUDGET_EXCEEDED', request.label);
88
+ this.logFailure(exhausted, dialect, performance.now());
89
+ throw exhausted;
90
+ }
91
+ const startedAt = performance.now();
92
+ try {
93
+ const raw = (0, time_budget_1.runWithinTimeBudget)(() => adapter.evaluate(handle, request.roots), timeoutMs);
94
+ return (0, expression_result_walker_1.normalizeExpressionResult)(raw, request.label, expression_result_walker_1.DEFAULT_EXPRESSION_RESULT_LIMITS);
95
+ }
96
+ catch (error) {
97
+ const mapped = (0, expression_errors_1.toExpressionRuntimeError)(error, request.label, request.expression);
98
+ this.logFailure(mapped, dialect, startedAt);
99
+ throw mapped;
100
+ }
101
+ finally {
102
+ request.budget.record(performance.now() - startedAt);
103
+ }
104
+ }
105
+ readAdapter(dialect, label) {
106
+ switch (dialect) {
107
+ case 'cel-legacy':
108
+ return this.legacyAdapter;
109
+ case 'cel-v2':
110
+ return this.v2Adapter;
111
+ default:
112
+ // Unreachable for typed callers; a value cast or read from storage
113
+ // could still get here, and is refused rather than guessed at.
114
+ throw new expression_errors_1.ExpressionRuntimeError('EXPRESSION_SYNTAX_ERROR', label, {
115
+ detail: 'names an unknown expression dialect',
116
+ });
117
+ }
118
+ }
119
+ /**
120
+ * Logs only the label, the dialect, the code and the elapsed time. The message, the key
121
+ * name and the expression are not logged: they can carry case data.
122
+ */
123
+ logFailure(error, dialect, startedAt) {
124
+ const elapsedMs = Math.round(performance.now() - startedAt);
125
+ const line = `label=${error.label} dialect=${dialect} code=${error.code} elapsedMs=${elapsedMs}`;
126
+ if (error.code === 'EXPRESSION_BUDGET_EXCEEDED') {
127
+ logger.warn(line);
128
+ return;
129
+ }
130
+ logger.debug(line);
131
+ }
132
+ }
133
+ exports.ExpressionRuntime = ExpressionRuntime;
134
+ //# sourceMappingURL=expression-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-runtime.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/condition/expression-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,6 @@
1
1
  export * from './condition.module';
2
2
  export * from './condition.service';
3
+ export * from './expression-errors';
4
+ export { DEFAULT_EXPRESSION_DIALECT, EXPRESSION_DIALECTS, isExpressionDialect, readExpressionDialect, readWorkflowExpressionDialect, } from './expression-dialect';
5
+ export type { ExpressionDialect } from './expression-dialect';
6
+ export type { ExpressionBudget, ExpressionBudgetOptions, } from './expression-budget';
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readWorkflowExpressionDialect = exports.readExpressionDialect = exports.isExpressionDialect = exports.EXPRESSION_DIALECTS = exports.DEFAULT_EXPRESSION_DIALECT = void 0;
3
4
  const tslib_1 = require("tslib");
4
5
  tslib_1.__exportStar(require("./condition.module"), exports);
5
6
  tslib_1.__exportStar(require("./condition.service"), exports);
7
+ tslib_1.__exportStar(require("./expression-errors"), exports);
8
+ var expression_dialect_1 = require("./expression-dialect");
9
+ Object.defineProperty(exports, "DEFAULT_EXPRESSION_DIALECT", { enumerable: true, get: function () { return expression_dialect_1.DEFAULT_EXPRESSION_DIALECT; } });
10
+ Object.defineProperty(exports, "EXPRESSION_DIALECTS", { enumerable: true, get: function () { return expression_dialect_1.EXPRESSION_DIALECTS; } });
11
+ Object.defineProperty(exports, "isExpressionDialect", { enumerable: true, get: function () { return expression_dialect_1.isExpressionDialect; } });
12
+ Object.defineProperty(exports, "readExpressionDialect", { enumerable: true, get: function () { return expression_dialect_1.readExpressionDialect; } });
13
+ Object.defineProperty(exports, "readWorkflowExpressionDialect", { enumerable: true, get: function () { return expression_dialect_1.readWorkflowExpressionDialect; } });
6
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/condition/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/condition/index.ts"],"names":[],"mappings":";;;;AAAA,6DAAmC;AACnC,8DAAoC;AACpC,8DAAoC;AACpC,2DAM8B;AAL5B,gIAAA,0BAA0B,OAAA;AAC1B,yHAAA,mBAAmB,OAAA;AACnB,yHAAA,mBAAmB,OAAA;AACnB,2HAAA,qBAAqB,OAAA;AACrB,mIAAA,6BAA6B,OAAA"}
@@ -1,3 +1,4 @@
1
+ import type { ExpressionDialect } from '../condition/expression-dialect';
1
2
  import { DelegationRuleStatusEnum, DelegationScopeTypeEnum } from './delegation.enums';
2
3
  export declare class DelegationRuleEntity {
3
4
  id: string;
@@ -6,6 +7,12 @@ export declare class DelegationRuleEntity {
6
7
  scopeType: DelegationScopeTypeEnum;
7
8
  scopeTemplateIds: readonly string[];
8
9
  scopeConditionCel: string | null;
10
+ /**
11
+ * The engine `scopeConditionCel` is evaluated with (ADR 22 §3.3). Rows
12
+ * written before the column existed are `cel-legacy` (migration
13
+ * `DelegationScopeConditionDialect0000000030000`).
14
+ */
15
+ scopeConditionDialect: ExpressionDialect;
9
16
  priority: number;
10
17
  startAt: Date;
11
18
  endAt: Date | null;
@@ -42,6 +42,16 @@ tslib_1.__decorate([
42
42
  (0, graphql_1.Field)(() => String, { nullable: true }),
43
43
  tslib_1.__metadata("design:type", Object)
44
44
  ], DelegationRuleEntity.prototype, "scopeConditionCel", void 0);
45
+ tslib_1.__decorate([
46
+ (0, typeorm_1.Column)('text', {
47
+ default: 'cel-legacy',
48
+ name: 'scope_condition_dialect',
49
+ }),
50
+ (0, graphql_1.Field)(() => String, {
51
+ description: 'Expression dialect of scopeConditionCel: cel-legacy or cel-v2.',
52
+ }),
53
+ tslib_1.__metadata("design:type", String)
54
+ ], DelegationRuleEntity.prototype, "scopeConditionDialect", void 0);
45
55
  tslib_1.__decorate([
46
56
  (0, typeorm_1.Column)('int', { default: 100 }),
47
57
  (0, graphql_1.Field)({
@@ -1 +1 @@
1
- {"version":3,"file":"delegation-rule.entity.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/delegation/delegation-rule.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegation-rule.entity.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/delegation/delegation-rule.entity.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ModuleRef } from '@nestjs/core';
2
- import { Repository } from 'typeorm';
2
+ import { EntityManager, Repository } from 'typeorm';
3
3
  import { ConditionService } from '../condition/condition.service';
4
4
  import { CreateDelegationRuleInput, UpdateDelegationRuleInput } from './dto/delegation-rule.input';
5
5
  import { DelegationRuleEntity } from './delegation-rule.entity';
@@ -9,6 +9,12 @@ export interface DelegationResolutionContext {
9
9
  readonly initiatorMemberId: string;
10
10
  readonly initiatorMetadataSnapshot: Readonly<Record<string, unknown>>;
11
11
  readonly instanceId: string;
12
+ /**
13
+ * The open transaction to read rules through. A caller inside one must pass
14
+ * it: reading on a second pooled connection while holding the first lets
15
+ * concurrent transactions wait on each other until the pool never recovers.
16
+ */
17
+ readonly manager?: EntityManager;
12
18
  readonly nodeId: string;
13
19
  readonly state: string;
14
20
  readonly templateId: string;
@@ -9,6 +9,7 @@ const unknown_element_exception_js_1 = require("@nestjs/core/errors/exceptions/u
9
9
  const typeorm_1 = require("@nestjs/typeorm");
10
10
  const typeorm_2 = require("typeorm");
11
11
  const condition_service_1 = require("../condition/condition.service");
12
+ const expression_dialect_1 = require("../condition/expression-dialect");
12
13
  const identity_service_1 = require("../identity/identity.service");
13
14
  const delegation_rule_entity_1 = require("./delegation-rule.entity");
14
15
  const delegation_enums_1 = require("./delegation.enums");
@@ -76,6 +77,9 @@ let DelegationService = DelegationService_1 = class DelegationService {
76
77
  ...input,
77
78
  principalMemberId: currentRule.principalMemberId,
78
79
  createdByMemberId: currentRule.createdByMemberId,
80
+ // An update cannot change the dialect: the condition keeps being read
81
+ // by the engine it was written and tested for (ADR 22 §3.3).
82
+ scopeConditionDialect: (0, expression_dialect_1.readExpressionDialect)(currentRule.scopeConditionDialect, `delegationRules.${currentRule.id}.scopeConditionDialect`),
79
83
  });
80
84
  await this.assertNoActiveCycle(normalizedRule.principalMemberId, normalizedRule.agentMemberId, currentRule.id);
81
85
  // Assigning onto a fresh entity keeps the prototype. `DelegationRuleEntity`
@@ -155,7 +159,7 @@ let DelegationService = DelegationService_1 = class DelegationService {
155
159
  * of scope never waits on, or is refused by, the host directory.
156
160
  */
157
161
  async readScopedRules(principalMemberId, context, at) {
158
- const rules = await this.readCurrentRules(principalMemberId, at);
162
+ const rules = await this.readCurrentRules(principalMemberId, at, context.manager);
159
163
  return rules.flatMap((rule) => {
160
164
  try {
161
165
  return this.matchesRuleScope(rule, context)
@@ -168,8 +172,10 @@ let DelegationService = DelegationService_1 = class DelegationService {
168
172
  });
169
173
  }
170
174
  /** The principal's rules in force at `at`, the applicable one first. */
171
- async readCurrentRules(principalMemberId, at) {
172
- return (await this.delegationRuleRepository.find({
175
+ async readCurrentRules(principalMemberId, at, manager) {
176
+ const repository = manager?.getRepository(delegation_rule_entity_1.DelegationRuleEntity) ??
177
+ this.delegationRuleRepository;
178
+ return (await repository.find({
173
179
  // Higher priority wins, as with manager rules; among equal priorities
174
180
  // the rule created first wins. TypeORM sorts by key order, so
175
181
  // `priority` has to be the first key — it used to come second and
@@ -246,7 +252,9 @@ let DelegationService = DelegationService_1 = class DelegationService {
246
252
  if (rule.scopeType === delegation_enums_1.DelegationScopeTypeEnum.TEMPLATE_LIST) {
247
253
  return rule.scopeTemplateIds.includes(context.templateId);
248
254
  }
249
- return this.conditionService.evaluateBoolean(rule.scopeConditionCel, buildDelegationExpressionContext(rule.principalMemberId, context), `delegationRules.${rule.id}.scopeConditionCel`);
255
+ return this.conditionService.evaluateBoolean(rule.scopeConditionCel, buildDelegationExpressionContext(rule.principalMemberId, context), `delegationRules.${rule.id}.scopeConditionCel`, {
256
+ dialect: (0, expression_dialect_1.readExpressionDialect)(rule.scopeConditionDialect, `delegationRules.${rule.id}.scopeConditionDialect`),
257
+ });
250
258
  }
251
259
  async assertNoActiveCycle(principalMemberId, agentMemberId, ignoredRuleId = null) {
252
260
  if (principalMemberId === agentMemberId) {
@@ -297,6 +305,7 @@ let DelegationService = DelegationService_1 = class DelegationService {
297
305
  }
298
306
  const scopeTemplateIds = input.scopeTemplateIds ?? [];
299
307
  const scopeConditionCel = input.scopeConditionCel?.trim() || null;
308
+ const scopeConditionDialect = (0, expression_dialect_1.readExpressionDialect)(input.scopeConditionDialect, 'scopeConditionDialect');
300
309
  if (input.scopeType === delegation_enums_1.DelegationScopeTypeEnum.TEMPLATE_LIST &&
301
310
  scopeTemplateIds.length === 0) {
302
311
  throw new common_1.BadRequestException('Template scoped delegation requires templates');
@@ -305,7 +314,14 @@ let DelegationService = DelegationService_1 = class DelegationService {
305
314
  !scopeConditionCel) {
306
315
  throw new common_1.BadRequestException('Condition scoped delegation requires CEL');
307
316
  }
308
- const lintErrors = this.conditionService.lintExpression(scopeConditionCel, 'scopeConditionCel', { allowedRootIdentifiers: DELEGATION_EXPRESSION_ROOT_IDENTIFIERS });
317
+ const lintErrors = this.conditionService.lintExpression(scopeConditionCel, 'scopeConditionCel', {
318
+ allowedRootIdentifiers: DELEGATION_EXPRESSION_ROOT_IDENTIFIERS,
319
+ dialect: scopeConditionDialect,
320
+ // The use point brings the cel-v2 result type (bool) and the function
321
+ // rules (host functions allowed); its roots equal the list above, so
322
+ // cel-legacy reads the same roots as before.
323
+ usagePoint: 'DELEGATION_CONDITION',
324
+ });
309
325
  if (lintErrors.length > 0) {
310
326
  throw new common_1.BadRequestException(lintErrors.join('; '));
311
327
  }
@@ -318,6 +334,7 @@ let DelegationService = DelegationService_1 = class DelegationService {
318
334
  scopeConditionCel: input.scopeType === delegation_enums_1.DelegationScopeTypeEnum.CONDITION_BASED
319
335
  ? scopeConditionCel
320
336
  : null,
337
+ scopeConditionDialect,
321
338
  scopeTemplateIds: input.scopeType === delegation_enums_1.DelegationScopeTypeEnum.TEMPLATE_LIST
322
339
  ? scopeTemplateIds
323
340
  : [],
@@ -1 +1 @@
1
- {"version":3,"file":"delegation.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/delegation/delegation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegation.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/delegation/delegation.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ExpressionDialect } from '../../condition/expression-dialect';
1
2
  import { DelegationScopeTypeEnum } from '../delegation.enums';
2
3
  export declare class CreateDelegationRuleInput {
3
4
  principalMemberId: string;
@@ -5,6 +6,7 @@ export declare class CreateDelegationRuleInput {
5
6
  scopeType: DelegationScopeTypeEnum;
6
7
  scopeTemplateIds?: readonly string[] | null;
7
8
  scopeConditionCel?: string | null;
9
+ scopeConditionDialect?: ExpressionDialect | null;
8
10
  priority?: number | null;
9
11
  startAt?: string | null;
10
12
  endAt?: string | null;
@@ -4,6 +4,7 @@ exports.UpdateDelegationRuleInput = exports.CreateDelegationRuleInput = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const graphql_1 = require("@nestjs/graphql");
6
6
  const class_validator_1 = require("class-validator");
7
+ const expression_dialect_1 = require("../../condition/expression-dialect");
7
8
  const delegation_enums_1 = require("../delegation.enums");
8
9
  const PRIORITY_DESCRIPTION = 'Higher wins when several active rules of one principal match; ties go to the rule created first.';
9
10
  const ISO_DATE_TIME_WITH_TIME_ZONE_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[+-]\d{2}:\d{2})$/;
@@ -38,6 +39,15 @@ tslib_1.__decorate([
38
39
  (0, class_validator_1.IsString)(),
39
40
  tslib_1.__metadata("design:type", Object)
40
41
  ], CreateDelegationRuleInput.prototype, "scopeConditionCel", void 0);
42
+ tslib_1.__decorate([
43
+ (0, graphql_1.Field)(() => String, {
44
+ description: 'Expression dialect of scopeConditionCel: cel-legacy (default) or cel-v2. Fixed once the rule exists; updating a rule keeps it.',
45
+ nullable: true,
46
+ }),
47
+ (0, class_validator_1.IsOptional)(),
48
+ (0, class_validator_1.IsIn)(expression_dialect_1.EXPRESSION_DIALECTS),
49
+ tslib_1.__metadata("design:type", Object)
50
+ ], CreateDelegationRuleInput.prototype, "scopeConditionDialect", void 0);
41
51
  tslib_1.__decorate([
42
52
  (0, graphql_1.Field)(() => graphql_1.Int, {
43
53
  description: `${PRIORITY_DESCRIPTION} Defaults to 100.`,
@@ -1 +1 @@
1
- {"version":3,"file":"delegation-rule.input.js","sourceRoot":"","sources":["../../../../../../../libs/bpm-core/src/lib/delegation/dto/delegation-rule.input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegation-rule.input.js","sourceRoot":"","sources":["../../../../../../../libs/bpm-core/src/lib/delegation/dto/delegation-rule.input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { BPMBuiltInExpressionFunctionName } from '@rytass/bpm-core-shared';
2
+ import type { BPMExpressionFunction } from './expression-function.types';
3
+ /**
4
+ * The built-ins, in the order `list()` reports them (alphabetical, matching
5
+ * `BPM_BUILT_IN_EXPRESSION_FUNCTION_NAMES`).
6
+ */
7
+ export declare const BPM_BUILT_IN_EXPRESSION_FUNCTIONS: readonly (BPMExpressionFunction & {
8
+ readonly name: BPMBuiltInExpressionFunctionName;
9
+ })[];
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BPM_BUILT_IN_EXPRESSION_FUNCTIONS = void 0;
4
+ /*
5
+ * The nine core functions (ADR 22 §3.5). Pure computation only: no time, no
6
+ * randomness, no I/O, so a dry run, a preview and the real evaluation always
7
+ * agree. Their names are reserved and carry no version suffix.
8
+ *
9
+ * Every handler receives arguments the runtime has already checked against
10
+ * `parameters` (a `double` is a finite JS number, a `string` a string), so the
11
+ * casts below only restate that check.
12
+ *
13
+ * Numeric results are always `double`, in both dialects: cel-legacy only has JS
14
+ * numbers, and in cel-v2 `round(form.amount) == 2` still holds through the
15
+ * exact `int == double` operator the adapter registers.
16
+ */
17
+ const NUMBER_PARAMETER = {
18
+ name: 'value',
19
+ type: 'double',
20
+ };
21
+ const STRING_PARAMETER = {
22
+ name: 'value',
23
+ type: 'string',
24
+ };
25
+ const PAIR_PARAMETERS = [
26
+ { name: 'left', type: 'double' },
27
+ { name: 'right', type: 'double' },
28
+ ];
29
+ /** `-0` reads as `0` in JSON but not to `Object.is`; results never carry it. */
30
+ const withoutNegativeZero = (value) => value === 0 ? 0 : value;
31
+ const unaryNumber = (operation) => (...args) => withoutNegativeZero(operation(args[0]));
32
+ const binaryNumber = (operation) => (...args) => withoutNegativeZero(operation(args[0], args[1]));
33
+ const unaryString = (operation) => (...args) => operation(args[0]);
34
+ /**
35
+ * Rounds half away from zero, as spreadsheets and most business rules do:
36
+ * `round(2.5)` is 3 and `round(-2.5)` is -3. `Math.round` alone would give -2.
37
+ */
38
+ const roundHalfAwayFromZero = (value) => Math.sign(value) * Math.round(Math.abs(value));
39
+ /**
40
+ * The built-ins, in the order `list()` reports them (alphabetical, matching
41
+ * `BPM_BUILT_IN_EXPRESSION_FUNCTION_NAMES`).
42
+ */
43
+ exports.BPM_BUILT_IN_EXPRESSION_FUNCTIONS = Object.freeze([
44
+ {
45
+ description: 'The absolute value of a number.',
46
+ handler: unaryNumber(Math.abs),
47
+ label: '絕對值',
48
+ name: 'abs',
49
+ parameters: [NUMBER_PARAMETER],
50
+ returnType: 'double',
51
+ },
52
+ {
53
+ description: 'The smallest integer not less than a number.',
54
+ handler: unaryNumber(Math.ceil),
55
+ label: '無條件進位',
56
+ name: 'ceil',
57
+ parameters: [NUMBER_PARAMETER],
58
+ returnType: 'double',
59
+ },
60
+ {
61
+ description: 'The largest integer not greater than a number.',
62
+ handler: unaryNumber(Math.floor),
63
+ label: '無條件捨去',
64
+ name: 'floor',
65
+ parameters: [NUMBER_PARAMETER],
66
+ returnType: 'double',
67
+ },
68
+ {
69
+ description: 'A string in lower case. Locale independent: the same input always gives the same result.',
70
+ handler: unaryString((value) => value.toLowerCase()),
71
+ label: '轉小寫',
72
+ name: 'lower',
73
+ parameters: [STRING_PARAMETER],
74
+ returnType: 'string',
75
+ },
76
+ {
77
+ description: 'The larger of two numbers.',
78
+ handler: binaryNumber(Math.max),
79
+ label: '較大值',
80
+ name: 'max',
81
+ parameters: PAIR_PARAMETERS,
82
+ returnType: 'double',
83
+ },
84
+ {
85
+ description: 'The smaller of two numbers.',
86
+ handler: binaryNumber(Math.min),
87
+ label: '較小值',
88
+ name: 'min',
89
+ parameters: PAIR_PARAMETERS,
90
+ returnType: 'double',
91
+ },
92
+ {
93
+ description: 'A number rounded to the nearest integer; halves round away from zero.',
94
+ handler: unaryNumber(roundHalfAwayFromZero),
95
+ label: '四捨五入',
96
+ name: 'round',
97
+ parameters: [NUMBER_PARAMETER],
98
+ returnType: 'double',
99
+ },
100
+ {
101
+ description: 'A string without leading and trailing whitespace.',
102
+ handler: unaryString((value) => value.trim()),
103
+ label: '去除前後空白',
104
+ name: 'trim',
105
+ parameters: [STRING_PARAMETER],
106
+ returnType: 'string',
107
+ },
108
+ {
109
+ description: 'A string in upper case. Locale independent: the same input always gives the same result.',
110
+ handler: unaryString((value) => value.toUpperCase()),
111
+ label: '轉大寫',
112
+ name: 'upper',
113
+ parameters: [STRING_PARAMETER],
114
+ returnType: 'string',
115
+ },
116
+ ]);
117
+ //# sourceMappingURL=expression-function.built-ins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-function.built-ins.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/expression-function/expression-function.built-ins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { DynamicModule, ModuleMetadata, Provider } from '@nestjs/common';
2
+ import { BPMExpressionFunction } from './expression-function.types';
3
+ export interface ExpressionFunctionModuleOptions extends Pick<ModuleMetadata, 'imports'> {
4
+ /**
5
+ * Host functions as a Nest provider for `BPM_EXPRESSION_FUNCTIONS`, for
6
+ * functions that need injected dependencies to be built. Added after the
7
+ * `expressionFunctions` runtime option; a name in both is a boot error.
8
+ */
9
+ readonly functionsProvider?: Provider<readonly BPMExpressionFunction[]>;
10
+ }
11
+ /**
12
+ * Publishes the expression function registry (ADR 22 §3.5) under
13
+ * `BPM_EXPRESSION_FUNCTION_REGISTRY`. Global, because every module that
14
+ * evaluates or lints an expression (`ConditionModule` consumers: templates,
15
+ * the workflow engine, delegation) reads the same registry.
16
+ */
17
+ export declare class ExpressionFunctionModule {
18
+ static forRoot(options?: ExpressionFunctionModuleOptions): DynamicModule;
19
+ }