@forestadmin/workflow-executor 1.29.1 → 1.30.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/README.md +8 -3
- package/dist/adapters/run-to-available-step-mapper.js +70 -1
- package/dist/adapters/server-types.d.ts +6 -0
- package/dist/adapters/server-types.js +1 -1
- package/dist/errors.d.ts +9 -0
- package/dist/errors.js +47 -4
- package/dist/executors/record-step-executor.d.ts +1 -0
- package/dist/executors/record-step-executor.js +42 -11
- package/dist/executors/step-executor-factory.js +2 -1
- package/dist/types/execution-context.d.ts +3 -2
- package/dist/types/validated/execution.d.ts +31 -0
- package/dist/types/validated/execution.js +17 -2
- package/dist/types/validated/step-outcome.d.ts +18 -0
- package/dist/types/validated/step-outcome.js +10 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -25,6 +25,11 @@ Drive it from an environment variable (`WORKFLOW_EXECUTOR_URL` above) so each de
|
|
|
25
25
|
|
|
26
26
|
## Docker (recommended)
|
|
27
27
|
|
|
28
|
+
The image is published as `ghcr.io/forestadmin/runtime`. It was previously named
|
|
29
|
+
`ghcr.io/forestadmin/workflow-executor`, which is still published from the exact
|
|
30
|
+
same builds — existing deployments keep working, but new ones should use
|
|
31
|
+
`runtime`.
|
|
32
|
+
|
|
28
33
|
### Quick start
|
|
29
34
|
|
|
30
35
|
```bash
|
|
@@ -43,7 +48,7 @@ docker run -d \
|
|
|
43
48
|
-e AGENT_URL="http://host.docker.internal:3351" \
|
|
44
49
|
-e DATABASE_URL="postgres://user:pass@host.docker.internal:5432/mydb" \
|
|
45
50
|
-p 3400:3400 \
|
|
46
|
-
ghcr.io/forestadmin/
|
|
51
|
+
ghcr.io/forestadmin/runtime:latest
|
|
47
52
|
```
|
|
48
53
|
|
|
49
54
|
> **Note:** When the executor runs in Docker and your agent runs on the host machine, use `host.docker.internal` instead of `localhost` in `AGENT_URL` and `DATABASE_URL`.
|
|
@@ -69,7 +74,7 @@ docker run -d \
|
|
|
69
74
|
-e DATABASE_URL="postgres://user:pass@host.docker.internal:5432/mydb" \
|
|
70
75
|
-e OTEL_EXPORTER_OTLP_ENDPOINT="http://collector:4318" \
|
|
71
76
|
-p 3400:3400 \
|
|
72
|
-
ghcr.io/forestadmin/
|
|
77
|
+
ghcr.io/forestadmin/runtime:latest
|
|
73
78
|
```
|
|
74
79
|
|
|
75
80
|
> **Note:** OpenTelemetry is bundled only in the Docker image. It is not shipped with the npm package (`npx @forestadmin/workflow-executor`).
|
|
@@ -206,7 +211,7 @@ docker run --rm \
|
|
|
206
211
|
-e FOREST_AUTH_SECRET="your-auth-secret" \
|
|
207
212
|
-e AGENT_URL="http://host.docker.internal:3351" \
|
|
208
213
|
-p 3400:3400 \
|
|
209
|
-
ghcr.io/forestadmin/
|
|
214
|
+
ghcr.io/forestadmin/runtime:latest \
|
|
210
215
|
node packages/workflow-executor/dist/cli.js --in-memory --json
|
|
211
216
|
```
|
|
212
217
|
|
|
@@ -11,6 +11,7 @@ const server_types_1 = require("./server-types");
|
|
|
11
11
|
const step_definition_mapper_1 = __importDefault(require("./step-definition-mapper"));
|
|
12
12
|
const errors_1 = require("../errors");
|
|
13
13
|
const execution_1 = require("../types/validated/execution");
|
|
14
|
+
const step_definition_1 = require("../types/validated/step-definition");
|
|
14
15
|
const step_outcome_1 = require("../types/validated/step-outcome");
|
|
15
16
|
function toRecordStatus(ctxStatus) {
|
|
16
17
|
if (ctxStatus === 'error')
|
|
@@ -81,6 +82,72 @@ function toPreviousSteps(history, pendingStepIndex) {
|
|
|
81
82
|
.map(s => tryMapStep(s))
|
|
82
83
|
.filter((s) => s !== null);
|
|
83
84
|
}
|
|
85
|
+
// A missing, empty or non-string wire value reads as absent: a call sending neither the pin nor the
|
|
86
|
+
// called collection behaves as one that predates them.
|
|
87
|
+
const ROOT_FRAME = -1;
|
|
88
|
+
function toNonEmptyString(value) {
|
|
89
|
+
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
90
|
+
}
|
|
91
|
+
// Rebuilt from the raw history because previousSteps drops the navigation steps, and read the way
|
|
92
|
+
// the orchestrator reads its own call stack so the two agree on which call is open.
|
|
93
|
+
function toCallScope(history, pending) {
|
|
94
|
+
const openCalls = [];
|
|
95
|
+
// Tracked per step rather than as a range, because a frame's steps resume after each nested call.
|
|
96
|
+
const frameOfStep = new Map();
|
|
97
|
+
history.forEach(entry => {
|
|
98
|
+
if (entry.revised || entry.cancelled || entry.stepIndex >= pending.stepIndex)
|
|
99
|
+
return;
|
|
100
|
+
const frameOpenedAt = openCalls.at(-1)?.stepIndex ?? ROOT_FRAME;
|
|
101
|
+
if (entry.stepDefinition.type === server_types_1.ServerStepTypeEnum.StartSubWorkflow) {
|
|
102
|
+
openCalls.push({
|
|
103
|
+
stepIndex: entry.stepIndex,
|
|
104
|
+
frameOpenedAt,
|
|
105
|
+
definition: entry.stepDefinition,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else if (entry.stepDefinition.type === server_types_1.ServerStepTypeEnum.CloseSubWorkflow) {
|
|
109
|
+
openCalls.pop();
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
frameOfStep.set(entry.stepIndex, frameOpenedAt);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
// A root step needs its frame too once a call has run: a closed call repeating a step id would
|
|
116
|
+
// otherwise answer a root pin with its own record.
|
|
117
|
+
if (!pending.childrenWorkflowId) {
|
|
118
|
+
const rootStepIndexes = [...frameOfStep]
|
|
119
|
+
.filter(([, frame]) => frame === ROOT_FRAME)
|
|
120
|
+
.map(([stepIndex]) => stepIndex);
|
|
121
|
+
return rootStepIndexes.length < frameOfStep.size
|
|
122
|
+
? { currentFrameStepIndexes: rootStepIndexes }
|
|
123
|
+
: undefined;
|
|
124
|
+
}
|
|
125
|
+
const innermost = openCalls.at(-1);
|
|
126
|
+
if (!innermost)
|
|
127
|
+
return undefined;
|
|
128
|
+
// A call pinning "workflow start" pins what that phrase means where it was written — the record
|
|
129
|
+
// its own caller pinned — so the pin resolves outwards, and ends on the run's record.
|
|
130
|
+
const pinOf = (call) => toNonEmptyString(call.definition.preRecordedArgs?.selectedRecordStepId);
|
|
131
|
+
const pinnedBy = [...openCalls].reverse().find(call => pinOf(call) !== step_definition_1.WORKFLOW_START_STEP_ID);
|
|
132
|
+
const pin = pinnedBy && pinOf(pinnedBy);
|
|
133
|
+
const calledWorkflowCollectionName = toNonEmptyString(innermost.definition.calledWorkflowCollectionName);
|
|
134
|
+
// Step ids are unique only per workflow, so outside the frame that wrote the pin a copy, a
|
|
135
|
+
// self-call or an already closed sibling would answer with its own record.
|
|
136
|
+
const pinnedFrameStepIndexes = pinnedBy &&
|
|
137
|
+
[...frameOfStep]
|
|
138
|
+
.filter(([stepIndex, frame]) => frame === pinnedBy.frameOpenedAt && stepIndex < pinnedBy.stepIndex)
|
|
139
|
+
.map(([stepIndex]) => stepIndex);
|
|
140
|
+
const currentFrameStepIndexes = [...frameOfStep]
|
|
141
|
+
.filter(([, frame]) => frame === innermost.stepIndex)
|
|
142
|
+
.map(([stepIndex]) => stepIndex);
|
|
143
|
+
return {
|
|
144
|
+
currentFrameStepIndexes,
|
|
145
|
+
...(pinnedBy !== undefined &&
|
|
146
|
+
pin !== undefined && { selectedRecordStepId: pin, pinnedFrameStepIndexes }),
|
|
147
|
+
...(calledWorkflowCollectionName !== undefined && { calledWorkflowCollectionName }),
|
|
148
|
+
...(pinOf(innermost) !== undefined && { isPinned: true }),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
84
151
|
function toStepUser(runId, profile) {
|
|
85
152
|
// renderingId is stringified into the activity-log payload — reject non-finite so we don't
|
|
86
153
|
// silently post "undefined"/"NaN" to the audit trail.
|
|
@@ -115,6 +182,7 @@ function toAvailableStepExecution(run) {
|
|
|
115
182
|
const pending = run.workflowHistory.at(-1) ?? null;
|
|
116
183
|
if (!pending || pending.done)
|
|
117
184
|
return null;
|
|
185
|
+
const callScope = toCallScope(run.workflowHistory, pending);
|
|
118
186
|
const result = {
|
|
119
187
|
runId: String(run.id),
|
|
120
188
|
stepId: pending.stepName,
|
|
@@ -138,6 +206,7 @@ function toAvailableStepExecution(run) {
|
|
|
138
206
|
// relative dates in UTC — an hour or two away from the day the list filter shows the same
|
|
139
207
|
// user, since that one follows the browser.
|
|
140
208
|
timezone: run.timezone && luxon_1.IANAZone.isValidZone(run.timezone) ? run.timezone : 'UTC',
|
|
209
|
+
...(callScope && { callScope }),
|
|
141
210
|
};
|
|
142
211
|
// Defense against mapper bugs: zod asserts the shape we produce is what the domain expects,
|
|
143
212
|
// before any executor consumes it. Fails loudly with a typed error instead of crashing deep.
|
|
@@ -152,4 +221,4 @@ function toAvailableStepExecution(run) {
|
|
|
152
221
|
throw err;
|
|
153
222
|
}
|
|
154
223
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRvLWF2YWlsYWJsZS1zdGVwLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9ydW4tdG8tYXZhaWxhYmxlLXN0ZXAtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBK0lBLDJDQThEQztBQWhNRCxpQ0FBaUM7QUFDakMsNkJBQXdCO0FBRXhCLGlFQUE2RDtBQUM3RCxpREFBMkQ7QUFDM0Qsc0ZBQXdEO0FBQ3hELHNDQUltQjtBQUNuQiw0REFLc0M7QUFDdEMsa0VBSXlDO0FBRXpDLFNBQVMsY0FBYyxDQUFDLFNBQWtCO0lBQ3hDLElBQUksU0FBUyxLQUFLLE9BQU87UUFBRSxPQUFPLE9BQU8sQ0FBQztJQUMxQyxJQUFJLFNBQVMsS0FBSyxnQkFBZ0I7UUFBRSxPQUFPLGdCQUFnQixDQUFDO0lBRTVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxpR0FBaUc7QUFDakcsMkZBQTJGO0FBQzNGLDZEQUE2RDtBQUM3RCxTQUFTLGFBQWEsQ0FBQyxDQUFvQjtJQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFBLGdDQUFnQixFQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxNQUFNLFdBQVcsR0FBRyxJQUFBLG9DQUFxQixFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUE0QixDQUFDO0lBRXpELG1HQUFtRztJQUNuRyw0RkFBNEY7SUFDNUYsTUFBTSxlQUFlLEdBQUcsOEJBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLE1BQU0scUJBQXFCLEdBQUcseUNBQTBCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRTdGLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLE1BQU0sRUFBRSxDQUFDLENBQUMs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
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRvLWF2YWlsYWJsZS1zdGVwLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9ydW4tdG8tYXZhaWxhYmxlLXN0ZXAtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBMk9BLDJDQWlFQztBQTlSRCxpQ0FBaUM7QUFDakMsNkJBQXdCO0FBRXhCLGlFQUE2RDtBQUM3RCxpREFBK0U7QUFDL0Usc0ZBQXdEO0FBQ3hELHNDQUltQjtBQUNuQiw0REFNc0M7QUFDdEMsd0VBQTRFO0FBQzVFLGtFQUl5QztBQUV6QyxTQUFTLGNBQWMsQ0FBQyxTQUFrQjtJQUN4QyxJQUFJLFNBQVMsS0FBSyxPQUFPO1FBQUUsT0FBTyxPQUFPLENBQUM7SUFDMUMsSUFBSSxTQUFTLEtBQUssZ0JBQWdCO1FBQUUsT0FBTyxnQkFBZ0IsQ0FBQztJQUU1RCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsaUdBQWlHO0FBQ2pHLDJGQUEyRjtBQUMzRiw2REFBNkQ7QUFDN0QsU0FBUyxhQUFhLENBQUMsQ0FBb0I7SUFDekMsTUFBTSxPQUFPLEdBQUcsSUFBQSxnQ0FBZ0IsRUFBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkQsTUFBTSxXQUFXLEdBQUcsSUFBQSxvQ0FBcUIsRUFBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBNEIsQ0FBQztJQUV6RCxtR0FBbUc7SUFDbkcsNEZBQTRGO0lBQzVGLE1BQU0sZUFBZSxHQUFHLDhCQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxNQUFNLHFCQUFxQixHQUFHLHlDQUEwQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUU3RixNQUFNLFdBQVcsR0FBRztRQUNsQixNQUFNLEVB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
|
|
@@ -129,6 +129,12 @@ export interface ServerStartSubWorkflow extends ServerWorkflowStepBase {
|
|
|
129
129
|
executionType: ServerStepExecutionTypeEnum.Manual;
|
|
130
130
|
outgoing: [ServerWorkflowTransition];
|
|
131
131
|
workflowId: string;
|
|
132
|
+
/** The record handed to the called workflow: a stable BPMN step id, or WORKFLOW_START_STEP_ID. */
|
|
133
|
+
preRecordedArgs?: {
|
|
134
|
+
selectedRecordStepId?: string;
|
|
135
|
+
};
|
|
136
|
+
/** The called workflow's collection. Absent from an orchestrator that predates the pin. */
|
|
137
|
+
calledWorkflowCollectionName?: string | null;
|
|
132
138
|
}
|
|
133
139
|
export interface ServerCloseSubWorkflow extends ServerWorkflowStepBase {
|
|
134
140
|
type: ServerStepTypeEnum.CloseSubWorkflow;
|
|
@@ -38,4 +38,4 @@ var ServerWorkflowTriggerType;
|
|
|
38
38
|
ServerWorkflowTriggerType["webhook"] = "webhook";
|
|
39
39
|
ServerWorkflowTriggerType["mcp"] = "mcp";
|
|
40
40
|
})(ServerWorkflowTriggerType || (exports.ServerWorkflowTriggerType = ServerWorkflowTriggerType = {}));
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL3NlcnZlci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFTSCxJQUFZLGtCQU9YO0FBUEQsV0FBWSxrQkFBa0I7SUFDNUIsbUNBQWEsQ0FBQTtJQUNiLDZDQUF1QixDQUFBO0lBQ3ZCLGlDQUFXLENBQUE7SUFDWCwrQ0FBeUIsQ0FBQTtJQUN6Qiw2REFBdUMsQ0FBQTtJQUN2Qyw2REFBdUMsQ0FBQTtBQUN6QyxDQUFDLEVBUFcsa0JBQWtCLGtDQUFsQixrQkFBa0IsUUFPN0I7QUFFRCxJQUFZLGtCQU9YO0FBUEQsV0FBWSxrQkFBa0I7SUFDNUIsNkNBQXVCLENBQUE7SUFDdkIsc0RBQWdDLENBQUE7SUFDaEMsMENBQW9CLENBQUE7SUFDcEIsZ0RBQTBCLENBQUE7SUFDMUIsK0RBQXlDLENBQUE7SUFDekMsOENBQXdCLENBQUE7QUFDMUIsQ0FBQyxFQVBXLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBTzdCO0FBRUQsSUFBWSwyQkFJWDtBQUpELFdBQVksMkJBQTJCO0lBQ3JDLGdEQUFpQixDQUFBO0lBQ2pCLHdGQUF5RCxDQUFBO0lBQ3pELGlFQUFrQyxDQUFBO0FBQ3BDLENBQUMsRUFKVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQUl0QztBQTRLRCxJQUFZLHlCQUlYO0FBSkQsV0FBWSx5QkFBeUI7SUFDbkMsOENBQWlCLENBQUE7SUFDakIsZ0RBQW1CLENBQUE7SUFDbkIsd0NBQVcsQ0FBQTtBQUNiLENBQUMsRUFKVyx5QkFBeUIseUNBQXpCLHlCQUF5QixRQUlwQyJ9
|
package/dist/errors.d.ts
CHANGED
|
@@ -24,6 +24,9 @@ export declare abstract class WorkflowConfigurationError extends WorkflowExecuto
|
|
|
24
24
|
export declare abstract class WorkflowOperatorError extends WorkflowExecutorError {
|
|
25
25
|
static readonly defaultErrorKind: ErrorKind;
|
|
26
26
|
}
|
|
27
|
+
export declare abstract class WorkflowCallSiteError extends WorkflowExecutorError {
|
|
28
|
+
static readonly defaultErrorKind: ErrorKind;
|
|
29
|
+
}
|
|
27
30
|
export declare class MissingToolCallError extends WorkflowExecutorError {
|
|
28
31
|
constructor();
|
|
29
32
|
}
|
|
@@ -183,6 +186,12 @@ export declare class SourceRecordMissingError extends WorkflowExecutorError {
|
|
|
183
186
|
errorSourceStepIndex?: number;
|
|
184
187
|
});
|
|
185
188
|
}
|
|
189
|
+
export declare class SourceRecordCollectionMismatchError extends WorkflowCallSiteError {
|
|
190
|
+
constructor(recordCollectionName: string, calledWorkflowCollectionName: string);
|
|
191
|
+
}
|
|
192
|
+
export declare class SourceRecordStepNotReachedError extends WorkflowCallSiteError {
|
|
193
|
+
constructor(pinnedStepId: string);
|
|
194
|
+
}
|
|
186
195
|
export declare class AgentProbeError extends Error {
|
|
187
196
|
readonly cause?: unknown;
|
|
188
197
|
constructor(message: string, options?: {
|
package/dist/errors.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.MalformedRunError = exports.DomainValidationError = exports.HydrationFailedError = exports.InvalidStepDefinitionError = exports.RecordIdSerializationError = exports.UnsupportedStepTypeError = exports.AgentProbeError = exports.SourceRecordMissingError = exports.InvalidPreRecordedArgsError = exports.InvalidPendingDataError = exports.PendingDataNotFoundError = void 0;
|
|
3
|
+
exports.UserMismatchError = exports.RunNotFoundError = exports.ExecutorEncryptionKeyMissingError = exports.InvalidTokenEndpointError = exports.OAuthInvalidGrantError = exports.OAuthRefreshError = exports.OAuthReauthRequiredError = exports.ConfigurationError = exports.McpToolInvocationError = exports.AiModelPortError = exports.WorkflowPortError = exports.SchemaNotCachedError = exports.AgentPortError = exports.McpToolNotFoundError = exports.NoMcpToolsError = exports.AiAssistUnavailableError = exports.AiInvokeTimeoutError = exports.AiModelUnusableError = exports.StepTimeoutError = exports.ActivityLogCreationError = exports.StepStateError = exports.ActionNotFoundError = exports.FieldTypeMissingError = exports.PinnedArgNotFoundError = exports.FieldNotFoundError = exports.RelationNotFoundError = exports.InvalidAiRequestError = exports.InvalidAIResponseError = exports.RelatedRecordNotFoundError = exports.NoRelationshipFieldsError = exports.RunStorePortError = exports.ApprovalRequestCreationError = exports.ActionRequiresApprovalError = exports.ActionFormValidationError = exports.UnsupportedActionFormError = exports.NoActionsError = exports.NoWritableFieldsError = exports.NoResolvedFieldsError = exports.NoReadableFieldsError = exports.NoRecordsError = exports.RecordNotFoundError = exports.MalformedToolCallError = exports.MissingToolCallError = exports.WorkflowCallSiteError = exports.WorkflowOperatorError = exports.WorkflowConfigurationError = exports.UnavailableError = exports.AccessDeniedError = exports.NotFoundError = exports.WorkflowExecutorError = void 0;
|
|
4
|
+
exports.MalformedRunError = exports.DomainValidationError = exports.HydrationFailedError = exports.InvalidStepDefinitionError = exports.RecordIdSerializationError = exports.UnsupportedStepTypeError = exports.AgentProbeError = exports.SourceRecordStepNotReachedError = exports.SourceRecordCollectionMismatchError = exports.SourceRecordMissingError = exports.InvalidPreRecordedArgsError = exports.InvalidPendingDataError = exports.PendingDataNotFoundError = exports.RunAlreadyInFlightError = void 0;
|
|
5
5
|
exports.causeMessage = causeMessage;
|
|
6
6
|
exports.extractErrorMessage = extractErrorMessage;
|
|
7
7
|
exports.isAiConfigurationError = isAiConfigurationError;
|
|
8
|
+
const agent_client_1 = require("@forestadmin/agent-client");
|
|
8
9
|
function causeMessage(error) {
|
|
9
10
|
const { cause } = (error ?? {});
|
|
10
11
|
return cause instanceof Error ? cause.message : undefined;
|
|
@@ -59,6 +60,12 @@ class WorkflowOperatorError extends WorkflowExecutorError {
|
|
|
59
60
|
}
|
|
60
61
|
exports.WorkflowOperatorError = WorkflowOperatorError;
|
|
61
62
|
WorkflowOperatorError.defaultErrorKind = 'operator';
|
|
63
|
+
// Kept apart from configuration because its members name the calling Sub-workflow step as the
|
|
64
|
+
// remedy, where most configuration errors name a fix only an Admin can make.
|
|
65
|
+
class WorkflowCallSiteError extends WorkflowExecutorError {
|
|
66
|
+
}
|
|
67
|
+
exports.WorkflowCallSiteError = WorkflowCallSiteError;
|
|
68
|
+
WorkflowCallSiteError.defaultErrorKind = 'call-site';
|
|
62
69
|
class MissingToolCallError extends WorkflowExecutorError {
|
|
63
70
|
constructor() {
|
|
64
71
|
super('AI did not return a tool call', "The AI couldn't decide what to do. Try rephrasing the step's prompt.");
|
|
@@ -299,9 +306,29 @@ class McpToolNotFoundError extends WorkflowExecutorError {
|
|
|
299
306
|
}
|
|
300
307
|
}
|
|
301
308
|
exports.McpToolNotFoundError = McpToolNotFoundError;
|
|
309
|
+
const AGENT_ERROR_MESSAGE_MAX_LENGTH = 500;
|
|
310
|
+
function isAgentHttpResponse(cause) {
|
|
311
|
+
return cause instanceof Error && typeof cause.status === 'number';
|
|
312
|
+
}
|
|
313
|
+
function agentErrorMessage(cause) {
|
|
314
|
+
if (!isAgentHttpResponse(cause) || cause.status < 500)
|
|
315
|
+
return undefined;
|
|
316
|
+
const detail = (0, agent_client_1.extractErrorDetail)(cause);
|
|
317
|
+
if (!detail)
|
|
318
|
+
return undefined;
|
|
319
|
+
const flat = Array.from(detail.slice(0, AGENT_ERROR_MESSAGE_MAX_LENGTH * 4), char => char < ' ' || (char >= '\u007f' && char <= '\u009f') ? ' ' : char)
|
|
320
|
+
.join('')
|
|
321
|
+
.replace(/\s+/g, ' ')
|
|
322
|
+
.trim();
|
|
323
|
+
return flat.length > AGENT_ERROR_MESSAGE_MAX_LENGTH
|
|
324
|
+
? `${flat.slice(0, AGENT_ERROR_MESSAGE_MAX_LENGTH)}…`
|
|
325
|
+
: flat;
|
|
326
|
+
}
|
|
302
327
|
class AgentPortError extends WorkflowExecutorError {
|
|
303
328
|
constructor(operation, cause) {
|
|
304
|
-
|
|
329
|
+
const causeText = cause instanceof Error ? cause.message : String(cause);
|
|
330
|
+
const agentMessage = agentErrorMessage(cause);
|
|
331
|
+
super(`Agent port "${operation}" failed: ${causeText}${agentMessage ? ` | agent error: ${agentMessage}` : ''}`, 'An error occurred while accessing your data. Please try again.');
|
|
305
332
|
this.cause = cause;
|
|
306
333
|
}
|
|
307
334
|
}
|
|
@@ -448,6 +475,22 @@ class SourceRecordMissingError extends WorkflowExecutorError {
|
|
|
448
475
|
}
|
|
449
476
|
}
|
|
450
477
|
exports.SourceRecordMissingError = SourceRecordMissingError;
|
|
478
|
+
// Not SourceRecordMissingError: a record was found and it is the wrong one, so the remedy is the
|
|
479
|
+
// calling Sub-workflow step rather than anything in this workflow.
|
|
480
|
+
class SourceRecordCollectionMismatchError extends WorkflowCallSiteError {
|
|
481
|
+
constructor(recordCollectionName, calledWorkflowCollectionName) {
|
|
482
|
+
super(`Source record is from ${recordCollectionName}, but the called workflow runs on ${calledWorkflowCollectionName}`, `This workflow runs on ${calledWorkflowCollectionName}, but the step that called it sent a record from ${recordCollectionName}. Set the record on the Sub-workflow step in the calling workflow.`);
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
exports.SourceRecordCollectionMismatchError = SourceRecordCollectionMismatchError;
|
|
486
|
+
// Raised on the called workflow's step, whose configuration is correct, so the message points at
|
|
487
|
+
// the Sub-workflow step that set the pin instead.
|
|
488
|
+
class SourceRecordStepNotReachedError extends WorkflowCallSiteError {
|
|
489
|
+
constructor(pinnedStepId) {
|
|
490
|
+
super(`Sub-workflow call pins step "${pinnedStepId}", which did not run before the call`, 'The Sub-workflow step that called this workflow takes its record from a step that did not run before it. Change the record on that Sub-workflow step.');
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
exports.SourceRecordStepNotReachedError = SourceRecordStepNotReachedError;
|
|
451
494
|
// Boundary error — surfaces from Runner.start() and is caught at the CLI/HTTP layer, not by step executors.
|
|
452
495
|
class AgentProbeError extends Error {
|
|
453
496
|
constructor(message, options) {
|
|
@@ -508,4 +551,4 @@ class MalformedRunError extends WorkflowExecutorError {
|
|
|
508
551
|
}
|
|
509
552
|
}
|
|
510
553
|
exports.MalformedRunError = MalformedRunError;
|
|
511
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBTUEsb0NBSUM7QUFJRCxrREFZQztBQThTRCx3REFNQztBQXhVRCxTQUFnQixZQUFZLENBQUMsS0FBYztJQUN6QyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUF3QixDQUFDO0lBRXZELE9BQU8sS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzVELENBQUM7QUFFRCxnR0FBZ0c7QUFDaEcsc0dBQXNHO0FBQ3RHLFNBQWdCLG1CQUFtQixDQUFDLEdBQWE7SUFDL0MsSUFBSSxHQUFHLEtBQUssU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3hDLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxLQUFLLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxJQUFJLEdBQUcsQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUEyQixDQUFDO0lBQy9DLElBQUksTUFBTSxZQUFZLEtBQUssSUFBSSxNQUFNLENBQUMsT0FBTztRQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUVyRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBMEIsQ0FBQztJQUM3QyxJQUFJLEtBQUssWUFBWSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU87UUFBRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFFbEUsT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLGVBQWUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBc0IscUJBQXNCLFNBQVEsS0FBSztJQVl2RCxZQUFZLE9BQWUsRUFBRSxXQUFvQjtRQUMvQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxJQUFJLE9BQU8sQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFJLElBQUksQ0FBQyxXQUE0QyxDQUFDLGdCQUFnQixDQUFDO0lBQ3ZGLENBQUM7Q0FDRjtBQWxCRCxzREFrQkM7QUFFRCxtR0FBbUc7QUFDbkcsaUdBQWlHO0FBQ2pHLGdHQUFnRztBQUNoRyxpR0FBaUc7QUFDakcseUZBQXlGO0FBQ3pGLE1BQXNCLGFBQWMsU0FBUSxxQkFBcUI7Q0FBRztBQUFwRSxzQ0FBb0U7QUFDcEUsTUFBc0IsaUJBQWtCLFNBQVEscUJBQXFCO0NBQUc7QUFBeEUsOENBQXdFO0FBQ3hFLE1BQXNCLGdCQUFpQixTQUFRLHFCQUFxQjtDQUFHO0FBQXZFLDRDQUF1RTtBQUV2RSxvR0FBb0c7QUFDcEcsOEZBQThGO0FBQzlGLE1BQXNCLDBCQUEyQixTQUFRLHFCQUFxQjs7QUFBOUUsZ0VBRUM7QUFEMEIsMkNBQWdCLEdBQWMsZUFBZSxDQUFDO0FBR3pFLE1BQXNCLHFCQUFzQixTQUFRLHFCQUFxQjs7QUFBekUsc0RBRUM7QUFEMEIsc0NBQWdCLEdBQWMsVUFBVSxDQUFDO0FBR3BFLE1BQWEsb0JBQXFCLFNBQVEscUJBQXFCO0lBQzdEO1FBQ0UsS0FBSyxDQUNILCtCQUErQixFQUMvQixzRUFBc0UsQ0FDdkUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVBELG9EQU9DO0FBRUQsTUFBYSxzQkFBdUIsU0FBUSxxQkFBcUI7SUFHL0QsWUFBWSxRQUFnQixFQUFFLE9BQWU7UUFDM0MsS0FBSyxDQUNILDBDQUEwQyxRQUFRLE1BQU0sT0FBTyxFQUFFLEVBQ2pFLDJFQUEyRSxDQUM1RSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBVkQsd0RBVUM7QUFFRCxNQUFhLG1CQUFvQixTQUFRLHFCQUFxQjtJQUM1RCxZQUFZLGNBQXNCLEVBQUUsUUFBa0I7UUFDcEQsS0FBSyxDQUNILGlDQUFpQyxjQUFjLFVBQVUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUM5RSx3REFBd0QsQ0FDekQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVBELGtEQU9DO0FBRUQsTUFBYSxjQUFlLFNBQVEscUJBQXFCO0lBQ3ZEO1FBQ0UsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBSkQsd0NBSUM7QUFFRCxNQUFhLHFCQUFzQixTQUFRLDBCQUEwQjtJQUNuRSxZQUFZLGNBQXNCO1FBQ2hDLEtBQUssQ0FDSCxpREFBaUQsY0FBYyxHQUFHLEVBQ2xFLHFFQUFxRSxDQUN0RSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBUEQsc0RBT0M7QUFFRCxNQUFhLHFCQUFzQixTQUFRLHFCQUFxQjtJQUM5RCxZQUFZLFVBQW9CO1FBQzlCLEtBQUssQ0FDSCxtREFBbUQsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUMxRSwyRkFBMkYsQ0FDNUYsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVBELHNEQU9DO0FBRUQsTUFBYSxxQkFBc0IsU0FBUSwwQkFBMEI7SUFDbkUsWUFBWSxjQUFzQjtRQUNoQyxLQUFLLENBQ0gsaURBQWlELGNBQWMsR0FBRyxFQUNsRSxxRUFBcUUsQ0FDdEUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVBELHNEQU9DO0FBRUQsTUFBYSxjQUFlLFNBQVEsMEJBQTBCO0lBQzVELFlBQVksY0FBc0I7UUFDaEMsS0FBSyxDQUNILHVDQUF1QyxjQUFjLEdBQUcsRUFDeEQsMENBQTBDLENBQzNDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCx3Q0FPQztBQUVELE1BQWEsMEJBQTJCLFNBQVEscUJBQXFCO0lBQ25FLFlBQVksaUJBQXlCO1FBQ25DLEtBQUssQ0FDSCxXQUFXLGlCQUFpQiwwREFBMEQsRUFDdEYsc0ZBQXNGLENBQ3ZGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCxnRUFPQztBQUVELGlHQUFpRztBQUNqRyxnRkFBZ0Y7QUFDaEYsOENBQThDO0FBQzlDLE1BQWEseUJBQTBCLFNBQVEscUJBQXFCO0lBQ2xFLFlBQVksVUFBa0IsRUFBRSxLQUFlO1FBQzdDLEtBQUssQ0FDSCxXQUFXLFVBQVUsc0NBQXNDLEVBQzNELGdGQUFnRixDQUNqRixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBUkQsOERBUUM7QUFFRCxpR0FBaUc7QUFDakcsb0ZBQW9GO0FBQ3BGLHdGQUF3RjtBQUN4RiwwQ0FBMEM7QUFDMUMsTUFBYSwyQkFBNEIsU0FBUSxxQkFBcUI7SUFHcEUsWUFBWSxVQUFrQixFQUFFLHVCQUFrQztRQUNoRSxLQUFLLENBQ0gsV0FBVyxVQUFVLGlFQUFpRSxFQUN0Rix5RUFBeUUsQ0FDMUUsQ0FBQztRQUNGLElBQUksQ0FBQyx1QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFWRCxrRUFVQztBQUVELGtHQUFrRztBQUNsRyxNQUFhLDRCQUE2QixTQUFRLHFCQUFxQjtJQUNyRSxZQUFZLFVBQWtCLEVBQUUsS0FBZTtRQUM3QyxLQUFLLENBQ0gsV0FBVyxVQUFVLHVFQUF1RSxFQUM1RixnR0FBZ0csQ0FDakcsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQVJELG9FQVFDO0FBRUQsTUFBYSxpQkFBa0IsU0FBUSxnQkFBZ0I7SUFDckQsWUFBWSxTQUFpQixFQUFFLEtBQWM7UUFDM0MsS0FBSyxDQUNILGNBQWMsU0FBUyxhQUFhLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUM1RixxREFBcUQsQ0FDdEQsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQVJELDhDQVFDO0FBRUQsTUFBYSx5QkFBMEIsU0FBUSwwQkFBMEI7SUFDdkUsWUFBWSxjQUFzQjtRQUNoQyxLQUFLLENBQ0gscURBQXFELGNBQWMsR0FBRyxFQUN0RSwrREFBK0QsQ0FDaEUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVBELDhEQU9DO0FBRUQsTUFBYSwwQkFBMkIsU0FBUSxxQkFBcUI7SUFDbkUsWUFBWSxjQUFzQixFQUFFLFlBQW9CO1FBQ3RELEtBQUssQ0FDSCx5Q0FBeUMsWUFBWSxvQkFBb0IsY0FBYyxHQUFHLEVBQzFGLGtFQUFrRSxDQUNuRSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBUEQsZ0VBT0M7QUFFRCxNQUFhLHNCQUF1QixTQUFRLHFCQUFxQjtJQUMvRCxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sRUFBRSxxRUFBcUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7Q0FDRjtBQUpELHdEQUlDO0FBRUQsTUFBYSxxQkFBc0IsU0FBUSwwQkFBMEI7SUFDbkUsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLEVBQUUsK0RBQStELENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0Y7QUFKRCxzREFJQztBQUVELG9HQUFvRztBQUNwRyxnR0FBZ0c7QUFDaEcscUdBQXFHO0FBQ3JHLDRGQUE0RjtBQUM1Riw2RkFBNkY7QUFDN0YsTUFBYSxxQkFBc0IsU0FBUSxxQkFBcUI7SUFDOUQsWUFBWSxJQUFZLEVBQUUsY0FBc0I7UUFDOUMsS0FBSyxDQUNILGFBQWEsSUFBSSw4QkFBOEIsY0FBYyxHQUFHLEVBQ2hFLGlHQUFpRyxDQUNsRyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBUEQsc0RBT0M7QUFFRCxNQUFhLGtCQUFtQixTQUFRLHFCQUFxQjtJQUMzRCxZQUFZLElBQVksRUFBRSxjQUFzQjtRQUM5QyxLQUFLLENBQ0gsVUFBVSxJQUFJLDhCQUE4QixjQUFjLEdBQUcsRUFDN0QsOEZBQThGLENBQy9GLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCxnREFPQztBQUVELG9HQUFvRztBQUNwRyxrR0FBa0c7QUFDbEcscUdBQXFHO0FBQ3JHLG1HQUFtRztBQUNuRyxNQUFhLHNCQUF1QixTQUFRLDBCQUEwQjtJQUNwRSxZQUFZLElBQXdCLEVBQUUsSUFBWSxFQUFFLGNBQXNCO1FBQ3hFLEtBQUssQ0FDSCxVQUFVLElBQUksS0FBSyxJQUFJLDhCQUE4QixjQUFjLEdBQUcsRUFDdEUsT0FBTyxJQUFJLHdEQUF3RDtZQUNqRSxvQ0FBb0MsQ0FDdkMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVJELHdEQVFDO0FBRUQsTUFBYSxxQkFBc0IsU0FBUSwwQkFBMEI7SUFDbkUsWUFBWSxJQUFZLEVBQUUsY0FBc0I7UUFDOUMsS0FBSyxDQUNILFVBQVUsSUFBSSxvQkFBb0IsY0FBYyxzQkFBc0IsRUFDdEUsMkVBQTJFO1lBQ3pFLHFEQUFxRCxDQUN4RCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBUkQsc0RBUUM7QUFFRCxNQUFhLG1CQUFvQixTQUFRLHFCQUFxQjtJQUM1RCxZQUFZLElBQVksRUFBRSxjQUFzQjtRQUM5QyxLQUFLLENBQ0gsV0FBVyxJQUFJLDhCQUE4QixjQUFjLEdBQUcsRUFDOUQsZ0dBQWdHLENBQ2pHLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCxrREFPQztBQUVELE1BQWEsY0FBZSxTQUFRLHFCQUFxQjtJQUN2RCxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sRUFBRSwwREFBMEQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7Q0FDRjtBQUpELHdDQUlDO0FBRUQsMEdBQTBHO0FBQzFHLE1BQWEsd0JBQXlCLFNBQVEscUJBQXFCO0lBQ2pFLFlBQVksS0FBYztRQUN4QixLQUFLLENBQ0gsK0JBQStCLEVBQy9CLHVIQUF1SCxDQUN4SCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBUkQsNERBUUM7QUFFRCxNQUFhLGdCQUFpQixTQUFRLHFCQUFxQjtJQUN6RCxZQUFZLFFBQWdCO1FBQzFCLEtBQUssQ0FDSCxzQ0FBc0MsUUFBUSxHQUFHLEVBQ2pELDhHQUE4RyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBUEQsNENBT0M7QUFFRCxpR0FBaUc7QUFDakcsK0ZBQStGO0FBQy9GLDJGQUEyRjtBQUMzRixtR0FBbUc7QUFDbkcsa0VBQWtFO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBRTVGLG1HQUFtRztBQUNuRyxpR0FBaUc7QUFDakcsaUdBQWlHO0FBQ2pHLGdHQUFnRztBQUNoRyw4RkFBOEY7QUFDOUYsMEZBQTBGO0FBQzFGLDJFQUEyRTtBQUMzRSxnR0FBZ0c7QUFDaEcsK0RBQStEO0FBQy9ELE1BQU0sK0JBQStCLEdBQUcsbUJBQW1CLENBQUM7QUFFNUQsU0FBZ0Isc0JBQXNCLENBQUMsS0FBYztJQUNuRCxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBd0MsQ0FBQztJQUUvRSxJQUFJLElBQUksS0FBSyxxQkFBcUI7UUFBRSxPQUFPLCtCQUErQixDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7SUFFL0YsT0FBTyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFhLG9CQUFxQixTQUFRLDBCQUEwQjtJQUNsRSxZQUFZLEtBQWEsRUFBRSxLQUFZO1FBQ3JDLEtBQUssQ0FDSCxhQUFhLEtBQUssd0JBQXdCLEtBQUssQ0FBQyxPQUFPLEVBQUU7UUFDekQsNEZBQTRGO1FBQzVGLDBGQUEwRjtRQUMxRix5RkFBeUY7UUFDekYsNEJBQTRCLEtBQUssa0NBQWtDLEtBQUssQ0FBQyxJQUFJLEtBQUs7WUFDaEYsdURBQXVELENBQzFELENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFaRCxvREFZQztBQUVELDZGQUE2RjtBQUM3Rix5RkFBeUY7QUFDekYsbUZBQW1GO0FBQ25GLE1BQWEsb0JBQXFCLFNBQVEscUJBQXFCO0lBQzdELFlBQVksUUFBZ0I7UUFDMUIsS0FBSyxDQUNILHNDQUFzQyxRQUFRLEdBQUcsRUFDakQsbUhBQW1ILENBQ3BILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCxvREFPQztBQUVELGlHQUFpRztBQUNqRyx1R0FBdUc7QUFDdkcsTUFBYSx3QkFBeUIsU0FBUSxxQkFBcUI7SUFHakUsWUFBWSxNQUFlO1FBQ3pCLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQVBELDREQU9DO0FBRUQsTUFBYSxlQUFnQixTQUFRLHFCQUFxQjtJQUN4RCxZQUFZLG9CQUE0QjtRQUN0QyxLQUFLLENBQ0gsMkNBQTJDLG9CQUFvQixHQUFHLEVBQ2xFLDZIQUE2SCxDQUM5SCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBUEQsMENBT0M7QUFFRCxNQUFhLG9CQUFxQixTQUFRLHFCQUFxQjtJQUM3RCxZQUFZLElBQVk7UUFDdEIsS0FBSyxDQUNILGFBQWEsSUFBSSxhQUFhLEVBQzlCLDhFQUE4RSxDQUMvRSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBUEQsb0RBT0M7QUFFRCxNQUFhLGNBQWUsU0FBUSxxQkFBcUI7SUFDdkQsWUFBWSxTQUFpQixFQUFFLEtBQWM7UUFDM0MsS0FBSyxDQUNILGVBQWUsU0FBUyxhQUFhLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUM3RixnRUFBZ0UsQ0FDakUsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQVJELHdDQVFDO0FBRUQsOEZBQThGO0FBQzlGLDRGQUE0RjtBQUM1RixNQUFhLG9CQUFxQixTQUFRLHFCQUFxQjtJQUM3RCxZQUFZLGNBQXNCO1FBQ2hDLEtBQUssQ0FDSCwwQkFBMEIsY0FBYyxpRUFBaUUsRUFDekcsZ0VBQWdFLENBQ2pFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCxvREFPQztBQUVELE1BQWEsaUJBQWtCLFNBQVEsZ0JBQWdCO0lBQ3JELFlBQVksU0FBaUIsRUFBRSxLQUFjO1FBQzNDLEtBQUssQ0FDSCxrQkFBa0IsU0FBUyxhQUN6QixLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUN2RCxFQUFFLEVBQ0YsNkdBQTZHLENBQzlHLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFWRCw4Q0FVQztBQUVELE1BQWEsZ0JBQWlCLFNBQVEscUJBQXFCO0lBQ3pELFlBQVksU0FBaUIsRUFBRSxLQUFjO1FBQzNDLEtBQUssQ0FDSCxhQUFhLFNBQVMsYUFBYSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFDM0YsZ0ZBQWdGLENBQ2pGLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFSRCw0Q0FRQztBQUVELE1BQWEsc0JBQXVCLFNBQVEscUJBQXFCO0lBQy9ELFlBQVksUUFBZ0IsRUFBRSxLQUFjO1FBQzFDLEtBQUssQ0FDSCxhQUFhLFFBQVEsd0JBQ25CLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3ZELEVBQUUsRUFDRiw2RUFBNkUsQ0FDOUUsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQVZELHdEQVVDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxLQUFLO0lBQzNDLFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQUxELGdEQUtDO0FBRUQsa0dBQWtHO0FBQ2xHLG1GQUFtRjtBQUNuRixNQUFhLHdCQUF5QixTQUFRLHFCQUFxQjtJQUdqRSxZQUNFLFdBQW1CLEVBQ25CLHNCQUEyQyxvQkFBb0I7UUFFL0QsS0FBSyxDQUNILHFEQUFxRCxXQUFXLEdBQUcsRUFDbkUsNEZBQTRGLENBQzdGLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBYkQsNERBYUM7QUFFRCxtR0FBbUc7QUFDbkcsMEdBQTBHO0FBQzFHLE1BQWEsaUJBQWtCLFNBQVEscUJBQXFCO0lBQzFELFlBQVksT0FBZSxFQUFFLEtBQWU7UUFDMUMsS0FBSyxDQUNILCtCQUErQixPQUFPLEVBQUUsRUFDeEMsa0VBQWtFLENBQ25FLENBQUM7UUFDRixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDOUMsQ0FBQztDQUNGO0FBUkQsOENBUUM7QUFFRCxnR0FBZ0c7QUFDaEcsb0dBQW9HO0FBQ3BHLHlDQUF5QztBQUN6QyxNQUFhLHNCQUF1QixTQUFRLHFCQUFxQjtJQUMvRCxZQUFZLE1BQWU7UUFDekIsS0FBSyxDQUFDLCtCQUErQixNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztDQUNGO0FBSkQsd0RBSUM7QUFFRCxvR0FBb0c7QUFDcEcsbUdBQW1HO0FBQ25HLDZGQUE2RjtBQUM3RixNQUFhLHlCQUEwQixTQUFRLHFCQUFxQjtJQUNsRSxZQUFZLE1BQWM7UUFDeEIsS0FBSyxDQUNILGlDQUFpQyxNQUFNLEVBQUUsRUFDekMsa0ZBQWtGLENBQ25GLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCw4REFPQztBQUVELGtHQUFrRztBQUNsRyx5RUFBeUU7QUFDekUsTUFBYSxpQ0FBa0MsU0FBUSxLQUFLO0lBRzFEO1FBQ0UsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFINUMsU0FBSSxHQUFHLGlDQUFpQyxDQUFDO1FBSWhELElBQUksQ0FBQyxJQUFJLEdBQUcsbUNBQW1DLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBUEQsOEVBT0M7QUFFRCxtR0FBbUc7QUFDbkcsbUVBQW1FO0FBQ25FLE1BQWEsZ0JBQWlCLFNBQVEsYUFBYTtJQUNqRCxZQUFZLEtBQWEsRUFBRSxLQUFlO1FBQ3hDLEtBQUssQ0FBQyxRQUFRLEtBQUssNEJBQTRCLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUNqRixJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDOUMsQ0FBQztDQUNGO0FBTEQsNENBS0M7QUFFRCxNQUFhLGlCQUFrQixTQUFRLGlCQUFpQjtJQUN0RCw2RkFBNkY7SUFDN0YsOERBQThEO0lBQzlELFlBQVksS0FBYSxFQUFFLFlBQW9CLEVBQUUsV0FBbUI7UUFDbEUsS0FBSyxDQUNILFFBQVEsWUFBWSw0QkFBNEIsS0FBSyxvQkFBb0IsV0FBVyxHQUFHLEVBQ3ZGLDRDQUE0QyxDQUM3QyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBVEQsOENBU0M7QUFFRCxpR0FBaUc7QUFDakcsbUdBQW1HO0FBQ25HLE1BQWEsdUJBQXdCLFNBQVEscUJBQXFCO0lBQ2hFLFlBQVksS0FBYTtRQUN2QixLQUFLLENBQUMsUUFBUSxLQUFLLDhCQUE4QixFQUFFLCtCQUErQixDQUFDLENBQUM7SUFDdEYsQ0FBQztDQUNGO0FBSkQsMERBSUM7QUFFRCxNQUFhLHdCQUF5QixTQUFRLEtBQUs7SUFDakQsWUFBWSxLQUFhLEVBQUUsU0FBaUI7UUFDMUMsS0FBSyxDQUFDLFFBQVEsU0FBUyxZQUFZLEtBQUssb0NBQW9DLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsSUFBSSxHQUFHLDBCQUEwQixDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQUxELDREQUtDO0FBU0QsTUFBYSx1QkFBd0IsU0FBUSxxQkFBcUI7SUFHaEUsWUFBWSxNQUF5QjtRQUNuQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFQRCwwREFPQztBQUVELE1BQWEsMkJBQTRCLFNBQVEsMEJBQTBCO0lBQ3pFLFlBQVksTUFBYztRQUN4QixLQUFLLENBQUMsOEJBQThCLE1BQU0sRUFBRSxFQUFFLGdEQUFnRCxDQUFDLENBQUM7SUFDbEcsQ0FBQztDQUNGO0FBSkQsa0VBSUM7QUFFRCxrR0FBa0c7QUFDbEcsNkVBQTZFO0FBQzdFLHVHQUF1RztBQUN2RywrRkFBK0Y7QUFDL0YsTUFBYSx3QkFBeUIsU0FBUSxxQkFBcUI7SUFDakUsWUFDRSxXQUFvQixFQUNwQixVQUFvRSxFQUFFO1FBRXRFLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDbEUsS0FBSyxDQUNILGVBQWUsSUFBSSxtQkFBbUIsRUFDdEMsa0JBQWtCLElBQUksdURBQXVELENBQzlFLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0lBQzNELENBQUM7Q0FDRjtBQWJELDREQWFDO0FBRUQsNEdBQTRHO0FBQzVHLE1BQWEsZUFBZ0IsU0FBUSxLQUFLO0lBSXhDLFlBQVksT0FBZSxFQUFFLE9BQTZCO1FBQ3hELEtBQUssQ0FBQyx1QkFBdUIsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1FBQzlCLElBQUksT0FBTyxFQUFFLEtBQUssS0FBSyxTQUFTO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQVRELDBDQVNDO0FBRUQsTUFBYSx3QkFBeUIsU0FBUSxxQkFBcUI7SUFDakUsWUFBWSxRQUFnQjtRQUMxQixLQUFLLENBQ0gsY0FBYyxRQUFRLG9DQUFvQyxFQUMxRCxzQ0FBc0MsQ0FDdkMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVBELDREQU9DO0FBRUQsTUFBYSwwQkFBMkIsU0FBUSxxQkFBcUI7SUFDbkUsWUFBWSxJQUFZO1FBQ3RCLEtBQUssQ0FDSCw2QkFBNkIsSUFBSSxvQ0FBb0MsRUFDckUsZ0ZBQWdGLENBQ2pGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFQRCxnRUFPQztBQUVELE1BQWEsMEJBQTJCLFNBQVEscUJBQXFCO0lBQ25FLFlBQVksTUFBYztRQUN4QixLQUFLLENBQ0gsNEJBQTRCLE1BQU0sRUFBRSxFQUNwQyxpRkFBaUYsQ0FDbEYsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQVBELGdFQU9DO0FBRUQsTUFBYSxvQkFBcUIsU0FBUSxxQkFBcUI7SUFDN0QsWUFBWSxNQUFjO1FBQ3hCLEtBQUssQ0FDSCwwQkFBMEIsTUFBTSxFQUFFLEVBQ2xDLGdGQUFnRixDQUNqRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBUEQsb0RBT0M7QUFFRCx1RkFBdUY7QUFDdkYsaUdBQWlHO0FBQ2pHLHFGQUFxRjtBQUNyRixNQUFhLHFCQUFzQixTQUFRLHFCQUFxQjtJQUc5RCxZQUFZLEtBQWEsRUFBRSxRQUFvQjtRQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVE7WUFDbEMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO1NBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0osTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU07WUFDM0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2RCxDQUFDLENBQUMsc0RBQXNELENBQUM7UUFFM0QsS0FBSyxDQUNILE9BQU8sS0FBSyxxREFBcUQsT0FBTyxFQUFFLEVBQzFFLHNGQUFzRixDQUN2RixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBbkJELHNEQW1CQztBQUVELDRGQUE0RjtBQUM1RixNQUFhLGlCQUFrQixTQUFRLHFCQUFxQjtJQUcxRCxZQUFZLElBQXNCO1FBQ2hDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQVBELDhDQU9DIn0=
|
|
554
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBU0Esb0NBSUM7QUFJRCxrREFZQztBQW9URCx3REFNQztBQWhWRCw0REFBK0Q7QUFFL0QsU0FBZ0IsWUFBWSxDQUFDLEtBQWM7SUFDekMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBd0IsQ0FBQztJQUV2RCxPQUFPLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsZ0dBQWdHO0FBQ2hHLHNHQUFzRztBQUN0RyxTQUFnQixtQkFBbUIsQ0FBQyxHQUFhO0lBQy9DLElBQUksR0FBRyxLQUFLLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUN4QyxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksS0FBSyxDQUFDO1FBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsSUFBSSxHQUFHLENBQUMsT0FBTztRQUFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUVwQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBMkIsQ0FBQztJQUMvQyxJQUFJLE1BQU0sWUFBWSxLQUFLLElBQUksTUFBTSxDQUFDLE9BQU87UUFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFFckUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQTBCLENBQUM7SUFDN0MsSUFBSSxLQUFLLFlBQVksS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPO1FBQUUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBRWxFLE9BQU8sR0FBRyxDQUFDLElBQUksSUFBSSxlQUFlLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQXNCLHFCQUFzQixTQUFRLEtBQUs7SUFZdkQsWUFBWSxPQUFlLEVB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
|
|
@@ -12,6 +12,7 @@ export default abstract class RecordStepExecutor<TStep extends StepDefinition =
|
|
|
12
12
|
}): StepExecutionResult;
|
|
13
13
|
protected resolveRecordRef(records: RecordRef[], prompt: string | undefined, preRecordedStepIndex?: number): Promise<RecordRef>;
|
|
14
14
|
protected resolveSourceRecordRef(stepId: string): Promise<RecordRef>;
|
|
15
|
+
private resolveStepRecordRef;
|
|
15
16
|
protected getAvailableRecordRefs(): Promise<RecordRef[]>;
|
|
16
17
|
protected getCollectionSchema(collectionName: string): Promise<CollectionSchema>;
|
|
17
18
|
protected findFieldByTechnicalName(schema: CollectionSchema, name: string | undefined): FieldSchema | undefined;
|
|
@@ -8,8 +8,8 @@ const zod_1 = require("zod");
|
|
|
8
8
|
const errors_1 = require("../errors");
|
|
9
9
|
const base_step_executor_1 = __importDefault(require("./base-step-executor"));
|
|
10
10
|
const step_definition_1 = require("../types/validated/step-definition");
|
|
11
|
-
//
|
|
12
|
-
//
|
|
11
|
+
// Candidates passed over are the operator's call, and none at all is a source the operator can go
|
|
12
|
+
// back to. Neither is a configuration fault, so neither is classified as one.
|
|
13
13
|
function classifyMissingSourceRecord(execution) {
|
|
14
14
|
if (execution?.type !== 'load-related-record')
|
|
15
15
|
return undefined;
|
|
@@ -19,9 +19,9 @@ function classifyMissingSourceRecord(execution) {
|
|
|
19
19
|
return undefined;
|
|
20
20
|
// Nothing was ever offered: only Full AI continues without pausing, so there was no choice to make.
|
|
21
21
|
if (!pendingData)
|
|
22
|
-
return executionResult !== undefined ? '
|
|
22
|
+
return executionResult !== undefined ? 'empty-source' : undefined;
|
|
23
23
|
// Whether it paused or recorded a decline, the candidate list says whether there was a choice.
|
|
24
|
-
return pendingData.availableRecordIds.length > 0 ? 'operator' : '
|
|
24
|
+
return pendingData.availableRecordIds.length > 0 ? 'operator' : 'empty-source';
|
|
25
25
|
}
|
|
26
26
|
class RecordStepExecutor extends base_step_executor_1.default {
|
|
27
27
|
buildOutcomeResult(outcome) {
|
|
@@ -48,14 +48,45 @@ class RecordStepExecutor extends base_step_executor_1.default {
|
|
|
48
48
|
// trigger-action "On record"). The reference is a stable BPMN step id (or the
|
|
49
49
|
// WORKFLOW_START_STEP_ID sentinel), not a runtime index — so it survives the index shifts a
|
|
50
50
|
// revision causes (clones keep their step id) and is knowable by the editor at build time.
|
|
51
|
-
// previousSteps are already restricted to the live path; in a loop the same id can appear more
|
|
52
|
-
// than once, so we take the most recent occurrence.
|
|
53
51
|
async resolveSourceRecordRef(stepId) {
|
|
54
|
-
if (stepId
|
|
55
|
-
|
|
52
|
+
if (stepId !== step_definition_1.WORKFLOW_START_STEP_ID) {
|
|
53
|
+
// Inside a call, only this call's own steps: a closed call repeating the id is not a source.
|
|
54
|
+
const record = await this.resolveStepRecordRef(stepId, this.context.callScope?.currentFrameStepIndexes);
|
|
55
|
+
if (!record) {
|
|
56
|
+
throw new errors_1.InvalidPreRecordedArgsError(`No source record found for step "${stepId}"`);
|
|
57
|
+
}
|
|
58
|
+
return record;
|
|
59
|
+
}
|
|
60
|
+
const { callScope, baseRecordRef } = this.context;
|
|
61
|
+
if (!callScope)
|
|
62
|
+
return baseRecordRef;
|
|
63
|
+
// A call pinning nothing keeps the behaviour it had before the pin existed, whatever
|
|
64
|
+
// collection the called workflow is on, until the Editor sets one.
|
|
65
|
+
if (!callScope.selectedRecordStepId && !callScope.isPinned)
|
|
66
|
+
return baseRecordRef;
|
|
67
|
+
// A call pinning "workflow start" all the way out pins the run's record, and is still checked.
|
|
68
|
+
let record = baseRecordRef;
|
|
69
|
+
if (callScope.selectedRecordStepId) {
|
|
70
|
+
const pinned = await this.resolveStepRecordRef(callScope.selectedRecordStepId, callScope.pinnedFrameStepIndexes);
|
|
71
|
+
// The pin names a step of the calling workflow, so a miss is that Sub-workflow step's to fix.
|
|
72
|
+
if (!pinned)
|
|
73
|
+
throw new errors_1.SourceRecordStepNotReachedError(callScope.selectedRecordStepId);
|
|
74
|
+
record = pinned;
|
|
75
|
+
}
|
|
76
|
+
// The called workflow's steps were built against its own collection, so a record of another one
|
|
77
|
+
// is refused rather than acted on.
|
|
78
|
+
if (callScope.calledWorkflowCollectionName !== undefined &&
|
|
79
|
+
record.collectionName !== callScope.calledWorkflowCollectionName) {
|
|
80
|
+
throw new errors_1.SourceRecordCollectionMismatchError(record.collectionName, callScope.calledWorkflowCollectionName);
|
|
56
81
|
}
|
|
82
|
+
return record;
|
|
83
|
+
}
|
|
84
|
+
// Undefined on a miss so each caller names its own error, and the latest match because a loop
|
|
85
|
+
// repeats ids. A call's pin passes its frame, since step ids are unique only per workflow.
|
|
86
|
+
async resolveStepRecordRef(stepId, frameStepIndexes) {
|
|
57
87
|
const matches = this.context.previousSteps.filter(step => step.stepDefinition.type === step_definition_1.StepType.LoadRelatedRecord &&
|
|
58
|
-
step.stepOutcome.stepId === stepId
|
|
88
|
+
step.stepOutcome.stepId === stepId &&
|
|
89
|
+
(frameStepIndexes === undefined || frameStepIndexes.includes(step.stepOutcome.stepIndex)));
|
|
59
90
|
const sourceStep = matches[matches.length - 1];
|
|
60
91
|
if (sourceStep) {
|
|
61
92
|
const stepExecutions = await this.context.runStore.getStepExecutions(this.context.runId);
|
|
@@ -72,7 +103,7 @@ class RecordStepExecutor extends base_step_executor_1.default {
|
|
|
72
103
|
errorSourceStepIndex: sourceStep.stepOutcome.stepIndex,
|
|
73
104
|
});
|
|
74
105
|
}
|
|
75
|
-
|
|
106
|
+
return undefined;
|
|
76
107
|
}
|
|
77
108
|
// Candidate sources for the AI: the base record plus the record each live prior
|
|
78
109
|
// load-related step resolved — own stepIndex first, falling back to a clone's
|
|
@@ -150,4 +181,4 @@ class RecordStepExecutor extends base_step_executor_1.default {
|
|
|
150
181
|
}
|
|
151
182
|
}
|
|
152
183
|
exports.default = RecordStepExecutor;
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXN0ZXAtZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0b3JzL3JlY29yZC1zdGVwLWV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsb0RBQTJGO0FBQzNGLDZCQUF3QjtBQUV4QixzQ0FPbUI7QUFDbkIsOEVBQW9EO0FBQ3BELHdFQUFzRjtBQUV0RixrR0FBa0c7QUFDbEcsOEVBQThFO0FBQzlFLFNBQVMsMkJBQTJCLENBQUMsU0FBNkI7SUFDaEUsSUFBSSxTQUFTLEVBQUUsSUFBSSxLQUFLLHFCQUFxQjtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRWhFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBRW5ELCtGQUErRjtJQUMvRixJQUFJLGVBQWUsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLFNBQVMsSUFBSSxlQUFlLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUV2RixvR0FBb0c7SUFDcEcsSUFBSSxDQUFDLFdBQVc7UUFBRSxPQUFPLGVBQWUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRXBGLCtGQUErRjtJQUMvRixPQUFPLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztBQUNqRixDQUFDO0FBRUQsTUFBOEIsa0JBRTVCLFNBQVEsNEJBQXVCO0lBQ3JCLGtCQUFrQixDQUFDLE9BSzVCO1FBQ0MsT0FBTztZQUNMLFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO2dCQUNqQyxHQUFHLE9BQU87YUFDWDtTQUNG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
|
|
@@ -100,6 +100,7 @@ class StepExecutorFactory {
|
|
|
100
100
|
previousSteps: step.previousSteps,
|
|
101
101
|
user: step.user,
|
|
102
102
|
timezone: step.timezone,
|
|
103
|
+
callScope: step.callScope,
|
|
103
104
|
model: cfg.aiModelPort.getModel({
|
|
104
105
|
aiConfigName: step.stepDefinition.aiConfigName,
|
|
105
106
|
userId: step.user.id,
|
|
@@ -122,4 +123,4 @@ class StepExecutorFactory {
|
|
|
122
123
|
}
|
|
123
124
|
}
|
|
124
125
|
exports.default = StepExecutorFactory;
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1leGVjdXRvci1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9zdGVwLWV4ZWN1dG9yLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUF3QkEsc0NBTW1CO0FBQ25CLHlFQUFnRDtBQUNoRCxrRUFBeUM7QUFDekMsc0VBQTRDO0FBQzVDLHdGQUE4RDtBQUM5RCxzRkFBNEQ7QUFDNUQsNEdBQWdGO0FBQ2hGLDRFQUFrRDtBQUNsRCw0RkFBaUU7QUFDakUsZ0hBQW9GO0FBQ3BGLGdHQUFxRTtBQUNyRSx3RUFBOEQ7QUFDOUQsa0VBQXdFO0FBYXhFLE1BQXFCLG1CQUFtQjtJQUN0QyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDakIsSUFBNEIsRUFDNUIsYUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsZ0JBQTBGLEVBQzFGLG1CQUE2QixFQUM3QixpQkFBMEI7UUFFMUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUM5QyxJQUFJLEVBQ0osYUFBYSxFQUNiLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsaUJBQWlCLENBQ2xCLENBQUM7WUFFRixRQUFRLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pDLEtBQUssMEJBQVEsQ0FBQyxTQUFTO29CQUNyQixPQUFPLElBQUksaUNBQXFCLENBQUMsT0FBb0QsQ0FBQyxDQUFDO2dCQUN6RixLQUFLLDBCQUFRLENBQUMsVUFBVTtvQkFDdEIsT0FBTyxJQUFJLG1DQUFzQixDQUFDLE9BQXFELENBQUMsQ0FBQztnQkFDM0YsS0FBSywwQkFBUSxDQUFDLFlBQVk7b0JBQ3hCLE9BQU8sSUFBSSxxQ0FBd0IsQ0FDakMsT0FBdUQsQ0FDeEQsQ0FBQztnQkFDSixLQUFLLDBCQUFRLENBQUMsYUFBYTtvQkFDekIsT0FBTyxJQUFJLDZDQUErQixDQUN4QyxPQUF3RCxDQUN6RCxD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
|
|
@@ -4,11 +4,11 @@ import type { Logger } from '../ports/logger-port';
|
|
|
4
4
|
import type { RunStore } from '../ports/run-store';
|
|
5
5
|
import type SchemaResolver from '../schema-resolver';
|
|
6
6
|
import type { RecordRef } from './validated/collection';
|
|
7
|
-
import type { AvailableStepExecution, Step, StepUser } from './validated/execution';
|
|
7
|
+
import type { AvailableStepExecution, CallScope, Step, StepUser } from './validated/execution';
|
|
8
8
|
import type { StepDefinition } from './validated/step-definition';
|
|
9
9
|
import type { StepOutcome } from './validated/step-outcome';
|
|
10
10
|
import type { BaseChatModel } from '@forestadmin/ai-proxy';
|
|
11
|
-
export type { AvailableStepExecution, Step, StepUser };
|
|
11
|
+
export type { AvailableStepExecution, CallScope, Step, StepUser };
|
|
12
12
|
export interface StepExecutionResult {
|
|
13
13
|
stepOutcome: StepOutcome;
|
|
14
14
|
}
|
|
@@ -31,6 +31,7 @@ export interface ExecutionContext<TStep extends StepDefinition = StepDefinition>
|
|
|
31
31
|
readonly schemaResolver: SchemaResolver;
|
|
32
32
|
readonly previousSteps: ReadonlyArray<Readonly<Step>>;
|
|
33
33
|
readonly logger: Logger;
|
|
34
|
+
readonly callScope?: CallScope;
|
|
34
35
|
readonly incomingPendingData?: unknown;
|
|
35
36
|
readonly stepTimeoutS?: number;
|
|
36
37
|
readonly aiInvokeTimeoutS?: number;
|
|
@@ -162,6 +162,8 @@ export declare const StepSchema: z.ZodObject<{
|
|
|
162
162
|
operator: "operator";
|
|
163
163
|
configuration: "configuration";
|
|
164
164
|
system: "system";
|
|
165
|
+
"empty-source": "empty-source";
|
|
166
|
+
"call-site": "call-site";
|
|
165
167
|
}>>;
|
|
166
168
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
167
169
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -181,6 +183,8 @@ export declare const StepSchema: z.ZodObject<{
|
|
|
181
183
|
operator: "operator";
|
|
182
184
|
configuration: "configuration";
|
|
183
185
|
system: "system";
|
|
186
|
+
"empty-source": "empty-source";
|
|
187
|
+
"call-site": "call-site";
|
|
184
188
|
}>>;
|
|
185
189
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
186
190
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -200,6 +204,8 @@ export declare const StepSchema: z.ZodObject<{
|
|
|
200
204
|
operator: "operator";
|
|
201
205
|
configuration: "configuration";
|
|
202
206
|
system: "system";
|
|
207
|
+
"empty-source": "empty-source";
|
|
208
|
+
"call-site": "call-site";
|
|
203
209
|
}>>;
|
|
204
210
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
205
211
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -216,6 +222,8 @@ export declare const StepSchema: z.ZodObject<{
|
|
|
216
222
|
operator: "operator";
|
|
217
223
|
configuration: "configuration";
|
|
218
224
|
system: "system";
|
|
225
|
+
"empty-source": "empty-source";
|
|
226
|
+
"call-site": "call-site";
|
|
219
227
|
}>>;
|
|
220
228
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
221
229
|
}, z.core.$strict>], "type">;
|
|
@@ -228,6 +236,14 @@ export declare enum TriggerType {
|
|
|
228
236
|
Mcp = "mcp"
|
|
229
237
|
}
|
|
230
238
|
export declare const TriggerTypeSchema: z.ZodEnum<typeof TriggerType>;
|
|
239
|
+
export declare const CallScopeSchema: z.ZodObject<{
|
|
240
|
+
selectedRecordStepId: z.ZodOptional<z.ZodString>;
|
|
241
|
+
pinnedFrameStepIndexes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
242
|
+
currentFrameStepIndexes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
243
|
+
calledWorkflowCollectionName: z.ZodOptional<z.ZodString>;
|
|
244
|
+
isPinned: z.ZodOptional<z.ZodLiteral<true>>;
|
|
245
|
+
}, z.core.$strict>;
|
|
246
|
+
export type CallScope = z.infer<typeof CallScopeSchema>;
|
|
231
247
|
export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
232
248
|
runId: z.ZodString;
|
|
233
249
|
stepId: z.ZodString;
|
|
@@ -525,6 +541,8 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
525
541
|
operator: "operator";
|
|
526
542
|
configuration: "configuration";
|
|
527
543
|
system: "system";
|
|
544
|
+
"empty-source": "empty-source";
|
|
545
|
+
"call-site": "call-site";
|
|
528
546
|
}>>;
|
|
529
547
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
530
548
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -544,6 +562,8 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
544
562
|
operator: "operator";
|
|
545
563
|
configuration: "configuration";
|
|
546
564
|
system: "system";
|
|
565
|
+
"empty-source": "empty-source";
|
|
566
|
+
"call-site": "call-site";
|
|
547
567
|
}>>;
|
|
548
568
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
549
569
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -563,6 +583,8 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
563
583
|
operator: "operator";
|
|
564
584
|
configuration: "configuration";
|
|
565
585
|
system: "system";
|
|
586
|
+
"empty-source": "empty-source";
|
|
587
|
+
"call-site": "call-site";
|
|
566
588
|
}>>;
|
|
567
589
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
568
590
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -579,6 +601,8 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
579
601
|
operator: "operator";
|
|
580
602
|
configuration: "configuration";
|
|
581
603
|
system: "system";
|
|
604
|
+
"empty-source": "empty-source";
|
|
605
|
+
"call-site": "call-site";
|
|
582
606
|
}>>;
|
|
583
607
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
584
608
|
}, z.core.$strict>], "type">;
|
|
@@ -596,6 +620,13 @@ export declare const AvailableStepExecutionSchema: z.ZodObject<{
|
|
|
596
620
|
tags: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
597
621
|
}, z.core.$strict>;
|
|
598
622
|
timezone: z.ZodString;
|
|
623
|
+
callScope: z.ZodOptional<z.ZodObject<{
|
|
624
|
+
selectedRecordStepId: z.ZodOptional<z.ZodString>;
|
|
625
|
+
pinnedFrameStepIndexes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
626
|
+
currentFrameStepIndexes: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
627
|
+
calledWorkflowCollectionName: z.ZodOptional<z.ZodString>;
|
|
628
|
+
isPinned: z.ZodOptional<z.ZodLiteral<true>>;
|
|
629
|
+
}, z.core.$strict>>;
|
|
599
630
|
}, z.core.$strict>;
|
|
600
631
|
export type AvailableStepExecution = z.infer<typeof AvailableStepExecutionSchema>;
|
|
601
632
|
//# sourceMappingURL=execution.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AvailableStepExecutionSchema = exports.TriggerTypeSchema = exports.TriggerType = exports.StepSchema = exports.StepUserSchema = void 0;
|
|
3
|
+
exports.AvailableStepExecutionSchema = exports.CallScopeSchema = exports.TriggerTypeSchema = exports.TriggerType = exports.StepSchema = exports.StepUserSchema = void 0;
|
|
4
4
|
const luxon_1 = require("luxon");
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const collection_1 = require("./collection");
|
|
@@ -36,6 +36,20 @@ var TriggerType;
|
|
|
36
36
|
TriggerType["Mcp"] = "mcp";
|
|
37
37
|
})(TriggerType || (exports.TriggerType = TriggerType = {}));
|
|
38
38
|
exports.TriggerTypeSchema = zod_1.z.nativeEnum(TriggerType);
|
|
39
|
+
// Grouped because every field describes the same call. The frame is a set of steps rather than an
|
|
40
|
+
// upper bound, because a nested call's body sits between a frame's steps.
|
|
41
|
+
exports.CallScopeSchema = zod_1.z
|
|
42
|
+
.object({
|
|
43
|
+
selectedRecordStepId: zod_1.z.string().min(1).optional(),
|
|
44
|
+
pinnedFrameStepIndexes: zod_1.z.array(zod_1.z.number().int().nonnegative()).optional(),
|
|
45
|
+
// The steps of the frame the pending step runs in, where a pin to a real step id is looked for.
|
|
46
|
+
currentFrameStepIndexes: zod_1.z.array(zod_1.z.number().int().nonnegative()).optional(),
|
|
47
|
+
calledWorkflowCollectionName: zod_1.z.string().min(1).optional(),
|
|
48
|
+
// The call itself carries a pin, "workflow start" included. A pin resolving outwards to the run's
|
|
49
|
+
// record sends no selectedRecordStepId, and this is what still tells it from an unpinned call.
|
|
50
|
+
isPinned: zod_1.z.literal(true).optional(),
|
|
51
|
+
})
|
|
52
|
+
.strict();
|
|
39
53
|
exports.AvailableStepExecutionSchema = zod_1.z
|
|
40
54
|
.object({
|
|
41
55
|
runId: zod_1.z.string().min(1),
|
|
@@ -51,6 +65,7 @@ exports.AvailableStepExecutionSchema = zod_1.z
|
|
|
51
65
|
// condition would then quietly not match. The mapper normalises to UTC, so this only ever
|
|
52
66
|
// fires on a mapper bug.
|
|
53
67
|
timezone: zod_1.z.string().refine(luxon_1.IANAZone.isValidZone),
|
|
68
|
+
callScope: exports.CallScopeSchema.optional(),
|
|
54
69
|
})
|
|
55
70
|
.strict();
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3ZhbGlkYXRlZC9leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBQ2pDLDZCQUF3QjtBQUV4Qiw2Q0FBK0M7QUFDL0MsdURBQXlEO0FBQ3pELGlEQUFtRDtBQUV0QyxRQUFBLGNBQWMsR0FBRyxPQUFDO0tBQzVCLE1BQU0sQ0FBQztJQUNOLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2QsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDckIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUU7SUFDM0MsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsZUFBZSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDM0IsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUN2QyxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUM7QUFHQyxRQUFBLFVBQVUsR0FBRyxPQUFDO0tBQ3hCLE1BQU0sQ0FBQztJQUNOLGNBQWMsRUFBRSxzQ0FBb0I7SUFDcEMsV0FBVyxFQUFFLGdDQUFpQjtJQUM5QiwwRkFBMEY7SUFDMUYsdUZBQXVGO0lBQ3ZGLDRDQUE0QztJQUM1QyxpQkFBaUIsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdELENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQUdaLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQixnQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBbUIsQ0FBQTtJQUNuQiwwQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLFdBQVcsMkJBQVgsV0FBVyxRQUl0QjtBQUNZLFFBQUEsaUJBQWlCLEdBQUcsT0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUUzRCxrR0FBa0c7QUFDbEcsMEVBQTBFO0FBQzdELFFBQUEsZUFBZSxHQUFHLE9BQUM7S0FDN0IsTUFBTSxDQUFDO0lBQ04sb0JBQW9CLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbEQsc0JBQXNCLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUUsZ0dBQWdHO0lBQ2hHLHVCQUF1QixFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzNFLDRCQUE0QixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFELGtHQUFrRztJQUNsRywrRkFBK0Y7SUFDL0YsUUFBUSxFQUFFLE9BQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ3JDLENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQUdDLFFBQUEsNEJBQTRCLEdBQUcsT0FBQztLQUMxQyxNQUFNLENBQUM7SUFDTixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFO0lBQ3pDLFlBQVksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQixXQUFXLEVBQUUseUJBQWlCO0lBQzlCLGFBQWEsRUFBRSw0QkFBZTtJQUM5QixjQUFjLEVBQUUsc0NBQW9CO0lBQ3BDLGFBQWEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLGtCQUFVLENBQUM7SUFDbEMsSUFBSSxFQUFFLHNCQUFjO0lBQ3BCLHlGQUF5RjtJQUN6RiwwRkFBMEY7SUFDMUYseUJBQXlCO0lBQ3pCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFRLENBQUMsV0FBVyxDQUFDO0lBQ2pELFNBQVMsRUFBRSx1QkFBZSxDQUFDLFFBQVEsRUFBRTtDQUN0QyxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUMifQ==
|
|
@@ -19,6 +19,8 @@ export declare const ErrorKindSchema: z.ZodEnum<{
|
|
|
19
19
|
operator: "operator";
|
|
20
20
|
configuration: "configuration";
|
|
21
21
|
system: "system";
|
|
22
|
+
"empty-source": "empty-source";
|
|
23
|
+
"call-site": "call-site";
|
|
22
24
|
}>;
|
|
23
25
|
export type ErrorKind = z.infer<typeof ErrorKindSchema>;
|
|
24
26
|
export declare const ErrorSourceStepIndexSchema: z.ZodNumber;
|
|
@@ -38,6 +40,8 @@ export declare const ConditionStepOutcomeSchema: z.ZodObject<{
|
|
|
38
40
|
operator: "operator";
|
|
39
41
|
configuration: "configuration";
|
|
40
42
|
system: "system";
|
|
43
|
+
"empty-source": "empty-source";
|
|
44
|
+
"call-site": "call-site";
|
|
41
45
|
}>>;
|
|
42
46
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
43
47
|
}, z.core.$strict>;
|
|
@@ -59,6 +63,8 @@ export declare const RecordStepOutcomeSchema: z.ZodObject<{
|
|
|
59
63
|
operator: "operator";
|
|
60
64
|
configuration: "configuration";
|
|
61
65
|
system: "system";
|
|
66
|
+
"empty-source": "empty-source";
|
|
67
|
+
"call-site": "call-site";
|
|
62
68
|
}>>;
|
|
63
69
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
64
70
|
}, z.core.$strict>;
|
|
@@ -80,6 +86,8 @@ export declare const McpStepOutcomeSchema: z.ZodObject<{
|
|
|
80
86
|
operator: "operator";
|
|
81
87
|
configuration: "configuration";
|
|
82
88
|
system: "system";
|
|
89
|
+
"empty-source": "empty-source";
|
|
90
|
+
"call-site": "call-site";
|
|
83
91
|
}>>;
|
|
84
92
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
85
93
|
}, z.core.$strict>;
|
|
@@ -98,6 +106,8 @@ export declare const GuidanceStepOutcomeSchema: z.ZodObject<{
|
|
|
98
106
|
operator: "operator";
|
|
99
107
|
configuration: "configuration";
|
|
100
108
|
system: "system";
|
|
109
|
+
"empty-source": "empty-source";
|
|
110
|
+
"call-site": "call-site";
|
|
101
111
|
}>>;
|
|
102
112
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
103
113
|
}, z.core.$strict>;
|
|
@@ -117,6 +127,8 @@ export declare const StepOutcomeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
117
127
|
operator: "operator";
|
|
118
128
|
configuration: "configuration";
|
|
119
129
|
system: "system";
|
|
130
|
+
"empty-source": "empty-source";
|
|
131
|
+
"call-site": "call-site";
|
|
120
132
|
}>>;
|
|
121
133
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
122
134
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -136,6 +148,8 @@ export declare const StepOutcomeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
136
148
|
operator: "operator";
|
|
137
149
|
configuration: "configuration";
|
|
138
150
|
system: "system";
|
|
151
|
+
"empty-source": "empty-source";
|
|
152
|
+
"call-site": "call-site";
|
|
139
153
|
}>>;
|
|
140
154
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
141
155
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -155,6 +169,8 @@ export declare const StepOutcomeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
155
169
|
operator: "operator";
|
|
156
170
|
configuration: "configuration";
|
|
157
171
|
system: "system";
|
|
172
|
+
"empty-source": "empty-source";
|
|
173
|
+
"call-site": "call-site";
|
|
158
174
|
}>>;
|
|
159
175
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
160
176
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -171,6 +187,8 @@ export declare const StepOutcomeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
171
187
|
operator: "operator";
|
|
172
188
|
configuration: "configuration";
|
|
173
189
|
system: "system";
|
|
190
|
+
"empty-source": "empty-source";
|
|
191
|
+
"call-site": "call-site";
|
|
174
192
|
}>>;
|
|
175
193
|
errorSourceStepIndex: z.ZodOptional<z.ZodNumber>;
|
|
176
194
|
}, z.core.$strict>], "type">;
|
|
@@ -10,9 +10,15 @@ exports.RecordStepStatusSchema = zod_1.z.enum(['success', 'error', 'awaiting-inp
|
|
|
10
10
|
// Typed reason for an awaiting-input pause the user must resolve out of band: the Forest server
|
|
11
11
|
// validates it and the front reads it to prompt the matching action.
|
|
12
12
|
exports.AwaitingInputReasonSchema = zod_1.z.enum(['needs-oauth-reauth']);
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
exports.ErrorKindSchema = zod_1.z.enum([
|
|
13
|
+
// Every value crosses the wire before any consumer branches on it, since widening it is cheap.
|
|
14
|
+
// 'empty-source' and 'call-site' are split from configuration because each names the step to fix.
|
|
15
|
+
exports.ErrorKindSchema = zod_1.z.enum([
|
|
16
|
+
'operator',
|
|
17
|
+
'configuration',
|
|
18
|
+
'system',
|
|
19
|
+
'empty-source',
|
|
20
|
+
'call-site',
|
|
21
|
+
]);
|
|
16
22
|
// Identifies the step an error is about by index rather than by step id: a LinkTo loop repeats ids,
|
|
17
23
|
// so only the index says which iteration the error came from.
|
|
18
24
|
exports.ErrorSourceStepIndexSchema = zod_1.z.number().int().nonnegative();
|
|
@@ -79,4 +85,4 @@ function stepTypeToOutcomeType(type) {
|
|
|
79
85
|
return 'guidance';
|
|
80
86
|
return 'record';
|
|
81
87
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1vdXRjb21lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL3ZhbGlkYXRlZC9zdGVwLW91dGNvbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa0dBLHNEQU1DO0FBeEdELDZCQUF3QjtBQUV4Qix1REFBNkM7QUFFaEMsUUFBQSxvQkFBb0IsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFHakUseUVBQXlFO0FBQzVELFFBQUEsc0JBQXNCLEdBQUcsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0FBR3JGLGdHQUFnRztBQUNoRyxxRUFBcUU7QUFDeEQsUUFBQSx5QkFBeUIsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0FBR3hFLCtGQUErRjtBQUMvRixrR0FBa0c7QUFDckYsUUFBQSxlQUFlLEdBQUcsT0FBQyxDQUFDLElBQUksQ0FBQztJQUNwQyxVQUFVO0lBQ1YsZUFBZTtJQUNmLFFBQVE7SUFDUixjQUFjO0lBQ2QsV0FBVztDQUNaLENBQUMsQ0FBQztBQUdILG9HQUFvRztBQUNwRyw4REFBOEQ7QUFDakQsUUFBQSwwQkFBMEIsR0FBRyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7QUFJekU7Ozs7R0FJRztBQUNILE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFO0lBQ3pDLHNDQUFzQztJQUN0QyxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixpR0FBaUc7SUFDakcsU0FBUyxFQUFFLHVCQUFlLENBQUMsUUFBUSxFQUFFO0lBQ3JDLDhGQUE4RjtJQUM5RixvQkFBb0IsRUFBRSxrQ0FBMEIsQ0FBQyxRQUFRLEVBQUU7Q0FDNUQsQ0FBQztBQUVXLFFBQUEsMEJBQTBCLEdBQUcsT0FBQztLQUN4QyxNQUFNLENBQUM7SUFDTixHQUFHLGlCQUFpQjtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDNUIsTUFBTSxFQUFFLDhCQUFzQjtJQUM5Qix3Q0FBd0M7SUFDeEMsY0FBYyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDdEMsQ0FBQztLQUNELE1BQU0sRUFBRSxDQUFDO0FBR0MsUUFBQSx1QkFBdUIsR0FBRyxPQUFDO0tBQ3JDLE1BQU0sQ0FBQztJQUNOLEdBQUcsaUJBQWlCO0lBQ3BCLElBQUksRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUN6QixNQUFNLEVBQUUsOEJBQXNCO0lBQzlCLGVBQWUsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ3pELENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQUdDLFFBQUEsb0JBQW9CLEdBQUcsT0FBQztLQUNsQyxNQUFNLENBQUM7SUFDTixHQUFHLGlCQUFpQjtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdEIsTUFBTSxFQUFFLDhCQUFzQjtJQUM5Qiw2RkFBNkY7SUFDN0YsbUJBQW1CLEVBQUUsaUNBQXlCLENBQUMsUUFBUSxFQUFFO0NBQzFELENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQUdDLFFBQUEseUJBQXlCLEdBQUcsT0FBQztLQUN2QyxNQUFNLENBQUM7SUFDTixHQUFHLGlCQUFpQjtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDM0IsTUFBTSxFQUFFLDhCQUFzQjtDQUMvQixDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUM7QUFHQyxRQUFBLGlCQUFpQixHQUFHLE9BQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7SUFDNUQsa0NBQTBCO0lBQzFCLCtCQUF1QjtJQUN2Qiw0QkFBb0I7SUFDcEIsaUNBQXlCO0NBQzFCLENBQUMsQ0FBQztBQUdILFNBQWdCLHFCQUFxQixDQUFDLElBQWM7SUFDbEQsSUFBSSxJQUFJLEtBQUssMEJBQVEsQ0FBQyxTQUFTO1FBQUUsT0FBTyxXQUFXLENBQUM7SUFDcEQsSUFBSSxJQUFJLEtBQUssMEJBQVEsQ0FBQyxHQUFHO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDeEMsSUFBSSxJQUFJLEtBQUssMEJBQVEsQ0FBQyxRQUFRO1FBQUUsT0FBTyxVQUFVLENBQUM7SUFFbEQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/workflow-executor",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.30.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"bin": {
|
|
6
6
|
"forest-workflow-executor": "dist/cli.js"
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"test": "jest"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@forestadmin/agent-client": "1.16.
|
|
32
|
+
"@forestadmin/agent-client": "1.16.1",
|
|
33
33
|
"@forestadmin/ai-proxy": "1.14.1",
|
|
34
34
|
"@forestadmin/forestadmin-client": "1.43.4",
|
|
35
35
|
"@koa/bodyparser": "^6.1.0",
|