@forestadmin/workflow-executor 1.36.0 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/adapters/forest-server-workflow-port.d.ts +6 -2
  2. package/dist/adapters/forest-server-workflow-port.js +36 -3
  3. package/dist/adapters/run-to-available-step-mapper.js +6 -1
  4. package/dist/adapters/step-outcome-to-update-step-mapper.d.ts +3 -1
  5. package/dist/adapters/step-outcome-to-update-step-mapper.js +9 -2
  6. package/dist/errors.d.ts +20 -0
  7. package/dist/errors.js +51 -2
  8. package/dist/executors/base-step-executor.d.ts +1 -0
  9. package/dist/executors/base-step-executor.js +20 -18
  10. package/dist/executors/condition-step-executor.d.ts +4 -0
  11. package/dist/executors/condition-step-executor.js +164 -18
  12. package/dist/executors/iteration-run-store.d.ts +24 -0
  13. package/dist/executors/iteration-run-store.js +98 -0
  14. package/dist/executors/load-related-record-step-executor.d.ts +7 -3
  15. package/dist/executors/load-related-record-step-executor.js +158 -138
  16. package/dist/executors/per-record-step-executor.d.ts +27 -0
  17. package/dist/executors/per-record-step-executor.js +369 -0
  18. package/dist/executors/record-step-executor.d.ts +4 -0
  19. package/dist/executors/record-step-executor.js +44 -22
  20. package/dist/executors/related-record-picker.d.ts +21 -0
  21. package/dist/executors/related-record-picker.js +180 -0
  22. package/dist/executors/step-executor-factory.d.ts +3 -1
  23. package/dist/executors/step-executor-factory.js +49 -1
  24. package/dist/executors/summary/step-execution-formatters.js +5 -4
  25. package/dist/executors/summary/step-summary-builder.js +23 -1
  26. package/dist/http/mcp-oauth-credentials.d.ts +1 -1
  27. package/dist/http/pending-data-validators.d.ts +2 -0
  28. package/dist/http/pending-data-validators.js +21 -6
  29. package/dist/http/step-serializer.js +54 -27
  30. package/dist/ports/workflow-port.d.ts +12 -1
  31. package/dist/runner.d.ts +1 -0
  32. package/dist/runner.js +52 -12
  33. package/dist/types/execution-context.d.ts +6 -0
  34. package/dist/types/step-execution-data.d.ts +47 -2
  35. package/dist/types/step-execution-data.js +5 -1
  36. package/dist/types/validated/execution.d.ts +4 -0
  37. package/dist/types/validated/execution.js +3 -1
  38. package/dist/types/validated/step-definition.d.ts +10 -0
  39. package/dist/types/validated/step-definition.js +7 -2
  40. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { Logger } from '../ports/logger-port';
2
- import type { AvailableRunDispatch, AvailableRunsBatch, WorkflowPort } from '../ports/workflow-port';
2
+ import type { AvailableRunDispatch, AvailableRunsBatch, RenewRunLockResult, WorkflowPort } from '../ports/workflow-port';
3
3
  import type { CollectionSchema } from '../types/validated/collection';
4
4
  import type { StepOutcome } from '../types/validated/step-outcome';
5
5
  import type { ToolConfig } from '@forestadmin/ai-proxy';
