@qualsoft/workflow-core 0.1.2 → 0.1.4

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.
package/README.md CHANGED
@@ -68,6 +68,40 @@ const result = await engine.run({
68
68
  console.log(result.updatedRecord.statut);
69
69
  ```
70
70
 
71
+ ### Action runners on step entry
72
+
73
+ Workflow steps can define `actionRunners` that run when a record enters a step or after a delay. Each runner specifies a `type` (ex: `assignUser`, `assignRole`, `updateRecordFields`, `notifyUser`, `slaTimer`) and a trigger:
74
+
75
+ ```ts
76
+ steps: [
77
+ {
78
+ id: 'review',
79
+ label: 'Revue',
80
+ actor: 'role',
81
+ role: 'quality',
82
+ fields: [],
83
+ actions: [],
84
+ actionRunners: [
85
+ {
86
+ id: 'review-notify',
87
+ label: 'Notifier le responsable',
88
+ type: 'notifyUser',
89
+ trigger: {
90
+ type: 'afterDelay',
91
+ delay: { value: 2, unit: 'days', source: 'stepEntry' }
92
+ },
93
+ payload: {
94
+ subject: 'Relance revue',
95
+ message: 'Une revue est en attente.'
96
+ }
97
+ }
98
+ ]
99
+ }
100
+ ]
101
+ ```
102
+
103
+ The engine executes immediate runners via the `ActionRunner` interface and schedules delayed runners via `scheduleTask`.
104
+
71
105
  ## Build
72
106
 
73
107
  ```bash
@@ -79,7 +113,7 @@ The compiled JavaScript and type declarations are output to `lib/`.
79
113
  ## Publish
80
114
 
81
115
  ```bash
82
- npm publish --access public
116
+ npm version patch && npm publish --access public
83
117
  ```
84
118
 
85
119
  > The `prepare` script runs the build automatically during publish.
@@ -15,10 +15,20 @@ export interface ActionRunner {
15
15
  taskType: string;
16
16
  payload: unknown;
17
17
  }): Promise<void>;
18
+ assignUser(payload: Record<string, unknown>): Promise<void>;
19
+ assignRole(payload: Record<string, unknown>): Promise<void>;
20
+ updateRecordFields(payload: Record<string, unknown>): Promise<void>;
21
+ notifyUser(payload: Record<string, unknown>): Promise<void>;
22
+ startSlaTimer(payload: Record<string, unknown>): Promise<void>;
18
23
  }
19
24
  export declare class NoopActionRunner implements ActionRunner {
20
25
  sendEmail(): Promise<void>;
21
26
  httpRequest(): Promise<void>;
22
27
  scheduleTask(): Promise<void>;
28
+ assignUser(): Promise<void>;
29
+ assignRole(): Promise<void>;
30
+ updateRecordFields(): Promise<void>;
31
+ notifyUser(): Promise<void>;
32
+ startSlaTimer(): Promise<void>;
23
33
  }
24
34
  //# sourceMappingURL=action-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-runner.d.ts","sourceRoot":"","sources":["../src/action-runner.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,WAAW,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvH,YAAY,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7F;AAED,qBAAa,gBAAiB,YAAW,YAAY;IAC7C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
