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

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,38 +12,87 @@ 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>;
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
+ }): Promise<TOutput>;
95
+ 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>;
47
96
  superExecuteStep({ workflowId, runId, step, stepResults, executionContext, resume, prevOutput, emitter, runtimeContext, }: {
48
97
  workflowId: string;
49
98
  runId: string;
@@ -55,11 +104,17 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
55
104
  resumePayload: any;
56
105
  };
57
106
  prevOutput: any;
58
- emitter: {
59
- emit: (event: string, data: any) => Promise<void>;
60
- };
107
+ emitter: Emitter;
61
108
  runtimeContext: RuntimeContext;
62
109
  }): Promise<StepResult<any, any, any, any>>;
110
+ executeSleep({ id, duration }: {
111
+ id: string;
112
+ duration: number;
113
+ }): Promise<void>;
114
+ executeWaitForEvent({ event, timeout }: {
115
+ event: string;
116
+ timeout?: number;
117
+ }): Promise<any>;
63
118
  executeStep({ step, stepResults, executionContext, resume, prevOutput, emitter, runtimeContext, }: {
64
119
  step: Step<string, any, any>;
65
120
  stepResults: Record<string, StepResult<any, any, any, any>>;
@@ -79,26 +134,29 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
79
134
  runId?: string;
80
135
  };
81
136
  prevOutput: any;
82
- emitter: {
83
- emit: (event: string, data: any) => Promise<void>;
84
- };
137
+ emitter: Emitter;
85
138
  runtimeContext: RuntimeContext;
86
139
  }): Promise<StepResult<any, any, any, any>>;
87
- persistStepUpdate({ workflowId, runId, stepResults, executionContext, }: {
140
+ persistStepUpdate({ workflowId, runId, stepResults, executionContext, serializedStepGraph, workflowStatus, result, error, }: {
88
141
  workflowId: string;
89
142
  runId: string;
90
143
  stepResults: Record<string, StepResult<any, any, any, any>>;
144
+ serializedStepGraph: SerializedStepFlowEntry[];
91
145
  executionContext: ExecutionContext;
146
+ workflowStatus: 'success' | 'failed' | 'suspended' | 'running';
147
+ result?: Record<string, any>;
148
+ error?: string | Error;
92
149
  }): Promise<void>;
93
- executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, resume, executionContext, emitter, runtimeContext, }: {
150
+ executeConditional({ workflowId, runId, entry, prevOutput, prevStep, stepResults, serializedStepGraph, resume, executionContext, emitter, runtimeContext, }: {
94
151
  workflowId: string;
95
152
  runId: string;
96
153
  entry: {
97
154
  type: 'conditional';
98
155
  steps: StepFlowEntry[];
99
- conditions: ExecuteFunction<any, any, any, any>[];
156
+ conditions: ExecuteFunction<any, any, any, any, InngestEngineType>[];
100
157
  };
101
158
  prevStep: StepFlowEntry;
159
+ serializedStepGraph: SerializedStepFlowEntry[];
102
160
  prevOutput: any;
103
161
  stepResults: Record<string, StepResult<any, any, any, any>>;
104
162
  resume?: {
@@ -108,21 +166,21 @@ export declare class InngestExecutionEngine extends DefaultExecutionEngine {
108
166
  resumePath: number[];
109
167
  };
110
168
  executionContext: ExecutionContext;
111
- emitter: {
112
- emit: (event: string, data: any) => Promise<void>;
113
- };
169
+ emitter: Emitter;
114
170
  runtimeContext: RuntimeContext;
115
171
  }): Promise<StepResult<any, any, any, any>>;
116
172
  }
117
173
 
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> {
174
+ 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
175
  #private;
120
176
  private inngest;
177
+ serializedStepGraph: SerializedStepFlowEntry[];
121
178
  constructor(params: {
122
179
  workflowId: string;
123
180
  runId: string;
124
181
  executionEngine: ExecutionEngine;
125
182
  executionGraph: ExecutionGraph;
183
+ serializedStepGraph: SerializedStepFlowEntry[];
126
184
  mastra?: Mastra;
127
185
  retryConfig?: {
128
186
  attempts?: number;
@@ -132,6 +190,7 @@ export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<s
132
190
  }, inngest: Inngest);
133
191
  getRuns(eventId: string): Promise<any>;
134
192
  getRunOutput(eventId: string): Promise<any>;
193
+ sendEvent(event: string, data: any): Promise<void>;
135
194
  start({ inputData, }: {
136
195
  inputData?: z.infer<TInput>;
137
196
  runtimeContext?: RuntimeContext;
@@ -141,10 +200,22 @@ export declare class InngestRun<TSteps extends Step<string, any, any>[] = Step<s
141
200
  step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
142
201
  runtimeContext?: RuntimeContext;
143
202
  }): Promise<WorkflowResult<TOutput, TSteps>>;
144
- watch(cb: (event: any) => void): () => void;
203
+ _resume<TResumeSchema extends z.ZodType<any>>(params: {
204
+ resumeData?: z.infer<TResumeSchema>;
205
+ step: Step<string, any, any, TResumeSchema, any> | [...Step<string, any, any, any, any>[], Step<string, any, any, TResumeSchema, any>] | string | string[];
206
+ runtimeContext?: RuntimeContext;
207
+ }): Promise<WorkflowResult<TOutput, TSteps>>;
208
+ watch(cb: (event: WatchEvent) => void, type?: 'watch' | 'watch-v2'): () => void;
209
+ stream({ inputData, runtimeContext }?: {
210
+ inputData?: z.infer<TInput>;
211
+ runtimeContext?: RuntimeContext;
212
+ }): {
213
+ stream: ReadableStream_2<StreamEvent>;
214
+ getWorkflowState: () => Promise<WorkflowResult<TOutput, TSteps>>;
215
+ };
145
216
  }
146
217
 
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> {
218
+ 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
219
  #private;
149
220
  inngest: Inngest;
150
221
  private function;
@@ -157,10 +228,14 @@ export declare class InngestWorkflow<TSteps extends Step<string, any, any>[] = S
157
228
  resourceId?: string;
158
229
  }): Promise<WorkflowRuns>;
159
230
  getWorkflowRunById(runId: string): Promise<WorkflowRun | null>;
231
+ getWorkflowRunExecutionResult(runId: string): Promise<WatchEvent['payload']['workflowState'] | null>;
160
232
  __registerMastra(mastra: Mastra): void;
161
233
  createRun(options?: {
162
234
  runId?: string;
163
- }): Run<TSteps, TInput, TOutput>;
235
+ }): Run<TEngineType, TSteps, TInput, TOutput>;
236
+ createRunAsync(options?: {
237
+ runId?: string;
238
+ }): Promise<Run<TEngineType, TSteps, TInput, TOutput>>;
164
239
  getFunction(): InngestFunction<Omit<InngestFunction.Options<Inngest<ClientOptions>, InngestMiddleware.Stack, InngestFunction.Trigger<string>[] | [{
165
240
  cron: string;
166
241
  } & Partial<Record<"event" | "if", never>>] | [{