duron 0.3.0-beta.2 → 0.3.0-beta.4
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/action.d.ts +1 -1
- package/dist/action.d.ts.map +1 -1
- package/dist/step-manager.d.ts +1 -0
- package/dist/step-manager.d.ts.map +1 -1
- package/dist/step-manager.js +13 -3
- package/package.json +1 -1
- package/src/action.ts +15 -14
- package/src/step-manager.ts +34 -3
package/dist/action.d.ts
CHANGED
|
@@ -19,13 +19,13 @@ export interface StepHandlerContext {
|
|
|
19
19
|
parentStepId: string | null;
|
|
20
20
|
observe: ObserveContext;
|
|
21
21
|
step: <TResult>(name: string, cb: (ctx: StepHandlerContext) => Promise<TResult>, options?: z.input<typeof StepOptionsSchema>) => Promise<TResult>;
|
|
22
|
+
run: <TStepInput extends z.ZodObject, TResult>(stepDef: StepDefinition<TStepInput, TResult, any>, input: z.input<TStepInput>, options?: Partial<z.input<typeof StepOptionsSchema>>) => Promise<TResult>;
|
|
22
23
|
}
|
|
23
24
|
export interface StepDefinitionHandlerContext<TInput extends z.ZodObject, TVariables = Record<string, unknown>> extends StepHandlerContext {
|
|
24
25
|
input: z.infer<TInput>;
|
|
25
26
|
var: TVariables;
|
|
26
27
|
logger: Logger;
|
|
27
28
|
jobId: string;
|
|
28
|
-
run: <TStepInput extends z.ZodObject, TResult>(stepDef: StepDefinition<TStepInput, TResult, TVariables>, input: z.input<TStepInput>, options?: Partial<z.input<typeof StepOptionsSchema>>) => Promise<TResult>;
|
|
29
29
|
}
|
|
30
30
|
export interface StepDefinition<TInput extends z.ZodObject, TResult, TVariables = Record<string, unknown>> {
|
|
31
31
|
name: string | ((ctx: {
|
package/dist/action.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAG5D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,MAAM,WAAW,oBAAoB,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpG,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,UAAU,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IAMd,OAAO,EAAE,cAAc,CAAA;IAUvB,IAAI,EAAE,CAAC,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,EACjD,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,KACxC,OAAO,CAAC,OAAO,CAAC,CAAA;IAUrB,GAAG,EAAE,CAAC,UAAU,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,EAC3C,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,EACxD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,KACjD,OAAO,CAAC,OAAO,CAAC,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IAQjC,MAAM,EAAE,WAAW,CAAA;IAKnB,MAAM,EAAE,MAAM,CAAA;IAKd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAM3B,OAAO,EAAE,cAAc,CAAA;IAYvB,IAAI,EAAE,CAAC,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,EACjD,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,KACxC,OAAO,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"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"}
|
package/dist/step-manager.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export declare class StepManager {
|
|
|
40
40
|
#private;
|
|
41
41
|
constructor(options: StepManagerOptions);
|
|
42
42
|
setJobSpan(span: Span): void;
|
|
43
|
+
setRunFnFactory(factory: (parentStepId: string | null, abortSignal: AbortSignal) => StepHandlerContext['run']): void;
|
|
43
44
|
createActionContext<TInput extends z.ZodObject, TOutput extends z.ZodObject, TVariables = Record<string, unknown>>(job: {
|
|
44
45
|
id: string;
|
|
45
46
|
input: z.infer<TInput>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-manager.d.ts","sourceRoot":"","sources":["../src/step-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EACL,KAAK,MAAM,EACX,KAAK,oBAAoB,EAGzB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,OAAO,EAAgC,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAoE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAWlH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAIpF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAMD,qBAAa,SAAS;;gBAYR,OAAO,EAAE,OAAO;IAoBtB,WAAW,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,QAAQ,GAAE,OAAe;;;;;;;;;;IAyBrB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB7F,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAG3E;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAMD,qBAAa,WAAW;;
|
|
1
|
+
{"version":3,"file":"step-manager.d.ts","sourceRoot":"","sources":["../src/step-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EACL,KAAK,MAAM,EACX,KAAK,oBAAoB,EAGzB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,OAAO,EAAgC,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAoE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAWlH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAIpF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,EAAE,WAAW,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAMD,qBAAa,SAAS;;gBAYR,OAAO,EAAE,OAAO;IAoBtB,WAAW,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,QAAQ,GAAE,OAAe;;;;;;;;;;IAyBrB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB7F,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAG3E;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAMD,qBAAa,WAAW;;gBAyBV,OAAO,EAAE,kBAAkB;IAmBvC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAU5B,eAAe,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,WAAW,KAAK,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI;IAoBpH,mBAAmB,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,SAAS,CAAC,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/G,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAC3C,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,GAC7B,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC;IAO3C,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IA6BlD,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAQlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAkT7B"}
|
package/dist/step-manager.js
CHANGED
|
@@ -50,6 +50,7 @@ export class StepManager {
|
|
|
50
50
|
#historySteps = new Set();
|
|
51
51
|
#stepSpans = new Map();
|
|
52
52
|
#jobSpan = null;
|
|
53
|
+
#runFnFactory = null;
|
|
53
54
|
constructor(options) {
|
|
54
55
|
this.#jobId = options.jobId;
|
|
55
56
|
this.#actionName = options.actionName;
|
|
@@ -67,6 +68,9 @@ export class StepManager {
|
|
|
67
68
|
setJobSpan(span) {
|
|
68
69
|
this.#jobSpan = span;
|
|
69
70
|
}
|
|
71
|
+
setRunFnFactory(factory) {
|
|
72
|
+
this.#runFnFactory = factory;
|
|
73
|
+
}
|
|
70
74
|
createActionContext(job, action, variables, abortSignal, logger, observeContext) {
|
|
71
75
|
return new ActionContext(this, job, action, variables, abortSignal, logger, observeContext);
|
|
72
76
|
}
|
|
@@ -177,6 +181,7 @@ export class StepManager {
|
|
|
177
181
|
});
|
|
178
182
|
return childPromise;
|
|
179
183
|
},
|
|
184
|
+
run: this.#runFnFactory(step.id, childSignal),
|
|
180
185
|
};
|
|
181
186
|
try {
|
|
182
187
|
const abortPromise = waitForAbort(stepSignal);
|
|
@@ -305,6 +310,9 @@ class ActionContext {
|
|
|
305
310
|
this.#input = job.input ?? {};
|
|
306
311
|
this.step = this.step.bind(this);
|
|
307
312
|
this.run = this.run.bind(this);
|
|
313
|
+
this.#stepManager.setRunFnFactory((parentStepId, abortSignal) => {
|
|
314
|
+
return (stepDef, input, options) => this.#runInternal(stepDef, input, options, parentStepId, abortSignal);
|
|
315
|
+
});
|
|
308
316
|
}
|
|
309
317
|
get input() {
|
|
310
318
|
return this.#input;
|
|
@@ -339,6 +347,9 @@ class ActionContext {
|
|
|
339
347
|
});
|
|
340
348
|
}
|
|
341
349
|
async run(stepDef, input, options = {}) {
|
|
350
|
+
return this.#runInternal(stepDef, input, options, null, this.#abortSignal);
|
|
351
|
+
}
|
|
352
|
+
async #runInternal(stepDef, input, options = {}, parentStepId, abortSignal) {
|
|
342
353
|
const validatedInput = stepDef.input
|
|
343
354
|
? stepDef.input.parse(input, {
|
|
344
355
|
error: () => 'Error parsing step input',
|
|
@@ -361,7 +372,6 @@ class ActionContext {
|
|
|
361
372
|
var: this.#variables,
|
|
362
373
|
logger: this.#logger,
|
|
363
374
|
jobId: this.#jobId,
|
|
364
|
-
run: this.run.bind(this),
|
|
365
375
|
};
|
|
366
376
|
return stepDef.handler(extendedCtx);
|
|
367
377
|
};
|
|
@@ -369,8 +379,8 @@ class ActionContext {
|
|
|
369
379
|
name: stepName,
|
|
370
380
|
cb: wrappedCb,
|
|
371
381
|
options: parsedOptions,
|
|
372
|
-
abortSignal
|
|
373
|
-
parentStepId
|
|
382
|
+
abortSignal,
|
|
383
|
+
parentStepId,
|
|
374
384
|
parallel: parsedOptions.parallel,
|
|
375
385
|
});
|
|
376
386
|
}
|
package/package.json
CHANGED
package/src/action.ts
CHANGED
|
@@ -91,6 +91,21 @@ export interface StepHandlerContext {
|
|
|
91
91
|
cb: (ctx: StepHandlerContext) => Promise<TResult>,
|
|
92
92
|
options?: z.input<typeof StepOptionsSchema>,
|
|
93
93
|
) => Promise<TResult>
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Execute a reusable step definition created with createStep().
|
|
97
|
+
* Allows inline steps to call step definitions.
|
|
98
|
+
*
|
|
99
|
+
* @param stepDef - The step definition to execute
|
|
100
|
+
* @param input - The input data for the step (validated against the step's input schema)
|
|
101
|
+
* @param options - Optional step configuration overrides
|
|
102
|
+
* @returns Promise resolving to the step result
|
|
103
|
+
*/
|
|
104
|
+
run: <TStepInput extends z.ZodObject, TResult>(
|
|
105
|
+
stepDef: StepDefinition<TStepInput, TResult, any>,
|
|
106
|
+
input: z.input<TStepInput>,
|
|
107
|
+
options?: Partial<z.input<typeof StepOptionsSchema>>,
|
|
108
|
+
) => Promise<TResult>
|
|
94
109
|
}
|
|
95
110
|
|
|
96
111
|
/**
|
|
@@ -119,20 +134,6 @@ export interface StepDefinitionHandlerContext<TInput extends z.ZodObject, TVaria
|
|
|
119
134
|
*/
|
|
120
135
|
jobId: string
|
|
121
136
|
|
|
122
|
-
/**
|
|
123
|
-
* Execute a reusable step definition created with createStep().
|
|
124
|
-
* Allows nested step definitions to call other step definitions.
|
|
125
|
-
*
|
|
126
|
-
* @param stepDef - The step definition to execute
|
|
127
|
-
* @param input - The input data for the step (validated against the step's input schema)
|
|
128
|
-
* @param options - Optional step configuration overrides
|
|
129
|
-
* @returns Promise resolving to the step result
|
|
130
|
-
*/
|
|
131
|
-
run: <TStepInput extends z.ZodObject, TResult>(
|
|
132
|
-
stepDef: StepDefinition<TStepInput, TResult, TVariables>,
|
|
133
|
-
input: z.input<TStepInput>,
|
|
134
|
-
options?: Partial<z.input<typeof StepOptionsSchema>>,
|
|
135
|
-
) => Promise<TResult>
|
|
136
137
|
}
|
|
137
138
|
|
|
138
139
|
/**
|
package/src/step-manager.ts
CHANGED
|
@@ -154,6 +154,8 @@ export class StepManager {
|
|
|
154
154
|
#stepSpans = new Map<string, Span>()
|
|
155
155
|
// Store the job span for creating step spans
|
|
156
156
|
#jobSpan: Span | null = null
|
|
157
|
+
// Factory function to create run functions with the correct parent step ID and abort signal
|
|
158
|
+
#runFnFactory: ((parentStepId: string | null, abortSignal: AbortSignal) => StepHandlerContext['run']) | null = null
|
|
157
159
|
|
|
158
160
|
// ============================================================================
|
|
159
161
|
// Constructor
|
|
@@ -187,6 +189,16 @@ export class StepManager {
|
|
|
187
189
|
this.#jobSpan = span
|
|
188
190
|
}
|
|
189
191
|
|
|
192
|
+
/**
|
|
193
|
+
* Set the run function factory for executing step definitions from inline steps.
|
|
194
|
+
* Called from ActionContext after it's initialized.
|
|
195
|
+
*
|
|
196
|
+
* @param factory - A function that creates run functions with the correct parent step ID and abort signal
|
|
197
|
+
*/
|
|
198
|
+
setRunFnFactory(factory: (parentStepId: string | null, abortSignal: AbortSignal) => StepHandlerContext['run']): void {
|
|
199
|
+
this.#runFnFactory = factory
|
|
200
|
+
}
|
|
201
|
+
|
|
190
202
|
// ============================================================================
|
|
191
203
|
// Public API Methods
|
|
192
204
|
// ============================================================================
|
|
@@ -426,6 +438,7 @@ export class StepManager {
|
|
|
426
438
|
|
|
427
439
|
return childPromise
|
|
428
440
|
},
|
|
441
|
+
run: this.#runFnFactory!(step.id, childSignal),
|
|
429
442
|
}
|
|
430
443
|
|
|
431
444
|
try {
|
|
@@ -612,6 +625,10 @@ class ActionContext<TInput extends z.ZodObject, TOutput extends z.ZodObject, TVa
|
|
|
612
625
|
this.#input = job.input ?? {}
|
|
613
626
|
this.step = this.step.bind(this)
|
|
614
627
|
this.run = this.run.bind(this)
|
|
628
|
+
// Set the run function factory so inline steps can call step definitions with correct parent
|
|
629
|
+
this.#stepManager.setRunFnFactory((parentStepId, abortSignal) => {
|
|
630
|
+
return (stepDef, input, options) => this.#runInternal(stepDef, input, options, parentStepId, abortSignal)
|
|
631
|
+
})
|
|
615
632
|
}
|
|
616
633
|
|
|
617
634
|
// ============================================================================
|
|
@@ -694,6 +711,7 @@ class ActionContext<TInput extends z.ZodObject, TOutput extends z.ZodObject, TVa
|
|
|
694
711
|
|
|
695
712
|
/**
|
|
696
713
|
* Execute a reusable step definition created with createStep().
|
|
714
|
+
* This is the public method called from action handlers.
|
|
697
715
|
*
|
|
698
716
|
* @param stepDef - The step definition to execute
|
|
699
717
|
* @param input - The input data for the step (validated against the step's input schema)
|
|
@@ -704,6 +722,20 @@ class ActionContext<TInput extends z.ZodObject, TOutput extends z.ZodObject, TVa
|
|
|
704
722
|
stepDef: StepDefinition<TStepInput, TResult, TVariables>,
|
|
705
723
|
input: z.input<TStepInput>,
|
|
706
724
|
options: Partial<z.input<typeof StepOptionsSchema>> = {},
|
|
725
|
+
): Promise<TResult> {
|
|
726
|
+
return this.#runInternal(stepDef, input, options, null, this.#abortSignal)
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
/**
|
|
730
|
+
* Internal method to execute a step definition with explicit parent step ID and abort signal.
|
|
731
|
+
* Used by both the public run method and the run functions passed to step contexts.
|
|
732
|
+
*/
|
|
733
|
+
async #runInternal<TStepInput extends z.ZodObject, TResult>(
|
|
734
|
+
stepDef: StepDefinition<TStepInput, TResult, TVariables>,
|
|
735
|
+
input: z.input<TStepInput>,
|
|
736
|
+
options: Partial<z.input<typeof StepOptionsSchema>> = {},
|
|
737
|
+
parentStepId: string | null,
|
|
738
|
+
abortSignal: AbortSignal,
|
|
707
739
|
): Promise<TResult> {
|
|
708
740
|
// Validate input against the step's schema if provided
|
|
709
741
|
// After parsing, validatedInput is z.output<TStepInput> (same as z.infer<TStepInput>)
|
|
@@ -736,7 +768,6 @@ class ActionContext<TInput extends z.ZodObject, TOutput extends z.ZodObject, TVa
|
|
|
736
768
|
var: this.#variables,
|
|
737
769
|
logger: this.#logger,
|
|
738
770
|
jobId: this.#jobId,
|
|
739
|
-
run: this.run.bind(this), // Allow nested step definitions to call ctx.run()
|
|
740
771
|
}
|
|
741
772
|
return stepDef.handler(extendedCtx)
|
|
742
773
|
}
|
|
@@ -745,8 +776,8 @@ class ActionContext<TInput extends z.ZodObject, TOutput extends z.ZodObject, TVa
|
|
|
745
776
|
name: stepName,
|
|
746
777
|
cb: wrappedCb,
|
|
747
778
|
options: parsedOptions,
|
|
748
|
-
abortSignal
|
|
749
|
-
parentStepId
|
|
779
|
+
abortSignal,
|
|
780
|
+
parentStepId,
|
|
750
781
|
parallel: parsedOptions.parallel,
|
|
751
782
|
})
|
|
752
783
|
}
|