1
+ {"version":3,"file":"action-runner.d.ts","sourceRoot":"","sources":["../src/action-runner.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,WAAW,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvH,YAAY,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED,qBAAa,gBAAiB,YAAW,YAAY;IAC7C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
@@ -11,6 +11,21 @@ class NoopActionRunner {
11
11
  async scheduleTask() {
12
12
  return;
13
13
  }
14
+ async assignUser() {
15
+ return;
16
+ }
17
+ async assignRole() {
18
+ return;
19
+ }
20
+ async updateRecordFields() {
21
+ return;
22
+ }
23
+ async notifyUser() {
24
+ return;
25
+ }
26
+ async startSlaTimer() {
27
+ return;
28
+ }
14
29
  }
15
30
  exports.NoopActionRunner = NoopActionRunner;
16
31
  //# sourceMappingURL=action-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-runner.js","sourceRoot":"","sources":["../src/action-runner.ts"],"names":[],"mappings":";;;AAMA,MAAa,gBAAgB;IAC3B,KAAK,CAAC,SAAS;QACb,OAAO;IACT,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO;IACT,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO;IACT,CAAC;CACF;AAZD,4CAYC"}
1
+ {"version":3,"file":"action-runner.js","sourceRoot":"","sources":["../src/action-runner.ts"],"names":[],"mappings":";;;AAWA,MAAa,gBAAgB;IAC3B,KAAK,CAAC,SAAS;QACb,OAAO;IACT,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO;IACT,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO;IACT,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO;IACT,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO;IACT,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO;IACT,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO;IACT,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO;IACT,CAAC;CACF;AAhCD,4CAgCC"}
package/lib/engine.d.ts CHANGED
@@ -21,7 +21,21 @@ export declare class WorkflowEngine {
21
21
  private actionRunner;
22
22
  constructor(options: WorkflowEngineOptions);
23
23
  run(input: WorkflowRunInput): Promise<WorkflowRunResult>;
24
+ private ensureUserAuthorized;
25
+ private ensureValidationCriteria;
26
+ private resolveNextStepId;
27
+ private evaluateExpression;
28
+ private buildExpressionScope;
29
+ private isValidIdentifier;
30
+ private getUserIdentifiers;
31
+ private getRecordCreatorIdentifiers;
32
+ private resolveRecordValue;
24
33
  private applyActions;
34
+ private applyStepActionRunners;
35
+ private resolveRunnerScheduleTime;
36
+ private resolveDelayMilliseconds;
37
+ private resolveDateFromValue;
38
+ private executeActionRunner;
25
39
  private buildWorkflowHistory;
26
40
  }
27
41
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,cAAc,EAEf,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED,qBAAa,cAAc;IAGb,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,YAAY,CAAe;gBAEf,OAAO,EAAE,qBAAqB;IAI5C,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAmDhD,YAAY;IAqB1B,OAAO,CAAC,oBAAoB;CAyC7B"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,cAAc,EAQf,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED,qBAAa,cAAc;IAGb,OAAO,CAAC,OAAO;IAF3B,OAAO,CAAC,YAAY,CAAe;gBAEf,OAAO,EAAE,qBAAqB;IAI5C,GAAG,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkE9D,OAAO,CAAC,oBAAoB;IA4D5B,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,2BAA2B;IAenC,OAAO,CAAC,kBAAkB;YAQZ,YAAY;YAqBZ,sBAAsB;IAwCpC,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,oBAAoB;YAkBd,mBAAmB;IAoCjC,OAAO,CAAC,oBAAoB;CAyC7B"}
package/lib/engine.js CHANGED
@@ -28,7 +28,9 @@ class WorkflowEngine {
28
28
  if (!action) {
29
29
  throw new Error('Action not allowed for current workflow.');
30
30
  }
31
- const nextStepId = action.defaultNextStepId;
31
+ this.ensureUserAuthorized(currentStep, record, input.context);
32
+ this.ensureValidationCriteria(action, record, input.context);
33
+ const nextStepId = this.resolveNextStepId(action, record, input.context);
32
34
  const timestamp = input.context?.timestamp ?? new Date().toISOString();
33
35
  const validatedBy = input.context?.user?.email ?? input.context?.user?.displayName ?? '';
34
36
  const workflowHistory = this.buildWorkflowHistory(record.workflowHistory ?? [], currentStepId, nextStepId, action.label, validatedBy, timestamp);
@@ -42,8 +44,155 @@ class WorkflowEngine {
42
44
  workflowHistory
43
45
  });
44
46
  await this.applyActions(definition, currentStepId, action, input.context);
47
+ const nextStep = (0, utils_1.findStep)(steps, nextStepId);
48
+ if (nextStep) {
49
+ await this.applyStepActionRunners({
50
+ formId,
51
+ workflowId,
52
+ recordId,
53
+ step: nextStep,
54
+ record: updatedRecord,
55
+ context: input.context,
56
+ enteredAt: timestamp
57
+ });
58
+ }
45
59
  return { updatedRecord, definition };
46
60
  }