@@ -7,6 +7,7 @@ export default class ForestServerWorkflowPort implements WorkflowPort {
7
7
  private readonly options;
8
8
  private readonly logger;
9
9
  private reportedMissingReleaseRoute;
10
+ private reportedMissingRenewRoute;
10
11
  constructor(params: {
11
12
  envSecret: string;
12
13
  forestServerUrl: string;
@@ -16,8 +17,11 @@ export default class ForestServerWorkflowPort implements WorkflowPort {
16
17
  getAvailableRun(runId: string): Promise<AvailableRunDispatch | null>;
17
18
  private toDispatch;
18
19
  private toMalformedInfo;
19
- updateStepExecution(runId: string, stepOutcome: StepOutcome): Promise<AvailableRunDispatch | null>;
20
+ updateStepExecution(runId: string, stepOutcome: StepOutcome, options?: {
21
+ clearsError?: boolean;
22
+ }): Promise<AvailableRunDispatch | null>;
20
23
  releaseRun(runId: string, lockedAt: string | null): Promise<void>;
24
+ renewRunLock(runId: string, lockedAt: string): Promise<RenewRunLockResult>;
21
25
  getCollectionSchema(collectionName: string, runId: string): Promise<CollectionSchema>;
22
26
  reportExecutorMetadata({ version }: {
23
27
  version: string;
@@ -17,6 +17,7 @@ const ROUTES = {
17
17
  updateStep: '/api/workflow-orchestrator/update-step',
18
18
  executorMetadata: '/api/workflow-orchestrator/executor-metadata',
19
19
  releaseRun: '/api/workflow-orchestrator/release-run',
20
+ renewRunLock: '/api/workflow-orchestrator/renew-run-lock',
20
21
  collectionSchema: (collectionName, runId) => `/api/workflow-orchestrator/collection-schema/${encodeURIComponent(collectionName)}?runId=${encodeURIComponent(runId)}`,
21
22
  accessCheck: (runId, userId) => `/api/workflow-orchestrator/run/${encodeURIComponent(runId)}/access-check?userId=${userId}`,
22
23
  mcpServerConfigs: '/liana/mcp-server-configs-with-details',
@@ -26,11 +27,15 @@ const ROUTES = {
26
27
  function stripReferenceKey(name) {
27
28
  return name?.includes('.') ? name.slice(0, name.lastIndexOf('.')) : name;
28
29
  }
30
+ const LOCK_REFUSED_STATUS = 409;
29
31
  const RELEASE_ROUTE_MISSING = 'The orchestrator cannot take back the runs this executor lets go; they resume once their ' +
30
32
  'lock expires. Expected while the executor runs ahead of the server.';
33
+ const RENEW_ROUTE_MISSING = 'The orchestrator cannot renew the lock of a run between records; a long step may lose its ' +
34
+ 'run to the lock reaper. Expected while the executor runs ahead of the server.';
31
35
  class ForestServerWorkflowPort {
32
36
  constructor(params) {
33
37
  this.reportedMissingReleaseRoute = false;
38
+ this.reportedMissingRenewRoute = false;
34
39
  this.options = { envSecret: params.envSecret, forestServerUrl: params.forestServerUrl };
35
40
  this.logger = params.logger ?? (0, console_logger_1.default)();
36
41
  }
@@ -101,8 +106,8 @@ class ForestServerWorkflowPort {
101
106
  technicalMessage: err.message,
102
107
  };
103
108
  }
104
- async updateStepExecution(runId, stepOutcome) {
105
- const run = await this.callPort('updateStepExecution', () => forestadmin_client_1.ServerUtils.query(this.options, 'post', ROUTES.updateStep, {}, (0, step_outcome_to_update_step_mapper_1.default)(runId, stepOutcome)), { retry: true });
109
+ async updateStepExecution(runId, stepOutcome, options) {
110
+ const run = await this.callPort('updateStepExecution', () => forestadmin_client_1.ServerUtils.query(this.options, 'post', ROUTES.updateStep, {}, (0, step_outcome_to_update_step_mapper_1.default)(runId, stepOutcome, options)), { retry: true });
106
111
  if (!run)
107
112
  return null;
108
113
  let dispatch = null;
@@ -143,6 +148,34 @@ class ForestServerWorkflowPort {
143
148
  });
144
149
  }
145
150
  }
151
+ async renewRunLock(runId, lockedAt) {
152
+ try {
153
+ const renewed = await forestadmin_client_1.ServerUtils.query(this.options, 'post', ROUTES.renewRunLock, {}, { runId: Number(runId), lockedAt });
154
+ return { status: 'renewed', lockedAt: renewed.lockedAt };
155
+ }
156
+ catch (error) {
157
+ const httpStatus = error?.status;
158
+ if (httpStatus === LOCK_REFUSED_STATUS)
159
+ return { status: 'refused' };
160
+ if (httpStatus === 404) {
161
+ this.logger(this.reportedMissingRenewRoute ? 'Debug' : 'Warn', RENEW_ROUTE_MISSING, {
162
+ runId,
163
+ forestServerUrl: this.options.forestServerUrl,
164
+ });
165
+ this.reportedMissingRenewRoute = true;
166
+ return { status: 'unavailable' };
167
+ }
168
+ // A 401 or 403 is unavailable too: only a 409 says the lock is gone, and stopping on
169
+ // anything else would drop a run the orchestrator still holds for this executor.
170
+ this.logger('Warn', 'Failed to renew the lock of a run', {
171
+ runId,
172
+ httpStatus,
173
+ errorName: error instanceof Error ? error.name : undefined,
174
+ error: (0, errors_1.extractErrorMessage)(error),
175
+ });
176
+ return { status: 'unavailable' };
177
+ }
178
+ }
146
179
  async getCollectionSchema(collectionName, runId) {
147
180
  return this.callPort('getCollectionSchema', async () => {
148
181
  const response = await forestadmin_client_1.ServerUtils.query(this.options, 'get', ROUTES.collectionSchema(collectionName, runId));
@@ -191,4 +224,4 @@ class ForestServerWorkflowPort {
191
224
  }
192
225
  }
193
226
  exports.default = ForestServerWorkflowPort;
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LXNlcnZlci13b3JrZmxvdy1wb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ZvcmVzdC1zZXJ2ZXItd29ya2Zsb3ctcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWFBLHdFQUE4RDtBQUM5RCw2QkFBd0I7QUFFeEIsc0VBQW1EO0FBQ25ELGtHQUFzRTtBQUN0RSw4R0FBdUU7QUFDdkUsOERBQXFDO0FBQ3JDLHNDQVFtQjtBQUNuQiw4REFBdUU7QUFFdkUsTUFBTSxNQUFNLEdBQUc7SUFDYixXQUFXLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLGdEQUFnRCxLQUFLLEVBQUU7SUFDdkYsWUFBWSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FDOUIsNENBQTRDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3pFLFVBQVUsRUFBRSx3Q0FBd0M7SUFDcEQsZ0JBQWdCLEVBQUUsOENBQThDO0lBQ2hFLFVBQVUsRUFBRSx3Q0FBd0M7SUFDcEQsZ0JBQWdCLEVBQUUsQ0FBQyxjQUFzQixFQUFFLEtBQWEsRUFBRSxFQUFFLENBQzFELGdEQUFnRCxrQkFBa0IsQ0FDaEUsY0FBYyxDQUNmLFVBQVUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFDeEMsV0FBVyxFQUFFLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFLENBQzdDLGtDQUFrQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLE1BQU0sRUFBRTtJQUM3RixnQkFBZ0IsRUFBRSx3Q0FBd0M7Q0FDM0QsQ0FBQztBQUVGLDhGQUE4RjtBQUM5RixxR0FBcUc7QUFDckcsU0FBUyxpQkFBaUIsQ0FBQyxJQUF3QjtJQUNqRCxPQUFPLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMs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
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LXNlcnZlci13b3JrZmxvdy1wb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ZvcmVzdC1zZXJ2ZXItd29ya2Zsb3ctcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWNBLHdFQUE4RDtBQUM5RCw2QkFBd0I7QUFFeEIsc0VBQW1EO0FBQ25ELGtHQUFzRTtBQUN0RSw4R0FBdUU7QUFDdkUsOERBQXFDO0FBQ3JDLHNDQVFtQjtBQUNuQiw4REFBdUU7QUFFdkUsTUFBTSxNQUFNLEdBQUc7SUFDYixXQUFXLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLGdEQUFnRCxLQUFLLEVBQUU7SUFDdkYsWUFBWSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FDOUIsNENBQTRDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ3pFLFVBQVUsRUFBRSx3Q0FBd0M7SUFDcEQsZ0JBQWdCLEVBQUUsOENBQThDO0lBQ2hFLFVBQVUsRUFBRSx3Q0FBd0M7SUFDcEQsWUFBWSxFQUFFLDJDQUEyQztJQUN6RCxnQkFBZ0IsRUFBRSxDQUFDLGNBQXNCLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FDMUQsZ0RBQWdELGtCQUFrQixDQUNoRSxjQUFjLENBQ2YsVUFBVSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtJQUN4QyxXQUFXLEVBQUUsQ0FBQyxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FDN0Msa0NBQWtDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyx3QkFBd0IsTUFBTSxFQUFFO0lBQzdGLGdCQUFnQixFQUFFLHdDQUF3QztDQUMzRCxDQUFDO0FBRUYsOEZBQThGO0FBQzlGLHFHQUFxRztBQUNyRyxTQUFTLGlCQUFpQixDQUFDLElBQXdCO0lBQ2pELE9BQU8sSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVB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
@@ -157,6 +157,10 @@ function toStepUser(runId, profile) {
157
157
  }
158
158
  return (0, step_user_1.toStepUser)(profile);
159
159
  }
160
+ function carriesError(pending) {
161
+ const { error } = (pending.context ?? {});
162
+ return typeof error === 'string' && error.length > 0;
163
+ }
160
164
  // Returns null when the run has no available step (terminal state or all done/cancelled).
161
165
  // Throws InvalidStepDefinitionError on missing required fields (collectionId, collectionName,
162
166
  // userProfile) or an unmappable step definition.
@@ -198,6 +202,7 @@ function toAvailableStepExecution(run) {
198
202
  // user, since that one follows the browser.
199
203
  timezone: (0, project_timezone_1.default)(run.timezone),
200
204
  ...(callScope && { callScope }),
205
+ ...(carriesError(pending) && { carriesError: true }),
201
206
  };
202
207
  // Defense against mapper bugs: zod asserts the shape we produce is what the domain expects,
203
208
  // before any executor consumes it. Fails loudly with a typed error instead of crashing deep.
@@ -212,4 +217,4 @@ function toAvailableStepExecution(run) {
212
217
  throw err;
213
218
  }
214
219
  }
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRvLWF2YWlsYWJsZS1zdGVwLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9ydW4tdG8tYXZhaWxhYmxlLXN0ZXAtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBa09BLDJDQWlFQztBQXJSRCw2QkFBd0I7QUFFeEIsMEVBQW1EO0FBQ25ELDRDQUFtRDtBQUNuRCxpREFBK0U7QUFDL0Usc0ZBQXdEO0FBQ3hELDJDQUE2RDtBQUM3RCxzQ0FJbUI7QUFDbkIsNERBTXNDO0FBQ3RDLHdFQUE0RTtBQUM1RSxrRUFJeUM7QUFFekMsU0FBUyxjQUFjLENBQUMsU0FBa0I7SUFDeEMsSUFBSSxTQUFTLEtBQUssT0FBTztRQUFFLE9BQU8sT0FBTyxDQUFDO0lBQzFDLElBQUksU0FBUyxLQUFLLGdCQUFnQjtRQUFFLE9BQU8sZ0JBQWdCLENBQUM7SUFFNUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELGlHQUFpRztBQUNqRywyRkFBMkY7QUFDM0YsNkRBQTZEO0FBQzdELFNBQVMsYUFBYSxDQUFDLENBQW9CO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUEsZ0NBQWdCLEVBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sV0FBVyxHQUFHLElBQUEsb0NBQXFCLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQTRCLENBQUM7SUFFekQsbUdBQW1HO0lBQ25HLDRGQUE0RjtJQUM1RixNQUFNLGVBQWUsR0FBRyw4QkFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakUsTUFBTSxxQkFBcUIsR0FBRyx5Q0FBMEIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFN0YsTUFBTSxXQUFXLEdBQUc7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
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXRvLWF2YWlsYWJsZS1zdGVwLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9ydW4tdG8tYXZhaWxhYmxlLXN0ZXAtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBd09BLDJDQWtFQztBQTVSRCw2QkFBd0I7QUFFeEIsMEVBQW1EO0FBQ25ELDRDQUFtRDtBQUNuRCxpREFBK0U7QUFDL0Usc0ZBQXdEO0FBQ3hELDJDQUE2RDtBQUM3RCxzQ0FJbUI7QUFDbkIsNERBTXNDO0FBQ3RDLHdFQUE0RTtBQUM1RSxrRUFJeUM7QUFFekMsU0FBUyxjQUFjLENBQUMsU0FBa0I7SUFDeEMsSUFBSSxTQUFTLEtBQUssT0FBTztRQUFFLE9BQU8sT0FBTyxDQUFDO0lBQzFDLElBQUksU0FBUyxLQUFLLGdCQUFnQjtRQUFFLE9BQU8sZ0JBQWdCLENBQUM7SUFFNUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELGlHQUFpRztBQUNqRywyRkFBMkY7QUFDM0YsNkRBQTZEO0FBQzdELFNBQVMsYUFBYSxDQUFDLENBQW9CO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUEsZ0NBQWdCLEVBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sV0FBVyxHQUFHLElBQUEsb0NBQXFCLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQTRCLENBQUM7SUFFekQsbUdBQW1HO0lBQ25HLDRGQUE0RjtJQUM1RixNQUFNLGVBQWUsR0FBRyw4QkFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakUsTUFBTSxxQkFBcUIsR0FBRyx5Q0FBMEIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFN0YsTUFBTSxXQUFXLEdBQUc7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
@@ -1,4 +1,6 @@
1
1
  import type { ServerUpdateStepRequest } from './server-types';
2
2
  import type { StepOutcome } from '../types/validated/step-outcome';
3
- export default function toUpdateStepRequest(runId: string, outcome: StepOutcome): ServerUpdateStepRequest;
3
+ export default function toUpdateStepRequest(runId: string, outcome: StepOutcome, options?: {
4
+ clearsError?: boolean;
5
+ }): ServerUpdateStepRequest;
4
6
  //# sourceMappingURL=step-outcome-to-update-step-mapper.d.ts.map
@@ -14,8 +14,15 @@ function toExecutionStatus(outcome) {
14
14
  }
15
15
  // Write to `context` so the round-trip with run-to-available-step-mapper stays ISO (reverse mapper
16
16
  // reads status/error/selectedOption from ServerStepHistory.context).
17
- function toUpdateStepRequest(runId, outcome) {
17
+ function toUpdateStepRequest(runId, outcome, options) {
18
18
  const context = { status: outcome.status };
19
+ // The orchestrator merges each report into the context the error left, and keeps a null where
20
+ // it drops an undefined key, so only a null clears it. A new error sets its own fields below.
21
+ if (options?.clearsError) {
22
+ context.error = null;
23
+ context.errorKind = null;
24
+ context.errorSourceStepIndex = null;
25
+ }
19
26
  if (outcome.error !== undefined)
20
27
  context.error = outcome.error;
21
28
  if (outcome.errorKind !== undefined)
@@ -43,4 +50,4 @@ function toUpdateStepRequest(runId, outcome) {
43
50
  executionStatus: toExecutionStatus(outcome),
44
51
  };
45
52
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1vdXRjb21lLXRvLXVwZGF0ZS1zdGVwLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9zdGVwLW91dGNvbWUtdG8tdXBkYXRlLXN0ZXAtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBdUJBLHNDQW1DQztBQW5ERCxTQUFTLGlCQUFpQixDQUFDLE9BQW9CO0lBQzdDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMvQiwwRUFBMEU7UUFDMUUsaUZBQWlGO1FBQ2pGLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVELG1HQUFtRztBQUNuRyxxRUFBcUU7QUFDckUsU0FBd0IsbUJBQW1CLENBQ3pDLEtBQWEsRUFDYixPQUFvQjtJQUVwQixNQUFNLE9BQU8sR0FBNEIsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BFLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQy9ELElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTO1FBQUUsT0FBTyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBRTNFLGdFQUFnRTtJQUNoRSxJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMvQyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLE9BQU8sQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDekUsT0FBTyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdkUsT0FBTyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4RSxPQUFPLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDO0lBQzVELENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBNEI7UUFDMUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEtBQUssZ0JBQWdCO1FBQ3pDLE9BQU87S0FDUixDQUFDO0lBRUYsT0FBTztRQUNMLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3BCLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRTtRQUN4RCxlQUFlLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDO0tBQzVDLENBQUM7QUFDSixDQUFDIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1vdXRjb21lLXRvLXVwZGF0ZS1zdGVwLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9zdGVwLW91dGNvbWUtdG8tdXBkYXRlLXN0ZXAtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBdUJBLHNDQTZDQztBQTdERCxTQUFTLGlCQUFpQixDQUFDLE9BQW9CO0lBQzdDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMvQiwwRUFBMEU7UUFDMUUsaUZBQWlGO1FBQ2pGLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVELG1HQUFtRztBQUNuRyxxRUFBcUU7QUFDckUsU0FBd0IsbUJBQW1CLENBQ3pDLEtBQWEsRUFDYixPQUFvQixFQUNwQixPQUFtQztJQUVuQyxNQUFNLE9BQU8sR0FBNEIsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRXBFLDhGQUE4RjtJQUM5Riw4RkFBOEY7SUFDOUYsSUFBSSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDckIsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVM7UUFBRSxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDL0QsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVM7UUFBRSxPQUFPLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFFM0UsZ0VBQWdFO0lBQ2hFLElBQUksT0FBTyxDQUFDLG9CQUFvQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksT0FBTyxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6RSxPQUFPLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN2RSxPQUFPLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDLG1CQUFtQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hFLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUE0QjtRQUMxQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sS0FBSyxnQkFBZ0I7UUFDekMsT0FBTztLQUNSLENBQUM7SUFFRixPQUFPO1FBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEIsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFO1FBQ3hELGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7S0FDNUMsQ0FBQztBQUNKLENBQUMifQ==
package/dist/errors.d.ts CHANGED
@@ -215,6 +215,21 @@ export declare class SourceRecordMissingError extends WorkflowExecutorError {
215
215
  errorSourceStepIndex?: number;
216
216
  });
217
217
  }
218
+ export declare class MultipleOnPerRecordSourceError extends WorkflowConfigurationError {
219
+ constructor(stepTitle?: string);
220
+ }
221
+ export declare class MissingConditionQuantifierError extends WorkflowConfigurationError {
222
+ constructor(option: string, fieldName: string);
223
+ }
224
+ export declare class RecordNotOfferedError extends WorkflowExecutorError {
225
+ constructor(recordId: string);
226
+ }
227
+ export declare class RecordChangeInterruptedError extends WorkflowExecutorError {
228
+ constructor();
229
+ }
230
+ export declare class SourceLoadsSeveralRecordsError extends WorkflowCallSiteError {
231
+ constructor(stepTitle?: string);
232
+ }
218
233
  export declare class SourceRecordCollectionMismatchError extends WorkflowCallSiteError {
219
234
  constructor(recordCollectionName: string, calledWorkflowCollectionName: string);
220
235
  }
@@ -262,6 +277,11 @@ export declare class DomainValidationError extends WorkflowExecutorError {
262
277
  }>;
263
278
  constructor(runId: number, zodError: z.ZodError);
264
279
  }
280
+ export declare function toErrorOutcome(error: WorkflowExecutorError): {
281
+ errorSourceStepIndex: number;
282
+ errorKind: "operator" | "configuration" | "system" | "empty-source" | "call-site";
283
+ error: string;
284
+ };
265
285
  export declare class MalformedRunError extends WorkflowExecutorError {
266
286
  readonly info: MalformedRunInfo;
267
287
  constructor(info: MalformedRunInfo);
package/dist/errors.js CHANGED
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OAuthRefreshError = exports.OAuthReauthRequiredError = exports.ConfigurationError = exports.McpToolInvocationError = exports.AiModelPortError = exports.WorkflowPortError = exports.SchemaNotCachedError = exports.SegmentReadError = exports.AgentPortError = exports.McpToolCallLimitError = exports.McpToolNotFoundError = exports.McpToolsNotAllowedError = exports.NoMcpToolsError = exports.AiAssistUnavailableError = exports.AiInvokeTimeoutError = exports.AiModelUnusableError = exports.StepTimeoutError = exports.ActivityLogCreationError = exports.StepStateError = exports.ActionNotFoundError = exports.FieldTypeMissingError = exports.PendingFieldNotFoundError = exports.RelationshipFieldNotUpdatableError = 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.CompositeRecordIdMismatchError = exports.SegmentRecordIdMissingError = exports.UnreadableAutomatedInboxListingError = exports.AutomatedInboxGoneError = exports.AgentProbeError = exports.SourceRecordStepNotReachedError = exports.SourceRecordCollectionMismatchError = exports.SourceRecordMissingError = exports.InvalidPreRecordedValueError = exports.InvalidPreRecordedArgsError = exports.InvalidPendingDataError = exports.PendingDataNotFoundError = exports.RunAlreadyInFlightError = exports.UserMismatchError = exports.RunNotFoundError = exports.ExecutorEncryptionKeyMissingError = exports.InvalidTokenEndpointError = exports.OAuthInvalidGrantError = void 0;
4
+ exports.MalformedRunError = exports.DomainValidationError = exports.HydrationFailedError = exports.InvalidStepDefinitionError = exports.RecordIdSerializationError = exports.UnsupportedStepTypeError = exports.CompositeRecordIdMismatchError = exports.SegmentRecordIdMissingError = exports.UnreadableAutomatedInboxListingError = exports.AutomatedInboxGoneError = exports.AgentProbeError = exports.SourceRecordStepNotReachedError = exports.SourceRecordCollectionMismatchError = exports.SourceLoadsSeveralRecordsError = exports.RecordChangeInterruptedError = exports.RecordNotOfferedError = exports.MissingConditionQuantifierError = exports.MultipleOnPerRecordSourceError = exports.SourceRecordMissingError = exports.InvalidPreRecordedValueError = exports.InvalidPreRecordedArgsError = exports.InvalidPendingDataError = exports.PendingDataNotFoundError = exports.RunAlreadyInFlightError = exports.UserMismatchError = exports.RunNotFoundError = exports.ExecutorEncryptionKeyMissingError = exports.InvalidTokenEndpointError = exports.OAuthInvalidGrantError = void 0;
5
5
  exports.causeMessage = causeMessage;
6
6
  exports.extractErrorMessage = extractErrorMessage;
7
7
  exports.isAiConfigurationError = isAiConfigurationError;
8
+ exports.toErrorOutcome = toErrorOutcome;
8
9
  function causeMessage(error) {
9
10
  const { cause } = (error ?? {});
10
11
  return cause instanceof Error ? cause.message : undefined;
@@ -506,6 +507,44 @@ class SourceRecordMissingError extends WorkflowExecutorError {
506
507
  }
507
508
  }
508
509
  exports.SourceRecordMissingError = SourceRecordMissingError;
510
+ // One level of fan-out only: the editor and the orchestrator refuse it too, so only a hand-edited
511
+ // or stale workflow gets here.
512
+ class MultipleOnPerRecordSourceError extends WorkflowConfigurationError {
513
+ constructor(stepTitle) {
514
+ const step = stepTitle ? `"${stepTitle}"` : 'This step';
515
+ super(`Load Related Record ${step} is set to Multiple on a source that already runs once per record`, `${step} loads multiple records from a source that already runs once per record. Set it to "Single record".`);
516
+ }
517
+ }
518
+ exports.MultipleOnPerRecordSourceError = MultipleOnPerRecordSourceError;
519
+ class MissingConditionQuantifierError extends WorkflowConfigurationError {
520
+ constructor(option, fieldName) {
521
+ super(`Condition on "${fieldName}" for option "${option}" reads per-record data without a quantifier`, `The option "${option}" reads "${fieldName}" from a step that runs once per record without saying whether any, every or no record must match. Reconfigure this decision step.`);
522
+ }
523
+ }
524
+ exports.MissingConditionQuantifierError = MissingConditionQuantifierError;
525
+ class RecordNotOfferedError extends WorkflowExecutorError {
526
+ constructor(recordId) {
527
+ super(`Record "${recordId}" was not among the candidates offered`, 'A record picked is not among those this step offered. Pick the records again.');
528
+ }
529
+ }
530
+ exports.RecordNotOfferedError = RecordNotOfferedError;
531
+ // The write-ahead marker was still set: the change was cut off after it started, by a restart or
532
+ // the step timeout, so it may have landed and running it again could apply it twice.
533
+ class RecordChangeInterruptedError extends WorkflowExecutorError {
534
+ constructor() {
535
+ super('Record change was cut off after it started', 'The change on this record was cut off after it started and may already be applied. Check the record before you retry.');
536
+ }
537
+ }
538
+ exports.RecordChangeInterruptedError = RecordChangeInterruptedError;
539
+ // Not SourceRecordMissingError: the source loaded several records, which a Sub-workflow cannot take
540
+ // until it runs once per record, so the remedy is the calling Sub-workflow step.
541
+ class SourceLoadsSeveralRecordsError extends WorkflowCallSiteError {
542
+ constructor(stepTitle) {
543
+ const step = stepTitle ? `"${stepTitle}"` : 'a step';
544
+ super(`Sub-workflow call pins ${step}, which loads several records`, `The Sub-workflow step that called this workflow takes its record from ${step}, which loads several records. Set its record to a step that loads one.`);
545
+ }
546
+ }
547
+ exports.SourceLoadsSeveralRecordsError = SourceLoadsSeveralRecordsError;
509
548
  // Not SourceRecordMissingError: a record was found and it is the wrong one, so the remedy is the
510
549
  // calling Sub-workflow step rather than anything in this workflow.
511
550
  class SourceRecordCollectionMismatchError extends WorkflowCallSiteError {
@@ -614,6 +653,16 @@ class DomainValidationError extends WorkflowExecutorError {
614
653
  }
615
654
  }
616
655
  exports.DomainValidationError = DomainValidationError;
656
+ // The fields of a step outcome an error sets. Every executor spreads this, so none can drop one.
657
+ function toErrorOutcome(error) {
658
+ return {
659
+ error: error.userMessage,
660
+ ...(error.errorKind !== undefined && { errorKind: error.errorKind }),
661
+ ...(error.errorSourceStepIndex !== undefined && {
662
+ errorSourceStepIndex: error.errorSourceStepIndex,
663
+ }),
664
+ };
665
+ }
617
666
  // Carries MalformedRunInfo so the Runner can report the run without re-parsing the message.
618
667
  class MalformedRunError extends WorkflowExecutorError {
619
668
  constructor(info) {
@@ -622,4 +671,4 @@ class MalformedRunError extends WorkflowExecutorError {
622
671
  }
623
672
  }
624
673
  exports.MalformedRunError = MalformedRunError;
625
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBTUEsb0NBSUM7QUFJRCxrREFZQztBQStVRCx3REFNQztBQXpXRCxTQUFnQixZQUFZLENBQUMsS0FBYztJQUN6QyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUF3QixDQUFDO0lBRXZELE9BQU8sS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzVELENBQUM7QUFFRCxnR0FBZ0c7QUFDaEcsc0dBQXNHO0FBQ3RHLFNBQWdCLG1CQUFtQixDQUFDLEdBQWE7SUFDL0MsSUFBSSxHQUFHLEtBQUssU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3hDLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxLQUFLLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxJQUFJLEdBQUcsQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUEyQixDQUFDO0lBQy9DLElBQUksTUFBTSxZQUFZLEtBQUssSUFBSSxNQUFNLENBQUMsT0FBTztRQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUVyRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBMEIsQ0FBQztJQUM3QyxJQUFJLEtBQUssWUFBWSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU87UUFBRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFFbEUsT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLGVBQWUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBc0IscUJBQXNCLFNBQVEsS0FBSztJQVl2RCxZQUFZLE9BQWUsRUFBRSxXQUFvQjtRQUMv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
674
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBTUEsb0NBSUM7QUFJRCxrREFZQztBQStVRCx3REFNQztBQXdnQkQsd0NBUUM7QUF6M0JELFNBQWdCLFlBQVksQ0FBQyxLQUFjO0lBQ3pDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQXdCLENBQUM7SUFFdkQsT0FBTyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDNUQsQ0FBQztBQUVELGdHQUFnRztBQUNoRyxzR0FBc0c7QUFDdEcsU0FBZ0IsbUJBQW1CLENBQUMsR0FBYTtJQUMvQyxJQUFJLEdBQUcsS0FBSyxTQUFTO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDeEMsSUFBSSxDQUFDLENBQUMsR0FBRyxZQUFZLEtBQUssQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELElBQUksR0FBRyxDQUFDLE9BQU87UUFBRSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFFcEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQTJCLENBQUM7SUFDL0MsSUFBSSxNQUFNLFlBQVksS0FBSyxJQUFJLE1BQU0sQ0FBQyxPQUFPO1FBQUUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBRXJFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUEwQixDQUFDO0lBQzdDLElBQUksS0FBSyxZQUFZLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTztRQUFFLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUVsRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLElBQUksZUFBZSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFzQixxQkFBc0IsU0FBUSxLQUFLO0lBWXZELFlBQVksT0FBZSxF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
@@ -5,6 +5,7 @@ import type { StepDefinition } from '../types/validated/step-definition';
5
5
  import type { ErrorKind, StepStatus } from '../types/validated/step-outcome';
6
6
  import type { BaseMessage, DynamicStructuredTool, StructuredToolInterface } from '@forestadmin/ai-proxy';
7
7
  import { SystemMessage } from '@forestadmin/ai-proxy';
8
+ export declare function findStepExecution(step: Step, executions: StepExecutionData[]): StepExecutionData | undefined;
8
9
  export default abstract class BaseStepExecutor<TStep extends StepDefinition = StepDefinition> implements IStepExecutor {
9
10
  protected readonly context: ExecutionContext<TStep>;
10
11
  constructor(context: ExecutionContext<TStep>);