@forestadmin/workflow-executor 1.35.8 → 1.36.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.
- package/dist/adapters/server-types.d.ts +10 -6
- package/dist/adapters/server-types.js +1 -1
- package/dist/executors/condition-step-executor.d.ts +1 -0
- package/dist/executors/condition-step-executor.js +17 -8
- package/dist/types/step-execution-data.d.ts +18 -10
- package/dist/types/validated/execution.d.ts +3 -117
- package/dist/types/validated/step-definition.d.ts +13 -117
- package/dist/types/validated/step-definition.js +16 -4
- package/package.json +1 -1
|
@@ -101,6 +101,15 @@ export interface ServerWorkflowEnd extends ServerWorkflowStepBase {
|
|
|
101
101
|
automaticCompletion: false;
|
|
102
102
|
outgoing: [];
|
|
103
103
|
}
|
|
104
|
+
export type ServerWorkflowConditionNode = {
|
|
105
|
+
sourceStepId: string;
|
|
106
|
+
fieldName: string;
|
|
107
|
+
operator: string;
|
|
108
|
+
value?: unknown;
|
|
109
|
+
} | {
|
|
110
|
+
aggregator: 'and' | 'or';
|
|
111
|
+
conditions: ServerWorkflowConditionNode[];
|
|
112
|
+
};
|
|
104
113
|
export interface ServerWorkflowCondition extends ServerWorkflowStepBase {
|
|
105
114
|
type: ServerStepTypeEnum.Condition;
|
|
106
115
|
executionType: ServerStepExecutionTypeEnum.Manual | ServerStepExecutionTypeEnum.FullyAutomated;
|
|
@@ -110,12 +119,7 @@ export interface ServerWorkflowCondition extends ServerWorkflowStepBase {
|
|
|
110
119
|
optionConditions: Array<{
|
|
111
120
|
option: string;
|
|
112
121
|
aggregator: 'and' | 'or';
|
|
113
|
-
conditions:
|
|
114
|
-
sourceStepId: string;
|
|
115
|
-
fieldName: string;
|
|
116
|
-
operator: string;
|
|
117
|
-
value?: unknown;
|
|
118
|
-
}>;
|
|
122
|
+
conditions: ServerWorkflowConditionNode[];
|
|
119
123
|
}>;
|
|
120
124
|
fallbackOption: string;
|
|
121
125
|
};
|
|
@@ -140,4 +140,4 @@ exports.ServerAutomatedInboxSyncResponseSchema = zod_1.z.object({
|
|
|
140
140
|
outcome: zod_1.z.string(),
|
|
141
141
|
})),
|
|
142
142
|
});
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL3NlcnZlci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCw2QkFBd0I7QUFTeEIsSUFBWSxrQkFPWDtBQVBELFdBQVksa0JBQWtCO0lBQzVCLG1DQUFhLENBQUE7SUFDYiw2Q0FBdUIsQ0FBQTtJQUN2QixpQ0FBVyxDQUFBO0lBQ1gsK0NBQXlCLENBQUE7SUFDekIsNkRBQXVDLENBQUE7SUFDdkMsNkRBQXVDLENBQUE7QUFDekMsQ0FBQyxFQVBXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBTzdCO0FBRUQsSUFBWSxrQkFPWDtBQVBELFdBQVksa0JBQWtCO0lBQzVCLDZDQUF1QixDQUFBO0lBQ3ZCLHNEQUFnQyxDQUFBO0lBQ2hDLDBDQUFvQixDQUFBO0lBQ3BCLGdEQUEwQixDQUFBO0lBQzFCLCtEQUF5QyxDQUFBO0lBQ3pDLDhDQUF3QixDQUFBO0FBQzFCLENBQUMsRUFQVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQU83QjtBQUVELElBQVksMkJBSVg7QUFKRCxXQUFZLDJCQUEyQjtJQUNyQyxnREFBaUIsQ0FBQTtJQUNqQix3RkFBeUQsQ0FBQTtJQUN6RCxpRUFBa0MsQ0FBQTtBQUNwQyxDQUFDLEVBSlcsMkJBQTJCLDJDQUEzQiwyQkFBMkIsUUFJdEM7QUE2S0QsSUFBWSx5QkFLWDtBQUxELFdBQVkseUJBQXlCO0lBQ25DLDhDQUFpQixDQUFBO0lBQ2pCLGdEQUFtQixDQUFBO0lBQ25CLHdDQUFXLENBQUE7SUFDWCxzREFBeUIsQ0FBQTtBQUMzQixDQUFDLEVBTFcseUJBQXlCLHlDQUF6Qix5QkFBeUIsUUFLcEM7QUFtRUQsa0dBQWtHO0FBQ2xHLCtGQUErRjtBQUMvRiwrRkFBK0Y7QUFDL0YsRUFBRTtBQUNGLDZGQUE2RjtBQUM3RixrR0FBa0c7QUFDbEcsa0dBQWtHO0FBQ2xHLE1BQU0sOEJB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
|
|
@@ -12,6 +12,7 @@ export default class ConditionStepExecutor extends BaseStepExecutor<ConditionSte
|
|
|
12
12
|
}): StepExecutionResult;
|
|
13
13
|
protected doExecute(): Promise<StepExecutionResult>;
|
|
14
14
|
private evaluateDeterministically;
|
|
15
|
+
private evaluateGroup;
|
|
15
16
|
private evaluateCondition;
|
|
16
17
|
private resolveConditionValue;
|
|
17
18
|
private readUserChoice;
|
|
@@ -85,13 +85,7 @@ class ConditionStepExecutor extends base_step_executor_1.default {
|
|
|
85
85
|
if (matchedOption !== undefined) {
|
|
86
86
|
return { option, outcome: 'not-evaluated' };
|
|
87
87
|
}
|
|
88
|
-
const results =
|
|
89
|
-
const { met, reason } = this.evaluateCondition(condition, stepExecutions, clock);
|
|
90
|
-
return { index, met, ...(reason && { reason }) };
|
|
91
|
-
});
|
|
92
|
-
const matched = aggregator === 'or'
|
|
93
|
-
? results.some(result => result.met === true)
|
|
94
|
-
: results.every(result => result.met === true);
|
|
88
|
+
const { met: matched, conditions: results } = this.evaluateGroup({ aggregator, conditions }, stepExecutions, clock);
|
|
95
89
|
if (matched)
|
|
96
90
|
matchedOption = option;
|
|
97
91
|
return {
|
|
@@ -122,6 +116,21 @@ class ConditionStepExecutor extends base_step_executor_1.default {
|
|
|
122
116
|
});
|
|
123
117
|
return this.buildOutcomeResult({ status: 'success', selectedOption });
|
|
124
118
|
}
|
|
119
|
+
evaluateGroup({ aggregator, conditions }, stepExecutions, clock) {
|
|
120
|
+
const results = conditions.map((node, index) => {
|
|
121
|
+
if ((0, step_definition_1.isDeterministicConditionGroup)(node)) {
|
|
122
|
+
return { index, ...this.evaluateGroup(node, stepExecutions, clock) };
|
|
123
|
+
}
|
|
124
|
+
const { met, reason } = this.evaluateCondition(node, stepExecutions, clock);
|
|
125
|
+
return { index, met, ...(reason && { reason }) };
|
|
126
|
+
});
|
|
127
|
+
return {
|
|
128
|
+
met: aggregator === 'or'
|
|
129
|
+
? results.some(result => result.met === true)
|
|
130
|
+
: results.every(result => result.met === true),
|
|
131
|
+
conditions: results,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
125
134
|
evaluateCondition(condition, stepExecutions, clock) {
|
|
126
135
|
const resolved = this.resolveConditionValue(condition, stepExecutions);
|
|
127
136
|
// The reason is what keeps the fallback from passing for a decision the data took: the run view
|
|
@@ -197,4 +206,4 @@ class ConditionStepExecutor extends base_step_executor_1.default {
|
|
|
197
206
|
}
|
|
198
207
|
}
|
|
199
208
|
exports.default = ConditionStepExecutor;
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLXN0ZXAtZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0b3JzL2NvbmRpdGlvbi1zdGVwLWV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBZUEsb0RBQTJGO0FBQzNGLDZCQUF3QjtBQUV4QixzQ0FBK0Y7QUFDL0YsOEVBQW9EO0FBQ3BELDRHQUFtRjtBQUNuRiw4RkFBK0Q7QUFDL0Qsd0VBSzRDO0FBYTVDLE1BQU0scUJBQXFCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NGQW9Cd0QsQ0FBQztBQUV2RixNQUFxQixxQkFBc0IsU0FBUSw0QkFBeUM7SUFDaEYsa0JBQWtCLENBQUMsT0FNNUI7UUFDQyxPQUFPO1lBQ0wsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxXQUFXO2dCQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO2dCQUNqQyxHQUFHLE9BQU87YUFDWDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRVMsS0FBSyxDQUFDLFNBQVM7UUFDdkIsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRW5FLElBQUksSUFBQSw4Q0FBNEIsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLDRGQUE0RjtZQUM1Riw0RkFBNEY7WUFDNUYsSUFBSSxtQkFBbUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ2pCLE1BQU0sRUFDTiw2RUFBNkUsRUFDN0UsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxpRkFBaUY7UUFD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
|
|
@@ -11,19 +11,27 @@ export interface WithUserConfirmation<T extends Record<string, unknown> = Record
|
|
|
11
11
|
userConfirmation?: T;
|
|
12
12
|
}
|
|
13
13
|
export type ConditionNotLoadedReason = 'source-step-not-reached' | 'field-not-loaded';
|
|
14
|
+
/**
|
|
15
|
+
* `index` is the position in the definition's conditions at the same level. `met: null` = the
|
|
16
|
+
* value could not be evaluated. `reason` accompanies `met: null` only when nothing was read at all:
|
|
17
|
+
* a value read as null carries none, which is how the run view tells the two apart.
|
|
18
|
+
*/
|
|
19
|
+
interface ConditionLeafResult {
|
|
20
|
+
index: number;
|
|
21
|
+
met: boolean | null;
|
|
22
|
+
reason?: ConditionNotLoadedReason;
|
|
23
|
+
}
|
|
24
|
+
interface ConditionGroupResult {
|
|
25
|
+
index: number;
|
|
26
|
+
met: boolean;
|
|
27
|
+
conditions: ConditionResult[];
|
|
28
|
+
}
|
|
29
|
+
export type ConditionResult = ConditionLeafResult | ConditionGroupResult;
|
|
14
30
|
export interface ConditionEvaluation {
|
|
15
31
|
option: string;
|
|
16
32
|
outcome: 'matched' | 'not-matched' | 'not-evaluated';
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
* `reason` accompanies `met: null` only when nothing was read at all: a value read as null
|
|
20
|
-
* carries none, which is how the run view tells the two apart.
|
|
21
|
-
*/
|
|
22
|
-
conditions?: Array<{
|
|
23
|
-
index: number;
|
|
24
|
-
met: boolean | null;
|
|
25
|
-
reason?: ConditionNotLoadedReason;
|
|
26
|
-
}>;
|
|
33
|
+
/** Absent when outcome is 'not-evaluated'. */
|
|
34
|
+
conditions?: ConditionResult[];
|
|
27
35
|
}
|
|
28
36
|
export interface DeterministicConditionExecutionParams {
|
|
29
37
|
evaluations: ConditionEvaluation[];
|
|
@@ -26,45 +26,7 @@ export declare const StepSchema: z.ZodObject<{
|
|
|
26
26
|
and: "and";
|
|
27
27
|
or: "or";
|
|
28
28
|
}>;
|
|
29
|
-
conditions: z.ZodArray<z.
|
|
30
|
-
sourceStepId: z.ZodString;
|
|
31
|
-
fieldName: z.ZodString;
|
|
32
|
-
operator: z.ZodEnum<{
|
|
33
|
-
in: "in";
|
|
34
|
-
equal: "equal";
|
|
35
|
-
not_equal: "not_equal";
|
|
36
|
-
present: "present";
|
|
37
|
-
blank: "blank";
|
|
38
|
-
greater_than: "greater_than";
|
|
39
|
-
less_than: "less_than";
|
|
40
|
-
not_in: "not_in";
|
|
41
|
-
includes_all: "includes_all";
|
|
42
|
-
contains: "contains";
|
|
43
|
-
not_contains: "not_contains";
|
|
44
|
-
starts_with: "starts_with";
|
|
45
|
-
ends_with: "ends_with";
|
|
46
|
-
i_contains: "i_contains";
|
|
47
|
-
before: "before";
|
|
48
|
-
after: "after";
|
|
49
|
-
past: "past";
|
|
50
|
-
future: "future";
|
|
51
|
-
today: "today";
|
|
52
|
-
yesterday: "yesterday";
|
|
53
|
-
previous_x_days: "previous_x_days";
|
|
54
|
-
previous_x_days_to_date: "previous_x_days_to_date";
|
|
55
|
-
before_x_hours_ago: "before_x_hours_ago";
|
|
56
|
-
after_x_hours_ago: "after_x_hours_ago";
|
|
57
|
-
previous_week: "previous_week";
|
|
58
|
-
previous_month: "previous_month";
|
|
59
|
-
previous_quarter: "previous_quarter";
|
|
60
|
-
previous_year: "previous_year";
|
|
61
|
-
previous_week_to_date: "previous_week_to_date";
|
|
62
|
-
previous_month_to_date: "previous_month_to_date";
|
|
63
|
-
previous_quarter_to_date: "previous_quarter_to_date";
|
|
64
|
-
previous_year_to_date: "previous_year_to_date";
|
|
65
|
-
}>;
|
|
66
|
-
value: z.ZodOptional<z.ZodUnknown>;
|
|
67
|
-
}, z.core.$strip>>;
|
|
29
|
+
conditions: z.ZodArray<z.ZodType<import("./step-definition").DeterministicConditionNode, unknown, z.core.$ZodTypeInternals<import("./step-definition").DeterministicConditionNode, unknown>>>;
|
|
68
30
|
}, z.core.$strip>>;
|
|
69
31
|
fallbackOption: z.ZodString;
|
|
70
32
|
}, z.core.$strip>>;
|
|
@@ -271,45 +233,7 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
271
233
|
and: "and";
|
|
272
234
|
or: "or";
|
|
273
235
|
}>;
|
|
274
|
-
conditions: z.ZodArray<z.
|
|
275
|
-
sourceStepId: z.ZodString;
|
|
276
|
-
fieldName: z.ZodString;
|
|
277
|
-
operator: z.ZodEnum<{
|
|
278
|
-
in: "in";
|
|
279
|
-
equal: "equal";
|
|
280
|
-
not_equal: "not_equal";
|
|
281
|
-
present: "present";
|
|
282
|
-
blank: "blank";
|
|
283
|
-
greater_than: "greater_than";
|
|
284
|
-
less_than: "less_than";
|
|
285
|
-
not_in: "not_in";
|
|
286
|
-
includes_all: "includes_all";
|
|
287
|
-
contains: "contains";
|
|
288
|
-
not_contains: "not_contains";
|
|
289
|
-
starts_with: "starts_with";
|
|
290
|
-
ends_with: "ends_with";
|
|
291
|
-
i_contains: "i_contains";
|
|
292
|
-
before: "before";
|
|
293
|
-
after: "after";
|
|
294
|
-
past: "past";
|
|
295
|
-
future: "future";
|
|
296
|
-
today: "today";
|
|
297
|
-
yesterday: "yesterday";
|
|
298
|
-
previous_x_days: "previous_x_days";
|
|
299
|
-
previous_x_days_to_date: "previous_x_days_to_date";
|
|
300
|
-
before_x_hours_ago: "before_x_hours_ago";
|
|
301
|
-
after_x_hours_ago: "after_x_hours_ago";
|
|
302
|
-
previous_week: "previous_week";
|
|
303
|
-
previous_month: "previous_month";
|
|
304
|
-
previous_quarter: "previous_quarter";
|
|
305
|
-
previous_year: "previous_year";
|
|
306
|
-
previous_week_to_date: "previous_week_to_date";
|
|
307
|
-
previous_month_to_date: "previous_month_to_date";
|
|
308
|
-
previous_quarter_to_date: "previous_quarter_to_date";
|
|
309
|
-
previous_year_to_date: "previous_year_to_date";
|
|
310
|
-
}>;
|
|
311
|
-
value: z.ZodOptional<z.ZodUnknown>;
|
|
312
|
-
}, z.core.$strip>>;
|
|
236
|
+
conditions: z.ZodArray<z.ZodType<import("./step-definition").DeterministicConditionNode, unknown, z.core.$ZodTypeInternals<import("./step-definition").DeterministicConditionNode, unknown>>>;
|
|
313
237
|
}, z.core.$strip>>;
|
|
314
238
|
fallbackOption: z.ZodString;
|
|
315
239
|
}, z.core.$strip>>;
|
|
@@ -408,45 +332,7 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
408
332
|
and: "and";
|
|
409
333
|
or: "or";
|
|
410
334
|
}>;
|
|
411
|
-
conditions: z.ZodArray<z.
|
|
412
|
-
sourceStepId: z.ZodString;
|
|
413
|
-
fieldName: z.ZodString;
|
|
414
|
-
operator: z.ZodEnum<{
|
|
415
|
-
in: "in";
|
|
416
|
-
equal: "equal";
|
|
417
|
-
not_equal: "not_equal";
|
|
418
|
-
present: "present";
|
|
419
|
-
blank: "blank";
|
|
420
|
-
greater_than: "greater_than";
|
|
421
|
-
less_than: "less_than";
|
|
422
|
-
not_in: "not_in";
|
|
423
|
-
includes_all: "includes_all";
|
|
424
|
-
contains: "contains";
|
|
425
|
-
not_contains: "not_contains";
|
|
426
|
-
starts_with: "starts_with";
|
|
427
|
-
ends_with: "ends_with";
|
|
428
|
-
i_contains: "i_contains";
|
|
429
|
-
before: "before";
|
|
430
|
-
after: "after";
|
|
431
|
-
past: "past";
|
|
432
|
-
future: "future";
|
|
433
|
-
today: "today";
|
|
434
|
-
yesterday: "yesterday";
|
|
435
|
-
previous_x_days: "previous_x_days";
|
|
436
|
-
previous_x_days_to_date: "previous_x_days_to_date";
|
|
437
|
-
before_x_hours_ago: "before_x_hours_ago";
|
|
438
|
-
after_x_hours_ago: "after_x_hours_ago";
|
|
439
|
-
previous_week: "previous_week";
|
|
440
|
-
previous_month: "previous_month";
|
|
441
|
-
previous_quarter: "previous_quarter";
|
|
442
|
-
previous_year: "previous_year";
|
|
443
|
-
previous_week_to_date: "previous_week_to_date";
|
|
444
|
-
previous_month_to_date: "previous_month_to_date";
|
|
445
|
-
previous_quarter_to_date: "previous_quarter_to_date";
|
|
446
|
-
previous_year_to_date: "previous_year_to_date";
|
|
447
|
-
}>;
|
|
448
|
-
value: z.ZodOptional<z.ZodUnknown>;
|
|
449
|
-
}, z.core.$strip>>;
|
|
335
|
+
conditions: z.ZodArray<z.ZodType<import("./step-definition").DeterministicConditionNode, unknown, z.core.$ZodTypeInternals<import("./step-definition").DeterministicConditionNode, unknown>>>;
|
|
450
336
|
}, z.core.$strip>>;
|
|
451
337
|
fallbackOption: z.ZodString;
|
|
452
338
|
}, z.core.$strip>>;
|
|
@@ -59,51 +59,23 @@ declare const DeterministicConditionSchema: z.ZodObject<{
|
|
|
59
59
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
60
60
|
}, z.core.$strip>;
|
|
61
61
|
export type DeterministicCondition = z.infer<typeof DeterministicConditionSchema>;
|
|
62
|
+
declare const ConditionAggregatorSchema: z.ZodEnum<{
|
|
63
|
+
and: "and";
|
|
64
|
+
or: "or";
|
|
65
|
+
}>;
|
|
66
|
+
export interface DeterministicConditionGroup {
|
|
67
|
+
aggregator: z.infer<typeof ConditionAggregatorSchema>;
|
|
68
|
+
conditions: DeterministicConditionNode[];
|
|
69
|
+
}
|
|
70
|
+
export type DeterministicConditionNode = DeterministicCondition | DeterministicConditionGroup;
|
|
71
|
+
export declare const isDeterministicConditionGroup: (node: DeterministicConditionNode) => node is DeterministicConditionGroup;
|
|
62
72
|
declare const OptionConditionsSchema: z.ZodObject<{
|
|
63
73
|
option: z.ZodString;
|
|
64
74
|
aggregator: z.ZodEnum<{
|
|
65
75
|
and: "and";
|
|
66
76
|
or: "or";
|
|
67
77
|
}>;
|
|
68
|
-
conditions: z.ZodArray<z.
|
|
69
|
-
sourceStepId: z.ZodString;
|
|
70
|
-
fieldName: z.ZodString;
|
|
71
|
-
operator: z.ZodEnum<{
|
|
72
|
-
in: "in";
|
|
73
|
-
equal: "equal";
|
|
74
|
-
not_equal: "not_equal";
|
|
75
|
-
present: "present";
|
|
76
|
-
blank: "blank";
|
|
77
|
-
greater_than: "greater_than";
|
|
78
|
-
less_than: "less_than";
|
|
79
|
-
not_in: "not_in";
|
|
80
|
-
includes_all: "includes_all";
|
|
81
|
-
contains: "contains";
|
|
82
|
-
not_contains: "not_contains";
|
|
83
|
-
starts_with: "starts_with";
|
|
84
|
-
ends_with: "ends_with";
|
|
85
|
-
i_contains: "i_contains";
|
|
86
|
-
before: "before";
|
|
87
|
-
after: "after";
|
|
88
|
-
past: "past";
|
|
89
|
-
future: "future";
|
|
90
|
-
today: "today";
|
|
91
|
-
yesterday: "yesterday";
|
|
92
|
-
previous_x_days: "previous_x_days";
|
|
93
|
-
previous_x_days_to_date: "previous_x_days_to_date";
|
|
94
|
-
before_x_hours_ago: "before_x_hours_ago";
|
|
95
|
-
after_x_hours_ago: "after_x_hours_ago";
|
|
96
|
-
previous_week: "previous_week";
|
|
97
|
-
previous_month: "previous_month";
|
|
98
|
-
previous_quarter: "previous_quarter";
|
|
99
|
-
previous_year: "previous_year";
|
|
100
|
-
previous_week_to_date: "previous_week_to_date";
|
|
101
|
-
previous_month_to_date: "previous_month_to_date";
|
|
102
|
-
previous_quarter_to_date: "previous_quarter_to_date";
|
|
103
|
-
previous_year_to_date: "previous_year_to_date";
|
|
104
|
-
}>;
|
|
105
|
-
value: z.ZodOptional<z.ZodUnknown>;
|
|
106
|
-
}, z.core.$strip>>;
|
|
78
|
+
conditions: z.ZodArray<z.ZodType<DeterministicConditionNode, unknown, z.core.$ZodTypeInternals<DeterministicConditionNode, unknown>>>;
|
|
107
79
|
}, z.core.$strip>;
|
|
108
80
|
export type OptionConditions = z.infer<typeof OptionConditionsSchema>;
|
|
109
81
|
export declare const ConditionStepDefinitionSchema: z.ZodObject<{
|
|
@@ -120,45 +92,7 @@ export declare const ConditionStepDefinitionSchema: z.ZodObject<{
|
|
|
120
92
|
and: "and";
|
|
121
93
|
or: "or";
|
|
122
94
|
}>;
|
|
123
|
-
conditions: z.ZodArray<z.
|
|
124
|
-
sourceStepId: z.ZodString;
|
|
125
|
-
fieldName: z.ZodString;
|
|
126
|
-
operator: z.ZodEnum<{
|
|
127
|
-
in: "in";
|
|
128
|
-
equal: "equal";
|
|
129
|
-
not_equal: "not_equal";
|
|
130
|
-
present: "present";
|
|
131
|
-
blank: "blank";
|
|
132
|
-
greater_than: "greater_than";
|
|
133
|
-
less_than: "less_than";
|
|
134
|
-
not_in: "not_in";
|
|
135
|
-
includes_all: "includes_all";
|
|
136
|
-
contains: "contains";
|
|
137
|
-
not_contains: "not_contains";
|
|
138
|
-
starts_with: "starts_with";
|
|
139
|
-
ends_with: "ends_with";
|
|
140
|
-
i_contains: "i_contains";
|
|
141
|
-
before: "before";
|
|
142
|
-
after: "after";
|
|
143
|
-
past: "past";
|
|
144
|
-
future: "future";
|
|
145
|
-
today: "today";
|
|
146
|
-
yesterday: "yesterday";
|
|
147
|
-
previous_x_days: "previous_x_days";
|
|
148
|
-
previous_x_days_to_date: "previous_x_days_to_date";
|
|
149
|
-
before_x_hours_ago: "before_x_hours_ago";
|
|
150
|
-
after_x_hours_ago: "after_x_hours_ago";
|
|
151
|
-
previous_week: "previous_week";
|
|
152
|
-
previous_month: "previous_month";
|
|
153
|
-
previous_quarter: "previous_quarter";
|
|
154
|
-
previous_year: "previous_year";
|
|
155
|
-
previous_week_to_date: "previous_week_to_date";
|
|
156
|
-
previous_month_to_date: "previous_month_to_date";
|
|
157
|
-
previous_quarter_to_date: "previous_quarter_to_date";
|
|
158
|
-
previous_year_to_date: "previous_year_to_date";
|
|
159
|
-
}>;
|
|
160
|
-
value: z.ZodOptional<z.ZodUnknown>;
|
|
161
|
-
}, z.core.$strip>>;
|
|
95
|
+
conditions: z.ZodArray<z.ZodType<DeterministicConditionNode, unknown, z.core.$ZodTypeInternals<DeterministicConditionNode, unknown>>>;
|
|
162
96
|
}, z.core.$strip>>;
|
|
163
97
|
fallbackOption: z.ZodString;
|
|
164
98
|
}, z.core.$strip>>;
|
|
@@ -330,45 +264,7 @@ export declare const StepDefinitionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
330
264
|
and: "and";
|
|
331
265
|
or: "or";
|
|
332
266
|
}>;
|
|
333
|
-
conditions: z.ZodArray<z.
|
|
334
|
-
sourceStepId: z.ZodString;
|
|
335
|
-
fieldName: z.ZodString;
|
|
336
|
-
operator: z.ZodEnum<{
|
|
337
|
-
in: "in";
|
|
338
|
-
equal: "equal";
|
|
339
|
-
not_equal: "not_equal";
|
|
340
|
-
present: "present";
|
|
341
|
-
blank: "blank";
|
|
342
|
-
greater_than: "greater_than";
|
|
343
|
-
less_than: "less_than";
|
|
344
|
-
not_in: "not_in";
|
|
345
|
-
includes_all: "includes_all";
|
|
346
|
-
contains: "contains";
|
|
347
|
-
not_contains: "not_contains";
|
|
348
|
-
starts_with: "starts_with";
|
|
349
|
-
ends_with: "ends_with";
|
|
350
|
-
i_contains: "i_contains";
|
|
351
|
-
before: "before";
|
|
352
|
-
after: "after";
|
|
353
|
-
past: "past";
|
|
354
|
-
future: "future";
|
|
355
|
-
today: "today";
|
|
356
|
-
yesterday: "yesterday";
|
|
357
|
-
previous_x_days: "previous_x_days";
|
|
358
|
-
previous_x_days_to_date: "previous_x_days_to_date";
|
|
359
|
-
before_x_hours_ago: "before_x_hours_ago";
|
|
360
|
-
after_x_hours_ago: "after_x_hours_ago";
|
|
361
|
-
previous_week: "previous_week";
|
|
362
|
-
previous_month: "previous_month";
|
|
363
|
-
previous_quarter: "previous_quarter";
|
|
364
|
-
previous_year: "previous_year";
|
|
365
|
-
previous_week_to_date: "previous_week_to_date";
|
|
366
|
-
previous_month_to_date: "previous_month_to_date";
|
|
367
|
-
previous_quarter_to_date: "previous_quarter_to_date";
|
|
368
|
-
previous_year_to_date: "previous_year_to_date";
|
|
369
|
-
}>;
|
|
370
|
-
value: z.ZodOptional<z.ZodUnknown>;
|
|
371
|
-
}, z.core.$strip>>;
|
|
267
|
+
conditions: z.ZodArray<z.ZodType<DeterministicConditionNode, unknown, z.core.$ZodTypeInternals<DeterministicConditionNode, unknown>>>;
|
|
372
268
|
}, z.core.$strip>>;
|
|
373
269
|
fallbackOption: z.ZodString;
|
|
374
270
|
}, z.core.$strip>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StepDefinitionSchema = exports.RecordStepDefinitionSchema = exports.GuidanceStepDefinitionSchema = exports.McpStepDefinitionSchema = exports.WORKFLOW_START_STEP_ID = exports.LoadRelatedRecordStepDefinitionSchema = exports.TriggerActionStepDefinitionSchema = exports.UpdateRecordStepDefinitionSchema = exports.ReadRecordStepDefinitionSchema = exports.isDeterministicConditionStep = exports.ConditionStepDefinitionSchema = exports.CONDITION_OPERATORS = exports.StepExecutionMode = exports.StepType = void 0;
|
|
3
|
+
exports.StepDefinitionSchema = exports.RecordStepDefinitionSchema = exports.GuidanceStepDefinitionSchema = exports.McpStepDefinitionSchema = exports.WORKFLOW_START_STEP_ID = exports.LoadRelatedRecordStepDefinitionSchema = exports.TriggerActionStepDefinitionSchema = exports.UpdateRecordStepDefinitionSchema = exports.ReadRecordStepDefinitionSchema = exports.isDeterministicConditionStep = exports.ConditionStepDefinitionSchema = exports.isDeterministicConditionGroup = exports.CONDITION_OPERATORS = exports.StepExecutionMode = exports.StepType = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
var StepType;
|
|
6
6
|
(function (StepType) {
|
|
@@ -112,10 +112,22 @@ const DeterministicConditionSchema = zod_1.z
|
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
+
const ConditionAggregatorSchema = zod_1.z.enum(['and', 'or']);
|
|
116
|
+
// An empty group would read as "match nothing" (or) or "match everything" (and): rejected, never
|
|
117
|
+
// evaluated. No depth limit here: the orchestrator parser refuses more than 10 levels.
|
|
118
|
+
const DeterministicConditionNodeSchema = zod_1.z.lazy(() => zod_1.z.union([
|
|
119
|
+
zod_1.z.object({
|
|
120
|
+
aggregator: ConditionAggregatorSchema,
|
|
121
|
+
conditions: zod_1.z.array(DeterministicConditionNodeSchema).min(1),
|
|
122
|
+
}),
|
|
123
|
+
DeterministicConditionSchema,
|
|
124
|
+
]));
|
|
125
|
+
const isDeterministicConditionGroup = (node) => 'aggregator' in node;
|
|
126
|
+
exports.isDeterministicConditionGroup = isDeterministicConditionGroup;
|
|
115
127
|
const OptionConditionsSchema = zod_1.z.object({
|
|
116
128
|
option: zod_1.z.string().min(1),
|
|
117
|
-
aggregator:
|
|
118
|
-
conditions: zod_1.z.array(
|
|
129
|
+
aggregator: ConditionAggregatorSchema,
|
|
130
|
+
conditions: zod_1.z.array(DeterministicConditionNodeSchema).min(1),
|
|
119
131
|
});
|
|
120
132
|
exports.ConditionStepDefinitionSchema = zod_1.z.object({
|
|
121
133
|
...sharedFields,
|
|
@@ -262,4 +274,4 @@ exports.StepDefinitionSchema = zod_1.z.discriminatedUnion('type', [
|
|
|
262
274
|
exports.McpStepDefinitionSchema,
|
|
263
275
|
exports.GuidanceStepDefinitionSchema,
|
|
264
276
|
]);
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3ZhbGlkYXRlZC9zdGVwLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBRXhCLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNsQixtQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBMEIsQ0FBQTtJQUMxQiwwQ0FBOEIsQ0FBQTtJQUM5Qiw0Q0FBZ0MsQ0FBQTtJQUNoQyxxREFBeUMsQ0FBQTtJQUN6Qyx1QkFBVyxDQUFBO0lBQ1gsaUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVJXLFFBQVEsd0JBQVIsUUFBUSxRQVFuQjtBQUVEOzs7R0FHRztBQUNILElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQiw4RUFBeUQsQ0FBQTtJQUN6RCx1REFBa0MsQ0FBQTtBQUNwQyxDQUFDLEVBSlcsaUJBQWlCLGlDQUFqQixpQkFBaUIsUUFJNUI7QUFFRCxpRkFBaUY7QUFDakYsK0ZBQStGO0FBQy9GLCtGQUErRjtBQUMvRiw0QkFBNEI7QUFDNUIsOEZBQThGO0FBQzlGLHdEQUF3RDtBQUN4RCxNQUFNLGNBQWMsR0FBRyxPQUFDO0tBQ3JCLE1BQU0sRUFBRTtLQUNSLE9BQU8sRUFBRTtLQUNULFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQztBQUUxQyxNQUFNLFlBQVksR0FBRztJQUNuQixNQUFNLEVBQUUsY0FBYztJQUN0QixZQUFZLEVBQUUsY0FBYztJQUM1QixLQUFLLEVBQUUsY0FBYztDQUN0QixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLE1BQU0sRUFBRSxNQUFNLEVBQUUseUJBQXlCLEVBQUUsY0FBYyxFQUFFLEdBQUcsaUJBQWlCLENBQUM7QUFFaEYsaUdBQWlHO0FBQ2pHLCtGQUErRjtBQUMvRixrR0FBa0c7QUFD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
|