61
+ ensureUserAuthorized(step, record, context) {
62
+ const actor = step.actor ?? 'anyone';
63
+ if (actor === 'anyone') {
64
+ return;
65
+ }
66
+ if (actor === 'none') {
67
+ throw new Error('Action not allowed for current workflow.');
68
+ }
69
+ const user = context?.user;
70
+ if (!user) {
71
+ throw new Error('Action not allowed for current workflow.');
72
+ }
73
+ if (actor === 'role') {
74
+ const roles = user.roles ?? [];
75
+ if (!step.role || !roles.includes(step.role)) {
76
+ throw new Error('Action not allowed for current workflow.');
77
+ }
78
+ return;
79
+ }
80
+ if (actor === 'designated') {
81
+ const identifiers = this.getUserIdentifiers(user);
82
+ const allowed = step.designatedUsers?.some(item => identifiers.has(item)) ?? false;
83
+ if (!allowed) {
84
+ throw new Error('Action not allowed for current workflow.');
85
+ }
86
+ return;
87
+ }
88
+ if (actor === 'designatedField') {
89
+ const fieldId = step.designatedFieldId;
90
+ if (!fieldId) {
91
+ throw new Error('Action not allowed for current workflow.');
92
+ }
93
+ const designatedValue = this.resolveRecordValue(record, fieldId);
94
+ const designatedList = Array.isArray(designatedValue)
95
+ ? designatedValue
96
+ : designatedValue !== undefined && designatedValue !== null
97
+ ? [designatedValue]
98
+ : [];
99
+ const identifiers = this.getUserIdentifiers(user);
100
+ const allowed = designatedList.some(item => identifiers.has(String(item)));
101
+ if (!allowed) {
102
+ throw new Error('Action not allowed for current workflow.');
103
+ }
104
+ return;
105
+ }
106
+ if (actor === 'creator') {
107
+ const creatorIdentifiers = this.getRecordCreatorIdentifiers(record);
108
+ const userIdentifiers = this.getUserIdentifiers(user);
109
+ const allowed = creatorIdentifiers.some(item => userIdentifiers.has(item));
110
+ if (!allowed) {
111
+ throw new Error('Action not allowed for current workflow.');
112
+ }
113
+ }
114
+ }
115
+ ensureValidationCriteria(action, record, context) {
116
+ if (!action.validationCriteria?.trim()) {
117
+ return;
118
+ }
119
+ const isValid = this.evaluateExpression(action.validationCriteria, record, context);
120
+ if (!isValid) {
121
+ throw new Error('Validation criteria not met.');
122
+ }
123
+ }
124
+ resolveNextStepId(action, record, context) {
125
+ const conditionalRoutes = action.conditionalRoutes ?? [];
126
+ for (const route of conditionalRoutes) {
127
+ if (!route.condition?.trim()) {
128
+ continue;
129
+ }
130
+ if (this.evaluateExpression(route.condition, record, context)) {
131
+ return route.nextStepId || action.defaultNextStepId;
132
+ }
133
+ }
134
+ return action.defaultNextStepId;
135
+ }
136
+ evaluateExpression(expression, record, context) {
137
+ const trimmed = expression.trim();
138
+ if (!trimmed) {
139
+ return false;
140
+ }
141
+ const { names, values } = this.buildExpressionScope(record, context);
142
+ try {
143
+ const evaluator = new Function(...names, `return !!(${trimmed});`);
144
+ return Boolean(evaluator(...values));
145
+ }
146
+ catch (error) {
147
+ const message = error instanceof Error ? error.message : String(error);
148
+ throw new Error(`Invalid condition: ${message}`);
149
+ }
150
+ }
151
+ buildExpressionScope(record, context) {
152
+ const scope = {
153
+ ...(record?.customFields ?? {}),
154
+ ...record
155
+ };
156
+ const names = [];
157
+ const values = [];
158
+ for (const [key, value] of Object.entries(scope)) {
159
+ if (this.isValidIdentifier(key)) {
160
+ names.push(key);
161
+ values.push(value);
162
+ }
163
+ }
164
+ names.push('record', 'context', 'user', 'Math');
165
+ values.push(record, context, context?.user, Math);
166
+ return { names, values };
167
+ }
168
+ isValidIdentifier(value) {
169
+ return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(value);
170
+ }
171
+ getUserIdentifiers(user) {
172
+ const identifiers = [user.id, user.email, user.displayName].filter(Boolean);
173
+ return new Set(identifiers);
174
+ }
175
+ getRecordCreatorIdentifiers(record) {
176
+ const candidates = [
177
+ record.createdBy,
178
+ record.createdById,
179
+ record.createdByEmail,
180
+ record.creatorId,
181
+ record.creatorEmail,
182
+ record.ownerId,
183
+ record.ownerEmail
184
+ ];
185
+ return candidates
186
+ .filter(item => item !== undefined && item !== null)
187
+ .map(item => String(item));
188
+ }
189
+ resolveRecordValue(record, fieldId) {
190
+ const recordValue = record[fieldId];
191
+ if (recordValue !== undefined) {
192
+ return recordValue;
193
+ }
194
+ return record.customFields?.[fieldId];
195
+ }
47
196
  async applyActions(definition, stepId, action, context) {
48
197
  if (!context?.actions?.length) {
49
198
  return;
@@ -60,6 +209,111 @@ class WorkflowEngine {
60
209
  }
61
210
  }
62
211
  }
