@mastra/inngest 0.0.0-course-20250527170450 → 0.0.0-custom-instrumentation-20250708222033

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.
@@ -1,8 +1,8 @@
1
+ import type { Agent } from '@mastra/core';
1
2
  import type { BaseContext } from 'inngest';
2
3
  import { ClientOptions } from 'inngest';
3
- import { cloneStep } from '@mastra/core/workflows';
4
- import { createStep } from '@mastra/core/workflows';
5
4
  import { DefaultExecutionEngine } from '@mastra/core/workflows';
5
+ import type { Emitter } from '@mastra/core/workflows';
6
6
  import type { ExecuteFunction } from '@mastra/core/workflows';
7
7
  import type { ExecutionContext } from '@mastra/core/workflows';
8
8
  import type { ExecutionEngine } from '@mastra/core/workflows';
@@ -12,39 +12,89 @@ import type { Inngest } from 'inngest';
12
12
  import { InngestFunction } from 'inngest';
13
13
  import { InngestMiddleware } from 'inngest';
14
14
  import type { Mastra } from '@mastra/core';
15
+ import type { ReadableStream as ReadableStream_2 } from 'node:stream/web';
15
16
  import { Run } from '@mastra/core/workflows';
16
17
  import { RuntimeContext } from '@mastra/core/di';
18
+ import type { SerializedStepFlowEntry } from '@mastra/core/workflows';
17
19
  import { serve as serve_2 } from 'inngest/hono';
18
20
  import type { Span } from '@opentelemetry/api';
19
21
  import type { Step } from '@mastra/core/workflows';
20
22
  import type { StepFlowEntry } from '@mastra/core/workflows';
21
23
  import type { StepResult } from '@mastra/core/workflows';
24
+ import type { StreamEvent } from '@mastra/core/workflows';
25
+ import { Tool } from '@mastra/core/tools';
26
+ import type { ToolExecutionContext } from '@mastra/core';
27
+ import type { WatchEvent } from '@mastra/core/workflows';
22
28
  import { Workflow } from '@mastra/core/workflows';
23
29
  import type { WorkflowConfig } from '@mastra/core/workflows';
24
30
  import type { WorkflowResult } from '@mastra/core/workflows';
25
31
  import type { WorkflowRun } from '@mastra/core';
26
32
  import type { WorkflowRuns } from '@mastra/core';
27
- import type { z } from 'zod';
33
+ import { z } from 'zod';
28
34
 
29
- declare function cloneWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>, TSteps extends Step<string, any, any, any, any>[] = Step<string, any, any, any, any>[]>(workflow: InngestWorkflow<TSteps, string, TInput, TOutput>, opts: {
30
- id: TWorkflowId;
31
- }): InngestWorkflow<TSteps, TWorkflowId, TInput, TOutput>;
35
+ export declare function createStep<TStepId extends string, TStepInput extends z.ZodType<any>, TStepOutput extends z.ZodType<any>, TResumeSchema extends z.ZodType<any>, TSuspendSchema extends z.ZodType<any>>(params: {
36
+ id: TStepId;
37
+ description?: string;
38
+ inputSchema: TStepInput;
39
+ outputSchema: TStepOutput;
40
+ resumeSchema?: TResumeSchema;
41
+ suspendSchema?: TSuspendSchema;
42
+ execute: ExecuteFunction<z.infer<TStepInput>, z.infer<TStepOutput>, z.infer<TResumeSchema>, z.infer<TSuspendSchema>, InngestEngineType>;
43
+ }): Step<TStepId, TStepInput, TStepOutput, TResumeSchema, TSuspendSchema, InngestEngineType>;
44
+
45
+ export declare function createStep<TStepId extends string, TStepInput extends z.ZodObject<{
46
+ prompt: z.ZodString;
47
+ }>, TStepOutput extends z.ZodObject<{
48
+ text: z.ZodString;
49
+ }>, TResumeSchema extends z.ZodType<any>, TSuspendSchema extends z.ZodType<any>>(agent: Agent<TStepId, any, any>): Step<TStepId, TStepInput, TStepOutput, TResumeSchema, TSuspendSchema, InngestEngineType>;
50
+
51
+ export declare function createStep<TSchemaIn extends z.ZodType<any>, TSchemaOut extends z.ZodType<any>, TContext extends ToolExecutionContext<TSchemaIn>>(tool: Tool<TSchemaIn, TSchemaOut, TContext> & {
52
+ inputSchema: TSchemaIn;
53
+ outputSchema: TSchemaOut;
54
+ execute: (context: TContext) => Promise<any>;
55
+ }): Step<string, TSchemaIn, TSchemaOut, z.ZodType<any>, z.ZodType<any>, InngestEngineType>;
32
56
 
