@forestadmin/workflow-executor 1.27.2 → 1.28.1
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/agent-client-agent-port.js +63 -35
- package/dist/adapters/run-to-available-step-mapper.js +11 -1
- package/dist/adapters/server-types.d.ts +2 -0
- package/dist/executors/condition-step-executor.js +13 -5
- package/dist/executors/deterministic-condition-evaluator.d.ts +5 -1
- package/dist/executors/deterministic-condition-evaluator.js +167 -9
- package/dist/executors/step-executor-factory.js +2 -1
- package/dist/types/execution-context.d.ts +1 -0
- package/dist/types/step-execution-data.d.ts +2 -0
- package/dist/types/validated/execution.d.ts +67 -6
- package/dist/types/validated/execution.js +6 -1
- package/dist/types/validated/step-definition.d.ts +89 -9
- package/dist/types/validated/step-definition.js +41 -5
- package/package.json +4 -2
|
@@ -134,49 +134,77 @@ class AgentClientAgentPort {
|
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
|
-
// xToOne relations have no /relationships/<relation> route on the agent
|
|
138
|
-
// parent record
|
|
139
|
-
//
|
|
140
|
-
//
|
|
137
|
+
// xToOne relations have no /relationships/<relation> route on the agent, so the relation is read
|
|
138
|
+
// off the parent record — from the RAW JSON:API body. jsonapi-serializer drops a relationship key
|
|
139
|
+
// whose linkage has no matching `included` entry, and forest-rails only compounds real
|
|
140
|
+
// ActiveRecord associations, so a Rails smart belongs_to reached us as "no relation at all".
|
|
141
|
+
// resolvePolymorphicType reads raw for the same reason.
|
|
141
142
|
async getSingleRelatedData({ collection, id, relation, relatedSchema, fields }, user) {
|
|
142
143
|
return this.callAgent('getSingleRelatedData', async () => {
|
|
143
144
|
// The agent can't parse multiple sub-fields on one relation in a single projection
|
|
144
145
|
// (`fields[store]=id,name` is read as a single field name → ValidationError). The linkage
|
|
145
146
|
// `id` carries the (packed) related PK regardless of projection, so project at most ONE
|
|
146
|
-
// field: the requested reference field
|
|
147
|
-
//
|
|
147
|
+
// field: the requested reference field, else a single PK field just to pull the relation
|
|
148
|
+
// into the response.
|
|
148
149
|
const projectedField = fields?.[0] ?? relatedSchema.primaryKeyFields[0];
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
150
|
+
let body;
|
|
151
|
+
try {
|
|
152
|
+
body = await this.createClient(user)
|
|
153
|
+
.collection(collection)
|
|
154
|
+
.getOne(id, { fields: [`${relation}@@@${projectedField}`] }, { skipDeserialization: true });
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (agent_client_1.HttpRequester.is404Error(error))
|
|
158
|
+
throw new errors_1.RecordNotFoundError(collection, id);
|
|
159
|
+
throw error;
|
|
160
|
+
}
|
|
161
|
+
// Some agents answer a missing composite-key record with a 200 + empty body instead of 404,
|
|
162
|
+
// like getRecord above. Reading that as an unset relation would report "nothing to load" for
|
|
163
|
+
// a parent that was never read — the exact confusion this method exists to remove.
|
|
164
|
+
if (!body?.data)
|
|
165
|
+
throw new errors_1.RecordNotFoundError(collection, id);
|
|
166
|
+
const node = body.data;
|
|
167
|
+
// Raw keys are the agent's own field names, so no inflection to second-guess. A linkage
|
|
168
|
+
// covers the Rails `belongs_to` DSL, forest-express references and v2 agents; the attribute
|
|
169
|
+
// covers a forest-rails `field ... reference:`, whose value IS the related id.
|
|
159
170
|
// An empty string is the idiomatic Ruby answer for an unset association (`&.id.to_s`), and it
|
|
160
171
|
// would serialize to an id-less by-id URL, which agents route to the index action instead.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
const packedId = linkage?.id;
|
|
172
|
-
if (!linkage || !packedId)
|
|
172
|
+
const linkageId = node.relationships?.[relation]?.data?.id;
|
|
173
|
+
const attribute = node.attributes?.[relation];
|
|
174
|
+
// A `field ... reference:` block that returns the record instead of its id serializes the
|
|
175
|
+
// whole record under the attribute — captured from forest-rails, not assumed — so the id sits
|
|
176
|
+
// one level in. Any other scalar IS the id.
|
|
177
|
+
const raw = linkageId ??
|
|
178
|
+
(attribute && typeof attribute === 'object'
|
|
179
|
+
? attribute.id
|
|
180
|
+
: attribute);
|
|
181
|
+
if (raw == null || raw === '')
|
|
173
182
|
return null;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
183
|
+
// Only a composite key is pipe-packed, so a single-key value is never split — a smart field's
|
|
184
|
+
// value is written by the client and splitting it would tear it in two. Such a value cannot
|
|
185
|
+
// hold a pipe either way: `serializeRecordId` refuses one rather than emit an id the agent
|
|
186
|
+
// would unpack into the wrong number of key parts. That surfaces as an AgentPortError naming
|
|
187
|
+
// the value, which is cryptic but loud; naming the relation too would need a domain error.
|
|
188
|
+
const recordId = relatedSchema.primaryKeyFields.length > 1 ? String(raw).split('|') : [String(raw)];
|
|
189
|
+
// The target is read even when the caller projected nothing, on its first PK alone. Skipping
|
|
190
|
+
// the read to save the round trip also skipped the readability check below, so a relation
|
|
191
|
+
// whose collection happens to carry no reference field would load a record the caller cannot
|
|
192
|
+
// open, while the same relation with one reported no record — the outcome turning on a
|
|
193
|
+
// schema detail rather than on what the caller can see.
|
|
194
|
+
const projection = fields?.length ? fields : [relatedSchema.primaryKeyFields[0]];
|
|
195
|
+
try {
|
|
196
|
+
return await this.getRecord({ collection: relatedSchema.collectionName, id: recordId, fields: projection }, user);
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
// A target the caller cannot read — scoped out, segmented out, or a dangling link — is not
|
|
200
|
+
// a broken run: the by-id route intersects the caller's scope while the relation projected
|
|
201
|
+
// on the parent does not, so a valid linkage to an invisible record is reachable. "No
|
|
202
|
+
// related record" is the true answer from this caller's vantage. The parent above is the
|
|
203
|
+
// opposite case: it is the step's own source record, so failing to read it stays an error.
|
|
204
|
+
if (error instanceof errors_1.RecordNotFoundError)
|
|
205
|
+
return null;
|
|
206
|
+
throw error;
|
|
207
|
+
}
|
|
180
208
|
});
|
|
181
209
|
}
|
|
182
210
|
async executeAction({ collection, action, id, values, approvalMessage }, { user, forestServerToken }) {
|
|
@@ -343,4 +371,4 @@ class AgentClientAgentPort {
|
|
|
343
371
|
}
|
|
344
372
|
}
|
|
345
373
|
exports.default = AgentClientAgentPort;
|
|
346
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQtY2xpZW50LWFnZW50LXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhcHRlcnMvYWdlbnQtY2xpZW50LWFnZW50LXBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFvQkEsNERBUW1DO0FBQ25DLGdFQUF3QztBQUV4QyxzQ0FTbUI7QUFFbkIscUdBQXFHO0FBQ3JHLHNGQUFzRjtBQUN0RixTQUFTLHVCQUF1QixDQUFDLE1BQWMsRUFBRSxLQUFjO0lBQzdELElBQUksS0FBSyxZQUFZLDBDQUFpQyxFQUFFLENBQUM7UUFDdkQsT0FBTyxJQUFJLG9DQUEyQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBSSxLQUFLLFlBQVksd0NBQStCLEVBQUUsQ0FBQztRQUNyRCxPQUFPLElBQUksa0NBQXlCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLEtBQUssWUFBWSwyQ0FBa0MsRUFBRSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxxQ0FBNEIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELDhGQUE4RjtBQUM5RixrR0FBa0c7QUFDbEcsU0FBUyxXQUFXLENBQUMsSUFBWTtJQUMvQixNQUFNLFdBQVcsR0FBRyxJQUFJO1NBQ3JCLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxPQUFPLENBQUM7U0FDM0MsT0FBTyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQztTQUNyQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztTQUNsQixXQUFXLEVBQUUsQ0FBQztJQUVqQixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQ3hCLHdCQUF3QixFQUN4QixDQUFDLENBQUMsRUFBRSxLQUF5QixFQUFFLElBQVksRUFBRSxFQUFFLENB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
|
|
374
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQtY2xpZW50LWFnZW50LXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhcHRlcnMvYWdlbnQtY2xpZW50LWFnZW50LXBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFvQkEsNERBUW1DO0FBQ25DLGdFQUF3QztBQUV4QyxzQ0FTbUI7QUFFbkIscUdBQXFHO0FBQ3JHLHNGQUFzRjtBQUN0RixTQUFTLHVCQUF1QixDQUFDLE1BQWMsRUFBRSxLQUFjO0lBQzdELElBQUksS0FBSyxZQUFZLDBDQUFpQyxFQUFFLENBQUM7UUFDdkQsT0FBTyxJQUFJLG9DQUEyQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBSSxLQUFLLFlBQVksd0NBQStCLEVBQUUsQ0FBQztRQUNyRCxPQUFPLElBQUksa0NBQXlCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLEtBQUssWUFBWSwyQ0FBa0MsRUFBRSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxxQ0FBNEIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVNELDhGQUE4RjtBQUM5RixrR0FBa0c7QUFDbEcsU0FBUyxXQUFXLENBQUMsSUFBWTtJQUMvQixNQUFNLFdBQVcsR0FBRyxJQUFJO1NBQ3JCLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxPQUFPLENBQUM7U0FDM0MsT0FBTyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQztTQUNyQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztTQUNsQixXQUFXLEVBQUUsQ0FBQztJQUVqQixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQ3hCLHdCQUF3QixFQUN4QixDQUFDLENBQUMsRUFBRSxLQUF5QixFQUFFLElBQVksRUFBRSxFQUFFLENB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
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.default = toAvailableStepExecution;
|
|
7
|
+
const luxon_1 = require("luxon");
|
|
7
8
|
const zod_1 = require("zod");
|
|
8
9
|
const record_id_serializer_1 = require("./record-id-serializer");
|
|
9
10
|
const server_types_1 = require("./server-types");
|
|
@@ -128,6 +129,15 @@ function toAvailableStepExecution(run) {
|
|
|
128
129
|
stepDefinition: (0, step_definition_mapper_1.default)(pending.stepDefinition),
|
|
129
130
|
previousSteps: toPreviousSteps(run.workflowHistory, pending.stepIndex),
|
|
130
131
|
user: toStepUser(run.id, run.userProfile),
|
|
132
|
+
// UTC when the project has none set, when the orchestrator is too old to send one, and when
|
|
133
|
+
// the name is not a zone Luxon knows: a relative date must resolve the same on every executor
|
|
134
|
+
// instance, so the machine's zone is never the fallback. The zone actually used is persisted
|
|
135
|
+
// with the evaluation, so the run view shows UTC rather than the name it fell back from.
|
|
136
|
+
// This branch is the main path, not an edge case: 635 of 85457 projects carry a timezone
|
|
137
|
+
// (0.7%, measured on production in September 2026), so almost every Decision reads its
|
|
138
|
+
// relative dates in UTC — an hour or two away from the day the list filter shows the same
|
|
139
|
+
// user, since that one follows the browser.
|
|
140
|
+
timezone: run.timezone && luxon_1.IANAZone.isValidZone(run.timezone) ? run.timezone : 'UTC',
|
|
131
141
|
};
|
|
132
142
|
// Defense against mapper bugs: zod asserts the shape we produce is what the domain expects,
|
|
133
143
|
// before any executor consumes it. Fails loudly with a typed error instead of crashing deep.
|
|
@@ -142,4 +152,4 @@ function toAvailableStepExecution(run) {
|
|
|
142
152
|
throw err;
|
|
143
153
|
}
|
|
144
154
|
}
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRvLWF2YWlsYWJsZS1zdGVwLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9ydW4tdG8tYXZhaWxhYmxlLXN0ZXAtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBK0lBLDJDQThEQztBQWhNRCxpQ0FBaUM7QUFDakMsNkJBQXdCO0FBRXhCLGlFQUE2RDtBQUM3RCxpREFBMkQ7QUFDM0Qsc0ZBQXdEO0FBQ3hELHNDQUltQjtBQUNuQiw0REFLc0M7QUFDdEMsa0VBSXlDO0FBRXpDLFNBQVMsY0FBYyxDQUFDLFNBQWtCO0lBQ3hDLElBQUksU0FBUyxLQUFLLE9BQU87UUFBRSxPQUFPLE9BQU8sQ0FBQztJQUMxQyxJQUFJLFNBQVMsS0FBSyxnQkFBZ0I7UUFBRSxPQUFPLGdCQUFnQixDQUFDO0lBRTVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxpR0FBaUc7QUFDakcsMkZBQTJGO0FBQzNGLDZEQUE2RDtBQUM3RCxTQUFTLGFBQWEsQ0FBQyxDQUFvQjtJQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFBLGdDQUFnQixFQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxNQUFNLFdBQVcsR0FBRyxJQUFBLG9DQUFxQixFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUE0QixDQUFDO0lBRXpELG1HQUFtRztJQUNuRyw0RkFBNEY7SUFDNUYsTUFBTSxlQUFlLEdBQUcsOEJBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0scUJBQXFCLEdBQUcseUNBQTBCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTdGLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLE1BQU0sRUFBRSxDQUFDLENBQUMs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
|
|
@@ -184,6 +184,8 @@ export interface ServerHydratedWorkflowRun {
|
|
|
184
184
|
renderingId: number;
|
|
185
185
|
lockedAt?: string | null;
|
|
186
186
|
userProfile: ServerUserProfile;
|
|
187
|
+
/** The project's IANA zone. Absent from an orchestrator that predates it, null when unset. */
|
|
188
|
+
timezone?: string | null;
|
|
187
189
|
}
|
|
188
190
|
export interface ServerStepHistoryUpdate {
|
|
189
191
|
/** Accepted by the server Joi schema; missing from the server TS type (server-side gap). */
|
|
@@ -78,13 +78,15 @@ class ConditionStepExecutor extends base_step_executor_1.default {
|
|
|
78
78
|
async evaluateDeterministically(step) {
|
|
79
79
|
const { optionConditions, fallbackOption } = step.preRecordedArgs;
|
|
80
80
|
const stepExecutions = await this.context.runStore.getStepExecutions(this.context.runId);
|
|
81
|
+
// One clock per step, so "today" cannot flip between the first and the last condition.
|
|
82
|
+
const clock = { now: new Date(), timezone: this.context.timezone };
|
|
81
83
|
let matchedOption;
|
|
82
84
|
const evaluations = optionConditions.map(({ option, aggregator, conditions }) => {
|
|
83
85
|
if (matchedOption !== undefined) {
|
|
84
86
|
return { option, outcome: 'not-evaluated' };
|
|
85
87
|
}
|
|
86
88
|
const results = conditions.map((condition, index) => {
|
|
87
|
-
const { met, reason } = this.evaluateCondition(condition, stepExecutions);
|
|
89
|
+
const { met, reason } = this.evaluateCondition(condition, stepExecutions, clock);
|
|
88
90
|
return { index, met, ...(reason && { reason }) };
|
|
89
91
|
});
|
|
90
92
|
const matched = aggregator === 'or'
|
|
@@ -109,12 +111,18 @@ class ConditionStepExecutor extends base_step_executor_1.default {
|
|
|
109
111
|
await this.context.runStore.saveStepExecution(this.context.runId, {
|
|
110
112
|
type: 'condition',
|
|
111
113
|
stepIndex: this.context.stepIndex,
|
|
112
|
-
executionParams: {
|
|
114
|
+
executionParams: {
|
|
115
|
+
evaluations,
|
|
116
|
+
selectedOption,
|
|
117
|
+
usedFallback,
|
|
118
|
+
evaluatedAt: clock.now.toISOString(),
|
|
119
|
+
timezone: clock.timezone,
|
|
120
|
+
},
|
|
113
121
|
executionResult: { answer: selectedOption },
|
|
114
122
|
});
|
|
115
123
|
return this.buildOutcomeResult({ status: 'success', selectedOption });
|
|
116
124
|
}
|
|
117
|
-
evaluateCondition(condition, stepExecutions) {
|
|
125
|
+
evaluateCondition(condition, stepExecutions, clock) {
|
|
118
126
|
const resolved = this.resolveConditionValue(condition, stepExecutions);
|
|
119
127
|
// The reason is what keeps the fallback from passing for a decision the data took: the run view
|
|
120
128
|
// words it instead of showing a bare cross. Returning here also means "never read" is not
|
|
@@ -128,7 +136,7 @@ class ConditionStepExecutor extends base_step_executor_1.default {
|
|
|
128
136
|
});
|
|
129
137
|
return { met: null, reason: resolved.reason };
|
|
130
138
|
}
|
|
131
|
-
return { met: (0, deterministic_condition_evaluator_1.default)(condition.operator, resolved.value, condition.value) };
|
|
139
|
+
return { met: (0, deterministic_condition_evaluator_1.default)(condition.operator, resolved.value, condition.value, clock) };
|
|
132
140
|
}
|
|
133
141
|
// Same live-path + most-recent-occurrence resolution as resolveSourceRecordRef: previousSteps
|
|
134
142
|
// are already restricted to the live path, and in a loop the same step id repeats.
|
|
@@ -185,4 +193,4 @@ class ConditionStepExecutor extends base_step_executor_1.default {
|
|
|
185
193
|
}
|
|
186
194
|
}
|
|
187
195
|
exports.default = ConditionStepExecutor;
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uLXN0ZXAtZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0b3JzL2NvbmRpdGlvbi1zdGVwLWV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsb0RBQTJGO0FBQzNGLDZCQUF3QjtBQUV4QixzQ0FBdUU7QUFDdkUsOEVBQW9EO0FBQ3BELDRHQUFtRjtBQUNuRiw4RkFBK0Q7QUFDL0Qsd0VBSTRDO0FBYTVDLE1BQU0scUJBQXFCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NGQW9Cd0QsQ0FBQztBQUV2RixNQUFxQixxQkFBc0IsU0FBUSw0QkFBeUM7SUFDaEYsa0JBQWtCLENBQUMsT0FNNUI7UUFDQyxPQUFPO1lBQ0wsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxXQUFXO2dCQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO2dCQUNqQyxHQUFHLE9BQU87YUFDWDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRVMsS0FBSyxDQUFDLFNBQVM7UUFDdkIsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRW5FLElBQUksSUFBQSw4Q0FBNEIsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLDRGQUE0RjtZQUM1Riw0RkFBNEY7WUFDNUYsSUFBSSxtQkFBbUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ2pCLE1BQU0sRUFDTiw2RUFBNkUsRUFDN0UsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxpRkFBaUY7UUFD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
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { ConditionOperator } from '../types/validated/step-definition';
|
|
2
|
+
export interface Clock {
|
|
3
|
+
now: Date;
|
|
4
|
+
timezone: string;
|
|
5
|
+
}
|
|
2
6
|
/**
|
|
3
7
|
* Pure evaluation of one deterministic condition. Never throws for data reasons:
|
|
4
8
|
* - `null` = not evaluable (the resolved value is null/missing) — treated as "not met";
|
|
5
9
|
* - a type-mismatched comparison (including for negated operators) is "not met" (`false`),
|
|
6
10
|
* so a broken config can never accidentally satisfy a condition.
|
|
7
11
|
*/
|
|
8
|
-
export default function evaluateOperator(operator: ConditionOperator, actual: unknown, expected: unknown): boolean | null;
|
|
12
|
+
export default function evaluateOperator(operator: ConditionOperator, actual: unknown, expected: unknown, clock: Clock): boolean | null;
|
|
9
13
|
//# sourceMappingURL=deterministic-condition-evaluator.d.ts.map
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = evaluateOperator;
|
|
4
|
+
const luxon_1 = require("luxon");
|
|
4
5
|
// Guard against Date.parse's laxity ("5" parses as a year in some engines): only strings that
|
|
5
6
|
// start like an ISO date are treated as dates.
|
|
6
7
|
const ISO_DATE_PREFIX = /^\d{4}-\d{2}-\d{2}/;
|
|
8
|
+
const DATE_ONLY = /^\d{4}-\d{2}-\d{2}$/;
|
|
7
9
|
const TIMEZONE_SUFFIX = /(Z|[+-]\d{2}:?\d{2})$/i;
|
|
8
10
|
// Sequelize hands back numeric/decimal/bigint columns as strings although datasource-sequelize
|
|
9
11
|
// maps them to the Number primitive, so the builder's JSON number meets a string at runtime.
|
|
10
12
|
const NUMERIC_STRING = /^-?\d+(\.\d+)?$/;
|
|
13
|
+
// A Time column holds a time of day, which nothing else in this file can read: not a number, not
|
|
14
|
+
// an instant. The seconds and their fraction are optional, and both sides may write them
|
|
15
|
+
// differently — Postgres returns "08:30:00", the builder's time widget writes "08:30".
|
|
16
|
+
const TIME_OF_DAY = /^(\d{2}):(\d{2})(?::(\d{2})(\.\d+)?)?$/;
|
|
11
17
|
const INTEGER_STRING = /^-?\d+$/;
|
|
12
18
|
// Date.parse rolls an out-of-range day over ("2026-02-30" becomes 2026-03-02), which would make a
|
|
13
19
|
// nonsensical config compare equal to a real date instead of being inert.
|
|
@@ -21,11 +27,37 @@ function toTimestamp(value) {
|
|
|
21
27
|
if (!isRealCalendarDate(value.slice(0, 10)))
|
|
22
28
|
return null;
|
|
23
29
|
// Date.parse reads an offset-less datetime as host-local (date-only as UTC), which would route
|
|
24
|
-
// the same run differently per machine — pin every offset-less datetime to UTC.
|
|
25
|
-
|
|
30
|
+
// the same run differently per machine — pin every offset-less datetime to UTC. Postgres emits
|
|
31
|
+
// the SQL form ("2026-09-04 08:00:00+02"): space separator, bare-hour offset that Date.parse
|
|
32
|
+
// only accepts as hh:mm once the separator is a T.
|
|
33
|
+
const datetime = value
|
|
34
|
+
.trim()
|
|
35
|
+
.replace(/\s+/, 'T')
|
|
36
|
+
.replace(/\s+/g, '')
|
|
37
|
+
.replace(/(:\d{2}(?:\.\d+)?)([+-]\d{2})$/, '$1$2:00');
|
|
38
|
+
const absolute = datetime.includes('T') && !TIMEZONE_SUFFIX.test(datetime) ? `${datetime}Z` : datetime;
|
|
26
39
|
const parsed = Date.parse(absolute);
|
|
27
40
|
return Number.isNaN(parsed) ? null : parsed;
|
|
28
41
|
}
|
|
42
|
+
// A calendar date has no instant of its own, so it is read at midnight in the project's zone: that
|
|
43
|
+
// is what makes "today" the project's today for a Dateonly column, whatever the machine's or UTC's
|
|
44
|
+
// day is at that moment. A datetime is an absolute instant already (the UTC pinning above).
|
|
45
|
+
function toInstant(value, timezone) {
|
|
46
|
+
if (typeof value !== 'string' || !isRealCalendarDate(value.slice(0, 10)))
|
|
47
|
+
return null;
|
|
48
|
+
if (DATE_ONLY.test(value))
|
|
49
|
+
return luxon_1.DateTime.fromISO(value, { zone: timezone });
|
|
50
|
+
const timestamp = toTimestamp(value);
|
|
51
|
+
return timestamp === null ? null : luxon_1.DateTime.fromMillis(timestamp, { zone: timezone });
|
|
52
|
+
}
|
|
53
|
+
// The toolkit compares a Dateonly column against the bound's calendar date (its time transforms
|
|
54
|
+
// format the bound with toISODate for that column type), so a bound falling mid-day is read at the
|
|
55
|
+
// start of its day when the value is a calendar date: "past" on a Dateonly excludes today, as the
|
|
56
|
+
// list filter does. The kind is told from the value's shape where the toolkit reads the column
|
|
57
|
+
// type, so parity holds as long as a Dateonly serialises as a bare YYYY-MM-DD.
|
|
58
|
+
function alignToValueKind(actual, bound) {
|
|
59
|
+
return DATE_ONLY.test(actual) ? bound.startOf('day') : bound;
|
|
60
|
+
}
|
|
29
61
|
function toNumber(value) {
|
|
30
62
|
if (typeof value === 'number')
|
|
31
63
|
return Number.isNaN(value) ? null : value;
|
|
@@ -60,6 +92,25 @@ function compareIntegers(actual, expected) {
|
|
|
60
92
|
return 0;
|
|
61
93
|
return actualInteger > expectedInteger ? 1 : -1;
|
|
62
94
|
}
|
|
95
|
+
// A count since midnight rather than text: comparing the strings would order "08:30:00.10" before
|
|
96
|
+
// "08:30:00.1", which is the same instant written twice. Microseconds, the precision Postgres's
|
|
97
|
+
// `time` keeps, and read as six exact digits rather than scaled by a float: rounding to
|
|
98
|
+
// milliseconds made 08:30:00.0001 equal 08:30:00, and carried .9999 into the next second.
|
|
99
|
+
function toMicrosOfDay(value) {
|
|
100
|
+
if (typeof value !== 'string')
|
|
101
|
+
return null;
|
|
102
|
+
const parts = TIME_OF_DAY.exec(value);
|
|
103
|
+
if (!parts)
|
|
104
|
+
return null;
|
|
105
|
+
const [, hours, minutes, seconds = '0', fraction = '.0'] = parts;
|
|
106
|
+
if (Number(minutes) > 59 || Number(seconds) > 59)
|
|
107
|
+
return null;
|
|
108
|
+
const micros = ((Number(hours) * 60 + Number(minutes)) * 60 + Number(seconds)) * 1000000 +
|
|
109
|
+
Number(`${fraction.slice(1)}000000`.slice(0, 6));
|
|
110
|
+
// Postgres's `time` tops out at 24:00:00, which it stores and returns for the end of a day, so
|
|
111
|
+
// the bound is that instant rather than hour 23: 24:00:00 is a time, 24:00:00.001 is not.
|
|
112
|
+
return micros > 24 * 60 * 60 * 1000000 ? null : micros;
|
|
113
|
+
}
|
|
63
114
|
function scalarEqual(actual, expected) {
|
|
64
115
|
if (actual === expected)
|
|
65
116
|
return true;
|
|
@@ -73,6 +124,10 @@ function scalarEqual(actual, expected) {
|
|
|
73
124
|
const expectedTs = toTimestamp(expected);
|
|
74
125
|
if (actualTs !== null && expectedTs !== null)
|
|
75
126
|
return actualTs === expectedTs;
|
|
127
|
+
const actualTime = toMicrosOfDay(actual);
|
|
128
|
+
const expectedTime = toMicrosOfDay(expected);
|
|
129
|
+
if (actualTime !== null && expectedTime !== null)
|
|
130
|
+
return actualTime === expectedTime;
|
|
76
131
|
return typeof actual === typeof expected ? false : null;
|
|
77
132
|
}
|
|
78
133
|
function isEqual(actual, expected) {
|
|
@@ -95,6 +150,12 @@ function compare(actual, expected) {
|
|
|
95
150
|
const expectedTs = toTimestamp(expected);
|
|
96
151
|
if (actualTs !== null && expectedTs !== null)
|
|
97
152
|
return actualTs - expectedTs;
|
|
153
|
+
// Without this, "is greater than" on a Time column can never be met: the builder offers the
|
|
154
|
+
// operator, and the step would route to the fallback on every record without saying why.
|
|
155
|
+
const actualTime = toMicrosOfDay(actual);
|
|
156
|
+
const expectedTime = toMicrosOfDay(expected);
|
|
157
|
+
if (actualTime !== null && expectedTime !== null)
|
|
158
|
+
return actualTime - expectedTime;
|
|
98
159
|
return null;
|
|
99
160
|
}
|
|
100
161
|
function isPresent(value) {
|
|
@@ -117,23 +178,120 @@ function memberOf(list, candidate) {
|
|
|
117
178
|
return true;
|
|
118
179
|
return results.includes(null) ? null : false;
|
|
119
180
|
}
|
|
181
|
+
function includesAll(actual, expected) {
|
|
182
|
+
if (!Array.isArray(actual))
|
|
183
|
+
return false;
|
|
184
|
+
const wanted = Array.isArray(expected) ? expected : [expected];
|
|
185
|
+
return wanted.length > 0 && wanted.every(item => memberOf(actual, item) === true);
|
|
186
|
+
}
|
|
187
|
+
function stringTest(satisfies) {
|
|
188
|
+
return (actual, expected) => typeof actual === 'string' && typeof expected === 'string' && satisfies(actual, expected);
|
|
189
|
+
}
|
|
120
190
|
function ordering(satisfies) {
|
|
121
191
|
return (actual, expected) => {
|
|
122
192
|
const diff = compare(actual, expected);
|
|
123
193
|
return diff !== null && satisfies(diff);
|
|
124
194
|
};
|
|
125
195
|
}
|
|
196
|
+
// The builder pins a datetime for a Date column and a calendar date for a Dateonly one, so both
|
|
197
|
+
// sides share a kind and a calendar date is read in the project's zone on either side. The toolkit
|
|
198
|
+
// reads a bare date in the server's zone here; the project's is the deliberate choice.
|
|
199
|
+
function dateOrdering(satisfies) {
|
|
200
|
+
return (actual, expected, clock) => {
|
|
201
|
+
const actualInstant = toInstant(actual, clock.timezone);
|
|
202
|
+
const expectedInstant = toInstant(expected, clock.timezone);
|
|
203
|
+
return (actualInstant !== null &&
|
|
204
|
+
expectedInstant !== null &&
|
|
205
|
+
satisfies(actualInstant, expectedInstant));
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function days(value) {
|
|
209
|
+
const count = toNumber(value);
|
|
210
|
+
return count !== null && Number.isInteger(count) && count > 0 ? count : null;
|
|
211
|
+
}
|
|
212
|
+
// A calendar period: the whole previous one, or this one up to the clock. Luxon's week starts on
|
|
213
|
+
// Monday, like the toolkit's, so both agree on which week a Sunday belongs to.
|
|
214
|
+
const previousPeriod = (unit) => now => [now.minus({ [unit]: 1 }).startOf(unit), now.startOf(unit)];
|
|
215
|
+
const periodToDate = (unit) => now => [now.startOf(unit), now];
|
|
216
|
+
const WINDOWS = {
|
|
217
|
+
today: now => [now.startOf('day'), now.plus({ days: 1 }).startOf('day')],
|
|
218
|
+
yesterday: now => [now.minus({ days: 1 }).startOf('day'), now.startOf('day')],
|
|
219
|
+
previous_week: previousPeriod('week'),
|
|
220
|
+
previous_month: previousPeriod('month'),
|
|
221
|
+
previous_quarter: previousPeriod('quarter'),
|
|
222
|
+
previous_year: previousPeriod('year'),
|
|
223
|
+
previous_week_to_date: periodToDate('week'),
|
|
224
|
+
previous_month_to_date: periodToDate('month'),
|
|
225
|
+
previous_quarter_to_date: periodToDate('quarter'),
|
|
226
|
+
previous_year_to_date: periodToDate('year'),
|
|
227
|
+
previous_x_days: (now, value) => {
|
|
228
|
+
const count = days(value);
|
|
229
|
+
return count === null ? null : [now.minus({ days: count }).startOf('day'), now.startOf('day')];
|
|
230
|
+
},
|
|
231
|
+
previous_x_days_to_date: (now, value) => {
|
|
232
|
+
const count = days(value);
|
|
233
|
+
return count === null ? null : [now.minus({ days: count }).startOf('day'), now];
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
function within(name) {
|
|
237
|
+
return (actual, expected, clock) => {
|
|
238
|
+
const instant = toInstant(actual, clock.timezone);
|
|
239
|
+
if (instant === null)
|
|
240
|
+
return false;
|
|
241
|
+
const window = WINDOWS[name](luxon_1.DateTime.fromJSDate(clock.now).setZone(clock.timezone), expected);
|
|
242
|
+
if (window === null)
|
|
243
|
+
return false;
|
|
244
|
+
const [start, end] = window.map(bound => alignToValueKind(actual, bound));
|
|
245
|
+
const afterStart = DATE_ONLY.test(actual) ? instant >= start : instant > start;
|
|
246
|
+
return afterStart && instant < end;
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
function relativeTo(bound, satisfies) {
|
|
250
|
+
return (actual, expected, clock) => {
|
|
251
|
+
const instant = toInstant(actual, clock.timezone);
|
|
252
|
+
if (instant === null)
|
|
253
|
+
return false;
|
|
254
|
+
const reference = bound(luxon_1.DateTime.fromJSDate(clock.now).setZone(clock.timezone), expected);
|
|
255
|
+
return reference !== null && satisfies(instant, alignToValueKind(actual, reference));
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
function hoursAgo(now, value) {
|
|
259
|
+
const count = toNumber(value);
|
|
260
|
+
return count !== null && count >= 0 ? now.minus({ hours: count }) : null;
|
|
261
|
+
}
|
|
126
262
|
const EVALUATORS = {
|
|
127
263
|
equal: (actual, expected) => isEqual(actual, expected) === true,
|
|
128
264
|
not_equal: (actual, expected) => isEqual(actual, expected) === false,
|
|
129
265
|
greater_than: ordering(diff => diff > 0),
|
|
130
266
|
less_than: ordering(diff => diff < 0),
|
|
131
|
-
greater_than_or_equal: ordering(diff => diff >= 0),
|
|
132
|
-
less_than_or_equal: ordering(diff => diff <= 0),
|
|
133
267
|
in: (actual, expected) => memberOf(expected, actual) === true,
|
|
134
268
|
not_in: (actual, expected) => memberOf(expected, actual) === false,
|
|
135
|
-
|
|
136
|
-
|
|
269
|
+
includes_all: includesAll,
|
|
270
|
+
contains: stringTest((actual, expected) => actual.includes(expected)),
|
|
271
|
+
not_contains: stringTest((actual, expected) => !actual.includes(expected)),
|
|
272
|
+
starts_with: stringTest((actual, expected) => actual.startsWith(expected)),
|
|
273
|
+
ends_with: stringTest((actual, expected) => actual.endsWith(expected)),
|
|
274
|
+
// Case folded, accents kept: the Postgres ILIKE path of the list filter ('É' ILIKE '%é%' holds,
|
|
275
|
+
// 'é' ILIKE '%e%' does not). MySQL and SQLite collations diverge; Postgres is the contract.
|
|
276
|
+
i_contains: stringTest((actual, expected) => actual.toLowerCase().includes(expected.toLowerCase())),
|
|
277
|
+
before: dateOrdering((actual, expected) => actual < expected),
|
|
278
|
+
after: dateOrdering((actual, expected) => actual > expected),
|
|
279
|
+
past: relativeTo(now => now, (actual, bound) => actual < bound),
|
|
280
|
+
future: relativeTo(now => now, (actual, bound) => actual > bound),
|
|
281
|
+
before_x_hours_ago: relativeTo(hoursAgo, (actual, bound) => actual < bound),
|
|
282
|
+
after_x_hours_ago: relativeTo(hoursAgo, (actual, bound) => actual > bound),
|
|
283
|
+
today: within('today'),
|
|
284
|
+
yesterday: within('yesterday'),
|
|
285
|
+
previous_x_days: within('previous_x_days'),
|
|
286
|
+
previous_x_days_to_date: within('previous_x_days_to_date'),
|
|
287
|
+
previous_week: within('previous_week'),
|
|
288
|
+
previous_month: within('previous_month'),
|
|
289
|
+
previous_quarter: within('previous_quarter'),
|
|
290
|
+
previous_year: within('previous_year'),
|
|
291
|
+
previous_week_to_date: within('previous_week_to_date'),
|
|
292
|
+
previous_month_to_date: within('previous_month_to_date'),
|
|
293
|
+
previous_quarter_to_date: within('previous_quarter_to_date'),
|
|
294
|
+
previous_year_to_date: within('previous_year_to_date'),
|
|
137
295
|
};
|
|
138
296
|
/**
|
|
139
297
|
* Pure evaluation of one deterministic condition. Never throws for data reasons:
|
|
@@ -141,13 +299,13 @@ const EVALUATORS = {
|
|
|
141
299
|
* - a type-mismatched comparison (including for negated operators) is "not met" (`false`),
|
|
142
300
|
* so a broken config can never accidentally satisfy a condition.
|
|
143
301
|
*/
|
|
144
|
-
function evaluateOperator(operator, actual, expected) {
|
|
302
|
+
function evaluateOperator(operator, actual, expected, clock) {
|
|
145
303
|
if (operator === 'present')
|
|
146
304
|
return isPresent(actual);
|
|
147
305
|
if (operator === 'blank')
|
|
148
306
|
return !isPresent(actual);
|
|
149
307
|
if (actual === null || actual === undefined)
|
|
150
308
|
return null;
|
|
151
|
-
return EVALUATORS[operator](actual, expected);
|
|
309
|
+
return EVALUATORS[operator](actual, expected, clock);
|
|
152
310
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZXJtaW5pc3RpYy1jb25kaXRpb24tZXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9kZXRlcm1pbmlzdGljLWNvbmRpdGlvbi1ldmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFxS0EsbUNBVUM7QUE3S0QsOEZBQThGO0FBQzlGLCtDQUErQztBQUMvQyxNQUFNLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUM3QyxNQUFNLGVBQWUsR0FBRyx3QkFBd0IsQ0FBQztBQUNqRCwrRkFBK0Y7QUFDL0YsNkZBQTZGO0FBQzdGLE1BQU0sY0FBYyxHQUFHLGlCQUFpQixDQUFDO0FBQ3pDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxrR0FBa0c7QUFDbEcsMEVBQTBFO0FBQzFFLFNBQVMsa0JBQWtCLENBQUMsUUFBZ0I7SUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxRQUFRLGdCQUFnQixDQUFDLENBQUM7SUFFckQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN0RixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsS0FBYztJQUNqQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDM0UsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFekQsK0ZBQStGO0lBQy9GLGdGQUFnRjtJQUNoRixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJ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
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0ZXJtaW5pc3RpYy1jb25kaXRpb24tZXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9kZXRlcm1pbmlzdGljLWNvbmRpdGlvbi1ldmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF1WUEsbUNBV0M7QUFoWkQsaUNBQWlDO0FBUWpDLDhGQUE4RjtBQUM5RiwrQ0FBK0M7QUFDL0MsTUFBTSxlQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDN0MsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUM7QUFDeEMsTUFBTSxlQUFlLEdBQUcsd0JBQXdCLENBQUM7QUFDakQsK0ZBQStGO0FBQy9GLDZGQUE2RjtBQUM3RixNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQztBQUN6QyxpR0FBaUc7QUFDakcseUZBQXlGO0FBQ3pGLHVGQUF1RjtBQUN2RixNQUFNLFdBQVcsR0FBRyx3Q0FBd0MsQ0FBQztBQUM3RCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFFakMsa0dBQWtHO0FBQ2xHLDBFQUEwRTtBQUMxRSxTQUFTLGtCQUFrQixDQUFDLFFBQWdCO0lBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsUUFBUSxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXJELE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQWM7SUFDakMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQzNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXpELCtGQUErRjtJQUMvRiwrRkFBK0Y7SUFDL0YsNkZBQTZGO0lBQzdGLG1EQUFtRDtJQUNuRCxNQUFNLFFBQVEsR0FBRyxLQUFLO1NBQ25CLElBQUksRUFBRTtTQUNOLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO1NBQ25CLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1NBQ25CLE9BQU8sQ0FBQyxnQ0FBZ0MsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN4RCxNQUFNLFFBQVEsR0FDWixRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3hGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUM5QyxDQUFDO0FBRUQsbUdBQW1HO0FBQ25HLG1HQUFtRztBQUNuRyw0RkFBNEY7QUFDNUYsU0FBUyxTQUFTLENBQUMsS0FBYyxFQUFFLFFBQWdCO0lBQ2pELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN0RixJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxnQkFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUU5RSxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckMsT0FBTyxTQUFTLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRCxnR0FBZ0c7QUFDaEcsbUdBQW1HO0FBQ25HLGtHQUFrRztBQUNsRywrRkFBK0Y7QUFDL0YsK0VBQStFO0FBQy9FLFNBQVMsZ0JBQWdCLENBQUMsTUFBZSxFQUFFLEtBQWU7SUFDeEQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3pFLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxLQUFjO0lBQzlCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFekUsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDeEYsQ0FBQztBQUVELGlHQUFpRztBQUNqRyxtR0FBbUc7QUFDbkcsU0FBUyxZQUFZLENBQUMsTUFBZSxFQUFFLFFBQWlCO0lBQ3RELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFBRSxPQUFPLElBQUksQ0FBQztJQUU1RSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sWUFBWSxLQUFLLElBQUksSUFBSSxjQUFjLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2xHLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxLQUFjO0lBQy9CLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFckYsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDeEYsQ0FBQztBQUVELG1HQUFtRztBQUNuRyx1RkFBdUY7QUFDdkYsK0ZBQStGO0FBQy9GLHNGQUFzRjtBQUN0RixTQUFTLGVBQWUsQ0FBQyxNQUFlLEVBQUUsUUFBaUI7SUFDekQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRTVFLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsSUFBSSxhQUFhLEtBQUssSUFBSSxJQUFJLGVBQWUsS0FBSyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFcEUsSUFBSSxhQUFhLEtBQUssZUFBZTtRQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRWhELE9BQU8sYUFBYSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQsa0dBQWtHO0FBQ2xHLGdHQUFnRztBQUNoRyx3RkFBd0Y7QUFDeEYsMEZBQTBGO0FBQzFGLFNBQVMsYUFBYSxDQUFDLEtBQWM7SUFDbkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFM0MsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXhCLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxHQUFHLEdBQUcsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2pFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRTlELE1BQU0sTUFBTSxHQUNWLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFTO1FBQzNFLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkQsK0ZBQStGO0lBQy9GLDBGQUEwRjtJQUMxRixPQUFPLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQzNELENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxNQUFlLEVBQUUsUUFBaUI7SUFDckQsSUFBSSxNQUFNLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXJDLE1BQU0sUUFBUSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkQsSUFBSSxRQUFRLEtBQUssSUFBSTtRQUFFLE9BQU8sUUFBUSxLQUFLLENBQUMsQ0FBQztJQUU3QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLElBQUksT0FBTztRQUFFLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU5QyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxVQUFVLEtBQUssSUFBSTtRQUFFLE9BQU8sUUFBUSxLQUFLLFVBQVUsQ0FBQztJQUU3RSxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLElBQUksVUFBVSxLQUFLLElBQUksSUFBSSxZQUFZLEtBQUssSUFBSTtRQUFFLE9BQU8sVUFBVSxLQUFLLFlBQVksQ0FBQztJQUVyRixPQUFPLE9BQU8sTUFBTSxLQUFLLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMxRCxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsTUFBZSxFQUFFLFFBQWlCO0lBQ2pELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckQsT0FBTyxDQUNMLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU07WUFDakMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQzNFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFbEUsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxNQUFlLEVBQUUsUUFBaUI7SUFDakQsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRCxJQUFJLFFBQVEsS0FBSyxJQUFJO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFFdkMsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxJQUFJLE9BQU87UUFBRSxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFNUMsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxJQUFJLFFBQVEsS0FBSyxJQUFJLElBQUksVUFBVSxLQUFLLElBQUk7UUFBRSxPQUFPLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFFM0UsNEZBQTRGO0lBQzVGLHlGQUF5RjtJQUN6RixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLElBQUksVUFBVSxLQUFLLElBQUksSUFBSSxZQUFZLEtBQUssSUFBSTtRQUFFLE9BQU8sVUFBVSxHQUFHLFlBQVksQ0FBQztJQUVuRixPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxLQUFjO0lBQy9CLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ3hELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdkQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFbEQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsNkZBQTZGO0FBQzdGLG1HQUFtRztBQUNuRyxvRkFBb0Y7QUFDcEYsU0FBUyxRQUFRLENBQUMsSUFBYSxFQUFFLFNBQWtCO0lBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXRDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXhDLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDL0MsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLE1BQWUsRUFBRSxRQUFpQjtJQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUN6QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFL0QsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUNwRixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsU0FBd0Q7SUFDMUUsT0FBTyxDQUFDLE1BQWUsRUFBRSxRQUFpQixFQUFXLEVBQUUsQ0FDckQsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxTQUFvQztJQUNwRCxPQUFPLENBQUMsTUFBZSxFQUFFLFFBQWlCLEVBQVcsRUFBRTtRQUNyRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXZDLE9BQU8sSUFBSSxLQUFLLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELGdHQUFnRztBQUNoRyxtR0FBbUc7QUFDbkcsdUZBQXVGO0FBQ3ZGLFNBQVMsWUFBWSxDQUFDLFNBQTREO0lBQ2hGLE9BQU8sQ0FBQyxNQUFlLEVBQUUsUUFBaUIsRUFBRSxLQUFZLEVBQVcsRUFBRTtRQUNuRSxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1RCxPQUFPLENBQ0wsYUFBYSxLQUFLLElBQUk7WUFDdEIsZUFBZSxLQUFLLElBQUk7WUFDeEIsU0FBUyxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FDMUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFRRCxTQUFTLElBQUksQ0FBQyxLQUFjO0lBQzFCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvRSxDQUFDO0FBRUQsaUdBQWlHO0FBQ2pHLCtFQUErRTtBQUMvRSxNQUFNLGNBQWMsR0FDbEIsQ0FBQyxJQUEyQyxFQUFVLEVBQUUsQ0FDeEQsR0FBRyxDQUFDLEVBQUUsQ0FDSixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUVoRSxNQUFNLFlBQVksR0FDaEIsQ0FBQyxJQUEyQyxFQUFVLEVBQUUsQ0FDeEQsR0FBRyxDQUFDLEVBQUUsQ0FDSixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFN0IsTUFBTSxPQUFPLEdBY1Q7SUFDRixLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RSxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RSxhQUFhLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxjQUFjLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQztJQUN2QyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsU0FBUyxDQUFDO0lBQzNDLGFBQWEsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ3JDLHFCQUFxQixFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDM0Msc0JBQXNCLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUM3Qyx3QkFBd0IsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDO0lBQ2pELHFCQUFxQixFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDM0MsZUFBZSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixPQUFPLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBQ0QsdUJBQXVCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLE1BQU0sQ0FBQyxJQUEwQjtJQUN4QyxPQUFPLENBQUMsTUFBZSxFQUFFLFFBQWlCLEVBQUUsS0FBWSxFQUFXLEVBQUU7UUFDbkUsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxPQUFPLEtBQUssSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRW5DLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvRixJQUFJLE1BQU0sS0FBSyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFbEMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUUsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFFekYsT0FBTyxVQUFVLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUNyQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQ2pCLEtBQXlELEVBQ3pELFNBQXlEO0lBRXpELE9BQU8sQ0FBQyxNQUFlLEVBQUUsUUFBaUIsRUFBRSxLQUFZLEVBQVcsRUFBRTtRQUNuRSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxJQUFJLE9BQU8sS0FBSyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFbkMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGdCQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTFGLE9BQU8sU0FBUyxLQUFLLElBQUksSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxHQUFhLEVBQUUsS0FBYztJQUM3QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFOUIsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzNFLENBQUM7QUFFRCxNQUFNLFVBQVUsR0FHWjtJQUNGLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssSUFBSTtJQUMvRCxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEtBQUs7SUFDcEUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDeEMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDckMsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsS0FBSyxJQUFJO0lBQzdELE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssS0FBSztJQUNsRSxZQUFZLEVBQUUsV0FBVztJQUN6QixRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLGdHQUFnRztJQUNoRyw0RkFBNEY7SUFDNUYsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUMxQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUN0RDtJQUNELE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQzdELEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQzVELElBQUksRUFBRSxVQUFVLENBQ2QsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQ1YsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUNsQztJQUNELE1BQU0sRUFBRSxVQUFVLENBQ2hCLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUNWLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FDbEM7SUFDRCxrQkFBa0IsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUMzRSxpQkFBaUIsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUMxRSxLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUM5QixlQUFlLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQzFDLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQztJQUMxRCxhQUFhLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUN0QyxjQUFjLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBQ3hDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUM1QyxhQUFhLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUN0QyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsdUJBQXVCLENBQUM7SUFDdEQsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQUFDO0lBQ3hELHdCQUF3QixFQUFFLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQztJQUM1RCxxQkFBcUIsRUFBRSxNQUFNLENBQUMsdUJBQXVCLENBQUM7Q0FDdkQsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsU0FBd0IsZ0JBQWdCLENBQ3RDLFFBQTJCLEVBQzNCLE1BQWUsRUFDZixRQUFpQixFQUNqQixLQUFZO0lBRVosSUFBSSxRQUFRLEtBQUssU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELElBQUksUUFBUSxLQUFLLE9BQU87UUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLEtBQUssU0FBUztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXpELE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkQsQ0FBQyJ9
|
|
@@ -99,6 +99,7 @@ class StepExecutorFactory {
|
|
|
99
99
|
stepDefinition: step.stepDefinition,
|
|
100
100
|
previousSteps: step.previousSteps,
|
|
101
101
|
user: step.user,
|
|
102
|
+
timezone: step.timezone,
|
|
102
103
|
model: cfg.aiModelPort.getModel({
|
|
103
104
|
aiConfigName: step.stepDefinition.aiConfigName,
|
|
104
105
|
userId: step.user.id,
|
|
@@ -121,4 +122,4 @@ class StepExecutorFactory {
|
|
|
121
122
|
}
|
|
122
123
|
}
|
|
123
124
|
exports.default = StepExecutorFactory;
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1leGVjdXRvci1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9zdGVwLWV4ZWN1dG9yLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUF3QkEsc0NBTW1CO0FBQ25CLHlFQUFnRDtBQUNoRCxrRUFBeUM7QUFDekMsc0VBQTRDO0FBQzVDLHdGQUE4RDtBQUM5RCxzRkFBNEQ7QUFDNUQsNEdBQWdGO0FBQ2hGLDRFQUFrRDtBQUNsRCw0RkFBaUU7QUFDakUsZ0hBQW9GO0FBQ3BGLGdHQUFxRTtBQUNyRSx3RUFBOEQ7QUFDOUQsa0VBQXdFO0FBYXhFLE1BQXFCLG1CQUFtQjtJQUN0QyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDakIsSUFBNEIsRUFDNUIsYUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsZ0JBQTBGLEVBQzFGLG1CQUE2QixFQUM3QixpQkFBMEI7UUFFMUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUM5QyxJQUFJLEVBQ0osYUFBYSxFQUNiLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsaUJBQWlCLENBQ2xCLENBQUM7WUFFRixRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pDLEtBQUssMEJBQVEsQ0FBQyxTQUFTO29CQUNyQixPQUFPLElBQUksaUNBQXFCLENBQUMsT0FBb0QsQ0FBQyxDQUFDO2dCQUN6RixLQUFLLDBCQUFRLENBQUMsVUFBVTtvQkFDdEIsT0FBTyxJQUFJLG1DQUFzQixDQUFDLE9BQXFELENBQUMsQ0FBQztnQkFDM0YsS0FBSywwQkFBUSxDQUFDLFlBQVk7b0JBQ3hCLE9BQU8sSUFBSSxxQ0FBd0IsQ0FDakMsT0FBdUQsQ0FDeEQsQ0FBQztnQkFDSixLQUFLLDBCQUFRLENBQUMsYUFBYTtvQkFDekIsT0FBTyxJQUFJLDZDQUErQixDQUN4QyxPQUF3RCxDQUN6RCxD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
|
|
@@ -27,6 +27,7 @@ export interface ExecutionContext<TStep extends StepDefinition = StepDefinition>
|
|
|
27
27
|
readonly activityLog: ActivityLog;
|
|
28
28
|
readonly runStore: RunStore;
|
|
29
29
|
readonly user: StepUser;
|
|
30
|
+
readonly timezone: string;
|
|
30
31
|
readonly schemaResolver: SchemaResolver;
|
|
31
32
|
readonly previousSteps: ReadonlyArray<Readonly<Step>>;
|
|
32
33
|
readonly logger: Logger;
|
|
@@ -29,6 +29,8 @@ export interface DeterministicConditionExecutionParams {
|
|
|
29
29
|
evaluations: ConditionEvaluation[];
|
|
30
30
|
selectedOption: string;
|
|
31
31
|
usedFallback: boolean;
|
|
32
|
+
evaluatedAt: string;
|
|
33
|
+
timezone: string;
|
|
32
34
|
}
|
|
33
35
|
export interface ConditionStepExecutionData extends BaseStepExecutionData {
|
|
34
36
|
type: 'condition';
|
|
@@ -37,11 +37,31 @@ export declare const StepSchema: z.ZodObject<{
|
|
|
37
37
|
blank: "blank";
|
|
38
38
|
greater_than: "greater_than";
|
|
39
39
|
less_than: "less_than";
|
|
40
|
-
greater_than_or_equal: "greater_than_or_equal";
|
|
41
|
-
less_than_or_equal: "less_than_or_equal";
|
|
42
40
|
not_in: "not_in";
|
|
41
|
+
includes_all: "includes_all";
|
|
43
42
|
contains: "contains";
|
|
44
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";
|
|
45
65
|
}>;
|
|
46
66
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
47
67
|
}, z.core.$strip>>;
|
|
@@ -244,11 +264,31 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
244
264
|
blank: "blank";
|
|
245
265
|
greater_than: "greater_than";
|
|
246
266
|
less_than: "less_than";
|
|
247
|
-
greater_than_or_equal: "greater_than_or_equal";
|
|
248
|
-
less_than_or_equal: "less_than_or_equal";
|
|
249
267
|
not_in: "not_in";
|
|
268
|
+
includes_all: "includes_all";
|
|
250
269
|
contains: "contains";
|
|
251
270
|
not_contains: "not_contains";
|
|
271
|
+
starts_with: "starts_with";
|
|
272
|
+
ends_with: "ends_with";
|
|
273
|
+
i_contains: "i_contains";
|
|
274
|
+
before: "before";
|
|
275
|
+
after: "after";
|
|
276
|
+
past: "past";
|
|
277
|
+
future: "future";
|
|
278
|
+
today: "today";
|
|
279
|
+
yesterday: "yesterday";
|
|
280
|
+
previous_x_days: "previous_x_days";
|
|
281
|
+
previous_x_days_to_date: "previous_x_days_to_date";
|
|
282
|
+
before_x_hours_ago: "before_x_hours_ago";
|
|
283
|
+
after_x_hours_ago: "after_x_hours_ago";
|
|
284
|
+
previous_week: "previous_week";
|
|
285
|
+
previous_month: "previous_month";
|
|
286
|
+
previous_quarter: "previous_quarter";
|
|
287
|
+
previous_year: "previous_year";
|
|
288
|
+
previous_week_to_date: "previous_week_to_date";
|
|
289
|
+
previous_month_to_date: "previous_month_to_date";
|
|
290
|
+
previous_quarter_to_date: "previous_quarter_to_date";
|
|
291
|
+
previous_year_to_date: "previous_year_to_date";
|
|
252
292
|
}>;
|
|
253
293
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
254
294
|
}, z.core.$strip>>;
|
|
@@ -360,11 +400,31 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
360
400
|
blank: "blank";
|
|
361
401
|
greater_than: "greater_than";
|
|
362
402
|
less_than: "less_than";
|
|
363
|
-
greater_than_or_equal: "greater_than_or_equal";
|
|
364
|
-
less_than_or_equal: "less_than_or_equal";
|
|
365
403
|
not_in: "not_in";
|
|
404
|
+
includes_all: "includes_all";
|
|
366
405
|
contains: "contains";
|
|
367
406
|
not_contains: "not_contains";
|
|
407
|
+
starts_with: "starts_with";
|
|
408
|
+
ends_with: "ends_with";
|
|
409
|
+
i_contains: "i_contains";
|
|
410
|
+
before: "before";
|
|
411
|
+
after: "after";
|
|
412
|
+
past: "past";
|
|
413
|
+
future: "future";
|
|
414
|
+
today: "today";
|
|
415
|
+
yesterday: "yesterday";
|
|
416
|
+
previous_x_days: "previous_x_days";
|
|
417
|
+
previous_x_days_to_date: "previous_x_days_to_date";
|
|
418
|
+
before_x_hours_ago: "before_x_hours_ago";
|
|
419
|
+
after_x_hours_ago: "after_x_hours_ago";
|
|
420
|
+
previous_week: "previous_week";
|
|
421
|
+
previous_month: "previous_month";
|
|
422
|
+
previous_quarter: "previous_quarter";
|
|
423
|
+
previous_year: "previous_year";
|
|
424
|
+
previous_week_to_date: "previous_week_to_date";
|
|
425
|
+
previous_month_to_date: "previous_month_to_date";
|
|
426
|
+
previous_quarter_to_date: "previous_quarter_to_date";
|
|
427
|
+
previous_year_to_date: "previous_year_to_date";
|
|
368
428
|
}>;
|
|
369
429
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
370
430
|
}, z.core.$strip>>;
|
|
@@ -535,6 +595,7 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
535
595
|
permissionLevel: z.ZodString;
|
|
536
596
|
tags: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
537
597
|
}, z.core.$strict>;
|
|
598
|
+
timezone: z.ZodString;
|
|
538
599
|
}, z.core.$strict>;
|
|
539
600
|
export type AvailableStepExecution = z.infer<typeof AvailableStepExecutionSchema>;
|
|
540
601
|
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AvailableStepExecutionSchema = exports.TriggerTypeSchema = exports.TriggerType = exports.StepSchema = exports.StepUserSchema = void 0;
|
|
4
|
+
const luxon_1 = require("luxon");
|
|
4
5
|
const zod_1 = require("zod");
|
|
5
6
|
const collection_1 = require("./collection");
|
|
6
7
|
const step_definition_1 = require("./step-definition");
|
|
@@ -46,6 +47,10 @@ exports.AvailableStepExecutionSchema = zod_1.z
|
|
|
46
47
|
stepDefinition: step_definition_1.StepDefinitionSchema,
|
|
47
48
|
previousSteps: zod_1.z.array(exports.StepSchema),
|
|
48
49
|
user: exports.StepUserSchema,
|
|
50
|
+
// Refused rather than trusted: Luxon reads an unknown zone as invalid and every relative
|
|
51
|
+
// condition would then quietly not match. The mapper normalises to UTC, so this only ever
|
|
52
|
+
// fires on a mapper bug.
|
|
53
|
+
timezone: zod_1.z.string().refine(luxon_1.IANAZone.isValidZone),
|
|
49
54
|
})
|
|
50
55
|
.strict();
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3ZhbGlkYXRlZC9leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBQ2pDLDZCQUF3QjtBQUV4Qiw2Q0FBK0M7QUFDL0MsdURBQXlEO0FBQ3pELGlEQUFtRDtBQUV0QyxRQUFBLGNBQWMsR0FBRyxPQUFDO0tBQzVCLE1BQU0sQ0FBQztJQUNOLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2QsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDckIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUU7SUFDM0MsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsZUFBZSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDM0IsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUN2QyxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUM7QUFHQyxRQUFBLFVBQVUsR0FBRyxPQUFDO0tBQ3hCLE1BQU0sQ0FBQztJQUNOLGNBQWMsRUFBRSxzQ0FBb0I7SUFDcEMsV0FBVyxFQUFFLGdDQUFpQjtJQUM5QiwwRkFBMEY7SUFDMUYsdUZBQXVGO0lBQ3ZGLDRDQUE0QztJQUM1QyxpQkFBaUIsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdELENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQUdaLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixnQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBbUIsQ0FBQTtJQUNuQiwwQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLFdBQVcsMkJBQVgsV0FBVyxRQUl0QjtBQUNZLFFBQUEsaUJBQWlCLEdBQUcsT0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUU5QyxRQUFBLDRCQUE0QixHQUFHLE9BQUM7S0FDMUMsTUFBTSxDQUFDO0lBQ04sS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRTtJQUN6QyxZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0IsV0FBVyxFQUFFLHlCQUFpQjtJQUM5QixhQUFhLEVBQUUsNEJBQWU7SUFDOUIsY0FBYyxFQUFFLHNDQUFvQjtJQUNwQyxhQUFhLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBVSxDQUFDO0lBQ2xDLElBQUksRUFBRSxzQkFBYztJQUNwQix5RkFBeUY7SUFDekYsMEZBQTBGO0lBQzFGLHlCQUF5QjtJQUN6QixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBUSxDQUFDLFdBQVcsQ0FBQztDQUNsRCxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUMifQ==
|
|
@@ -17,7 +17,7 @@ export declare enum StepExecutionMode {
|
|
|
17
17
|
AutomatedWithConfirmation = "automated-with-confirmation",
|
|
18
18
|
FullyAutomated = "fully-automated"
|
|
19
19
|
}
|
|
20
|
-
export declare const CONDITION_OPERATORS: readonly ["equal", "not_equal", "present", "blank", "greater_than", "less_than", "
|
|
20
|
+
export declare const CONDITION_OPERATORS: readonly ["equal", "not_equal", "present", "blank", "greater_than", "less_than", "in", "not_in", "includes_all", "contains", "not_contains", "starts_with", "ends_with", "i_contains", "before", "after", "past", "future", "today", "yesterday", "previous_x_days", "previous_x_days_to_date", "before_x_hours_ago", "after_x_hours_ago", "previous_week", "previous_month", "previous_quarter", "previous_year", "previous_week_to_date", "previous_month_to_date", "previous_quarter_to_date", "previous_year_to_date"];
|
|
21
21
|
export type ConditionOperator = (typeof CONDITION_OPERATORS)[number];
|
|
22
22
|
declare const DeterministicConditionSchema: z.ZodObject<{
|
|
23
23
|
sourceStepId: z.ZodString;
|
|
@@ -30,11 +30,31 @@ declare const DeterministicConditionSchema: z.ZodObject<{
|
|
|
30
30
|
blank: "blank";
|
|
31
31
|
greater_than: "greater_than";
|
|
32
32
|
less_than: "less_than";
|
|
33
|
-
greater_than_or_equal: "greater_than_or_equal";
|
|
34
|
-
less_than_or_equal: "less_than_or_equal";
|
|
35
33
|
not_in: "not_in";
|
|
34
|
+
includes_all: "includes_all";
|
|
36
35
|
contains: "contains";
|
|
37
36
|
not_contains: "not_contains";
|
|
37
|
+
starts_with: "starts_with";
|
|
38
|
+
ends_with: "ends_with";
|
|
39
|
+
i_contains: "i_contains";
|
|
40
|
+
before: "before";
|
|
41
|
+
after: "after";
|
|
42
|
+
past: "past";
|
|
43
|
+
future: "future";
|
|
44
|
+
today: "today";
|
|
45
|
+
yesterday: "yesterday";
|
|
46
|
+
previous_x_days: "previous_x_days";
|
|
47
|
+
previous_x_days_to_date: "previous_x_days_to_date";
|
|
48
|
+
before_x_hours_ago: "before_x_hours_ago";
|
|
49
|
+
after_x_hours_ago: "after_x_hours_ago";
|
|
50
|
+
previous_week: "previous_week";
|
|
51
|
+
previous_month: "previous_month";
|
|
52
|
+
previous_quarter: "previous_quarter";
|
|
53
|
+
previous_year: "previous_year";
|
|
54
|
+
previous_week_to_date: "previous_week_to_date";
|
|
55
|
+
previous_month_to_date: "previous_month_to_date";
|
|
56
|
+
previous_quarter_to_date: "previous_quarter_to_date";
|
|
57
|
+
previous_year_to_date: "previous_year_to_date";
|
|
38
58
|
}>;
|
|
39
59
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
40
60
|
}, z.core.$strip>;
|
|
@@ -56,11 +76,31 @@ declare const OptionConditionsSchema: z.ZodObject<{
|
|
|
56
76
|
blank: "blank";
|
|
57
77
|
greater_than: "greater_than";
|
|
58
78
|
less_than: "less_than";
|
|
59
|
-
greater_than_or_equal: "greater_than_or_equal";
|
|
60
|
-
less_than_or_equal: "less_than_or_equal";
|
|
61
79
|
not_in: "not_in";
|
|
80
|
+
includes_all: "includes_all";
|
|
62
81
|
contains: "contains";
|
|
63
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";
|
|
64
104
|
}>;
|
|
65
105
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
66
106
|
}, z.core.$strip>>;
|
|
@@ -91,11 +131,31 @@ export declare const ConditionStepDefinitionSchema: z.ZodObject<{
|
|
|
91
131
|
blank: "blank";
|
|
92
132
|
greater_than: "greater_than";
|
|
93
133
|
less_than: "less_than";
|
|
94
|
-
greater_than_or_equal: "greater_than_or_equal";
|
|
95
|
-
less_than_or_equal: "less_than_or_equal";
|
|
96
134
|
not_in: "not_in";
|
|
135
|
+
includes_all: "includes_all";
|
|
97
136
|
contains: "contains";
|
|
98
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";
|
|
99
159
|
}>;
|
|
100
160
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
101
161
|
}, z.core.$strip>>;
|
|
@@ -280,11 +340,31 @@ export declare const StepDefinitionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
280
340
|
blank: "blank";
|
|
281
341
|
greater_than: "greater_than";
|
|
282
342
|
less_than: "less_than";
|
|
283
|
-
greater_than_or_equal: "greater_than_or_equal";
|
|
284
|
-
less_than_or_equal: "less_than_or_equal";
|
|
285
343
|
not_in: "not_in";
|
|
344
|
+
includes_all: "includes_all";
|
|
286
345
|
contains: "contains";
|
|
287
346
|
not_contains: "not_contains";
|
|
347
|
+
starts_with: "starts_with";
|
|
348
|
+
ends_with: "ends_with";
|
|
349
|
+
i_contains: "i_contains";
|
|
350
|
+
before: "before";
|
|
351
|
+
after: "after";
|
|
352
|
+
past: "past";
|
|
353
|
+
future: "future";
|
|
354
|
+
today: "today";
|
|
355
|
+
yesterday: "yesterday";
|
|
356
|
+
previous_x_days: "previous_x_days";
|
|
357
|
+
previous_x_days_to_date: "previous_x_days_to_date";
|
|
358
|
+
before_x_hours_ago: "before_x_hours_ago";
|
|
359
|
+
after_x_hours_ago: "after_x_hours_ago";
|
|
360
|
+
previous_week: "previous_week";
|
|
361
|
+
previous_month: "previous_month";
|
|
362
|
+
previous_quarter: "previous_quarter";
|
|
363
|
+
previous_year: "previous_year";
|
|
364
|
+
previous_week_to_date: "previous_week_to_date";
|
|
365
|
+
previous_month_to_date: "previous_month_to_date";
|
|
366
|
+
previous_quarter_to_date: "previous_quarter_to_date";
|
|
367
|
+
previous_year_to_date: "previous_year_to_date";
|
|
288
368
|
}>;
|
|
289
369
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
290
370
|
}, z.core.$strip>>;
|
|
@@ -41,6 +41,8 @@ const sharedFields = {
|
|
|
41
41
|
const { Manual, AutomatedWithConfirmation, FullyAutomated } = StepExecutionMode;
|
|
42
42
|
// Wire-final operator names (PRD-472 cross-repo contract). An unknown operator is rejected here,
|
|
43
43
|
// at the schema boundary, so a run never reaches evaluation with a comparison it cannot honor.
|
|
44
|
+
// The set a list view filter offers, no more: every name here has a Filters operator in the front
|
|
45
|
+
// (which is what the builder can render) and a translation in the orchestrator's parser.
|
|
44
46
|
exports.CONDITION_OPERATORS = [
|
|
45
47
|
'equal',
|
|
46
48
|
'not_equal',
|
|
@@ -48,21 +50,55 @@ exports.CONDITION_OPERATORS = [
|
|
|
48
50
|
'blank',
|
|
49
51
|
'greater_than',
|
|
50
52
|
'less_than',
|
|
51
|
-
'greater_than_or_equal',
|
|
52
|
-
'less_than_or_equal',
|
|
53
53
|
'in',
|
|
54
54
|
'not_in',
|
|
55
|
+
'includes_all',
|
|
55
56
|
'contains',
|
|
56
57
|
'not_contains',
|
|
58
|
+
'starts_with',
|
|
59
|
+
'ends_with',
|
|
60
|
+
'i_contains',
|
|
61
|
+
'before',
|
|
62
|
+
'after',
|
|
63
|
+
'past',
|
|
64
|
+
'future',
|
|
65
|
+
'today',
|
|
66
|
+
'yesterday',
|
|
67
|
+
'previous_x_days',
|
|
68
|
+
'previous_x_days_to_date',
|
|
69
|
+
'before_x_hours_ago',
|
|
70
|
+
'after_x_hours_ago',
|
|
71
|
+
'previous_week',
|
|
72
|
+
'previous_month',
|
|
73
|
+
'previous_quarter',
|
|
74
|
+
'previous_year',
|
|
75
|
+
'previous_week_to_date',
|
|
76
|
+
'previous_month_to_date',
|
|
77
|
+
'previous_quarter_to_date',
|
|
78
|
+
'previous_year_to_date',
|
|
79
|
+
];
|
|
80
|
+
const VALUE_LESS_OPERATORS = [
|
|
81
|
+
'present',
|
|
82
|
+
'blank',
|
|
83
|
+
'past',
|
|
84
|
+
'future',
|
|
85
|
+
'today',
|
|
86
|
+
'yesterday',
|
|
87
|
+
'previous_week',
|
|
88
|
+
'previous_month',
|
|
89
|
+
'previous_quarter',
|
|
90
|
+
'previous_year',
|
|
91
|
+
'previous_week_to_date',
|
|
92
|
+
'previous_month_to_date',
|
|
93
|
+
'previous_quarter_to_date',
|
|
94
|
+
'previous_year_to_date',
|
|
57
95
|
];
|
|
58
|
-
const VALUE_LESS_OPERATORS = ['present', 'blank'];
|
|
59
96
|
const DeterministicConditionSchema = zod_1.z
|
|
60
97
|
.object({
|
|
61
98
|
/** Stable BPMN id of the upstream Get Data step whose output holds the value. */
|
|
62
99
|
sourceStepId: zod_1.z.string().min(1),
|
|
63
100
|
fieldName: zod_1.z.string().min(1),
|
|
64
101
|
operator: zod_1.z.enum(exports.CONDITION_OPERATORS),
|
|
65
|
-
/** Absent for `present`/`blank`. */
|
|
66
102
|
value: zod_1.z.unknown().optional(),
|
|
67
103
|
})
|
|
68
104
|
// A value-bearing operator without its value compares against `undefined`: it can never be met,
|
|
@@ -220,4 +256,4 @@ exports.StepDefinitionSchema = zod_1.z.discriminatedUnion('type', [
|
|
|
220
256
|
exports.McpStepDefinitionSchema,
|
|
221
257
|
exports.GuidanceStepDefinitionSchema,
|
|
222
258
|
]);
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3ZhbGlkYXRlZC9zdGVwLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBRXhCLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNsQixtQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBMEIsQ0FBQTtJQUMxQiwwQ0FBOEIsQ0FBQTtJQUM5Qiw0Q0FBZ0MsQ0FBQTtJQUNoQyxxREFBeUMsQ0FBQTtJQUN6Qyx1QkFBVyxDQUFBO0lBQ1gsaUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVJXLFFBQVEsd0JBQVIsUUFBUSxRQVFuQjtBQUVEOzs7R0FHRztBQUNILElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQixzQ0FBaUIsQ0FBQTtJQUNqQiw4RUFBeUQsQ0FBQTtJQUN6RCx1REFBa0MsQ0FBQTtBQUNwQyxDQUFDLEVBSlcsaUJBQWlCLGlDQUFqQixpQkFBaUIsUUFJNUI7QUFFRCxpRkFBaUY7QUFDakYsK0ZBQStGO0FBQy9GLCtGQUErRjtBQUMvRiw0QkFBNEI7QUFDNUIsOEZBQThGO0FBQzlGLHdEQUF3RDtBQUN4RCxNQUFNLGNBQWMsR0FBRyxPQUFDO0tBQ3JCLE1BQU0sRUFBRTtLQUNSLE9BQU8sRUFBRTtLQUNULFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQztBQUUxQyxNQUFNLFlBQVksR0FBRztJQUNuQixNQUFNLEVBQUUsY0FBYztJQUN0QixZQUFZLEVBQUUsY0FBYztJQUM1QixLQUFLLEVBQUUsY0FBYztDQUN0QixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLE1BQU0sRUFBRSxNQUFNLEVBQUUseUJBQXlCLEVBQUUsY0FBYyxFQUFFLEdBQUcsaUJBQWlCLENBQUM7QUFFaEYsaUdBQWlHO0FBQ2pHLCtGQUErRjtBQUMvRixrR0FBa0c7QUFD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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/workflow-executor",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.28.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"bin": {
|
|
6
6
|
"forest-workflow-executor": "dist/cli.js"
|
|
@@ -30,13 +30,14 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@forestadmin/agent-client": "1.15.2",
|
|
33
|
-
"@forestadmin/ai-proxy": "1.
|
|
33
|
+
"@forestadmin/ai-proxy": "1.13.0",
|
|
34
34
|
"@forestadmin/forestadmin-client": "1.43.3",
|
|
35
35
|
"@koa/bodyparser": "^6.1.0",
|
|
36
36
|
"@koa/router": "^15.6.0",
|
|
37
37
|
"jsonwebtoken": "^9.0.3",
|
|
38
38
|
"koa": "^3.0.1",
|
|
39
39
|
"koa-jwt": "^4.0.4",
|
|
40
|
+
"luxon": "^3.2.1",
|
|
40
41
|
"pg": "^8.8.0",
|
|
41
42
|
"picocolors": "^1.1.1",
|
|
42
43
|
"sequelize": "^6.37.8",
|
|
@@ -47,6 +48,7 @@
|
|
|
47
48
|
"@types/jsonwebtoken": "^9.0.10",
|
|
48
49
|
"@types/koa": "^2.13.5",
|
|
49
50
|
"@types/koa__router": "^12.0.4",
|
|
51
|
+
"@types/luxon": "^3.2.0",
|
|
50
52
|
"@types/sequelize": "^6.12.0",
|
|
51
53
|
"sqlite3": "^6.0.1",
|
|
52
54
|
"supertest": "^7.1.3"
|