212
+ async applyStepActionRunners(input) {
213
+ const runners = input.step.actionRunners ?? [];
214
+ if (!runners.length) {
215
+ return;
216
+ }
217
+ for (const runner of runners) {
218
+ if (runner.trigger.type === 'afterDelay') {
219
+ const runAt = this.resolveRunnerScheduleTime(runner.trigger.delay, input.record, input.enteredAt);
220
+ if (!runAt) {
221
+ continue;
222
+ }
223
+ await this.actionRunner.scheduleTask({
224
+ runAt,
225
+ taskType: 'workflow-action-runner',
226
+ payload: {
227
+ formId: input.formId,
228
+ workflowId: input.workflowId,
229
+ recordId: input.recordId,
230
+ stepId: input.step.id,
231
+ enteredAt: input.enteredAt,
232
+ runner,
233
+ repeat: runner.trigger.repeat,
234
+ context: input.context
235
+ }
236
+ });
237
+ continue;
238
+ }
239
+ await this.executeActionRunner(runner, input);
240
+ }
241
+ }
242
+ resolveRunnerScheduleTime(delay, record, enteredAt) {
243
+ if (!delay?.value || delay.value <= 0) {
244
+ return null;
245
+ }
246
+ if (delay.source === 'fieldValue' && !delay.fieldId) {
247
+ return null;
248
+ }
249
+ const base = delay.source === 'fieldValue'
250
+ ? this.resolveDateFromValue(this.resolveRecordValue(record, delay.fieldId ?? ''))
251
+ : this.resolveDateFromValue(enteredAt);
252
+ if (!base) {
253
+ return null;
254
+ }
255
+ const ms = this.resolveDelayMilliseconds(delay);
256
+ if (!ms) {
257
+ return null;
258
+ }
259
+ return new Date(base.getTime() + ms).toISOString();
260
+ }
261
+ resolveDelayMilliseconds(delay) {
262
+ const unit = delay.unit;
263
+ if (!delay.value || delay.value <= 0) {
264
+ return null;
265
+ }
266
+ const multipliers = {
267
+ minutes: 60000,
268
+ hours: 3600000,
269
+ days: 86400000
270
+ };
271
+ return delay.value * (multipliers[unit] ?? 0);
272
+ }
273
+ resolveDateFromValue(value) {
274
+ if (!value) {
275
+ return null;
276
+ }
277
+ if (value instanceof Date) {
278
+ return value;
279
+ }
280
+ if (typeof value === 'number') {
281
+ const date = new Date(value);
282
+ return Number.isNaN(date.getTime()) ? null : date;
283
+ }
284
+ if (typeof value === 'string') {
285
+ const parsed = new Date(value);
286
+ return Number.isNaN(parsed.getTime()) ? null : parsed;
287
+ }
288
+ return null;
289
+ }
290
+ async executeActionRunner(runner, input) {
291
+ const payload = {
292
+ ...(runner.payload ?? {}),
293
+ formId: input.formId,
294
+ workflowId: input.workflowId,
295
+ recordId: input.recordId,
296
+ stepId: input.step.id,
297
+ enteredAt: input.enteredAt,
298
+ record: input.record,
299
+ context: input.context
300
+ };
301
+ if (runner.type === 'assignUser') {
302
+ await this.actionRunner.assignUser(payload);
303
+ }
304
+ else if (runner.type === 'assignRole') {
305
+ await this.actionRunner.assignRole(payload);
306
+ }
307
+ else if (runner.type === 'updateRecordFields') {
308
+ await this.actionRunner.updateRecordFields(payload);
309
+ }
310
+ else if (runner.type === 'notifyUser') {
311
+ await this.actionRunner.notifyUser(payload);
312
+ }
313
+ else if (runner.type === 'slaTimer') {
314
+ await this.actionRunner.startSlaTimer(payload);
315
+ }
316
+ }
63
317
  buildWorkflowHistory(history, currentStepId, nextStepId, actionLabel, validatedBy, timestamp) {
64
318
  const updated = history.map(entry => ({ ...entry }));
65
319
  if (currentStepId) {
package/lib/engine.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -6,6 +6,32 @@ export interface WorkflowStepAction {
6
6
  validationCriteria?: string;
7
7
  conditionalRoutes: WorkflowConditionalRoute[];
8
8
  }
9
+ export type WorkflowActionRunnerType = 'assignUser' | 'assignRole' | 'updateRecordFields' | 'notifyUser' | 'slaTimer';
10
+ export type WorkflowActionRunnerDelayUnit = 'minutes' | 'hours' | 'days';
11
+ export type WorkflowActionRunnerDelaySource = 'stepEntry' | 'fieldValue';
12
+ export interface WorkflowActionRunnerDelay {
13
+ value: number;
14
+ unit: WorkflowActionRunnerDelayUnit;
15
+ source: WorkflowActionRunnerDelaySource;
16
+ fieldId?: string;
17
+ }
18
+ export interface WorkflowActionRunnerRepeat {
19
+ every: number;
20
+ unit: WorkflowActionRunnerDelayUnit;
21
+ maxAttempts?: number;
22
+ }
23
+ export interface WorkflowActionRunnerTrigger {
24
+ type: 'onEntry' | 'afterDelay';
25
+ delay?: WorkflowActionRunnerDelay;
26
+ repeat?: WorkflowActionRunnerRepeat;
27
+ }
28
+ export interface WorkflowStepActionRunner {
29
+ id: string;
30
+ label: string;
31
+ type: WorkflowActionRunnerType;
32
+ trigger: WorkflowActionRunnerTrigger;
33
+ payload?: Record<string, unknown>;
34
+ }
9
35
  export interface WorkflowConditionalRoute {
10
36
  id: string;
11
37
  condition: string;
@@ -27,6 +53,7 @@ export interface WorkflowStep {
27
53
  isFinal?: boolean;
28
54
  fields: WorkflowStepFieldConfig[];
29
55
  actions: WorkflowStepAction[];
56
+ actionRunners?: WorkflowStepActionRunner[];
30
57
  }
31
58
  export interface StepWorkflowDefinition {
32
59
  id: string;
@@ -59,6 +86,7 @@ export interface WorkflowStepHistoryEntry {
59
86
  export interface WorkflowRecord {
60
87
  id?: string;
61
88
  statut?: string;
89
+ customFields?: Record<string, unknown>;
62
90
  workflowHistory?: WorkflowStepHistoryEntry[];
63
91
  [key: string]: unknown;
64
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEnF,eAAO,MAAM,YAAY,GAAI,YAAY,sBAAsB,KAAG,YAAY,EAoC7E,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,YAAY,EAAE,EAAE,UAAU,MAAM,KAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAAG,IAQzH,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,YAAY,EAAE,EAAE,QAAQ,MAAM,GAAG,SAAS,KAAG,YAAY,GAAG,SACpD,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEnF,eAAO,MAAM,YAAY,GAAI,YAAY,sBAAsB,KAAG,YAAY,EAqC7E,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,YAAY,EAAE,EAAE,UAAU,MAAM,KAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAAG,IAQzH,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,YAAY,EAAE,EAAE,QAAQ,MAAM,GAAG,SAAS,KAAG,YAAY,GAAG,SACpD,CAAC"}
package/lib/utils.js CHANGED
@@ -31,7 +31,8 @@ const resolveSteps = (definition) => {
31
31
  designatedUsers: [],
32
32
  designatedFieldId: undefined,
33
33
  fields: [],
34
- actions
34
+ actions,
35
+ actionRunners: []
35
36
  };
36
37
  });
37
38
  };
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,YAAY,GAAG,CAAC,UAAkC,EAAkB,EAAE;IACjF,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAiD,CAAC;IACnF,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE;QAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACnC,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAyB,KAAK,CAAC,OAAO;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,WAAW,KAAK,GAAG,CAAC,EAAE;gBACrC,KAAK,EAAE,QAAQ,UAAU,CAAC,EAAE,EAAE;gBAC9B,iBAAiB,EAAE,UAAU,CAAC,EAAE;gBAChC,kBAAkB,EAAE,EAAE;gBACtB,iBAAiB,EAAE,EAAE;aACtB,CAAC,CAAC,CAAC;QAER,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,QAAQ;YACxC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI;YAC1B,eAAe,EAAE,EAAE;YACnB,iBAAiB,EAAE,SAAS;YAC5B,MAAM,EAAE,EAAE;YACV,OAAO;SACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AApCW,QAAA,YAAY,gBAoCvB;AAEK,MAAM,UAAU,GAAG,CAAC,KAAqB,EAAE,QAAgB,EAA6D,EAAE;IAC/H,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB;AAEK,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAE,MAA0B,EAA4B,EAAE,CACtG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;AAD5B,QAAA,QAAQ,YACoB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,YAAY,GAAG,CAAC,UAAkC,EAAkB,EAAE;IACjF,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAiD,CAAC;IACnF,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE;QAC3C,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACnC,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAyB,KAAK,CAAC,OAAO;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,WAAW,KAAK,GAAG,CAAC,EAAE;gBACrC,KAAK,EAAE,QAAQ,UAAU,CAAC,EAAE,EAAE;gBAC9B,iBAAiB,EAAE,UAAU,CAAC,EAAE;gBAChC,kBAAkB,EAAE,EAAE;gBACtB,iBAAiB,EAAE,EAAE;aACtB,CAAC,CAAC,CAAC;QAER,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,QAAQ;YACxC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI;YAC1B,eAAe,EAAE,EAAE;YACnB,iBAAiB,EAAE,SAAS;YAC5B,MAAM,EAAE,EAAE;YACV,OAAO;YACP,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AArCW,QAAA,YAAY,gBAqCvB;AAEK,MAAM,UAAU,GAAG,CAAC,KAAqB,EAAE,QAAgB,EAA6D,EAAE;IAC/H,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,UAAU,cAQrB;AAEK,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAE,MAA0B,EAA4B,EAAE,CACtG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;AAD5B,QAAA,QAAQ,YACoB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qualsoft/workflow-core",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "publishConfig": {