@forestadmin/workflow-executor 1.33.2 → 1.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/agent-client-agent-port.js +6 -8
- package/dist/adapters/agent-client-segment-reader.d.ts +24 -0
- package/dist/adapters/agent-client-segment-reader.js +182 -0
- package/dist/adapters/agent-errors.d.ts +11 -0
- package/dist/adapters/agent-errors.js +81 -0
- package/dist/adapters/forest-server-automation-port.d.ts +22 -0
- package/dist/adapters/forest-server-automation-port.js +174 -0
- package/dist/adapters/forest-server-workflow-port.d.ts +3 -1
- package/dist/adapters/forest-server-workflow-port.js +47 -21
- package/dist/adapters/forestadmin-client-activity-log-port.js +3 -3
- package/dist/adapters/project-timezone.d.ts +2 -0
- package/dist/adapters/project-timezone.js +11 -0
- package/dist/adapters/run-to-available-step-mapper.js +7 -16
- package/dist/adapters/server-types.d.ts +119 -1
- package/dist/adapters/server-types.js +104 -2
- package/dist/adapters/step-user.d.ts +23 -0
- package/dist/adapters/step-user.js +33 -0
- package/dist/automation/automation-poller.d.ts +45 -0
- package/dist/automation/automation-poller.js +201 -0
- package/dist/automation/inbox-poll.d.ts +47 -0
- package/dist/automation/inbox-poll.js +357 -0
- package/dist/automation/lease-keeper.d.ts +12 -0
- package/dist/automation/lease-keeper.js +30 -0
- package/dist/automation/read-failure.d.ts +5 -0
- package/dist/automation/read-failure.js +40 -0
- package/dist/automation/reconciliation.d.ts +13 -0
- package/dist/automation/reconciliation.js +88 -0
- package/dist/build-workflow-executor.d.ts +2 -0
- package/dist/build-workflow-executor.js +62 -4
- package/dist/cli-core.js +7 -1
- package/dist/defaults.d.ts +2 -0
- package/dist/defaults.js +10 -2
- package/dist/errors.d.ts +30 -2
- package/dist/errors.js +56 -26
- package/dist/http/pending-data-validators.js +3 -3
- package/dist/http/step-serializer.js +5 -5
- package/dist/ports/automation-port.d.ts +19 -0
- package/dist/ports/automation-port.js +3 -0
- package/dist/ports/segment-reader-port.d.ts +43 -0
- package/dist/ports/segment-reader-port.js +3 -0
- package/dist/ports/workflow-port.d.ts +3 -1
- package/dist/{adapters/record-id-serializer.d.ts → record-id.d.ts} +2 -2
- package/dist/record-id.js +20 -0
- package/dist/runner.d.ts +3 -0
- package/dist/runner.js +59 -12
- package/dist/types/automation.d.ts +64 -0
- package/dist/types/automation.js +3 -0
- package/dist/types/validated/execution.d.ts +2 -1
- package/dist/types/validated/execution.js +2 -1
- package/package.json +4 -2
- package/dist/adapters/record-id-serializer.js +0 -20
|
@@ -6,14 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.buildInMemoryExecutor = buildInMemoryExecutor;
|
|
7
7
|
exports.buildDatabaseExecutor = buildDatabaseExecutor;
|
|
8
8
|
const forestadmin_client_1 = require("@forestadmin/forestadmin-client");
|
|
9
|
+
const crypto_1 = require("crypto");
|
|
10
|
+
const os_1 = require("os");
|
|
9
11
|
const sequelize_1 = require("sequelize");
|
|
10
12
|
const agent_client_agent_port_1 = __importDefault(require("./adapters/agent-client-agent-port"));
|
|
13
|
+
const agent_client_segment_reader_1 = __importDefault(require("./adapters/agent-client-segment-reader"));
|
|
11
14
|
const ai_client_adapter_1 = __importDefault(require("./adapters/ai-client-adapter"));
|
|
12
15
|
const always_error_ai_model_port_1 = __importDefault(require("./adapters/always-error-ai-model-port"));
|
|
13
16
|
const console_logger_1 = __importDefault(require("./adapters/console-logger"));
|
|
17
|
+
const forest_server_automation_port_1 = __importDefault(require("./adapters/forest-server-automation-port"));
|
|
14
18
|
const forest_server_workflow_port_1 = __importDefault(require("./adapters/forest-server-workflow-port"));
|
|
15
19
|
const forestadmin_client_activity_log_port_factory_1 = __importDefault(require("./adapters/forestadmin-client-activity-log-port-factory"));
|
|
16
20
|
const server_ai_adapter_1 = __importDefault(require("./adapters/server-ai-adapter"));
|
|
21
|
+
const automation_poller_1 = __importDefault(require("./automation/automation-poller"));
|
|
17
22
|
const credential_encryption_1 = __importDefault(require("./crypto/credential-encryption"));
|
|
18
23
|
const defaults_1 = require("./defaults");
|
|
19
24
|
const executor_http_server_1 = __importDefault(require("./http/executor-http-server"));
|
|
@@ -69,6 +74,15 @@ function buildCommonDependencies(options) {
|
|
|
69
74
|
schemaCache,
|
|
70
75
|
forestServerUrl,
|
|
71
76
|
});
|
|
77
|
+
const automationPort = new forest_server_automation_port_1.default({
|
|
78
|
+
envSecret: options.envSecret,
|
|
79
|
+
forestServerUrl,
|
|
80
|
+
logger,
|
|
81
|
+
});
|
|
82
|
+
const segmentReaderPort = new agent_client_segment_reader_1.default({
|
|
83
|
+
agentUrl: options.agentUrl,
|
|
84
|
+
authSecret: options.authSecret,
|
|
85
|
+
});
|
|
72
86
|
const activityLogsService = new forestadmin_client_1.ActivityLogsService(new forestadmin_client_1.ForestHttpApi(), {
|
|
73
87
|
forestServerUrl,
|
|
74
88
|
headers: { 'Forest-Application-Source': 'WorkflowExecutor' },
|
|
@@ -76,12 +90,18 @@ function buildCommonDependencies(options) {
|
|
|
76
90
|
const activityLogPortFactory = new forestadmin_client_activity_log_port_factory_1.default(activityLogsService, logger);
|
|
77
91
|
return {
|
|
78
92
|
agentPort,
|
|
93
|
+
automationPort,
|
|
94
|
+
segmentReaderPort,
|
|
79
95
|
schemaCache,
|
|
80
96
|
workflowPort,
|
|
81
97
|
aiModelPort,
|
|
82
98
|
activityLogPortFactory,
|
|
83
99
|
logger,
|
|
84
100
|
pollingIntervalS: positiveOrDefault(options.pollingIntervalS, defaults_1.DEFAULT_POLLING_INTERVAL_S),
|
|
101
|
+
// Zero survives the default: it is how an operator turns the sweep off.
|
|
102
|
+
automationPollingIntervalS: options.automationPollingIntervalS === 0
|
|
103
|
+
? 0
|
|
104
|
+
: positiveOrDefault(options.automationPollingIntervalS, defaults_1.DEFAULT_AUTOMATION_POLL_INTERVAL_S),
|
|
85
105
|
envSecret: options.envSecret,
|
|
86
106
|
authSecret: options.authSecret,
|
|
87
107
|
stopTimeoutS: options.stopTimeoutS,
|
|
@@ -90,8 +110,12 @@ function buildCommonDependencies(options) {
|
|
|
90
110
|
maxChainDepth: options.maxChainDepth,
|
|
91
111
|
};
|
|
92
112
|
}
|
|
93
|
-
function createWorkflowExecutor(runner, server, logger, manageProcessSignals) {
|
|
113
|
+
function createWorkflowExecutor({ runner, automationPoller, server, logger, manageProcessSignals, }) {
|
|
94
114
|
let shutdownPromise = null;
|
|
115
|
+
// `start()` awaits twice before it arms the sweep, and `stop()` can land in either gap. Without
|
|
116
|
+
// this the shutdown reports itself complete and the suspended `start()` then arms a poller
|
|
117
|
+
// nobody will stop, which keeps syncing and launching runs after the executor is down.
|
|
118
|
+
let stopped = false;
|
|
95
119
|
const shutdown = async () => {
|
|
96
120
|
try {
|
|
97
121
|
await server.stop();
|
|
@@ -101,6 +125,8 @@ function createWorkflowExecutor(runner, server, logger, manageProcessSignals) {
|
|
|
101
125
|
error: err instanceof Error ? err.message : String(err),
|
|
102
126
|
});
|
|
103
127
|
}
|
|
128
|
+
// Drained before the runner: its cycle only ever calls out, so it has nothing to hand over.
|
|
129
|
+
await automationPoller.stop();
|
|
104
130
|
await runner.stop();
|
|
105
131
|
};
|
|
106
132
|
const onSignal = async () => {
|
|
@@ -139,6 +165,11 @@ function createWorkflowExecutor(runner, server, logger, manageProcessSignals) {
|
|
|
139
165
|
await runner.stop().catch(() => { });
|
|
140
166
|
throw err;
|
|
141
167
|
}
|
|
168
|
+
if (stopped) {
|
|
169
|
+
logger('Info', 'Executor was stopped while starting, leaving the automation sweep off');
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
automationPoller.start();
|
|
142
173
|
// Only own the host's signals when explicitly allowed (the standalone CLI). When embedded,
|
|
143
174
|
// the host process must keep control of SIGTERM/SIGINT and its own exit.
|
|
144
175
|
if (manageProcessSignals) {
|
|
@@ -147,6 +178,7 @@ function createWorkflowExecutor(runner, server, logger, manageProcessSignals) {
|
|
|
147
178
|
}
|
|
148
179
|
},
|
|
149
180
|
async stop() {
|
|
181
|
+
stopped = true;
|
|
150
182
|
if (manageProcessSignals) {
|
|
151
183
|
process.removeListener('SIGTERM', onSignal);
|
|
152
184
|
process.removeListener('SIGINT', onSignal);
|
|
@@ -157,6 +189,18 @@ function createWorkflowExecutor(runner, server, logger, manageProcessSignals) {
|
|
|
157
189
|
},
|
|
158
190
|
};
|
|
159
191
|
}
|
|
192
|
+
// One id per process, so the orchestrator's poller election can tell two instances apart and a
|
|
193
|
+
// restart never inherits the lease of the process it replaced.
|
|
194
|
+
function buildAutomationPoller(deps) {
|
|
195
|
+
return new automation_poller_1.default({
|
|
196
|
+
automationPort: deps.automationPort,
|
|
197
|
+
segmentReaderPort: deps.segmentReaderPort,
|
|
198
|
+
pollingIntervalS: deps.automationPollingIntervalS,
|
|
199
|
+
instanceId: `${(0, os_1.hostname)()}-${process.pid}-${(0, crypto_1.randomUUID)().slice(0, 8)}`,
|
|
200
|
+
stopTimeoutS: deps.stopTimeoutS,
|
|
201
|
+
logger: deps.logger,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
160
204
|
function buildInMemoryExecutor(options) {
|
|
161
205
|
const deps = buildCommonDependencies(options);
|
|
162
206
|
const mcpOAuthCredentialsStore = new in_memory_mcp_oauth_credentials_store_1.default();
|
|
@@ -175,6 +219,7 @@ function buildInMemoryExecutor(options) {
|
|
|
175
219
|
runStore: new in_memory_store_1.default(),
|
|
176
220
|
mcpOAuthTokenService,
|
|
177
221
|
});
|
|
222
|
+
const automationPoller = buildAutomationPoller(deps);
|
|
178
223
|
const server = new executor_http_server_1.default({
|
|
179
224
|
port: options.httpPort,
|
|
180
225
|
runner,
|
|
@@ -186,7 +231,13 @@ function buildInMemoryExecutor(options) {
|
|
|
186
231
|
remoteToolFetcher,
|
|
187
232
|
oauthTokenService: mcpOAuthTokenService,
|
|
188
233
|
});
|
|
189
|
-
return createWorkflowExecutor(
|
|
234
|
+
return createWorkflowExecutor({
|
|
235
|
+
runner,
|
|
236
|
+
automationPoller,
|
|
237
|
+
server,
|
|
238
|
+
logger: deps.logger,
|
|
239
|
+
manageProcessSignals: options.manageProcessSignals ?? true,
|
|
240
|
+
});
|
|
190
241
|
}
|
|
191
242
|
function buildDatabaseExecutor(options) {
|
|
192
243
|
const deps = buildCommonDependencies(options);
|
|
@@ -218,6 +269,7 @@ function buildDatabaseExecutor(options) {
|
|
|
218
269
|
runStore: new database_store_1.default({ sequelize, schema: mergedOptions.schema }),
|
|
219
270
|
mcpOAuthTokenService,
|
|
220
271
|
});
|
|
272
|
+
const automationPoller = buildAutomationPoller(deps);
|
|
221
273
|
const server = new executor_http_server_1.default({
|
|
222
274
|
port: options.httpPort,
|
|
223
275
|
runner,
|
|
@@ -229,6 +281,12 @@ function buildDatabaseExecutor(options) {
|
|
|
229
281
|
remoteToolFetcher,
|
|
230
282
|
oauthTokenService: mcpOAuthTokenService,
|
|
231
283
|
});
|
|
232
|
-
return createWorkflowExecutor(
|
|
284
|
+
return createWorkflowExecutor({
|
|
285
|
+
runner,
|
|
286
|
+
automationPoller,
|
|
287
|
+
server,
|
|
288
|
+
logger: deps.logger,
|
|
289
|
+
manageProcessSignals: options.manageProcessSignals ?? true,
|
|
290
|
+
});
|
|
233
291
|
}
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtd29ya2Zsb3ctZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGQtd29ya2Zsb3ctZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFtUEEsc0RBd0NDO0FBRUQsc0RBbURDO0FBM1VELHdFQUFxRjtBQUNyRix5Q0FBc0M7QUFFdEMsaUdBQXNFO0FBQ3RFLHFGQUEyRDtBQUMzRCx1R0FBMkU7QUFDM0UsK0VBQTREO0FBQzVELHlHQUE4RTtBQUM5RSwySUFBOEc7QUFDOUcscUZBQTJEO0FBQzNELDJGQUFrRTtBQUNsRSx5Q0FPb0I7QUFDcEIsdUZBQTZEO0FBQzdELDBFQUFzRDtBQUN0RCxnRkFBc0Q7QUFDdEQsc0RBQThCO0FBQzlCLGtFQUF5QztBQUN6Qyx5SEFBNkY7QUFDN0YsNkVBQW9EO0FBQ3BELDJIQUE4RjtBQUM5RiwrRUFBcUQ7QUFFckQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUE4QzdCLDJGQUEyRjtBQUMzRiw2RkFBNkY7QUFDN0YsU0FBUyxpQkFBaUIsQ0FBQyxLQUF5QixFQUFFLFFBQWdCO0lBQ3BFLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDN0YsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsT0FBd0I7SUFDdkQsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsSUFBSSxvQ0FBeUIsQ0FBQztJQUM3RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUEsd0JBQW1CLEVBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSwrQkFBb0IsQ0FBQyxDQUFDO0lBRWxHLDZGQUE2RjtJQUM3Rix1RUFBdUU7SUFDdkUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFB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
|
|
292
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtd29ya2Zsb3ctZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGQtd29ya2Zsb3ctZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFpVEEsc0RBZ0RDO0FBRUQsc0RBMkRDO0FBelpELHdFQUFxRjtBQUNyRixtQ0FBb0M7QUFDcEMsMkJBQThCO0FBQzlCLHlDQUFzQztBQUV0QyxpR0FBc0U7QUFDdEUseUdBQThFO0FBQzlFLHFGQUEyRDtBQUMzRCx1R0FBMkU7QUFDM0UsK0VBQTREO0FBQzVELDZHQUFrRjtBQUNsRix5R0FBOEU7QUFDOUUsMklBQThHO0FBQzlHLHFGQUEyRDtBQUMzRCx1RkFBOEQ7QUFDOUQsMkZBQWtFO0FBQ2xFLHlDQVFvQjtBQUNwQix1RkFBNkQ7QUFDN0QsMEVBQXNEO0FBQ3RELGdGQUFzRDtBQUN0RCxzREFBOEI7QUFDOUIsa0VBQXlDO0FBQ3pDLHlIQUE2RjtBQUM3Riw2RUFBb0Q7QUFDcEQsMkhBQThGO0FBQzlGLCtFQUFxRDtBQUVyRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQWdEN0IsMkZBQTJGO0FBQzNGLDZGQUE2RjtBQUM3RixTQUFTLGlCQUFpQixDQUFDLEtBQXlCLEVBQUUsUUFBZ0I7SUFDcEUsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztBQUM3RixDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxPQUF3QjtJQUN2RCxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxJQUFJLG9DQUF5QixDQUFDO0lBQzdFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBQSx3QkFBbUIsRUFBQyxPQUFPLENBQUMsV0FBVyxJQUFJLCtCQUFvQixD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
|
package/dist/cli-core.js
CHANGED
|
@@ -188,6 +188,11 @@ function readEnvConfig(env, args) {
|
|
|
188
188
|
httpPort: parsePositiveIntEnv('HTTP_PORT', env.HTTP_PORT) ?? defaults_1.DEFAULT_HTTP_PORT,
|
|
189
189
|
forestServerUrl: env.FOREST_SERVER_URL,
|
|
190
190
|
pollingIntervalS: parsePositiveIntEnv('POLLING_INTERVAL_S', env.POLLING_INTERVAL_S),
|
|
191
|
+
// Zero accepted here alone: it is how an operator turns the sweep off, and an environment the
|
|
192
|
+
// orchestrator refuses would otherwise log an error on every cycle.
|
|
193
|
+
automationPollingIntervalS: env.AUTOMATION_POLL_INTERVAL_S?.trim() === '0'
|
|
194
|
+
? 0
|
|
195
|
+
: parsePositiveIntEnv('AUTOMATION_POLL_INTERVAL_S', env.AUTOMATION_POLL_INTERVAL_S),
|
|
191
196
|
stopTimeoutS: parsePositiveIntEnv('STOP_TIMEOUT_S', env.STOP_TIMEOUT_S),
|
|
192
197
|
stepTimeoutS: parsePositiveIntEnv('STEP_TIMEOUT_S', env.STEP_TIMEOUT_S),
|
|
193
198
|
aiInvokeTimeoutS: parsePositiveIntEnv('AI_INVOKE_TIMEOUT_S', env.AI_INVOKE_TIMEOUT_S),
|
|
@@ -240,6 +245,7 @@ Optional environment variables:
|
|
|
240
245
|
HTTP_PORT Default: ${defaults_1.DEFAULT_HTTP_PORT}
|
|
241
246
|
FOREST_SERVER_URL Default: ${defaults_1.DEFAULT_FOREST_SERVER_URL}
|
|
242
247
|
POLLING_INTERVAL_S Default: ${defaults_1.DEFAULT_POLLING_INTERVAL_S}
|
|
248
|
+
AUTOMATION_POLL_INTERVAL_S How often automated inboxes are swept, in seconds (default: ${defaults_1.DEFAULT_AUTOMATION_POLL_INTERVAL_S})
|
|
243
249
|
STOP_TIMEOUT_S Default: ${defaults_1.DEFAULT_STOP_TIMEOUT_S}
|
|
244
250
|
STEP_TIMEOUT_S Max duration of a step in seconds (default: ${defaults_1.DEFAULT_STEP_TIMEOUT_S})
|
|
245
251
|
AI_INVOKE_TIMEOUT_S Max duration of a single AI provider invocation in seconds (default: ${defaults_1.DEFAULT_AI_INVOKE_TIMEOUT_S})
|
|
@@ -331,4 +337,4 @@ async function runCli(argv, env, factories) {
|
|
|
331
337
|
throw error;
|
|
332
338
|
}
|
|
333
339
|
}
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjs7Ozs7QUFxSC9CLDhCQWtDQztBQUlELGdDQVNDO0FBNEZELHNDQWdEQztBQUVELDhCQWtEQztBQUVELG9DQUVDO0FBRUQsZ0NBdUJDO0FBRUQsd0JBd0RDO0FBdGJELDZCQUF3QjtBQUV4QiwrRUFBNEQ7QUFDNUQsNkVBQTBEO0FBTTFELHlDQVVvQjtBQUNwQixxQ0FBbUU7QUFDbkUsa0VBSW9DO0FBRXBDLE1BQU0sWUFBWSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUV2RSxTQUFTLG1CQUFtQixDQUFDLElBQVksRUFBRSxHQUF1QjtJQUNoRSxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRTNCLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksMkJBQWtCLENBQUMsR0FBRyxJQUFJLHFDQUFxQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsR0FBdUI7SUFDbEQsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUUzQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxH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
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjs7Ozs7QUFzSC9CLDhCQWtDQztBQUlELGdDQVNDO0FBNEZELHNDQXNEQztBQUVELDhCQW1EQztBQUVELG9DQUVDO0FBRUQsZ0NBdUJDO0FBRUQsd0JBd0RDO0FBOWJELDZCQUF3QjtBQUV4QiwrRUFBNEQ7QUFDNUQsNkVBQTBEO0FBTTFELHlDQVdvQjtBQUNwQixxQ0FBbUU7QUFDbkUsa0VBSW9DO0FBRXBDLE1BQU0sWUFBWSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUV2RSxTQUFTLG1CQUFtQixDQUFDLElBQVksRUFBRSxHQUF1QjtJQUNoRSxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRTNCLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksMkJBQWtCLENBQUMsR0FBRyxJQUFJLHFDQUFxQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDckIsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsR0FBdUI7SUFDbEQsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUUzQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxH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
|
package/dist/defaults.d.ts
CHANGED
|
@@ -2,10 +2,12 @@ import type { LoggerLevel } from './ports/logger-port';
|
|
|
2
2
|
export declare const DEFAULT_HTTP_PORT = 3400;
|
|
3
3
|
export declare const DEFAULT_FOREST_SERVER_URL = "https://api.forestadmin.com";
|
|
4
4
|
export declare const DEFAULT_POLLING_INTERVAL_S = 30;
|
|
5
|
+
export declare const DEFAULT_AUTOMATION_POLL_INTERVAL_S = 300;
|
|
5
6
|
export declare const DEFAULT_STEP_TIMEOUT_S: number;
|
|
6
7
|
export declare const DEFAULT_AI_INVOKE_TIMEOUT_S = 30;
|
|
7
8
|
export declare const DEFAULT_STOP_TIMEOUT_S = 30;
|
|
8
9
|
export declare const DEFAULT_MAX_CHAIN_DEPTH = 50;
|
|
10
|
+
export declare const MAX_CONCURRENT_RUNS = 10;
|
|
9
11
|
export declare const DEFAULT_SCHEMA_CACHE_TTL_S: number;
|
|
10
12
|
export declare const DEFAULT_LOGGER_LEVEL: LoggerLevel;
|
|
11
13
|
export declare const DEFAULT_OAUTH_EXPIRY_SKEW_S = 60;
|
package/dist/defaults.js
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_OAUTH_EXPIRY_SKEW_S = exports.DEFAULT_LOGGER_LEVEL = exports.DEFAULT_SCHEMA_CACHE_TTL_S = exports.DEFAULT_MAX_CHAIN_DEPTH = exports.DEFAULT_STOP_TIMEOUT_S = exports.DEFAULT_AI_INVOKE_TIMEOUT_S = exports.DEFAULT_STEP_TIMEOUT_S = exports.DEFAULT_POLLING_INTERVAL_S = exports.DEFAULT_FOREST_SERVER_URL = exports.DEFAULT_HTTP_PORT = void 0;
|
|
3
|
+
exports.DEFAULT_OAUTH_EXPIRY_SKEW_S = exports.DEFAULT_LOGGER_LEVEL = exports.DEFAULT_SCHEMA_CACHE_TTL_S = exports.MAX_CONCURRENT_RUNS = exports.DEFAULT_MAX_CHAIN_DEPTH = exports.DEFAULT_STOP_TIMEOUT_S = exports.DEFAULT_AI_INVOKE_TIMEOUT_S = exports.DEFAULT_STEP_TIMEOUT_S = exports.DEFAULT_AUTOMATION_POLL_INTERVAL_S = exports.DEFAULT_POLLING_INTERVAL_S = exports.DEFAULT_FOREST_SERVER_URL = exports.DEFAULT_HTTP_PORT = void 0;
|
|
4
4
|
exports.DEFAULT_HTTP_PORT = 3400;
|
|
5
5
|
exports.DEFAULT_FOREST_SERVER_URL = 'https://api.forestadmin.com';
|
|
6
6
|
exports.DEFAULT_POLLING_INTERVAL_S = 30;
|
|
7
|
+
// Automated inboxes are a background sweep, not a dispatch loop: each cycle costs a segment read
|
|
8
|
+
// on the customer's database, so it runs an order of magnitude slower than the run poll.
|
|
9
|
+
exports.DEFAULT_AUTOMATION_POLL_INTERVAL_S = 300;
|
|
10
|
+
// The orchestrator hands a run whose step has not reported for 7 minutes to another executor, and
|
|
11
|
+
// that budget also covers MCP loading and update-step retries: raising this can run a step twice.
|
|
7
12
|
exports.DEFAULT_STEP_TIMEOUT_S = 5 * 60;
|
|
8
13
|
exports.DEFAULT_AI_INVOKE_TIMEOUT_S = 30;
|
|
9
14
|
exports.DEFAULT_STOP_TIMEOUT_S = 30;
|
|
10
15
|
exports.DEFAULT_MAX_CHAIN_DEPTH = 50;
|
|
16
|
+
// The orchestrator refuses a `count` above 10 on `pending-run`: a higher value would fail every poll
|
|
17
|
+
// with a 400 and stop the executor from claiming anything.
|
|
18
|
+
exports.MAX_CONCURRENT_RUNS = 10;
|
|
11
19
|
exports.DEFAULT_SCHEMA_CACHE_TTL_S = 10 * 60;
|
|
12
20
|
exports.DEFAULT_LOGGER_LEVEL = 'Info';
|
|
13
21
|
// Refresh an OAuth access token this many seconds before it actually expires, so a token never
|
|
14
22
|
// goes stale mid-request between the skew check and the downstream MCP call.
|
|
15
23
|
exports.DEFAULT_OAUTH_EXPIRY_SKEW_S = 60;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxpQkFBaUIsR0FBRyxJQUFJLENBQUM7QUFDekIsUUFBQSx5QkFBeUIsR0FBRyw2QkFBNkIsQ0FBQztBQUMxRCxRQUFBLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUM3QyxpR0FBaUc7QUFDakcseUZBQXlGO0FBQzVFLFFBQUEsa0NBQWtDLEdBQUcsR0FBRyxDQUFDO0FBQ3RELGtHQUFrRztBQUNsRyxrR0FBa0c7QUFDckYsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ2hDLFFBQUEsMkJBQTJCLEdBQUcsRUFBRSxDQUFDO0FBQ2pDLFFBQUEsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBQzVCLFFBQUEsdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBQzFDLHFHQUFxRztBQUNyRywyREFBMkQ7QUFDOUMsUUFBQSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFDekIsUUFBQSwwQkFBMEIsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLFFBQUEsb0JBQW9CLEdBQWdCLE1BQU0sQ0FBQztBQUN4RCwrRkFBK0Y7QUFDL0YsNkVBQTZFO0FBQ2hFLFFBQUEsMkJBQTJCLEdBQUcsRUFBRSxDQUFDIn0=
|
package/dist/errors.d.ts
CHANGED
|
@@ -128,9 +128,21 @@ export declare class McpToolNotFoundError extends WorkflowExecutorError {
|
|
|
128
128
|
export declare class McpToolCallLimitError extends WorkflowExecutorError {
|
|
129
129
|
constructor(limit: number);
|
|
130
130
|
}
|
|
131
|
-
export declare function flattenAgentMessage(detail: string): string;
|
|
132
131
|
export declare class AgentPortError extends WorkflowExecutorError {
|
|
133
|
-
constructor(operation: string, cause: unknown);
|
|
132
|
+
constructor(operation: string, cause: unknown, agentMessage?: string);
|
|
133
|
+
}
|
|
134
|
+
export type SegmentReadFailureKind = 'forbidden' | 'unreachable' | 'overloaded' | 'failed';
|
|
135
|
+
export declare class SegmentReadError extends Error {
|
|
136
|
+
readonly cause: unknown;
|
|
137
|
+
readonly failure: SegmentReadFailureKind;
|
|
138
|
+
readonly httpStatus?: number;
|
|
139
|
+
readonly agentDetail?: string;
|
|
140
|
+
constructor(operation: string, cause: unknown, details: {
|
|
141
|
+
failure: SegmentReadFailureKind;
|
|
142
|
+
httpStatus?: number;
|
|
143
|
+
agentDetail?: string;
|
|
144
|
+
agentMessage?: string;
|
|
145
|
+
});
|
|
134
146
|
}
|
|
135
147
|
export declare class SchemaNotCachedError extends WorkflowExecutorError {
|
|
136
148
|
constructor(collectionName: string);
|
|
@@ -206,6 +218,22 @@ export declare class AgentProbeError extends Error {
|
|
|
206
218
|
cause?: unknown;
|
|
207
219
|
});
|
|
208
220
|
}
|
|
221
|
+
export declare class AutomatedInboxGoneError extends Error {
|
|
222
|
+
readonly inboxId: string;
|
|
223
|
+
readonly operation: string;
|
|
224
|
+
readonly detail?: string;
|
|
225
|
+
constructor(inboxId: string, operation: string, detail?: string);
|
|
226
|
+
}
|
|
227
|
+
export declare class UnreadableAutomatedInboxListingError extends Error {
|
|
228
|
+
readonly cause: z.ZodError;
|
|
229
|
+
constructor(forestServerUrl: string, zodError: z.ZodError);
|
|
230
|
+
}
|
|
231
|
+
export declare class SegmentRecordIdMissingError extends Error {
|
|
232
|
+
constructor(collectionName: string);
|
|
233
|
+
}
|
|
234
|
+
export declare class CompositeRecordIdMismatchError extends Error {
|
|
235
|
+
constructor(recordId: string, expectedParts: number);
|
|
236
|
+
}
|
|
209
237
|
export declare class UnsupportedStepTypeError extends WorkflowExecutorError {
|
|
210
238
|
constructor(stepType: string);
|
|
211
239
|
}
|
package/dist/errors.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
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.SourceRecordStepNotReachedError = exports.SourceRecordCollectionMismatchError = exports.SourceRecordMissingError = exports.InvalidPreRecordedArgsError = exports.InvalidPendingDataError = exports.PendingDataNotFoundError = exports.RunAlreadyInFlightError = exports.UserMismatchError = exports.RunNotFoundError = void 0;
|
|
3
|
+
exports.InvalidTokenEndpointError = exports.OAuthInvalidGrantError = 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.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.InvalidPreRecordedArgsError = exports.InvalidPendingDataError = exports.PendingDataNotFoundError = exports.RunAlreadyInFlightError = exports.UserMismatchError = exports.RunNotFoundError = exports.ExecutorEncryptionKeyMissingError = void 0;
|
|
5
5
|
exports.causeMessage = causeMessage;
|
|
6
6
|
exports.extractErrorMessage = extractErrorMessage;
|
|
7
7
|
exports.isAiConfigurationError = isAiConfigurationError;
|
|
8
|
-
exports.flattenAgentMessage = flattenAgentMessage;
|
|
9
|
-
const agent_client_1 = require("@forestadmin/agent-client");
|
|
10
8
|
function causeMessage(error) {
|
|
11
9
|
const { cause } = (error ?? {});
|
|
12
10
|
return cause instanceof Error ? cause.message : undefined;
|
|
@@ -326,34 +324,26 @@ class McpToolCallLimitError extends WorkflowExecutorError {
|
|
|
326
324
|
}
|
|
327
325
|
}
|
|
328
326
|
exports.McpToolCallLimitError = McpToolCallLimitError;
|
|
329
|
-
const AGENT_ERROR_MESSAGE_MAX_LENGTH = 500;
|
|
330
|
-
function isAgentHttpResponse(cause) {
|
|
331
|
-
return cause instanceof Error && typeof cause.status === 'number';
|
|
332
|
-
}
|
|
333
|
-
function flattenAgentMessage(detail) {
|
|
334
|
-
const flat = Array.from(detail.slice(0, AGENT_ERROR_MESSAGE_MAX_LENGTH * 4), char => char < ' ' || (char >= '\u007f' && char <= '\u009f') ? ' ' : char)
|
|
335
|
-
.join('')
|
|
336
|
-
.replace(/\s+/g, ' ')
|
|
337
|
-
.trim();
|
|
338
|
-
return flat.length > AGENT_ERROR_MESSAGE_MAX_LENGTH
|
|
339
|
-
? `${flat.slice(0, AGENT_ERROR_MESSAGE_MAX_LENGTH)}…`
|
|
340
|
-
: flat;
|
|
341
|
-
}
|
|
342
|
-
function agentErrorMessage(cause) {
|
|
343
|
-
if (!isAgentHttpResponse(cause) || cause.status < 500)
|
|
344
|
-
return undefined;
|
|
345
|
-
const detail = (0, agent_client_1.extractErrorDetail)(cause);
|
|
346
|
-
return detail ? flattenAgentMessage(detail) : undefined;
|
|
347
|
-
}
|
|
348
327
|
class AgentPortError extends WorkflowExecutorError {
|
|
349
|
-
constructor(operation, cause) {
|
|
328
|
+
constructor(operation, cause, agentMessage) {
|
|
350
329
|
const causeText = cause instanceof Error ? cause.message : String(cause);
|
|
351
|
-
const agentMessage = agentErrorMessage(cause);
|
|
352
330
|
super(`Agent port "${operation}" failed: ${causeText}${agentMessage ? ` | agent error: ${agentMessage}` : ''}`, 'An error occurred while accessing your data. Please try again.');
|
|
353
331
|
this.cause = cause;
|
|
354
332
|
}
|
|
355
333
|
}
|
|
356
334
|
exports.AgentPortError = AgentPortError;
|
|
335
|
+
class SegmentReadError extends Error {
|
|
336
|
+
constructor(operation, cause, details) {
|
|
337
|
+
const causeText = cause instanceof Error ? cause.message : String(cause);
|
|
338
|
+
super(`Agent port "${operation}" failed: ${causeText}${details.agentMessage ? ` | agent error: ${details.agentMessage}` : ''}`);
|
|
339
|
+
this.name = 'SegmentReadError';
|
|
340
|
+
this.cause = cause;
|
|
341
|
+
this.failure = details.failure;
|
|
342
|
+
this.httpStatus = details.httpStatus;
|
|
343
|
+
this.agentDetail = details.agentDetail;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
exports.SegmentReadError = SegmentReadError;
|
|
357
347
|
// Invariant guard: the agent port reads a collection's schema (for its primary keys) from the
|
|
358
348
|
// cache, which the executor must populate via getCollectionSchema before any record access.
|
|
359
349
|
class SchemaNotCachedError extends WorkflowExecutorError {
|
|
@@ -522,6 +512,46 @@ class AgentProbeError extends Error {
|
|
|
522
512
|
}
|
|
523
513
|
}
|
|
524
514
|
exports.AgentProbeError = AgentProbeError;
|
|
515
|
+
// Boundary error — the automation poller drops the inbox for this cycle; never reaches a step
|
|
516
|
+
// executor. The server answers 404 both for an inbox that is gone and for one it currently refuses
|
|
517
|
+
// to serve (disabled, or degraded), so the poller must not treat it as permanent: the next config
|
|
518
|
+
// poll is what decides whether the inbox comes back.
|
|
519
|
+
class AutomatedInboxGoneError extends Error {
|
|
520
|
+
constructor(inboxId, operation, detail) {
|
|
521
|
+
super(`Automated inbox "${inboxId}" is no longer served by the orchestrator`);
|
|
522
|
+
this.name = 'AutomatedInboxGoneError';
|
|
523
|
+
this.inboxId = inboxId;
|
|
524
|
+
this.operation = operation;
|
|
525
|
+
this.detail = detail;
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
exports.AutomatedInboxGoneError = AutomatedInboxGoneError;
|
|
529
|
+
// Boundary error — the orchestrator broke the listing's wire contract; ends the poll cycle, never
|
|
530
|
+
// reaches a step executor.
|
|
531
|
+
class UnreadableAutomatedInboxListingError extends Error {
|
|
532
|
+
constructor(forestServerUrl, zodError) {
|
|
533
|
+
super(`Unreadable automated inbox listing from ${forestServerUrl}: ${zodError.message}`);
|
|
534
|
+
this.name = 'UnreadableAutomatedInboxListingError';
|
|
535
|
+
this.cause = zodError;
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
exports.UnreadableAutomatedInboxListingError = UnreadableAutomatedInboxListingError;
|
|
539
|
+
class SegmentRecordIdMissingError extends Error {
|
|
540
|
+
constructor(collectionName) {
|
|
541
|
+
super(`The agent returned a "${collectionName}" record with no id while reading an automated ` +
|
|
542
|
+
`inbox's segment`);
|
|
543
|
+
this.name = 'SegmentRecordIdMissingError';
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
exports.SegmentRecordIdMissingError = SegmentRecordIdMissingError;
|
|
547
|
+
class CompositeRecordIdMismatchError extends Error {
|
|
548
|
+
constructor(recordId, expectedParts) {
|
|
549
|
+
super(`Record id "${recordId}" does not split into the ${expectedParts} primary key parts the ` +
|
|
550
|
+
`collection declares`);
|
|
551
|
+
this.name = 'CompositeRecordIdMismatchError';
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
exports.CompositeRecordIdMismatchError = CompositeRecordIdMismatchError;
|
|
525
555
|
class UnsupportedStepTypeError extends WorkflowExecutorError {
|
|
526
556
|
constructor(stepType) {
|
|
527
557
|
super(`Step type "${stepType}" is not supported by the executor`, 'This step type is not yet supported.');
|
|
@@ -572,4 +602,4 @@ class MalformedRunError extends WorkflowExecutorError {
|
|
|
572
602
|
}
|
|
573
603
|
}
|
|
574
604
|
exports.MalformedRunError = MalformedRunError;
|
|
575
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBU0Esb0NBSUM7QUFJRCxrREFZQztBQTRURCx3REFNQztBQW9GRCxrREFXQztBQXZiRCw0REFBK0Q7QUFFL0QsU0FBZ0IsWUFBWSxDQUFDLEtBQWM7SUFDekMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBd0IsQ0FBQztJQUV2RCxPQUFPLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsZ0dBQWdHO0FBQ2hHLHNHQUFzRztBQUN0RyxTQUFnQixtQkFBbUIsQ0FBQyxHQUFhO0lBQy9DLElBQUksR0FBRyxLQUFLLFNBQVM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUN4QyxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksS0FBSyxDQUFDO1FBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsSUFBSSxHQUFHLENBQUMsT0FBTztRQUFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQztJQUVwQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBMkIsQ0FBQztJQUMvQyxJQUFJLE1BQU0sWUFBWSxLQUFLLElBQUksTUFBTSxDQUFDLE9BQU87UUFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFFckUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQTBCLENBQUM7SUFDN0MsSUFBSSxLQUFLLFlBQVksS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPO1FBQUUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBRWxFLE9BQU8sR0FBRyxDQUFDLElBQUksSUFBSSxlQUFlLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQXNCLHFCQUFzQixTQUFRLEtBQUs7SUFZdkQs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
|
|
605
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBTUEsb0NBSUM7QUFJRCxrREFZQztBQTRURCx3REFNQztBQXRWRCxTQUFnQixZQUFZLENBQUMsS0FBYztJQUN6QyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUF3QixDQUFDO0lBRXZELE9BQU8sS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzVELENBQUM7QUFFRCxnR0FBZ0c7QUFDaEcsc0dBQXNHO0FBQ3RHLFNBQWdCLG1CQUFtQixDQUFDLEdBQWE7SUFDL0MsSUFBSSxHQUFHLEtBQUssU0FBUztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3hDLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxLQUFLLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxJQUFJLEdBQUcsQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBRXBDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUEyQixDQUFDO0lBQy9DLElBQUksTUFBTSxZQUFZLEtBQUssSUFBSSxNQUFNLENBQUMsT0FBTztRQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUVyRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBMEIsQ0FBQztJQUM3QyxJQUFJLEtBQUssWUFBWSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU87UUFBRSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFFbEUsT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLGVBQWUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBc0IscUJBQXNCLFNBQVEsS0FBSztJQVl2RCxZQUFZLE9BQWUsRUFBRSxXQUFvQjtRQUMv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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const zod_1 = require("zod");
|
|
4
|
-
const
|
|
4
|
+
const record_id_1 = require("../record-id");
|
|
5
5
|
// Per-step-type schemas for the userConfirmation payload sent by the front via
|
|
6
6
|
// POST /runs/:runId/trigger. Validated into `execution.userConfirmation`; schemas
|
|
7
7
|
// use .strict() to reject unknown fields.
|
|
@@ -56,7 +56,7 @@ const loadRelatedRecordPatchSchema = zod_1.z
|
|
|
56
56
|
selectedRecordId: zod_1.z
|
|
57
57
|
.string()
|
|
58
58
|
.min(1)
|
|
59
|
-
.transform(
|
|
59
|
+
.transform(record_id_1.deserializeRecordId)
|
|
60
60
|
.pipe(zod_1.z.array(zod_1.z.string().min(1)))
|
|
61
61
|
.optional(),
|
|
62
62
|
})
|
|
@@ -88,4 +88,4 @@ const patchBodySchemas = {
|
|
|
88
88
|
condition: conditionPatchSchema,
|
|
89
89
|
};
|
|
90
90
|
exports.default = patchBodySchemas;
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy1kYXRhLXZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cC9wZW5kaW5nLWRhdGEtdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUF3QjtBQUV4Qiw0Q0FBbUQ7QUFFbkQsK0VBQStFO0FBQy9FLGtGQUFrRjtBQUNsRiwwQ0FBMEM7QUFFMUMsTUFBTSx1QkFBdUIsR0FBRyxPQUFDO0tBQzlCLE1BQU0sQ0FBQztJQUNOLGFBQWEsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0lBQzFCLEtBQUssRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzlCLENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQztBQUVaLE1BQU0sd0JBQXdCLEdBQUcsT0FBQztLQUMvQixNQUFNLENBQUM7SUFDTixhQUFhLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUMxQixnRkFBZ0Y7SUFDaEYsZ0ZBQWdGO0lBQ2hGLHNFQUFzRTtJQUN0RSxZQUFZLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwQyw0RUFBNEU7SUFDNUUsMkZBQTJGO0lBQzNGLGVBQWUsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0QsOEZBQThGO0lBQzlGLDRGQUE0RjtJQUM1RixpQkFBaUIsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdEUsOEZBQThGO0lBQzlGLGlGQUFpRjtJQUNqRixlQUFlLEVBQUUsT0FBQztTQUNmLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxF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
|