33
57
  export declare function init(inngest: Inngest): {
34
- createWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TOutput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TSteps extends Step<string, any, any>[] = Step<string, any, any, z.ZodType<any, z.ZodTypeDef, any>, z.ZodType<any, z.ZodTypeDef, any>>[]>(params: WorkflowConfig<TWorkflowId, TInput, TOutput, TSteps>): InngestWorkflow<TSteps, TWorkflowId, TInput, TOutput, TInput>;
58
+ createWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TOutput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TSteps extends Step<string, any, any, any, any, InngestEngineType>[] = Step<string, any, any, any, any, InngestEngineType>[]>(params: WorkflowConfig<TWorkflowId, TInput, TOutput, TSteps>): InngestWorkflow<InngestEngineType, TSteps, TWorkflowId, TInput, TOutput, TInput>;
35
59
  createStep: typeof createStep;
36
- cloneStep: typeof cloneStep;
37
- cloneWorkflow: typeof cloneWorkflow;
60
+ cloneStep<TStepId extends string>(step: Step<string, any, any, any, any, InngestEngineType>, opts: {
61
+ id: TStepId;
62
+ }): Step<TStepId, any, any, any, any, InngestEngineType>;
63
+ cloneWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TOutput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TSteps extends Step<string, any, any, any, any, InngestEngineType>[] = Step<string, any, any, any, any, InngestEngineType>[], TPrevSchema extends z.ZodType<any> = TInput>(workflow: Workflow<InngestEngineType, TSteps, string, TInput, TOutput, TPrevSchema>, opts: {
64
+ id: TWorkflowId;
65
+ }): Workflow<InngestEngineType, TSteps, TWorkflowId, TInput, TOutput, TPrevSchema>;
66
+ };
67
+
68
+ export declare type InngestEngineType = {
69
+ step: any;
38
70
  };
39
71
 
