@forestadmin/workflow-executor 1.2.0 → 1.4.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/console-logger.d.ts +2 -6
- package/dist/adapters/console-logger.js +21 -12
- package/dist/adapters/forest-server-workflow-port.d.ts +3 -0
- package/dist/adapters/forest-server-workflow-port.js +8 -4
- package/dist/adapters/forestadmin-client-activity-log-port.js +4 -4
- package/dist/adapters/pretty-logger.d.ts +2 -8
- package/dist/adapters/pretty-logger.js +35 -28
- package/dist/adapters/with-retry.js +2 -2
- package/dist/build-workflow-executor.d.ts +2 -1
- package/dist/build-workflow-executor.js +8 -8
- package/dist/cli-core.d.ts +2 -2
- package/dist/cli-core.js +22 -9
- package/dist/defaults.d.ts +2 -0
- package/dist/defaults.js +3 -2
- package/dist/executors/base-step-executor.js +8 -8
- package/dist/executors/load-related-record-step-executor.js +29 -15
- package/dist/executors/mcp-step-executor.js +3 -3
- package/dist/executors/step-executor-factory.js +2 -2
- package/dist/http/bearer-claims.d.ts +1 -1
- package/dist/http/bearer-claims.js +5 -4
- package/dist/http/executor-http-server.js +6 -7
- package/dist/ports/logger-port.d.ts +2 -5
- package/dist/ports/workflow-port.d.ts +3 -0
- package/dist/remote-tool-fetcher.js +3 -3
- package/dist/runner.d.ts +2 -0
- package/dist/runner.js +41 -22
- package/dist/stores/database-store.js +3 -3
- package/dist/types/step-execution-data.d.ts +3 -0
- package/package.json +1 -1
|
@@ -13,7 +13,7 @@ class BaseStepExecutor {
|
|
|
13
13
|
}
|
|
14
14
|
async execute() {
|
|
15
15
|
const { baseRecordRef } = this.context;
|
|
16
|
-
this.context.logger
|
|
16
|
+
this.context.logger('Info', 'Step execution started', {
|
|
17
17
|
...this.logCtx,
|
|
18
18
|
collection: baseRecordRef.collectionName,
|
|
19
19
|
});
|
|
@@ -22,14 +22,14 @@ class BaseStepExecutor {
|
|
|
22
22
|
// hit or uncertain-state error short-circuits before any side effect.
|
|
23
23
|
const cached = await this.checkIdempotency();
|
|
24
24
|
if (cached) {
|
|
25
|
-
this.context.logger
|
|
25
|
+
this.context.logger('Info', 'Step execution completed (replayed from cache)', {
|
|
26
26
|
...this.logCtx,
|
|
27
27
|
status: cached.stepOutcome.status,
|
|
28
28
|
});
|
|
29
29
|
return cached;
|
|
30
30
|
}
|
|
31
31
|
const result = await this.runWithTimeout();
|
|
32
|
-
this.context.logger
|
|
32
|
+
this.context.logger('Info', 'Step execution completed', {
|
|
33
33
|
...this.logCtx,
|
|
34
34
|
status: result.stepOutcome.status,
|
|
35
35
|
});
|
|
@@ -37,14 +37,14 @@ class BaseStepExecutor {
|
|
|
37
37
|
}
|
|
38
38
|
catch (error) {
|
|
39
39
|
if (error instanceof errors_1.StepTimeoutError) {
|
|
40
|
-
this.context.logger
|
|
40
|
+
this.context.logger('Error', error.message, {
|
|
41
41
|
...this.logCtx,
|
|
42
42
|
timeoutS: this.context.stepTimeoutS,
|
|
43
43
|
});
|
|
44
44
|
return this.buildOutcomeResult({ status: 'error', error: error.userMessage });
|
|
45
45
|
}
|
|
46
46
|
if (error instanceof errors_1.WorkflowExecutorError) {
|
|
47
|
-
this.context.logger
|
|
47
|
+
this.context.logger('Error', error.message, {
|
|
48
48
|
...this.logCtx,
|
|
49
49
|
cause: (0, errors_1.extractErrorMessage)(error.cause),
|
|
50
50
|
stack: error.cause instanceof Error ? error.cause.stack : undefined,
|
|
@@ -52,7 +52,7 @@ class BaseStepExecutor {
|
|
|
52
52
|
return this.buildOutcomeResult({ status: 'error', error: error.userMessage });
|
|
53
53
|
}
|
|
54
54
|
const { cause: errorCause } = error;
|
|
55
|
-
this.context.logger
|
|
55
|
+
this.context.logger('Error', 'Unexpected error during step execution', {
|
|
56
56
|
...this.logCtx,
|
|
57
57
|
error: (0, errors_1.extractErrorMessage)(error),
|
|
58
58
|
cause: (0, errors_1.extractErrorMessage)(errorCause),
|
|
@@ -80,7 +80,7 @@ class BaseStepExecutor {
|
|
|
80
80
|
execPromise.catch(err => {
|
|
81
81
|
if (!hasTimeoutFired)
|
|
82
82
|
return;
|
|
83
|
-
this.context.logger
|
|
83
|
+
this.context.logger('Warn', 'Step work rejected after timeout — result discarded', {
|
|
84
84
|
...this.logCtx,
|
|
85
85
|
error: (0, errors_1.extractErrorMessage)(err),
|
|
86
86
|
});
|
|
@@ -264,4 +264,4 @@ class BaseStepExecutor {
|
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
exports.default = BaseStepExecutor;
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zdGVwLWV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9iYXNlLXN0ZXAtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFlQSxvREFBc0Q7QUFFdEQsc0NBU21CO0FBQ25CLDhGQUErRDtBQUMvRCwwRkFBZ0U7QUFFaEUsTUFBOEIsZ0JBQWdCO0lBSzVDLFlBQVksT0FBZ0M7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2pELEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDZCxVQUFVLEVBQUUsYUFBYSxDQUFDLGNBQWM7U0FDekMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDO1lBQ0gseUZBQXlGO1lBQ3pGLHNFQUFzRTtZQUN0RSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRTdDLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxFQUFFO29CQUN6RSxHQUFHLElBQUksQ0FBQyxNQUFNO29CQUNkLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU07aUJBQ2xDLENBQUMsQ0FBQztnQkFFSCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFO2dCQUNuRCxHQUFHLElBQUksQ0FB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
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zdGVwLWV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9iYXNlLXN0ZXAtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFlQSxvREFBc0Q7QUFFdEQsc0NBU21CO0FBQ25CLDhGQUErRDtBQUMvRCwwRkFBZ0U7QUFFaEUsTUFBOEIsZ0JBQWdCO0lBSzVDLFlBQVksT0FBZ0M7UUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLHdCQUF3QixFQUFFO1lBQ3BELEdBQUcsSUFBSSxDQUFDLE1BQU07WUFDZCxVQUFVLEVBQUUsYUFBYSxDQUFDLGNBQWM7U0FDekMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDO1lBQ0gseUZBQXlGO1lBQ3pGLHNFQUFzRTtZQUN0RSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRTdDLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGdEQUFnRCxFQUFFO29CQUM1RSxHQUFHLElBQUksQ0FBQyxNQUFNO29CQUNkLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU07aUJBQ2xDLENBQUMsQ0FBQztnQkFFSCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLDBCQUEwQixFQUFFO2dCQUN0RCxHQUFHLElBQUksQ0FB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
|
|
@@ -57,7 +57,7 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
57
57
|
}
|
|
58
58
|
const schema = await this.getCollectionSchema(execution.selectedRecordRef.collectionName);
|
|
59
59
|
const target = await this.buildTarget(schema, fieldName, execution.selectedRecordRef);
|
|
60
|
-
const { availableRecordIds, suggestedRecord } = await this.collectCandidateIds(target);
|
|
60
|
+
const { availableRecordIds, suggestedRecord, suggestedFields, fieldsReasoning, reasoning } = await this.collectCandidateIds(target);
|
|
61
61
|
await this.context.runStore.saveStepExecution(this.context.runId, {
|
|
62
62
|
...execution,
|
|
63
63
|
userConfirmation: undefined,
|
|
@@ -66,6 +66,9 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
66
66
|
suggestedField: { name: target.name, displayName: target.displayName },
|
|
67
67
|
availableRecordIds,
|
|
68
68
|
suggestedRecord,
|
|
69
|
+
suggestedFields,
|
|
70
|
+
fieldsReasoning,
|
|
71
|
+
reasoning,
|
|
69
72
|
},
|
|
70
73
|
});
|
|
71
74
|
return this.buildOutcomeResult({ status: 'awaiting-input' });
|
|
@@ -182,7 +185,7 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
182
185
|
// propagate directly — the relation-load hasn't run yet, so the step can be safely retried.
|
|
183
186
|
async saveAndAwaitInput(target, sourceSchema) {
|
|
184
187
|
const { selectedRecordRef, name, displayName } = target;
|
|
185
|
-
const { availableRecordIds, suggestedRecord } = await this.collectCandidateIds(target);
|
|
188
|
+
const { availableRecordIds, suggestedRecord, suggestedFields, fieldsReasoning, reasoning } = await this.collectCandidateIds(target);
|
|
186
189
|
const availableFields = sourceSchema.fields
|
|
187
190
|
.filter(isFollowableRelation)
|
|
188
191
|
.map(f => ({ name: f.fieldName, displayName: f.displayName }));
|
|
@@ -194,6 +197,9 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
194
197
|
suggestedField: { name, displayName },
|
|
195
198
|
availableRecordIds,
|
|
196
199
|
suggestedRecord,
|
|
200
|
+
suggestedFields,
|
|
201
|
+
fieldsReasoning,
|
|
202
|
+
reasoning,
|
|
197
203
|
},
|
|
198
204
|
selectedRecordRef,
|
|
199
205
|
});
|
|
@@ -206,7 +212,7 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
206
212
|
? { availableRecordIds: [candidate], suggestedRecord: candidate }
|
|
207
213
|
: { availableRecordIds: [] };
|
|
208
214
|
}
|
|
209
|
-
const { relatedData, bestIndex, relatedSchema } = await this.selectBestFromRelatedData(target, 50);
|
|
215
|
+
const { relatedData, bestIndex, relatedSchema, suggestedFields, fieldsReasoning, reasoning } = await this.selectBestFromRelatedData(target, 50);
|
|
210
216
|
if (relatedData.length === 0) {
|
|
211
217
|
return { availableRecordIds: [] };
|
|
212
218
|
}
|
|
@@ -219,7 +225,10 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
219
225
|
});
|
|
220
226
|
return {
|
|
221
227
|
availableRecordIds: relatedData.map(toCandidate),
|
|
228
|
+
suggestedFields,
|
|
229
|
+
fieldsReasoning,
|
|
222
230
|
suggestedRecord: toCandidate(relatedData[bestIndex]),
|
|
231
|
+
reasoning,
|
|
223
232
|
};
|
|
224
233
|
}
|
|
225
234
|
extractReferenceFieldValue(values, referenceField) {
|
|
@@ -323,9 +332,9 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
323
332
|
relatedSchema,
|
|
324
333
|
};
|
|
325
334
|
}
|
|
326
|
-
const suggestedFields = await this.selectRelevantFields(relatedSchema, this.context.stepDefinition.prompt);
|
|
327
|
-
const bestIndex = await this.selectBestRecordIndex(relatedData, suggestedFields, this.context.stepDefinition.prompt);
|
|
328
|
-
return { relatedData, bestIndex, suggestedFields, relatedSchema };
|
|
335
|
+
const { fieldNames: suggestedFields, reasoning: fieldsReasoning } = await this.selectRelevantFields(relatedSchema, this.context.stepDefinition.prompt);
|
|
336
|
+
const { recordIndex: bestIndex, reasoning } = await this.selectBestRecordIndex(relatedData, suggestedFields, this.context.stepDefinition.prompt);
|
|
337
|
+
return { relatedData, bestIndex, suggestedFields, fieldsReasoning, reasoning, relatedSchema };
|
|
329
338
|
}
|
|
330
339
|
/** HasMany + fully automated execution: fetch top 50, then AI calls to select the best record. */
|
|
331
340
|
async selectBestRelatedRecord(target) {
|
|
@@ -404,8 +413,9 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
404
413
|
/** AI call 1 for HasMany: selects the most relevant fields to compare candidates. */
|
|
405
414
|
async selectRelevantFields(schema, prompt) {
|
|
406
415
|
const nonRelationFields = schema.fields.filter(f => !f.isRelationship);
|
|
407
|
-
if (nonRelationFields.length === 0)
|
|
408
|
-
return [];
|
|
416
|
+
if (nonRelationFields.length === 0) {
|
|
417
|
+
return { fieldNames: [], reasoning: 'No field is available' };
|
|
418
|
+
}
|
|
409
419
|
// Use displayName in both the enum and the prompt for consistency — the AI sees human-readable
|
|
410
420
|
// names throughout. Results are mapped back to technical fieldNames before returning.
|
|
411
421
|
const displayNames = nonRelationFields.map(f => f.displayName);
|
|
@@ -413,6 +423,7 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
413
423
|
name: 'select-fields',
|
|
414
424
|
description: 'Select the most relevant fields to identify the right record.',
|
|
415
425
|
schema: zod_1.z.object({
|
|
426
|
+
reasoning: zod_1.z.string().describe('Why these fields seems relevant to choose the record'),
|
|
416
427
|
fieldNames: zod_1.z
|
|
417
428
|
.array(zod_1.z.enum(displayNames))
|
|
418
429
|
.min(1)
|
|
@@ -423,12 +434,13 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
423
434
|
});
|
|
424
435
|
const messages = [
|
|
425
436
|
this.buildContextMessage(),
|
|
437
|
+
...(await this.buildPreviousStepsMessages()),
|
|
426
438
|
new ai_proxy_1.SystemMessage(SELECT_FIELDS_SYSTEM_PROMPT),
|
|
427
439
|
new ai_proxy_1.SystemMessage(`The related records are from the "${schema.collectionDisplayName}" collection. ` +
|
|
428
440
|
`Available fields: ${nonRelationFields.map(f => f.displayName).join(', ')}.`),
|
|
429
441
|
new ai_proxy_1.HumanMessage(`**Request**: ${prompt ?? 'Select the most relevant record.'}`),
|
|
430
442
|
];
|
|
431
|
-
const { fieldNames: selectedDisplayNames } = await this.invokeWithTool(messages, tool);
|
|
443
|
+
const { fieldNames: selectedDisplayNames, reasoning } = await this.invokeWithTool(messages, tool);
|
|
432
444
|
// Zod's .min(1) shapes the prompt but is NOT validated against the AI response.
|
|
433
445
|
// Guard explicitly to avoid silently passing all fields to selectBestRecordIndex.
|
|
434
446
|
if (selectedDisplayNames.length === 0) {
|
|
@@ -436,9 +448,10 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
436
448
|
}
|
|
437
449
|
// Map display names back to technical field names — values in RecordData are keyed by fieldName.
|
|
438
450
|
// .max() shapes the prompt only (not validated against the response), so cap explicitly.
|
|
439
|
-
|
|
451
|
+
const fieldNames = selectedDisplayNames
|
|
440
452
|
.slice(0, MAX_RELEVANT_FIELDS)
|
|
441
453
|
.map(dn => nonRelationFields.find(f => f.displayName === dn)?.fieldName ?? dn);
|
|
454
|
+
return { fieldNames, reasoning };
|
|
442
455
|
}
|
|
443
456
|
/** AI call 2 for HasMany: selects the best record by index from the candidate list. */
|
|
444
457
|
async selectBestRecordIndex(candidates, fieldNames, prompt) {
|
|
@@ -462,7 +475,7 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
462
475
|
}
|
|
463
476
|
const shown = lines.length;
|
|
464
477
|
if (shown < candidates.length) {
|
|
465
|
-
this.context.logger
|
|
478
|
+
this.context.logger('Warn', 'load-related-record: candidate list truncated for AI prompt', {
|
|
466
479
|
...this.logCtx,
|
|
467
480
|
shown,
|
|
468
481
|
total: candidates.length,
|
|
@@ -473,29 +486,30 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
473
486
|
name: 'select-record-by-content',
|
|
474
487
|
description: 'Select the most relevant related record by its index.',
|
|
475
488
|
schema: zod_1.z.object({
|
|
489
|
+
reasoning: zod_1.z.string().describe('Why this record was chosen'),
|
|
476
490
|
recordIndex: zod_1.z
|
|
477
491
|
.number()
|
|
478
492
|
.int()
|
|
479
493
|
.min(0)
|
|
480
494
|
.max(maxIndex)
|
|
481
495
|
.describe(`0-based index of the most relevant record (0 to ${maxIndex})`),
|
|
482
|
-
reasoning: zod_1.z.string().describe('Why this record was chosen'),
|
|
483
496
|
}),
|
|
484
497
|
func: undefined,
|
|
485
498
|
});
|
|
486
499
|
const messages = [
|
|
487
500
|
this.buildContextMessage(),
|
|
501
|
+
...(await this.buildPreviousStepsMessages()),
|
|
488
502
|
new ai_proxy_1.SystemMessage(SELECT_RECORD_SYSTEM_PROMPT),
|
|
489
503
|
new ai_proxy_1.SystemMessage(`Candidates:\n${lines.join('\n')}`),
|
|
490
504
|
new ai_proxy_1.HumanMessage(`**Request**: ${prompt ?? 'Select the most relevant record.'}`),
|
|
491
505
|
];
|
|
492
|
-
const { recordIndex } = await this.invokeWithTool(messages, tool);
|
|
506
|
+
const { recordIndex, reasoning } = await this.invokeWithTool(messages, tool);
|
|
493
507
|
// NOTE: The Zod schema's .min(0).max(maxIndex) shapes the tool prompt only — it is NOT
|
|
494
508
|
// validated against the AI response. This guard is the sole runtime enforcement.
|
|
495
509
|
if (!Number.isInteger(recordIndex) || recordIndex < 0 || recordIndex > maxIndex) {
|
|
496
510
|
throw new errors_1.InvalidAIResponseError(`AI selected record index ${recordIndex} which is out of range (0-${maxIndex}) or not an integer`);
|
|
497
511
|
}
|
|
498
|
-
return recordIndex;
|
|
512
|
+
return { recordIndex, reasoning };
|
|
499
513
|
}
|
|
500
514
|
toRecordRef(data) {
|
|
501
515
|
return {
|
|
@@ -506,4 +520,4 @@ class LoadRelatedRecordStepExecutor extends record_step_executor_1.default {
|
|
|
506
520
|
}
|
|
507
521
|
}
|
|
508
522
|
exports.default = LoadRelatedRecordStepExecutor;
|
|
509
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1yZWxhdGVkLXJlY29yZC1zdGVwLWV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9sb2FkLXJlbGF0ZWQtcmVjb3JkLXN0ZXAtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFjQSxvREFBMkY7QUFDM0YsNkJBQXdCO0FBRXhCLHNDQU9tQjtBQUNuQixrRkFBd0Q7QUFDeEQsd0VBQXVFO0FBRXZFLE1BQU0sNkJBQTZCLEdBQUc7Ozs7Ozs7O3NGQVFnRCxDQUFDO0FBRXZGLE1BQU0sMkJBQTJCLEdBQUc7bUdBQytELENBQUM7QUFFcEcsTUFBTSwyQkFBMkIsR0FBRzt5RkFDcUQsQ0FBQztBQUUxRiwwRkFBMEY7QUFDMUYsZ0dBQWdHO0FBQ2hHLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUMsZ0RBQWdEO0FBQ25GLE1BQU0sdUJBQXVCLEdBQUcsS0FBTSxDQUFDLENBQUMseURBQXlEO0FBRWpHLFNBQVMsZUFBZSxDQUFDLEtBQWM7SUFDckMsTUFBTSxVQUFVLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25GLElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxzQkFBc0I7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUU5RCxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDO0FBQ3ZFLENBQUM7QUFpQkQsbUdBQW1HO0FBQ25HLG9HQUFvRztBQUNwRyxTQUFTLG9CQUFvQixDQUFDLEtBQWtCO0lBQzlDLE9BQU8sS0FBSyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixJQUFJ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
|
|
523
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1yZWxhdGVkLXJlY29yZC1zdGVwLWV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9sb2FkLXJlbGF0ZWQtcmVjb3JkLXN0ZXAtZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFjQSxvREFBMkY7QUFDM0YsNkJBQXdCO0FBRXhCLHNDQU9tQjtBQUNuQixrRkFBd0Q7QUFDeEQsd0VBQXVFO0FBRXZFLE1BQU0sNkJBQTZCLEdBQUc7Ozs7Ozs7O3NGQVFnRCxDQUFDO0FBRXZGLE1BQU0sMkJBQTJCLEdBQUc7bUdBQytELENBQUM7QUFFcEcsTUFBTSwyQkFBMkIsR0FBRzt5RkFDcUQsQ0FBQztBQUUxRiwwRkFBMEY7QUFDMUYsZ0dBQWdHO0FBQ2hHLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUMsZ0RBQWdEO0FBQ25GLE1BQU0sdUJBQXVCLEdBQUcsS0FBTSxDQUFDLENBQUMseURBQXlEO0FBRWpHLFNBQVMsZUFBZSxDQUFDLEtBQWM7SUFDckMsTUFBTSxVQUFVLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25GLElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxzQkFBc0I7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUU5RCxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDO0FBQ3ZFLENBQUM7QUFpQkQsbUdBQW1HO0FBQ25HLG9HQUFvRztBQUNwRyxTQUFTLG9CQUFvQixDQUFDLEtBQWtCO0lBQzlDLE9BQU8sS0FBSyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixJQUFJ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
|
|
@@ -115,7 +115,7 @@ class McpStepExecutor extends base_step_executor_1.default {
|
|
|
115
115
|
formattedResponse = await this.formatToolResult(target, toolResult);
|
|
116
116
|
}
|
|
117
117
|
catch (cause) {
|
|
118
|
-
this.context.logger
|
|
118
|
+
this.context.logger('Error', 'Failed to format MCP tool result, persisting raw result without summary', {
|
|
119
119
|
runId: this.context.runId,
|
|
120
120
|
stepIndex: this.context.stepIndex,
|
|
121
121
|
toolName: target.name,
|
|
@@ -130,7 +130,7 @@ class McpStepExecutor extends base_step_executor_1.default {
|
|
|
130
130
|
});
|
|
131
131
|
}
|
|
132
132
|
catch (cause) {
|
|
133
|
-
this.context.logger
|
|
133
|
+
this.context.logger('Error', 'MCP tool result formatted but enriched state could not be persisted', {
|
|
134
134
|
runId: this.context.runId,
|
|
135
135
|
stepIndex: this.context.stepIndex,
|
|
136
136
|
toolName: target.name,
|
|
@@ -185,4 +185,4 @@ class McpStepExecutor extends base_step_executor_1.default {
|
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
exports.default = McpStepExecutor;
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWNwLXN0ZXAtZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0b3JzL21jcC1zdGVwLWV4ZWN1dG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsb0RBQTJGO0FBQzNGLDZCQUF3QjtBQUV4QixzQ0FLbUI7QUFDbkIsOEVBQW9EO0FBQ3BELHdFQUF1RTtBQUV2RSxNQUFNLHNCQUFzQixHQUFHOzs7OzsrRUFLZ0QsQ0FBQztBQUVoRixNQUFxQixlQUFnQixTQUFRLDRCQUFtQztJQUs5RSxZQUNFLE9BQTRDLEVBQzVDLFdBQWtDLEVBQ2xDLGFBQXNCO1FBRXRCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFa0Isa0JBQWtCO1FBQ25DLE9BQU87WUFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVztZQUNwRCxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxPQUc1QjtRQUNDLE9BQU87WUFDTCxXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTTtnQkFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztnQkFDakMsR0FBRyxPQUFPO2FBQ1g7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVrQixLQUFLLENBQUMsZ0JBQWdCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUF1QixLQUFLLENBQUMsQ0FBQztRQUU5RSxJQUFJLFFBQVEsRUFBRSxnQkFBZ0IsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxPQUFPLElBQUks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
|
|
@@ -43,7 +43,7 @@ class StepExecutorFactory {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
catch (error) {
|
|
46
|
-
contextConfig.logger
|
|
46
|
+
contextConfig.logger('Error', 'Step execution failed unexpectedly', {
|
|
47
47
|
runId: step.runId,
|
|
48
48
|
stepId: step.stepId,
|
|
49
49
|
stepIndex: step.stepIndex,
|
|
@@ -96,4 +96,4 @@ class StepExecutorFactory {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
exports.default = StepExecutorFactory;
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1leGVjdXRvci1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dG9ycy9zdGVwLWV4ZWN1dG9yLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUF3QkEsc0NBS21CO0FBQ25CLHlFQUFnRDtBQUNoRCxrRUFBeUM7QUFDekMsc0VBQTRDO0FBQzVDLHdGQUE4RDtBQUM5RCxzRkFBNEQ7QUFDNUQsNEdBQWdGO0FBQ2hGLDRFQUFrRDtBQUNsRCw0RkFBaUU7QUFDakUsZ0hBQW9GO0FBQ3BGLGdHQUFxRTtBQUNyRSx3RUFBOEQ7QUFDOUQsa0VBQXdFO0FBYXhFLE1BQXFCLG1CQUFtQjtJQUN0QyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDakIsSUFBNEIsRUFDNUIsYUFBZ0MsRUFDaEMsZUFBZ0MsRUFDaEMsZ0JBQTBFLEVBQzFFLG1CQUE2QjtRQUU3QixJQUFJLENBQUM7WUFDSCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQzlDLElBQUksRUFDSixhQUFhLEVBQ2IsZUFBZSxFQUNmLG1CQUFtQixDQUNwQixDQUFDO1lBRUYsUUFBUSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNqQyxLQUFLLDBCQUFRLENBQUMsU0FBUztvQkFDckIsT0FBTyxJQUFJLGlDQUFxQixDQUFDLE9BQW9ELENBQUMsQ0FBQztnQkFDekYsS0FBSywwQkFBUSxDQUFDLFVBQVU7b0JBQ3RCLE9BQU8sSUFBSSxtQ0FBc0IsQ0FBQyxPQUFxRCxDQUFDLENBQUM7Z0JBQzNGLEtBQUssMEJBQVEsQ0FBQyxZQUFZO29CQUN4QixPQUFPLElBQUkscUNBQXdCLENBQ2pDLE9BQXVELENBQ3hELENBQUM7Z0JBQ0osS0FBSywwQkFBUSxDQUFDLGFBQWE7b0JBQ3pCLE9BQU8sSUFBSSw2Q0FBK0IsQ0FDeEMsT0FBd0QsQ0FDekQsQ0FBQztnQkFDSixLQUFLLDBCQUFRLENBQUMs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
|
|
@@ -5,7 +5,8 @@ const zod_1 = require("zod");
|
|
|
5
5
|
// Claims we require from the decoded bearer JWT payload (ctx.state.user). Non-strict on purpose:
|
|
6
6
|
// jsonwebtoken adds standard claims (iat/exp) and Forest may send extra ones — strict would reject
|
|
7
7
|
// every real token. Only `id` is consumed downstream (handleTrigger + hasRunAccess → ?userId=).
|
|
8
|
-
//
|
|
9
|
-
// previous Number.isFinite
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
// `z.coerce` because Forest sends the user id as a numeric string ("245"); coercing then validating
|
|
9
|
+
// integer/positive preserves the previous `Number(rawId)` + `Number.isFinite` behavior and rejects
|
|
10
|
+
// null/empty (→ 0) and non-numeric ids.
|
|
11
|
+
exports.BearerClaimsSchema = zod_1.z.object({ id: zod_1.z.coerce.number().int().positive() });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVhcmVyLWNsYWltcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9odHRwL2JlYXJlci1jbGFpbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBRXhCLGlHQUFpRztBQUNqRyxtR0FBbUc7QUFDbkcsZ0dBQWdHO0FBQ2hHLG9HQUFvRztBQUNwRyxtR0FBbUc7QUFDbkcsd0NBQXdDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyJ9
|
|
@@ -17,7 +17,7 @@ class ExecutorHttpServer {
|
|
|
17
17
|
constructor(options) {
|
|
18
18
|
this.server = null;
|
|
19
19
|
this.options = options;
|
|
20
|
-
this.logger = options.logger ??
|
|
20
|
+
this.logger = options.logger ?? (0, console_logger_1.default)();
|
|
21
21
|
this.app = new koa_1.default();
|
|
22
22
|
// Error-translation middleware — the single place converting thrown errors (typed HTTP
|
|
23
23
|
// errors, domain errors via toHttpError, JWT 401) into HTTP responses. Handlers just throw.
|
|
@@ -28,7 +28,7 @@ class ExecutorHttpServer {
|
|
|
28
28
|
catch (err) {
|
|
29
29
|
const httpError = (0, http_errors_1.toHttpError)(err);
|
|
30
30
|
if (!httpError) {
|
|
31
|
-
this.logger
|
|
31
|
+
this.logger('Error', 'Unhandled HTTP error', {
|
|
32
32
|
method: ctx.method,
|
|
33
33
|
path: ctx.path,
|
|
34
34
|
error: (0, errors_1.extractErrorMessage)(err),
|
|
@@ -39,7 +39,7 @@ class ExecutorHttpServer {
|
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
if (httpError.log) {
|
|
42
|
-
this.logger
|
|
42
|
+
this.logger('Error', 'HTTP request failed', {
|
|
43
43
|
method: ctx.method,
|
|
44
44
|
path: ctx.path,
|
|
45
45
|
status: httpError.status,
|
|
@@ -76,7 +76,7 @@ class ExecutorHttpServer {
|
|
|
76
76
|
// A token koa-jwt accepted (valid signature) but whose payload is malformed is rare and
|
|
77
77
|
// high-signal (token-issuance regression / version skew / forgery probe) — log it, unlike
|
|
78
78
|
// ordinary expired-token churn. Only the issue paths/codes, never the payload (PII).
|
|
79
|
-
this.logger
|
|
79
|
+
this.logger('Warn', 'Bearer token has invalid claims', {
|
|
80
80
|
method: ctx.method,
|
|
81
81
|
path: ctx.path,
|
|
82
82
|
issues: claims.error.issues.map(issue => ({ path: issue.path, code: issue.code })),
|
|
@@ -128,8 +128,7 @@ class ExecutorHttpServer {
|
|
|
128
128
|
allowed = await this.options.workflowPort.hasRunAccess(ctx.params.runId, user);
|
|
129
129
|
}
|
|
130
130
|
catch (err) {
|
|
131
|
-
|
|
132
|
-
this.logger.error('Failed to check run access', {
|
|
131
|
+
this.logger('Error', 'Failed to check run access', {
|
|
133
132
|
runId: ctx.params.runId,
|
|
134
133
|
method: ctx.method,
|
|
135
134
|
path: ctx.path,
|
|
@@ -158,4 +157,4 @@ class ExecutorHttpServer {
|
|
|
158
157
|
}
|
|
159
158
|
}
|
|
160
159
|
exports.default = ExecutorHttpServer;
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3ItaHR0cC1zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cC9leGVjdXRvci1odHRwLXNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLGlFQUF5QztBQUN6Qyx5REFBaUM7QUFDakMsZ0RBQXdCO0FBQ3hCLDhDQUFzQjtBQUN0QixzREFBNkI7QUFFN0IsbURBQXdFO0FBQ3hFLCtDQUt1QjtBQUN2Qix3RUFBcUQ7QUFDckQsZ0ZBQTZEO0FBQzdELHNDQUFnRDtBQVVoRCxNQUFxQixrQkFBa0I7SUFNckMsWUFBWSxPQUFrQztRQUZ0QyxXQUFNLEdBQWtCLElBQUksQ0FBQztRQUduQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBQSx3QkFBbUIsR0FBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxhQUFHLEVBQUUsQ0FBQztRQUVyQix1RkFBdUY7UUFDdkYsNEZBQTRGO1FBQzVGLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDZixDQUFDO1lBQUMsT0FBTyxHQUFZLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBQSx5QkFBVyxFQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUVuQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUU7d0JBQzNDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTt3QkFDbEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO3dCQUNkLEtBQUssRUFBRSxJQUFBLDRCQUFtQixFQUFDLEdBQUcsQ0FBQzt3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
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
warn(message: string, context: Record<string, unknown>): void;
|
|
4
|
-
info(message: string, context: Record<string, unknown>): void;
|
|
5
|
-
}
|
|
1
|
+
export type LoggerLevel = 'Debug' | 'Info' | 'Warn' | 'Error';
|
|
2
|
+
export type Logger = (level: LoggerLevel, message: string, context?: Record<string, unknown>) => void;
|
|
6
3
|
//# sourceMappingURL=logger-port.d.ts.map
|