40
72
  export declare class InngestExecutionEngine extends DefaultExecutionEngine {
41
73
  private inngestStep;
42
74
  private inngestAttempts;
43
75
  constructor(mastra: Mastra, inngestStep: BaseContext<Inngest>['step'], inngestAttempts?: number);
44
- protected fmtReturnValue<TOutput>(executionSpan: Span | undefined, emitter: {
45
- emit: (event: string, data: any) => Promise<void>;
46
- }, stepResults: Record<string, StepResult<any, any, any, any>>, lastOutput: StepResult<any, any, any, any>, error?: Error | string): Promise<TOutput>;
47
- superExecuteStep({ workflowId, runId, step, stepResults, executionContext, resume, prevOutput, emitter, runtimeContext, }: {
76
+ execute<TInput, TOutput>(params: {
77
+ workflowId: string;
78
+ runId: string;
79
+ graph: ExecutionGraph;
80
+ serializedStepGraph: SerializedStepFlowEntry[];
81
+ input?: TInput;
82
+ resume?: {
83
+ steps: string[];
84
+ stepResults: Record<string, StepResult<any, any, any, any>>;
85
+ resumePayload: any;
86
+ resumePath: number[];
87
+ };
88
+ emitter: Emitter;
89
+ retryConfig?: {
90
+ attempts?: number;
91
+ delay?: number;
92
+ };
93
+ runtimeContext: RuntimeContext;
94
+ abortController: AbortController;
95
+ }): Promise<TOutput>;
96
+ protected fmtReturnValue<TOutput>(executionSpan: Span | undefined, emitter: Emitter, stepResults: Record<string, StepResult<any, any, any, any>>, lastOutput: StepResult<any, any, any, any>, error?: Error | string): Promise<TOutput>;
97
+ superExecuteStep({ workflowId, runId, step, stepResults, executionContext, resume, prevOutput, emitter, abortController, runtimeContext, }: {
48
98
  workflowId: string;
49
99
  runId: string;
50
100
  step: Step<string, any, any>;
@@ -55,50 +105,96 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
55
105
  resumePayload: any;
56
106
  };
57
107
  prevOutput: any;
58
- emitter: {
59
- emit: (event: string, data: any) => Promise<void>;
60
- };
108
+ emitter: Emitter;
109
+ abortController: AbortController;
61
110
  runtimeContext: RuntimeContext;
62
111
  }): Promise<StepResult<any, any, any, any>>;
63
- executeStep({ step, stepResults, executionContext, resume, prevOutput, emitter, runtimeContext, }: {
64
- step: Step<string, any, any>;
112
+ executeSleep({ workflowId, runId, entry, prevOutput, stepResults, emitter, abortController, runtimeContext, }: {
113
+ workflowId: string;
114
+ runId: string;
115
+ serializedStepGraph: SerializedStepFlowEntry[];
116
+ entry: {
117
+ type: 'sleep';
118
+ id: string;
119
+ duration?: number;
120
+ fn?: ExecuteFunction<any, any, any, any, InngestEngineType>;
121
+ };
122
+ prevStep: StepFlowEntry;
123
+ prevOutput: any;
65
124
  stepResults: Record<string, StepResult<any, any, any, any>>;
66
- executionContext: {
67
- workflowId: string;
68
- runId: string;
69
- executionPath: number[];
70
- suspendedPaths: Record<string, number[]>;
71
- retryConfig: {
72
- attempts: number;
73
- delay: number;
74
- };
125
+ resume?: {
126
+ steps: string[];
127
+ stepResults: Record<string, StepResult<any, any, any, any>>;
128
+ resumePayload: any;
129
+ resumePath: number[];
75
130
  };
131
+ executionContext: ExecutionContext;
132
+ emitter: Emitter;
133
+ abortController: AbortController;
134
+ runtimeContext: RuntimeContext;
135
+ }): Promise<void>;
136
+ executeSleepUntil({ workflowId, runId, entry, prevOutput, stepResults, emitter, abortController, runtimeContext, }: {
137
+ workflowId: string;
138
+ runId: string;
139
+ serializedStepGraph: SerializedStepFlowEntry[];
140
+ entry: {
141
+ type: 'sleepUntil';
142
+ id: string;
143
+ date?: Date;
144
+ fn?: ExecuteFunction<any, any, any, any, InngestEngineType>;
145
+ };
146
+ prevStep: StepFlowEntry;
147
+ prevOutput: any;
148
+ stepResults: Record<string, StepResult<any, any, any, any>>;
149
+ resume?: {
150
+ steps: string[];
151
+ stepResults: Record<string, StepResult<any, any, any, any>>;
152
+ resumePayload: any;
153
+ resumePath: number[];
154
+ };
155
+ executionContext: ExecutionContext;
156
+ emitter: Emitter;
157
+ abortController: AbortController;
158
+ runtimeContext: RuntimeContext;
159
+ }): Promise<void>;
160
+ executeWaitForEvent({ event, timeout }: {
161
+ event: string;
162
+ timeout?: number;
163
+ }): Promise<any>;
164
+ executeStep({ step, stepResults, executionContext, resume, prevOutput, emitter, abortController, runtimeContext, }: {
165
+ step: Step<string, any, any>;
166
+ stepResults: Record<string, StepResult<any, any, any, any>>;
167
+ executionContext: ExecutionContext;
76
168
  resume?: {
77
169
  steps: string[];
78
170
  resumePayload: any;
79
171
  runId?: string;
80
172
  };
81
173
  prevOutput: any;
82
- emitter: {
83
- emit: (event: string, data: any) => Promise<void>;
84
- };
174
+ emitter: Emitter;
175
+ abortController: AbortController;
85
176
  runtimeContext: RuntimeContext;
86
177
  }): Promise<StepResult<any, any, any, any>>;
87
- persistStepUpdate({ workflowId, runId, stepResults, executionContext, }: {
178
+ persistStepUpdate({ workflowId, runId, stepResults, executionContext, serializedStepGraph, workflowStatus, result, error, }: {
88
179
  workflowId: string;
89
180
  runId: string;
90
181
  stepResults: Record<string, StepResult<any, any, any, any>>;
182
+ serializedStepGraph: SerializedStepFlowEntry[];
91
183
  executionContext: ExecutionContext;
184
+ workflowStatus: 'success' | 'failed' | 'suspended' | 'running';
185
+ result?: Record<string, any>;
186
+ error?: string | Error;
92
187
  }): Promise<void>;
93
- executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, resume, executionContext, emitter, runtimeContext, }: {
188
+ executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, serializedStepGraph, resume, executionContext, emitter, abortController, runtimeContext, }: {
94
189
  workflowId: string;
95
190
  runId: string;
96
191
  entry: {
97
192
  type: 'conditional';
98
193
  steps: StepFlowEntry[];
99
- conditions: ExecuteFunction<any, any, any, any>[];
194
+ conditions: ExecuteFunction<any, any, any, any, InngestEngineType>[];
100
195
  };
101
196
  prevStep: StepFlowEntry;
197
+ serializedStepGraph: SerializedStepFlowEntry[];
102
198
  prevOutput: any;
103
199
  stepResults: Record<string, StepResult<any, any, any, any>>;
104
200
  resume?: {
@@ -108,21 +204,22 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
108
204
  resumePath: number[];
109
205
  };
110
206
  executionContext: ExecutionContext;
111
- emitter: {
112
- emit: (event: string, data: any) => Promise<void>;
113
- };
207
+ emitter: Emitter;
208
+ abortController: AbortController;
114
209
  runtimeContext: RuntimeContext;
115
210
  }): Promise<StepResult<any, any, any, any>>;
116
211
  }
117
212
 
118
- export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>> extends Run<TSteps, TInput, TOutput> {
213
+ export declare class InngestRun<TEngineType = InngestEngineType, TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>> extends Run<TEngineType, TSteps, TInput, TOutput> {
119
214
  #private;
120
215
  private inngest;
216
+ serializedStepGraph: SerializedStepFlowEntry[];
121
217
  constructor(params: {
122
218
  workflowId: string;
123
219
  runId: string;
124
220
  executionEngine: ExecutionEngine;
125
221
  executionGraph: ExecutionGraph;
222
+ serializedStepGraph: SerializedStepFlowEntry[];
126
223
  mastra?: Mastra;
127
224
  retryConfig?: {
128
225
  attempts?: number;
@@ -132,6 +229,8 @@ export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<s
132
229
  }, inngest: Inngest);
133
230
  getRuns(eventId: string): Promise<any>;
134
231
  getRunOutput(eventId: string): Promise<any>;
232
+ sendEvent(event: string, data: any): Promise<void>;
233
+ cancel(): Promise<void>;
135
234
  start({ inputData, }: {
136
235
  inputData?: z.infer<TInput>;
137
236
  runtimeContext?: RuntimeContext;
@@ -141,10 +240,22 @@ export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<s
141
240
  step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
142
241
  runtimeContext?: RuntimeContext;
143
242
  }): Promise<WorkflowResult<TOutput, TSteps>>;
144
- watch(cb: (event: any) => void): () => void;
243
+ _resume<TResumeSchema extends z.ZodType<any>>(params: {
244
+ resumeData?: z.infer<TResumeSchema>;
245
+ step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
246
+ runtimeContext?: RuntimeContext;
247
+ }): Promise<WorkflowResult<TOutput, TSteps>>;
248
+ watch(cb: (event: WatchEvent) => void, type?: 'watch' | 'watch-v2'): () => void;
249
+ stream({ inputData, runtimeContext }?: {
250
+ inputData?: z.infer<TInput>;
251
+ runtimeContext?: RuntimeContext;
252
+ }): {
253
+ stream: ReadableStream_2<StreamEvent>;
254
+ getWorkflowState: () => Promise<WorkflowResult<TOutput, TSteps>>;
255
+ };
145
256
  }
146
257
 
147
- export declare class InngestWorkflow<TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>, TPrevSchema extends z.ZodType<any> = TInput> extends Workflow<TSteps, TWorkflowId, TInput, TOutput, TPrevSchema> {
258
+ export declare class InngestWorkflow<TEngineType = InngestEngineType, TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>, TPrevSchema extends z.ZodType<any> = TInput> extends Workflow<TEngineType, TSteps, TWorkflowId, TInput, TOutput, TPrevSchema> {
148
259
  #private;
149
260
  inngest: Inngest;
150
261
  private function;
@@ -157,10 +268,14 @@ export declare class InngestWorkflow<TSteps extends Step<string, any, any>[] = S
157
268
  resourceId?: string;
158
269
  }): Promise<WorkflowRuns>;
159
270
  getWorkflowRunById(runId: string): Promise<WorkflowRun | null>;
271
+ getWorkflowRunExecutionResult(runId: string): Promise<WatchEvent['payload']['workflowState'] | null>;
160
272
  __registerMastra(mastra: Mastra): void;
161
273
  createRun(options?: {
162
274
  runId?: string;
163
- }): Run<TSteps, TInput, TOutput>;
275
+ }): Run<TEngineType, TSteps, TInput, TOutput>;
276
+ createRunAsync(options?: {
277
+ runId?: string;
278
+ }): Promise<Run<TEngineType, TSteps, TInput, TOutput>>;
164
279
  getFunction(): InngestFunction<Omit<InngestFunction.Options<Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
165
280
  cron: string;
166
281
  } & Partial<Record<"event" | "if", never>>] | [{
@@ -1,8 +1,8 @@
1
+ import type { Agent } from '@mastra/core';
1
2
  import type { BaseContext } from 'inngest';
2
3
  import { ClientOptions } from 'inngest';
3
- import { cloneStep } from '@mastra/core/workflows';
4
- import { createStep } from '@mastra/core/workflows';
5
4
  import { DefaultExecutionEngine } from '@mastra/core/workflows';
5
+ import type { Emitter } from '@mastra/core/workflows';
6
6
  import type { ExecuteFunction } from '@mastra/core/workflows';
7
7
  import type { ExecutionContext } from '@mastra/core/workflows';
8
8
  import type { ExecutionEngine } from '@mastra/core/workflows';
@@ -12,39 +12,89 @@ import type { Inngest } from 'inngest';
12
12
  import { InngestFunction } from 'inngest';
13
13
  import { InngestMiddleware } from 'inngest';
14
14
  import type { Mastra } from '@mastra/core';
15
+ import type { ReadableStream as ReadableStream_2 } from 'node:stream/web';
15
16
  import { Run } from '@mastra/core/workflows';
16
17
  import { RuntimeContext } from '@mastra/core/di';
18
+ import type { SerializedStepFlowEntry } from '@mastra/core/workflows';
17
19
  import { serve as serve_2 } from 'inngest/hono';
18
20
  import type { Span } from '@opentelemetry/api';
19
21
  import type { Step } from '@mastra/core/workflows';
20
22
  import type { StepFlowEntry } from '@mastra/core/workflows';
21
23
  import type { StepResult } from '@mastra/core/workflows';
24
+ import type { StreamEvent } from '@mastra/core/workflows';
25
+ import { Tool } from '@mastra/core/tools';
26
+ import type { ToolExecutionContext } from '@mastra/core';
27
+ import type { WatchEvent } from '@mastra/core/workflows';
22
28
  import { Workflow } from '@mastra/core/workflows';
23
29
  import type { WorkflowConfig } from '@mastra/core/workflows';
24
30
  import type { WorkflowResult } from '@mastra/core/workflows';
25
31
  import type { WorkflowRun } from '@mastra/core';
26
32
  import type { WorkflowRuns } from '@mastra/core';
27
- import type { z } from 'zod';
33
+ import { z } from 'zod';
28
34
 
29
- declare function cloneWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>, TSteps extends Step<string, any, any, any, any>[] = Step<string, any, any, any, any>[]>(workflow: InngestWorkflow<TSteps, string, TInput, TOutput>, opts: {
30
- id: TWorkflowId;
31
- }): InngestWorkflow<TSteps, TWorkflowId, TInput, TOutput>;
35
+ export declare function createStep<TStepId extends string, TStepInput extends z.ZodType<any>, TStepOutput extends z.ZodType<any>, TResumeSchema extends z.ZodType<any>, TSuspendSchema extends z.ZodType<any>>(params: {
36
+ id: TStepId;
37
+ description?: string;
38
+ inputSchema: TStepInput;
39
+ outputSchema: TStepOutput;
40
+ resumeSchema?: TResumeSchema;
41
+ suspendSchema?: TSuspendSchema;
42
+ execute: ExecuteFunction<z.infer<TStepInput>, z.infer<TStepOutput>, z.infer<TResumeSchema>, z.infer<TSuspendSchema>, InngestEngineType>;
43
+ }): Step<TStepId, TStepInput, TStepOutput, TResumeSchema, TSuspendSchema, InngestEngineType>;
44
+
45
+ export declare function createStep<TStepId extends string, TStepInput extends z.ZodObject<{
46
+ prompt: z.ZodString;
47
+ }>, TStepOutput extends z.ZodObject<{
48
+ text: z.ZodString;
49
+ }>, TResumeSchema extends z.ZodType<any>, TSuspendSchema extends z.ZodType<any>>(agent: Agent<TStepId, any, any>): Step<TStepId, TStepInput, TStepOutput, TResumeSchema, TSuspendSchema, InngestEngineType>;
50
+
51
+ export declare function createStep<TSchemaIn extends z.ZodType<any>, TSchemaOut extends z.ZodType<any>, TContext extends ToolExecutionContext<TSchemaIn>>(tool: Tool<TSchemaIn, TSchemaOut, TContext> & {
52
+ inputSchema: TSchemaIn;
53
+ outputSchema: TSchemaOut;
54
+ execute: (context: TContext) => Promise<any>;
55
+ }): Step<string, TSchemaIn, TSchemaOut, z.ZodType<any>, z.ZodType<any>, InngestEngineType>;
32
56
 
33
57
  export declare function init(inngest: Inngest): {
34
- createWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TOutput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TSteps extends Step<string, any, any>[] = Step<string, any, any, z.ZodType<any, z.ZodTypeDef, any>, z.ZodType<any, z.ZodTypeDef, any>>[]>(params: WorkflowConfig<TWorkflowId, TInput, TOutput, TSteps>): InngestWorkflow<TSteps, TWorkflowId, TInput, TOutput, TInput>;
58
+ createWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TOutput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TSteps extends Step<string, any, any, any, any, InngestEngineType>[] = Step<string, any, any, any, any, InngestEngineType>[]>(params: WorkflowConfig<TWorkflowId, TInput, TOutput, TSteps>): InngestWorkflow<InngestEngineType, TSteps, TWorkflowId, TInput, TOutput, TInput>;
35
59
  createStep: typeof createStep;
36
- cloneStep: typeof cloneStep;
37
- cloneWorkflow: typeof cloneWorkflow;
60
+ cloneStep<TStepId extends string>(step: Step<string, any, any, any, any, InngestEngineType>, opts: {
61
+ id: TStepId;
62
+ }): Step<TStepId, any, any, any, any, InngestEngineType>;
63
+ cloneWorkflow<TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TOutput extends z.ZodType<any> = z.ZodType<any, z.ZodTypeDef, any>, TSteps extends Step<string, any, any, any, any, InngestEngineType>[] = Step<string, any, any, any, any, InngestEngineType>[], TPrevSchema extends z.ZodType<any> = TInput>(workflow: Workflow<InngestEngineType, TSteps, string, TInput, TOutput, TPrevSchema>, opts: {
64
+ id: TWorkflowId;
65
+ }): Workflow<InngestEngineType, TSteps, TWorkflowId, TInput, TOutput, TPrevSchema>;
66
+ };
67
+
68
+ export declare type InngestEngineType = {
69
+ step: any;
38
70
  };
39
71
 
40
72
  export declare class InngestExecutionEngine extends DefaultExecutionEngine {
41
73
  private inngestStep;
42
74
  private inngestAttempts;
43
75
  constructor(mastra: Mastra, inngestStep: BaseContext<Inngest>['step'], inngestAttempts?: number);
44
- protected fmtReturnValue<TOutput>(executionSpan: Span | undefined, emitter: {
45
- emit: (event: string, data: any) => Promise<void>;
46
- }, stepResults: Record<string, StepResult<any, any, any, any>>, lastOutput: StepResult<any, any, any, any>, error?: Error | string): Promise<TOutput>;
47
- superExecuteStep({ workflowId, runId, step, stepResults, executionContext, resume, prevOutput, emitter, runtimeContext, }: {
76
+ execute<TInput, TOutput>(params: {
77
+ workflowId: string;
78
+ runId: string;
79
+ graph: ExecutionGraph;
80
+ serializedStepGraph: SerializedStepFlowEntry[];
81
+ input?: TInput;
82
+ resume?: {
83
+ steps: string[];
84
+ stepResults: Record<string, StepResult<any, any, any, any>>;
85
+ resumePayload: any;
86
+ resumePath: number[];
87
+ };
88
+ emitter: Emitter;
89
+ retryConfig?: {
90
+ attempts?: number;
91
+ delay?: number;
92
+ };
93
+ runtimeContext: RuntimeContext;
94
+ abortController: AbortController;
95
+ }): Promise<TOutput>;
96
+ protected fmtReturnValue<TOutput>(executionSpan: Span | undefined, emitter: Emitter, stepResults: Record<string, StepResult<any, any, any, any>>, lastOutput: StepResult<any, any, any, any>, error?: Error | string): Promise<TOutput>;
97
+ superExecuteStep({ workflowId, runId, step, stepResults, executionContext, resume, prevOutput, emitter, abortController, runtimeContext, }: {
48
98
  workflowId: string;
49
99
  runId: string;
50
100
  step: Step<string, any, any>;
@@ -55,50 +105,96 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
55
105
  resumePayload: any;
56
106
  };
57
107
  prevOutput: any;
58
- emitter: {
59
- emit: (event: string, data: any) => Promise<void>;
60
- };
108
+ emitter: Emitter;
109
+ abortController: AbortController;
61
110
  runtimeContext: RuntimeContext;
62
111
  }): Promise<StepResult<any, any, any, any>>;
63
- executeStep({ step, stepResults, executionContext, resume, prevOutput, emitter, runtimeContext, }: {
64
- step: Step<string, any, any>;
112
+ executeSleep({ workflowId, runId, entry, prevOutput, stepResults, emitter, abortController, runtimeContext, }: {
113
+ workflowId: string;
114
+ runId: string;
115
+ serializedStepGraph: SerializedStepFlowEntry[];
116
+ entry: {
117
+ type: 'sleep';
118
+ id: string;
119
+ duration?: number;
120
+ fn?: ExecuteFunction<any, any, any, any, InngestEngineType>;
121
+ };
122
+ prevStep: StepFlowEntry;
123
+ prevOutput: any;
65
124
  stepResults: Record<string, StepResult<any, any, any, any>>;
66
- executionContext: {
67
- workflowId: string;
68
- runId: string;
69
- executionPath: number[];
70
- suspendedPaths: Record<string, number[]>;
71
- retryConfig: {
72
- attempts: number;
73
- delay: number;
74
- };
125
+ resume?: {
126
+ steps: string[];
127
+ stepResults: Record<string, StepResult<any, any, any, any>>;
128
+ resumePayload: any;
129
+ resumePath: number[];
75
130
  };
131
+ executionContext: ExecutionContext;
132
+ emitter: Emitter;
133
+ abortController: AbortController;
134
+ runtimeContext: RuntimeContext;
135
+ }): Promise<void>;
136
+ executeSleepUntil({ workflowId, runId, entry, prevOutput, stepResults, emitter, abortController, runtimeContext, }: {
137
+ workflowId: string;
138
+ runId: string;
139
+ serializedStepGraph: SerializedStepFlowEntry[];
140
+ entry: {
141
+ type: 'sleepUntil';
142
+ id: string;
143
+ date?: Date;
144
+ fn?: ExecuteFunction<any, any, any, any, InngestEngineType>;
145
+ };
146
+ prevStep: StepFlowEntry;
147
+ prevOutput: any;
148
+ stepResults: Record<string, StepResult<any, any, any, any>>;
149
+ resume?: {
150
+ steps: string[];
151
+ stepResults: Record<string, StepResult<any, any, any, any>>;
152
+ resumePayload: any;
153
+ resumePath: number[];
154
+ };
155
+ executionContext: ExecutionContext;
156
+ emitter: Emitter;
157
+ abortController: AbortController;
158
+ runtimeContext: RuntimeContext;
159
+ }): Promise<void>;
160
+ executeWaitForEvent({ event, timeout }: {
161
+ event: string;
162
+ timeout?: number;
163
+ }): Promise<any>;
164
+ executeStep({ step, stepResults, executionContext, resume, prevOutput, emitter, abortController, runtimeContext, }: {
165
+ step: Step<string, any, any>;
166
+ stepResults: Record<string, StepResult<any, any, any, any>>;
167
+ executionContext: ExecutionContext;
76
168
  resume?: {
77
169
  steps: string[];
78
170
  resumePayload: any;
79
171
  runId?: string;
80
172
  };
81
173
  prevOutput: any;
82
- emitter: {
83
- emit: (event: string, data: any) => Promise<void>;
84
- };
174
+ emitter: Emitter;
175
+ abortController: AbortController;
85
176
  runtimeContext: RuntimeContext;
86
177
  }): Promise<StepResult<any, any, any, any>>;
87
- persistStepUpdate({ workflowId, runId, stepResults, executionContext, }: {
178
+ persistStepUpdate({ workflowId, runId, stepResults, executionContext, serializedStepGraph, workflowStatus, result, error, }: {
88
179
  workflowId: string;
89
180
  runId: string;
90
181
  stepResults: Record<string, StepResult<any, any, any, any>>;
182
+ serializedStepGraph: SerializedStepFlowEntry[];
91
183
  executionContext: ExecutionContext;
184
+ workflowStatus: 'success' | 'failed' | 'suspended' | 'running';
185
+ result?: Record<string, any>;
186
+ error?: string | Error;
92
187
  }): Promise<void>;
93
- executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, resume, executionContext, emitter, runtimeContext, }: {
188
+ executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, serializedStepGraph, resume, executionContext, emitter, abortController, runtimeContext, }: {
94
189
  workflowId: string;
95
190
  runId: string;
96
191
  entry: {
97
192
  type: 'conditional';
98
193
  steps: StepFlowEntry[];
99
- conditions: ExecuteFunction<any, any, any, any>[];
194
+ conditions: ExecuteFunction<any, any, any, any, InngestEngineType>[];
100
195
  };
101
196
  prevStep: StepFlowEntry;
197
+ serializedStepGraph: SerializedStepFlowEntry[];
102
198
  prevOutput: any;
103
199
  stepResults: Record<string, StepResult<any, any, any, any>>;
104
200
  resume?: {
@@ -108,21 +204,22 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
108
204
  resumePath: number[];
109
205
  };
110
206
  executionContext: ExecutionContext;
111
- emitter: {
112
- emit: (event: string, data: any) => Promise<void>;
113
- };
207
+ emitter: Emitter;
208
+ abortController: AbortController;
114
209
  runtimeContext: RuntimeContext;
115
210
  }): Promise<StepResult<any, any, any, any>>;
116
211
  }
117
212
 
118
- export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>> extends Run<TSteps, TInput, TOutput> {
213
+ export declare class InngestRun<TEngineType = InngestEngineType, TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>> extends Run<TEngineType, TSteps, TInput, TOutput> {
119
214
  #private;
120
215
  private inngest;
216
+ serializedStepGraph: SerializedStepFlowEntry[];
121
217
  constructor(params: {
122
218
  workflowId: string;
123
219
  runId: string;
124
220
  executionEngine: ExecutionEngine;
125
221
  executionGraph: ExecutionGraph;
222
+ serializedStepGraph: SerializedStepFlowEntry[];
126
223
  mastra?: Mastra;
127
224
  retryConfig?: {
128
225
  attempts?: number;
@@ -132,6 +229,8 @@ export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<s
132
229
  }, inngest: Inngest);
133
230
  getRuns(eventId: string): Promise<any>;
134
231
  getRunOutput(eventId: string): Promise<any>;
232
+ sendEvent(event: string, data: any): Promise<void>;
233
+ cancel(): Promise<void>;
135
234
  start({ inputData, }: {
136
235
  inputData?: z.infer<TInput>;
137
236
  runtimeContext?: RuntimeContext;
@@ -141,10 +240,22 @@ export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<s
141
240
  step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
142
241
  runtimeContext?: RuntimeContext;
143
242
  }): Promise<WorkflowResult<TOutput, TSteps>>;
144
- watch(cb: (event: any) => void): () => void;
243
+ _resume<TResumeSchema extends z.ZodType<any>>(params: {
244
+ resumeData?: z.infer<TResumeSchema>;
245
+ step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
246
+ runtimeContext?: RuntimeContext;
247
+ }): Promise<WorkflowResult<TOutput, TSteps>>;
248
+ watch(cb: (event: WatchEvent) => void, type?: 'watch' | 'watch-v2'): () => void;
249
+ stream({ inputData, runtimeContext }?: {
250
+ inputData?: z.infer<TInput>;
251
+ runtimeContext?: RuntimeContext;
252
+ }): {
253
+ stream: ReadableStream_2<StreamEvent>;
254
+ getWorkflowState: () => Promise<WorkflowResult<TOutput, TSteps>>;
255
+ };
145
256
  }
146
257
 
147
- export declare class InngestWorkflow<TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>, TPrevSchema extends z.ZodType<any> = TInput> extends Workflow<TSteps, TWorkflowId, TInput, TOutput, TPrevSchema> {
258
+ export declare class InngestWorkflow<TEngineType = InngestEngineType, TSteps extends Step<string, any, any>[] = Step<string, any, any>[], TWorkflowId extends string = string, TInput extends z.ZodType<any> = z.ZodType<any>, TOutput extends z.ZodType<any> = z.ZodType<any>, TPrevSchema extends z.ZodType<any> = TInput> extends Workflow<TEngineType, TSteps, TWorkflowId, TInput, TOutput, TPrevSchema> {
148
259
  #private;
149
260
  inngest: Inngest;
150
261
  private function;
@@ -157,10 +268,14 @@ export declare class InngestWorkflow<TSteps extends Step<string, any, any>[] = S
157
268
  resourceId?: string;
158
269
  }): Promise<WorkflowRuns>;
159
270
  getWorkflowRunById(runId: string): Promise<WorkflowRun | null>;
271
+ getWorkflowRunExecutionResult(runId: string): Promise<WatchEvent['payload']['workflowState'] | null>;
160
272
  __registerMastra(mastra: Mastra): void;
161
273
  createRun(options?: {
162
274
  runId?: string;
163
- }): Run<TSteps, TInput, TOutput>;
275
+ }): Run<TEngineType, TSteps, TInput, TOutput>;
276
+ createRunAsync(options?: {
277
+ runId?: string;
278
+ }): Promise<Run<TEngineType, TSteps, TInput, TOutput>>;
164
279
  getFunction(): InngestFunction<Omit<InngestFunction.Options<Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
165
280
  cron: string;
166
281
  } & Partial<Record<"event" | "if", never>>] | [{